From nobody Sun May 5 04:20:58 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=reject dis=none) header.from=citrix.com ARC-Seal: i=1; a=rsa-sha256; t=1624386120; cv=none; d=zohomail.com; s=zohoarc; b=ndEjxRtYbkCPgBnJH3C2/bE+AEHOv5DVXkYexhLsSSHqpOKdEAYhNQ3BquZLxyohlzXH4OOKTHVfuRF7ffxF75nChh2xeIKiE1gGzXl/BBZ8pXDLpHjtzhV76Cfag4oDs8kY0XOWHhKCduwDWl34S6d37RsmpBrtoBZUnsRuRaM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1624386120; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Kn+imkaP2K+YJFGT8mHpuQ86h5Gd1aVXNILyidAlrSA=; b=lk04GseHJhkjbZRsHjzIWycYODwpeiOtZFfVooTuwFtzxrq0PJTPzVjJVM9bOBCAz7BDgiUD3aouVlXXMunzOliZ1AqqeS4eboK4YMmy80Tr/vbuvoHP2LqwPh0p1huEdpZwjnCfTgoNjSbC7J5BoAPqKYEAEjhX/HgJsVFNZRk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 162438612088761.176901799612665; Tue, 22 Jun 2021 11:22:00 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.146024.268615 (Exim 4.92) (envelope-from ) id 1lvl1m-0003GE-Np; Tue, 22 Jun 2021 18:21:38 +0000 Received: by outflank-mailman (output) from mailman id 146024.268615; Tue, 22 Jun 2021 18:21:38 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1lvl1m-0003G5-KH; Tue, 22 Jun 2021 18:21:38 +0000 Received: by outflank-mailman (input) for mailman id 146024; Tue, 22 Jun 2021 18:21:37 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1lvl1l-0002zr-9j for xen-devel@lists.xenproject.org; Tue, 22 Jun 2021 18:21:37 +0000 Received: from esa3.hc3370-68.iphmx.com (unknown [216.71.145.155]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id eb49b165-8fa2-4f2b-908d-da54465b2493; Tue, 22 Jun 2021 18:21:35 +0000 (UTC) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: eb49b165-8fa2-4f2b-908d-da54465b2493 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1624386095; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=yumBJZ7SzzoE1gqVWcuD4EWuJPstmL3Sq9uYgjD4ZW0=; b=PrdsVIs0Pqz13jLI7x/bs8wFneDxqGsZdqOZAquBOqc8uWt23wropwnw 9QaIu0JlnU/y7MKBkglzCw8tDWO5LEe0FI42C8Kw6V97xeGtzVyjEslfb NbKqWTgSeXz93rgmjaqNkiGSsBzZ1OxiuWw958AB9QeHa8TpPgKLLPAjs 0=; Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none IronPort-SDR: A5DyEGfyng1UQ//+6ENZ34sgDjCcEJOcZXPBddorI+5N56alJNch/vW0wXM6fxFNEtV+gwXqzY Yvm1cKuzk3V3xiWE4b9ImcZaKLw4SMY/A75jI0hN3jcRrKoj/kJd703huUnqOP33Uv8OSZHfNo twBuLCOpZNe2Vz9ptccNJMnioHVMdhBKrnqw3sXzleEHg+zCVPhrcZqhmuWBvw7Vv3kgyMVMSQ CXJiMvyMepZwdFXmJCxkeC8kr2T45dE/zYCWoDP3Zexo9AFHpOJWTL9zwypoW3If/RpwccYEuq 33E= X-SBRS: 5.1 X-MesageID: 46716668 X-Ironport-Server: esa3.hc3370-68.iphmx.com X-Remote-IP: 162.221.158.21 X-Policy: $RELAYED IronPort-HdrOrdr: A9a23:ZA9SuKGJqbvbHc2NpLqE0seALOsnbusQ8zAXP0AYc31om6uj5r iTdZUgpGbJYVkqKRIdcLy7V5VoBEmskaKdgrNhW4tKPjOW2ldARbsKheCJrlHd8m/Fh4lgPM 9bAtND4bbLbWSS4/yV3ODBKadE/OW6 X-IronPort-AV: E=Sophos;i="5.83,292,1616472000"; d="scan'208";a="46716668" From: Andrew Cooper To: Xen-devel CC: Andrew Cooper , Ian Jackson , Wei Liu , Jan Beulich , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= , Juergen Gross Subject: [PATCH 1/4] tools/tests: Drop obsolete mce-test infrastructure Date: Tue, 22 Jun 2021 19:21:21 +0100 Message-ID: <20210622182124.11571-2-andrew.cooper3@citrix.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20210622182124.11571-1-andrew.cooper3@citrix.com> References: <20210622182124.11571-1-andrew.cooper3@citrix.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @citrix.com) mce-test has a test suite, but it depends on xend, needs to run in-tree, and requires manual setup of at least one guest, and manual parameters to pass into cases. Drop the test infrasturcture. Move the one useful remaining item, xen-mceinj, into misc/, fixing some min= or style issues as it goes. Signed-off-by: Andrew Cooper Acked-by: Jan Beulich --- CC: Ian Jackson CC: Wei Liu CC: Jan Beulich CC: Roger Pau Monn=C3=A9 CC: Juergen Gross --- .gitignore | 1 - tools/misc/.gitignore | 1 + tools/misc/Makefile | 4 + tools/{tests/mce-test/tools =3D> misc}/xen-mceinj.c | 32 +-- tools/tests/Makefile | 1 - tools/tests/mce-test/Makefile | 12 - tools/tests/mce-test/README | 75 ------ tools/tests/mce-test/cases/srao_llc/dom0/cases.sh | 73 ------ tools/tests/mce-test/cases/srao_llc/guest/cases.sh | 94 -------- tools/tests/mce-test/cases/srao_llc/xen/cases.sh | 69 ------ tools/tests/mce-test/cases/srao_mem/dom0/cases.sh | 73 ------ tools/tests/mce-test/cases/srao_mem/guest/cases.sh | 94 -------- tools/tests/mce-test/cases/srao_mem/xen/cases.sh | 69 ------ tools/tests/mce-test/cases/ucna_llc/dom0/cases.sh | 72 ------ tools/tests/mce-test/cases/ucna_llc/guest/cases.sh | 92 -------- tools/tests/mce-test/cases/ucna_llc/xen/cases.sh | 68 ------ tools/tests/mce-test/config/setup.conf | 24 -- tools/tests/mce-test/lib/xen-mceinj-tool.sh | 260 -----------------= ---- tools/tests/mce-test/tools/Makefile | 24 -- tools/tests/mce-test/tools/README | 24 -- 20 files changed, 24 insertions(+), 1138 deletions(-) rename tools/{tests/mce-test/tools =3D> misc}/xen-mceinj.c (97%) delete mode 100644 tools/tests/mce-test/Makefile delete mode 100644 tools/tests/mce-test/README delete mode 100644 tools/tests/mce-test/cases/srao_llc/dom0/cases.sh delete mode 100644 tools/tests/mce-test/cases/srao_llc/guest/cases.sh delete mode 100644 tools/tests/mce-test/cases/srao_llc/xen/cases.sh delete mode 100644 tools/tests/mce-test/cases/srao_mem/dom0/cases.sh delete mode 100644 tools/tests/mce-test/cases/srao_mem/guest/cases.sh delete mode 100644 tools/tests/mce-test/cases/srao_mem/xen/cases.sh delete mode 100644 tools/tests/mce-test/cases/ucna_llc/dom0/cases.sh delete mode 100644 tools/tests/mce-test/cases/ucna_llc/guest/cases.sh delete mode 100644 tools/tests/mce-test/cases/ucna_llc/xen/cases.sh delete mode 100644 tools/tests/mce-test/config/setup.conf delete mode 100644 tools/tests/mce-test/lib/xen-mceinj-tool.sh delete mode 100644 tools/tests/mce-test/tools/Makefile delete mode 100644 tools/tests/mce-test/tools/README diff --git a/.gitignore b/.gitignore index 38a085e398..d4b90303b2 100644 --- a/.gitignore +++ b/.gitignore @@ -276,7 +276,6 @@ tools/tests/x86_emulator/test_x86_emulator tools/tests/x86_emulator/x86_emulate tools/tests/x86_emulator/xop*.[ch] tools/tests/xenstore/xs-test -tools/tests/mce-test/tools/xen-mceinj tools/tests/vpci/list.h tools/tests/vpci/vpci.[hc] tools/tests/vpci/test_vpci diff --git a/tools/misc/.gitignore b/tools/misc/.gitignore index ce6f937d0c..73ce95e6d7 100644 --- a/tools/misc/.gitignore +++ b/tools/misc/.gitignore @@ -1,4 +1,5 @@ xen-access +xen-mceinj xen-memshare xen-ucode xen-vmtrace diff --git a/tools/misc/Makefile b/tools/misc/Makefile index 2b683819d4..1a07191d83 100644 --- a/tools/misc/Makefile +++ b/tools/misc/Makefile @@ -22,6 +22,7 @@ INSTALL_SBIN-$(CONFIG_MIGRATE) +=3D xen-hptool INSTALL_SBIN-$(CONFIG_X86) +=3D xen-hvmcrash INSTALL_SBIN-$(CONFIG_X86) +=3D xen-hvmctx INSTALL_SBIN-$(CONFIG_X86) +=3D xen-lowmemd +INSTALL_SBIN-$(CONFIG_X86) +=3D xen-mceinj INSTALL_SBIN-$(CONFIG_X86) +=3D xen-memshare INSTALL_SBIN-$(CONFIG_X86) +=3D xen-mfndump INSTALL_SBIN-$(CONFIG_X86) +=3D xen-ucode @@ -97,6 +98,9 @@ xen-memshare: xen-memshare.o xen-vmtrace: xen-vmtrace.o $(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenctrl) $(LDLIBS_libxenforeignmemo= ry) $(APPEND_LDFLAGS) =20 +xen-mceinj: xen-mceinj.o + $(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenctrl) $(LDLIBS_libxenguest) $(LD= LIBS_libxenstore) $(APPEND_LDFLAGS) + xenperf: xenperf.o $(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenctrl) $(APPEND_LDFLAGS) =20 diff --git a/tools/tests/mce-test/tools/xen-mceinj.c b/tools/misc/xen-mcein= j.c similarity index 97% rename from tools/tests/mce-test/tools/xen-mceinj.c rename to tools/misc/xen-mceinj.c index 1187d01e5f..df55eefbac 100644 --- a/tools/tests/mce-test/tools/xen-mceinj.c +++ b/tools/misc/xen-mceinj.c @@ -137,7 +137,7 @@ static void err(xc_interface *xc_handle, const char *fm= t, ...) va_list args; =20 va_start(args, fmt); - if (vasprintf(&buf, fmt, args) < 0) + if ( vasprintf(&buf, fmt, args) < 0 ) abort(); perror(buf); va_end(args); @@ -173,7 +173,7 @@ static unsigned int mca_cpuinfo(xc_interface *xc_handle) mc.cmd =3D XEN_MC_physcpuinfo; mc.interface_version =3D XEN_MCA_INTERFACE_VERSION; =20 - if (!xc_mca_op(xc_handle, &mc)) + if ( !xc_mca_op(xc_handle, &mc) ) return mc.u.mc_physcpuinfo.ncpus; else return 0; @@ -187,9 +187,9 @@ static int inject_cmci(xc_interface *xc_handle, unsigne= d int cpu_nr) memset(&mc, 0, sizeof(struct xen_mc)); =20 nr_cpus =3D mca_cpuinfo(xc_handle); - if (!nr_cpus) + if ( !nr_cpus ) err(xc_handle, "Failed to get mca_cpuinfo"); - if (cpu_nr >=3D nr_cpus) + if ( cpu_nr >=3D nr_cpus ) err(xc_handle, "-c %u is larger than %u", cpu_nr, nr_cpus - 1); =20 mc.cmd =3D XEN_MC_inject_v2; @@ -284,7 +284,7 @@ static int add_msr_intpose(xc_interface *xc_handle, flush_msr_inj(xc_handle); init_msr_inj(); } - count=3D msr_inj.mcinj_count; + count =3D msr_inj.mcinj_count; =20 if ( !count ) { @@ -422,7 +422,7 @@ static long xs_get_dom_mem(int domid) if (!memstr || !plen) return -1; =20 - mem =3D atoll(memstr)*1024; + mem =3D atoll(memstr) * 1024; free(memstr); =20 return mem; @@ -474,17 +474,20 @@ int main(int argc, char *argv[]) cpu_nr =3D 0; =20 init_msr_inj(); - xc_handle =3D xc_interface_open(0, 0, 0); - if ( !xc_handle ) { + xc_handle =3D xc_interface_open(NULL, NULL, 0); + if ( !xc_handle ) + { Lprintf("Failed to get xc interface"); exit(EXIT_FAILURE); } =20 - while ( 1 ) { + while ( 1 ) + { c =3D getopt_long(argc, argv, "c:Dd:t:hp:l", opts, &opt_index); if ( c =3D=3D -1 ) break; - switch ( c ) { + switch ( c ) + { case 'D': dump=3D1; break; @@ -516,7 +519,8 @@ int main(int argc, char *argv[]) } } =20 - if ( domid !=3D DOMID_XEN ) { + if ( domid !=3D DOMID_XEN ) + { max_gpa =3D xs_get_dom_mem(domid); Lprintf("get domain %d max gpa is: 0x%lx", domid, max_gpa); if ( gaddr >=3D max_gpa ) @@ -524,7 +528,8 @@ int main(int argc, char *argv[]) } Lprintf("get gaddr of error inject is: 0x%lx", gaddr); =20 - if ( dump ) { + if ( dump ) + { if ( domid =3D=3D DOMID_XEN ) Lprintf("Xen: gaddr=3D0x%lx", gaddr); else @@ -532,7 +537,8 @@ int main(int argc, char *argv[]) goto out; } =20 - if ( type < 0 || type >=3D MCE_TABLE_SIZE ) { + if ( type < 0 || type >=3D MCE_TABLE_SIZE ) + { err(xc_handle, "Unsupported error type"); goto out; } diff --git a/tools/tests/Makefile b/tools/tests/Makefile index 25531a984a..33e32730c4 100644 --- a/tools/tests/Makefile +++ b/tools/tests/Makefile @@ -4,7 +4,6 @@ include $(XEN_ROOT)/tools/Rules.mk SUBDIRS-y :=3D SUBDIRS-y +=3D resource SUBDIRS-$(CONFIG_X86) +=3D cpu-policy -SUBDIRS-$(CONFIG_X86) +=3D mce-test SUBDIRS-$(CONFIG_X86) +=3D tsx ifneq ($(clang),y) SUBDIRS-$(CONFIG_X86) +=3D x86_emulator diff --git a/tools/tests/mce-test/Makefile b/tools/tests/mce-test/Makefile deleted file mode 100644 index 1395df38ac..0000000000 --- a/tools/tests/mce-test/Makefile +++ /dev/null @@ -1,12 +0,0 @@ -.PHONY: all clean distclean - -all:=20 - $(MAKE) -C tools - -clean: - $(MAKE) -C tools clean - -distclean: - $(MAKE) -C tools distclean - -install uninstall: diff --git a/tools/tests/mce-test/README b/tools/tests/mce-test/README deleted file mode 100644 index 65e6d1b045..0000000000 --- a/tools/tests/mce-test/README +++ /dev/null @@ -1,75 +0,0 @@ -Xen MCE test suite ---------------- - -The Xen MCE test suite is a collection of tools and test scripts for -testing the Xen MCE processing features. The goal is to cover -most Xen MCE processing code paths and features with automation tests. - - -In the Package --------------- - -Here is a short description of what is included in the package - -README - This is document - -Makefile - For compile - -cases/* - Contains all test cases, which may be organized in sub-directories,=20 - the interface of test case is a shell script under cases/, such as: - -- cases/srao_mem/dom0/cases.sh - -config/* - Contains test configuration files, which specifies the parameters=20 - for test cases, etc. - -lib/* - Contains some shell scripts, in which some common shell - functions and variable definitions are defined to be used by - test cases. - -tools/* - Tools used by MCE test suites, now only xen-mceinj tool. - -results/ - When test is done, the test result will be placed in this - directory, test results of various cases may be in corresponding=20 - directory.=20 - For example, files in - results/srao_mem_dom0/result - is the result for test case cases/srao_mem/dom0/cases.sh, there will - be 3 result conditions: PASSED/FAILED/NORESULT. - results//testlog #the test log during testing - results//mcelog #mcelog output during testing - results//xenlog #Xen log during testing - results//gklog #VM guest kernel log during testing - results//guest_config #config file used to create guest - - -Test Instruction ----------------- - -1. make sure you have a dom0 with mce support - CONFIG_X86_MCE=3Dy - CONFIG_X86_MCE_INTEL=3Dy - CONFIG_X86_MCE_AMD=3Dy - CONFIG_X86_MCE_THRESHOLD=3Dy - CONFIG_X86_MCE_INJECT=3Dy - -2. run system at xen and start xend. A installed guest image is - necessary when do guest MCE error injection. -3. compile tools that used to test. in mce-test, $make. - Note: make sure compile xen/tools before do this step -4. run test cases that you want. - e.g. $sh cases/srao_mem/dom0/cases.sh -d 0 -p 0x0200 -c 2 -t 1 -5. get test result in results directory - - -Notes ----------------- -All test cases fake a error and inject this error in 0x180020, For Xen -test cases(e.g. cases/srao_mem/xen/cases.sh), error happen on every page=20 -may cause a Xen panic.=20 diff --git a/tools/tests/mce-test/cases/srao_llc/dom0/cases.sh b/tools/test= s/mce-test/cases/srao_llc/dom0/cases.sh deleted file mode 100644 index c540f64998..0000000000 --- a/tools/tests/mce-test/cases/srao_llc/dom0/cases.sh +++ /dev/null @@ -1,73 +0,0 @@ -#!/bin/bash -# -# Copyright (c) 2010, Intel Corporation -#=20 -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License version -# 2 as published by the Free Software Foundation. -#=20 -# 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. -#=20 -# You should have received a copy of the GNU General Public License -# along with this program; If not, see . -# -# Author: Xudong Hao -# - -sd=3D$(dirname $0) -export ROOT=3D`(cd $sd/../../../; pwd)` -export this_case=3Dsrao_llc_dom0 - -. $ROOT/lib/xen-mceinj-tool.sh - -usage() -{ - echo "Usage: ./cases.sh [-options] [arguments]" - echo "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3DBelow are the op= tional options=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D" - echo -e "\t-d domainID\t: 0" - echo -e "\t-c injcpu\t: which cpu to inject error" - echo -e "\t-p pageaddr\t: Guest Physical Address to inject error" - echo -e "\t\t\tBy default, the GPA is 0x180020" - echo -e "\t-h help" - exit 0 -} - -while getopts ":c:d:p:h" option -do - case "$option" in - c) injcpu=3D$OPTARG;; - d) domid=3D$OPTARG;; - p) pageaddr=3D$OPTARG;; - h) usage;; - *) echo "invalid option!"; usage;; - esac -done - -[ -z $domid ] && domid=3D0 - -inject() -{ - mce_inject_trigger $MCE_SRAO_LLC -d $domid -u $injcpu -p $pageaddr=20 - if [ $? -eq 0 ]; then - show " Passed: Successfully to fake and inject a MCE error" - else - show " Failed: Fake error and inject fail !!" - return 1 - fi - return 0 -} - -do_main() -{ - ret_val=3D0 - clean_env - inject || ret_val=3D1 - xen_verify || ret_val=3D1 - mcelog_verify $MCE_SRAO_LLC || ret_val=3D1 - gen_result $ret_val -} - -do_main "$@" diff --git a/tools/tests/mce-test/cases/srao_llc/guest/cases.sh b/tools/tes= ts/mce-test/cases/srao_llc/guest/cases.sh deleted file mode 100644 index 47a7ee4ab9..0000000000 --- a/tools/tests/mce-test/cases/srao_llc/guest/cases.sh +++ /dev/null @@ -1,94 +0,0 @@ -#!/bin/bash -# -# Copyright (c) 2010, Intel Corporation -#=20 -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License version -# 2 as published by the Free Software Foundation. -#=20 -# 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. -#=20 -# You should have received a copy of the GNU General Public License -# along with this program; If not, see . -# -# Author: Xudong Hao -# - -sd=3D$(dirname $0) -export ROOT=3D`(cd $sd/../../../; pwd)` -export this_case=3Dsrao_llc_guest - -. $ROOT/lib/xen-mceinj-tool.sh - -usage() -{ - echo "Usage: ./cases.sh [-options] [arguments]" - echo "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3DBelow are the mu= st have options=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D" - echo -e "\t-i image\t: guest image" - echo -e "\t-m memory\t: set guest virtual memory" - echo "=3D=3D=3D=3D=3D=3D=3D=3D = =3D=3D=3D=3D=3D=3D=3D=3D" - echo "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3DBelow are the op= tional options=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D" - echo -e "\t-u vcpus\t: set guest virtual cpus number" - echo -e "\t-c injcpu\t: which cpu to inject error" - echo -e "\t-p pageaddr\t: Guest Physical Address to inject error" - echo -e "\t\t\tBy default, the GPA is 0x180020" - echo -e "\t-h help" - exit 0 -} - -[ $# -lt 1 ] && usage - -while getopts ":i:u:m:c:p:hl:" option -do - case "$option" in - i) image=3D$OPTARG; offset=3D`kpartx -l $image | awk '{print $NF*512}'= `;; - u) vcpus=3D$OPTARG;; - m) memory=3D$OPTARG;; - c) injcpu=3D$OPTARG;; - p) pageaddr=3D$OPTARG;; - l) early_kill=3D"0";; - h) usage;; - *) echo "invalid option!"; usage;; - esac -done - - -start_guest() -{ - create_hvm_guest $image -u $vcpus -m $memory - if [ $? -ne 0 ]; then - echo " Create guest fail!" - return 1 - fi - return 0 -} - -inject() -{ - mce_inject_trigger $MCE_SRAO_LLC -u $injcpu -p $pageaddr=20 - if [ $? -eq 0 ]; then - show " Passed: Successfully to fake and inject a MCE error" - else - show " Failed: Fake error and inject fail !!" - return 1 - fi - return 0 -} - -do_main() -{ - ret_val=3D0 - clean_env - start_guest || ret_val=3D1 - inject || ret_val=3D1 - xen_verify || ret_val=3D1 - guest_verify || ret_val=3D1 - mcelog_verify $MCE_SRAO_LLC || ret_val=3D1 - des_guest - gen_result $ret_val -} - -do_main "$@" diff --git a/tools/tests/mce-test/cases/srao_llc/xen/cases.sh b/tools/tests= /mce-test/cases/srao_llc/xen/cases.sh deleted file mode 100644 index 1d8e02ff65..0000000000 --- a/tools/tests/mce-test/cases/srao_llc/xen/cases.sh +++ /dev/null @@ -1,69 +0,0 @@ -#!/bin/bash -# -# Copyright (c) 2010, Intel Corporation -#=20 -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License version -# 2 as published by the Free Software Foundation. -#=20 -# 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. -#=20 -# You should have received a copy of the GNU General Public License -# along with this program; If not, see . -# -# Author: Xudong Hao -# - -sd=3D$(dirname $0) -export ROOT=3D`(cd $sd/../../../; pwd)` -export this_case=3Dsrao_llc_xen - -. $ROOT/lib/xen-mceinj-tool.sh - -usage() -{ - echo "Usage: ./cases.sh [-options] [arguments]" - echo "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3DBelow are the op= tional options=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D" - echo -e "\t-c injcpu\t: which cpu to inject error" - echo -e "\t-p pageaddr\t: Guest Physical Address to inject error" - echo -e "\t\t\tBy default, the GPA is 0x180020" - echo -e "\t-h help" - exit 0 -} - -while getopts ":c:p:h" option -do - case "$option" in - c) injcpu=3D$OPTARG;; - p) pageaddr=3D$OPTARG;; - h) usage;; - *) echo "invalid option!"; usage;; - esac -done - -inject() -{ - mce_inject_trigger $MCE_SRAO_LLC -u $injcpu -p $pageaddr=20 - if [ $? -eq 0 ]; then - show " Passed: Successfully to fake and inject a MCE error" - else - show " Failed: Fake error and inject fail !!" - return 1 - fi - return 0 -} - -do_main() -{ - ret_val=3D0 - clean_env - inject || ret_val=3D1 - xen_verify || ret_val=3D1 - mcelog_verify $MCE_SRAO_LLC || ret_val=3D1 - gen_result $ret_val -} - -do_main "$@" diff --git a/tools/tests/mce-test/cases/srao_mem/dom0/cases.sh b/tools/test= s/mce-test/cases/srao_mem/dom0/cases.sh deleted file mode 100644 index 22d4a00960..0000000000 --- a/tools/tests/mce-test/cases/srao_mem/dom0/cases.sh +++ /dev/null @@ -1,73 +0,0 @@ -#!/bin/bash -# -# Copyright (c) 2010, Intel Corporation -#=20 -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License version -# 2 as published by the Free Software Foundation. -#=20 -# 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. -#=20 -# You should have received a copy of the GNU General Public License -# along with this program; If not, see . -# -# Author: Xudong Hao -# - -sd=3D$(dirname $0) -export ROOT=3D`(cd $sd/../../../; pwd)` -export this_case=3Dsrao_mem_dom0 - -. $ROOT/lib/xen-mceinj-tool.sh - -usage() -{ - echo "Usage: ./cases.sh [-options] [arguments]" - echo "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3DBelow are the op= tional options=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D" - echo -e "\t-d domainID\t: 0" - echo -e "\t-c injcpu\t: which cpu to inject error" - echo -e "\t-p pageaddr\t: Guest Physical Address to inject error" - echo -e "\t\t\tBy default, the GPA is 0x180020" - echo -e "\t-h help" - exit 0 -} - -while getopts ":c:d:p:h" option -do - case "$option" in - c) injcpu=3D$OPTARG;; - d) domid=3D$OPTARG;; - p) pageaddr=3D$OPTARG;; - h) usage;; - *) echo "invalid option!"; usage;; - esac -done - -[ -z $domid ] && domid=3D0 - -inject() -{ - mce_inject_trigger $MCE_SRAO_MEM -d $domid -u $injcpu -p $pageaddr=20 - if [ $? -eq 0 ]; then - show " Passed: Successfully to fake and inject a MCE error" - else - show " Failed: Fake error and inject fail !!" - return 1 - fi - return 0 -} - -do_main() -{ - ret_val=3D0 - clean_env - inject || ret_val=3D1 - xen_verify || ret_val=3D1 - mcelog_verify $MCE_SRAO_MEM || ret_val=3D1 - gen_result $ret_val -} - -do_main "$@" diff --git a/tools/tests/mce-test/cases/srao_mem/guest/cases.sh b/tools/tes= ts/mce-test/cases/srao_mem/guest/cases.sh deleted file mode 100644 index 7ab4523096..0000000000 --- a/tools/tests/mce-test/cases/srao_mem/guest/cases.sh +++ /dev/null @@ -1,94 +0,0 @@ -#!/bin/bash -# -# Copyright (c) 2010, Intel Corporation -#=20 -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License version -# 2 as published by the Free Software Foundation. -#=20 -# 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. -#=20 -# You should have received a copy of the GNU General Public License -# along with this program; If not, see . -# -# Author: Xudong Hao -# - -sd=3D$(dirname $0) -export ROOT=3D`(cd $sd/../../../; pwd)` -export this_case=3Dsrao_mem_guest - -. $ROOT/lib/xen-mceinj-tool.sh - -usage() -{ - echo "Usage: ./cases.sh [-options] [arguments]" - echo "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3DBelow are the mu= st have options=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D" - echo -e "\t-i image\t: guest image" - echo -e "\t-m memory\t: set guest virtual memory" - echo "=3D=3D=3D=3D=3D=3D=3D=3D = =3D=3D=3D=3D=3D=3D=3D=3D" - echo "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3DBelow are the op= tional options=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D" - echo -e "\t-u vcpus\t: set guest virtual cpus number" - echo -e "\t-c injcpu\t: which cpu to inject error" - echo -e "\t-p pageaddr\t: Guest Physical Address to inject error" - echo -e "\t\t\tBy default, the GPA is 0x180020" - echo -e "\t-h help" - exit 0 -} - -[ $# -lt 1 ] && usage - -while getopts ":i:u:m:c:p:hl:" option -do - case "$option" in - i) image=3D$OPTARG; offset=3D`kpartx -l $image | awk '{print $NF*512}'= `;; - u) vcpus=3D$OPTARG;; - m) memory=3D$OPTARG;; - c) injcpu=3D$OPTARG;; - p) pageaddr=3D$OPTARG;; - l) early_kill=3D"0";; - h) usage;; - *) echo "invalid option!"; usage;; - esac -done - - -start_guest() -{ - create_hvm_guest $image -u $vcpus -m $memory - if [ $? -ne 0 ]; then - echo " Create guest fail!" - return 1 - fi - return 0 -} - -inject() -{ - mce_inject_trigger $MCE_SRAO_MEM -u $injcpu -p $pageaddr=20 - if [ $? -eq 0 ]; then - show " Passed: Successfully to fake and inject a MCE error" - else - show " Failed: Fake error and inject fail !!" - return 1 - fi - return 0 -} - -do_main() -{ - ret_val=3D0 - clean_env - start_guest || ret_val=3D1 - inject || ret_val=3D1 - xen_verify || ret_val=3D1 - guest_verify || ret_val=3D1 - mcelog_verify $MCE_SRAO_MEM || ret_val=3D1 - des_guest - gen_result $ret_val -} - -do_main "$@" diff --git a/tools/tests/mce-test/cases/srao_mem/xen/cases.sh b/tools/tests= /mce-test/cases/srao_mem/xen/cases.sh deleted file mode 100644 index 7ae49a82ac..0000000000 --- a/tools/tests/mce-test/cases/srao_mem/xen/cases.sh +++ /dev/null @@ -1,69 +0,0 @@ -#!/bin/bash -# -# Copyright (c) 2010, Intel Corporation -#=20 -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License version -# 2 as published by the Free Software Foundation. -#=20 -# 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. -#=20 -# You should have received a copy of the GNU General Public License -# along with this program; If not, see . -# -# Author: Xudong Hao -# - -sd=3D$(dirname $0) -export ROOT=3D`(cd $sd/../../../; pwd)` -export this_case=3Dsrao_mem_xen - -. $ROOT/lib/xen-mceinj-tool.sh - -usage() -{ - echo "Usage: ./cases.sh [-options] [arguments]" - echo "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3DBelow are the op= tional options=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D" - echo -e "\t-c injcpu\t: which cpu to inject error" - echo -e "\t-p pageaddr\t: Guest Physical Address to inject error" - echo -e "\t\t\tBy default, the GPA is 0x180020" - echo -e "\t-h help" - exit 0 -} - -while getopts ":c:p:h" option -do - case "$option" in - c) injcpu=3D$OPTARG;; - p) pageaddr=3D$OPTARG;; - h) usage;; - *) echo "invalid option!"; usage;; - esac -done - -inject() -{ - mce_inject_trigger $MCE_SRAO_MEM -u $injcpu -p $pageaddr=20 - if [ $? -eq 0 ]; then - show " Passed: Successfully to fake and inject a MCE error" - else - show " Failed: Fake error and inject fail !!" - return 1 - fi - return 0 -} - -do_main() -{ - ret_val=3D0 - clean_env - inject || ret_val=3D1 - xen_verify || ret_val=3D1 - mcelog_verify $MCE_SRAO_MEM || ret_val=3D1 - gen_result $ret_val -} - -do_main "$@" diff --git a/tools/tests/mce-test/cases/ucna_llc/dom0/cases.sh b/tools/test= s/mce-test/cases/ucna_llc/dom0/cases.sh deleted file mode 100644 index 808f007708..0000000000 --- a/tools/tests/mce-test/cases/ucna_llc/dom0/cases.sh +++ /dev/null @@ -1,72 +0,0 @@ -#!/bin/bash -# -# Copyright (c) 2010, Intel Corporation -#=20 -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License version -# 2 as published by the Free Software Foundation. -#=20 -# 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. -#=20 -# You should have received a copy of the GNU General Public License -# along with this program; If not, see . -# -# Author: Xudong Hao -# - -sd=3D$(dirname $0) -export ROOT=3D`(cd $sd/../../../; pwd)` -export this_case=3Ducna_llc_dom0 - -. $ROOT/lib/xen-mceinj-tool.sh - -usage() -{ - echo "Usage: ./cases.sh [-options] [arguments]" - echo "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3DBelow are the op= tional options=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D" - echo -e "\t-d domainID\t: 0" - echo -e "\t-c injcpu\t: which cpu to inject error" - echo -e "\t-p pageaddr\t: Guest Physical Address to inject error" - echo -e "\t\t\tBy default, the GPA is 0x180020" - echo -e "\t-h help" - exit 0 -} - -while getopts ":c:d:p:h" option -do - case "$option" in - c) injcpu=3D$OPTARG;; - d) domid=3D$OPTARG;; - p) pageaddr=3D$OPTARG;; - h) usage;; - *) echo "invalid option!"; usage;; - esac -done - -[ -z $domid ] && domid=3D0 - -inject() -{ - mce_inject_trigger $CMCI_UCNA_LLC -d $domid -u $injcpu -p $pageaddr=20 - if [ $? -eq 0 ]; then - show " Passed: Successfully to fake and inject a MCE error" - else - show " Failed: Fake error and inject fail !!" - return 1 - fi - return 0 -} - -do_main() -{ - ret_val=3D0 - clean_env - inject || ret_val=3D1 - mcelog_verify $CMCI_UCNA_LLC || ret_val=3D1 - gen_result $ret_val -} - -do_main "$@" diff --git a/tools/tests/mce-test/cases/ucna_llc/guest/cases.sh b/tools/tes= ts/mce-test/cases/ucna_llc/guest/cases.sh deleted file mode 100644 index 0ca4e2c961..0000000000 --- a/tools/tests/mce-test/cases/ucna_llc/guest/cases.sh +++ /dev/null @@ -1,92 +0,0 @@ -#!/bin/bash -# -# Copyright (c) 2010, Intel Corporation -#=20 -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License version -# 2 as published by the Free Software Foundation. -#=20 -# 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. -#=20 -# You should have received a copy of the GNU General Public License -# along with this program; If not, see . -# -# Author: Xudong Hao -# - -sd=3D$(dirname $0) -export ROOT=3D`(cd $sd/../../../; pwd)` -export this_case=3Ducna_llc_guest - -. $ROOT/lib/xen-mceinj-tool.sh - -usage() -{ - echo "Usage: ./cases.sh [-options] [arguments]" - echo "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3DBelow are the mu= st have options=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D" - echo -e "\t-i image\t: guest image" - echo -e "\t-m memory\t: set guest virtual memory" - echo "=3D=3D=3D=3D=3D=3D=3D=3D = =3D=3D=3D=3D=3D=3D=3D=3D" - echo "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3DBelow are the op= tional options=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D" - echo -e "\t-u vcpus\t: set guest virtual cpus number" - echo -e "\t-c injcpu\t: which cpu to inject error" - echo -e "\t-p pageaddr\t: Guest Physical Address to inject error" - echo -e "\t\t\tBy default, the GPA is 0x180020" - echo -e "\t-h help" - exit 0 -} - -[ $# -lt 1 ] && usage - -while getopts ":i:u:m:c:p:hl:" option -do - case "$option" in - i) image=3D$OPTARG; offset=3D`kpartx -l $image | awk '{print $NF*512}'= `;; - u) vcpus=3D$OPTARG;; - m) memory=3D$OPTARG;; - c) injcpu=3D$OPTARG;; - p) pageaddr=3D$OPTARG;; - l) early_kill=3D"0";; - h) usage;; - *) echo "invalid option!"; usage;; - esac -done - - -start_guest() -{ - create_hvm_guest $image -u $vcpus -m $memory - if [ $? -ne 0 ]; then - echo " Create guest fail!" - return 1 - fi - return 0 -} - -inject() -{ - mce_inject_trigger $CMCI_UCNA_LLC -u $injcpu -p $pageaddr=20 - if [ $? -eq 0 ]; then - show " Passed: Successfully to fake and inject a MCE error" - else - show " Failed: Fake error and inject fail !!" - return 1 - fi - return 0 -} - -do_main() -{ - ret_val=3D0 - clean_env - start_guest || ret_val=3D1 - inject || ret_val=3D1 - mcelog_verify $CMCI_UCNA_LLC || ret_val=3D1 - des_guest - gen_result $ret_val -} - -do_main "$@" diff --git a/tools/tests/mce-test/cases/ucna_llc/xen/cases.sh b/tools/tests= /mce-test/cases/ucna_llc/xen/cases.sh deleted file mode 100644 index c73a2f6c16..0000000000 --- a/tools/tests/mce-test/cases/ucna_llc/xen/cases.sh +++ /dev/null @@ -1,68 +0,0 @@ -#!/bin/bash -# -# Copyright (c) 2010, Intel Corporation -#=20 -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License version -# 2 as published by the Free Software Foundation. -#=20 -# 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. -#=20 -# You should have received a copy of the GNU General Public License -# along with this program; If not, see . -# -# Author: Xudong Hao -# - -sd=3D$(dirname $0) -export ROOT=3D`(cd $sd/../../../; pwd)` -export this_case=3Ducna_llc_xen - -. $ROOT/lib/xen-mceinj-tool.sh - -usage() -{ - echo "Usage: ./cases.sh [-options] [arguments]" - echo "=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3DBelow are the op= tional options=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D" - echo -e "\t-c injcpu\t: which cpu to inject error" - echo -e "\t-p pageaddr\t: Guest Physical Address to inject error" - echo -e "\t\t\tBy default, the GPA is 0x180020" - echo -e "\t-h help" - exit 0 -} - -while getopts ":c:p:h" option -do - case "$option" in - c) injcpu=3D$OPTARG;; - p) pageaddr=3D$OPTARG;; - h) usage;; - *) echo "invalid option!"; usage;; - esac -done - -inject() -{ - mce_inject_trigger $CMCI_UCNA_LLC -u $injcpu -p $pageaddr=20 - if [ $? -eq 0 ]; then - show " Passed: Successfully to fake and inject a MCE error" - else - show " Failed: Fake error and inject fail !!" - return 1 - fi - return 0 -} - -do_main() -{ - ret_val=3D0 - clean_env - inject || ret_val=3D1 - mcelog_verify $CMCI_UCNA_LLC || ret_val=3D1 - gen_result $ret_val -} - -do_main "$@" diff --git a/tools/tests/mce-test/config/setup.conf b/tools/tests/mce-test/= config/setup.conf deleted file mode 100644 index 05f754dfd6..0000000000 --- a/tools/tests/mce-test/config/setup.conf +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash -# -# Software injection based test cases: test cases are triggered via -# mce-inject tool. -# Copyright (c) 2010, Intel Corporation -#=20 -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License version -# 2 as published by the Free Software Foundation. -#=20 -# 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. -#=20 -# You should have received a copy of the GNU General Public License -# along with this program; If not, see . -# -# Author: Xudong Hao -# - -export MCE_SRAO_MEM=3D0 -export MCE_SRAO_LLC=3D1 -export CMCI_UCNA_LLC=3D2 diff --git a/tools/tests/mce-test/lib/xen-mceinj-tool.sh b/tools/tests/mce-= test/lib/xen-mceinj-tool.sh deleted file mode 100644 index c0a3b293c5..0000000000 --- a/tools/tests/mce-test/lib/xen-mceinj-tool.sh +++ /dev/null @@ -1,260 +0,0 @@ -#!/bin/bash -# -# Software injection based test cases: test cases are triggered via -# mce-inject tool. -# Copyright (c) 2010, Intel Corporation -#=20 -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License version -# 2 as published by the Free Software Foundation. -#=20 -# 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. -#=20 -# You should have received a copy of the GNU General Public License -# along with this program; If not, see . -# -# Author: Xudong Hao -# - -. $ROOT/config/setup.conf - -#Guest Image Preparation -hvm_image_prepare() -{ - local image=3D$1 - local tmpdir=3D`mktemp -d` - local tmpfile=3D`mktemp` - local offset=3D`kpartx -l $image | awk '{print $NF*512}'` - mount -oloop,offset=3D$offset $image $tmpdir && echo "mount image to $= tmpdir" - local g_grub=3D$tmpdir/boot/grub/grub.conf - if [ $? -ne 0 ]; then - show " Mount image failed!" - return 1 - fi - - if ! grep FLAG_CONSOLE $g_grub; then - sed -e '/kernel/s/$/ console=3DttyS0,115200,8n1 console=3Dtty0/g' \ - $g_grub > $tmpfile - mv -f $tmpfile $g_grub - rm -f $tmpfile - echo " -#### FLAG_CONSOLE #### " >> $g_grub - fi - umount $tmpdir - rm -fr $tmpdir - - return 0 -} - -create_hvm_guest() -{ - local image=3D$1 - local originconfig=3D"/etc/xen/xmexample.hvm" - local TF=3D`mktemp` - local case_dir=3D$ROOT/results/$this_case - local config=3D$case_dir/guest_config - [ -d $case_dir ] || mkdir $case_dir - [ -f $logfile ] || touch $logfile - local File=3D`echo $image|sed "s/\//\\\\\\\\\\//g"` - local g_name=3D"`basename $image`_`date +%H%M%S`" - - hvm_image_prepare $image - - while getopts ":u:m:" Option - do - case $Option in - u ) vcpus=3D$OPTARG;; - m ) memory=3D$OPTARG;; - e ) bridge_name=3D$OPTARG;; - * ) ;; - esac - done - - cp $originconfig $config -f - - if [ -z $image ]; then - show "Image file $image does not exist, Please input one valid fil= e" - return 1 - fi - - sed -e "/^disk/s/file:.*,\(hda\)/file:${File},\1/" $config \ - | sed -e "/^disk/s/phy:.*,\(hda\)/file:${File},\1/" >$TF - mv -f $TF $config - - [ -z $memory ] || sed -i "/^memory/s/^.*$/memory =3D $memory/" $config - [ -z $vcpus ] || sed -i "1,/^#vcpus/s/^#vcpus.*$/vcpus=3D$vcpus/;1d" $= config - sed -i "/^vif/s/vif/#vif/" $config - sed -i "/^name/s/^.*$/name =3D \"$g_name\"/" $config - - string1=3D$(ls /dev/pts | sort) - xm cr $config - [ $? -eq 0 ] && domid=3D`xm list $g_name | tail -n1 | awk '{print $2}'` - if [ -z $domid ]; then - show " Guest can not boot up" - return 1 - fi - =20 - sleep 10 - - string2=3D$(ls /dev/pts | sort) - - get_guest_klog - sleep 40 - - return 0 -} - -get_guest_klog() -{ - local case_dir=3D$ROOT/results/$this_case - gklog=3D$case_dir/gklog - [ -d $case_dir ] || mkdir $case_dir - [ -f $gklog ] || touch $gklog - for fo in $string2; do - echo $string1 | grep $fo -wq - [ $? -eq 1 ] && num=3D$fo - done - cat /dev/pts/$num > $gklog & -} - -mce_inject_trigger() -{ - local errtype=3D$1 - local append=3D"" - while getopts ":d:u:p:" Option - do - case $Option in - d ) domid=3D$OPTARG;; - u ) cpu=3D$OPTARG;; - p ) pageaddr=3D$OPTARG;; - * ) ;; - esac - done - - [ -z $domid ] || append=3D$append" -d $domid" - [ -z $cpu ] || append=3D$append" -c $cpu" - [ -z $pageaddr ] || append=3D$append" -p $pageaddr" - - [ -f $ROOT/tools/xen-mceinj ] - if [ $? -eq 0 ]; then - xm dmesg -c - $ROOT/tools/xen-mceinj -t $errtype $append - if [ $? -ne 0 ]; then - show " Failed: Maybe the memory addr is out of range. \ - Please check whether used xen-mceinj tool correctlly" - return 1 - fi - else - show " Failed: please compile xen-mce inject tool firstly" - return 1 - fi - return 0 -} - -xen_verify() -{ - local case_dir=3D$ROOT/results/$this_case - local xenlog=3D$case_dir/xenlog - [ -d $case_dir ] || mkdir $case_dir - [ -f $xenlog ] || touch $xenlog - xm dmesg > $xenlog - grep "Error is successfully recovered" $xenlog > /dev/null - if [ $? -eq 0 ]; then - show " Passed: Xen handle this MCE error successfully" - else - show " Failed: Xen does not handle MCE error correctly !!" - return 1 - fi - return 0 -} - -guest_verify() -{ - grep "kernel page recovery" $gklog > /dev/null - if [ $? -eq 0 ]; then - show " Passed: Guest recive MCE error and solved correctly" - else - show " Failed: Guest fail to solve MCE error" - return 1 - fi - return 0 -} - -mcelog_verify() -{ - local err_type=3D$1 - local ret=3D0 - local case_dir=3D$ROOT/results/$this_case - local mcelog=3D$case_dir/mcelog - [ -d $case_dir ] || mkdir $case_dir - [ -f $mcelog ] || touch $mcelog - mcelog > $mcelog - if [ -z $mcelog ]; then - show " Failed: MCELOG does not catch anything" - return 1 - else - if [ $err_type -eq 0 ]; then - grep "MEMORY CONTROLLER MS_CHANNELunspecified_ERR" $mcelog \ - > /dev/null - ret=3D$? - elif [ $err_type -eq 1 ]; then - grep "Generic CACHE Level-2 Eviction Error" $mcelog > /dev/null - ret=3D$? - elif [ $err_type -eq 2 ]; then - grep "Data CACHE Level-2 Data-Read Error" $mcelog > /dev/null - ret=3D$? - fi - - if [ $ret -eq 0 ]; then - show " Passed: MCElog catch a correct error" - else=20 - show " Failed: MCE log catch a incorrect error !!" - return 1 - fi - fi - - return 0 -} - -function des_guest() -{ - xm des $domid =20 -} - -function clean_env() -{ - [ -d $ROOT/results ] || mkdir $ROOT/results - # clean logs and results of last test for this case - rm -fr $ROOT/results/$this_case/* -} - -function show() -{ - local case_dir=3D$ROOT/results/$this_case - local logfile=3D$case_dir/testlog - [ -d $case_dir ] || mkdir $case_dir - [ -f $logfile ] || touch $logfile - echo -e $* | tee -a $logfile > /dev/null -} - -function gen_result() -{ - local ret=3D$1 - local case_dir=3D$ROOT/results/$this_case - local result=3D$case_dir/result - [ -d $case_dir ] || mkdir $case_dir - [ -f $result ] || touch $result - =20 - if [ $ret -eq 0 ]; then - echo "PASSED" > $result - elif [ $ret -eq 1 ]; then - echo "FAILED" > $result - echo " Please check testlog for details!!! " >> $result - else - echo "NORESULT" > $result - echo " Please check testlog for details!!! " >> $result - fi -} diff --git a/tools/tests/mce-test/tools/Makefile b/tools/tests/mce-test/too= ls/Makefile deleted file mode 100644 index 0e92ac2977..0000000000 --- a/tools/tests/mce-test/tools/Makefile +++ /dev/null @@ -1,24 +0,0 @@ -XEN_ROOT=3D$(CURDIR)/../../../.. -include $(XEN_ROOT)/tools/Rules.mk - -CFLAGS +=3D -Werror -CFLAGS +=3D $(CFLAGS_libxenctrl) -CFLAGS +=3D $(CFLAGS_libxenguest) -CFLAGS +=3D $(CFLAGS_libxenstore) -CFLAGS +=3D $(CFLAGS_xeninclude) - -.PHONY: all -all: xen-mceinj - -install: xen-mceinj - $(INSTALL_PROG) xen-mceinj $(DESTDIR)$(sbindir) - -.PHONY: clean -clean: - $(RM) *.o xen-mceinj - -.PHONY: distclean -distclean: clean - -xen-mceinj: xen-mceinj.o Makefile - $(CC) -o $@ $< $(LDFLAGS) $(LDLIBS_libxenctrl) $(LDLIBS_libxenguest) $(LD= LIBS_libxenstore) diff --git a/tools/tests/mce-test/tools/README b/tools/tests/mce-test/tools= /README deleted file mode 100644 index bd0d442bae..0000000000 --- a/tools/tests/mce-test/tools/README +++ /dev/null @@ -1,24 +0,0 @@ -Xen Machine Check Exception(MCE) error inject tool ----------------------------------------------- - -xen-mceinj is a software MCE injection tool, which is based on Xen=20 -MCE injection mechanism. It allows to inject machine check errors on the -software level into a running Xen/dom0/VM. This is intended for -validation of the Xen machine check handler. - -With the help of the Makefile, it is possible to compile a binary file=20 -named "xen-mceinj". - -Usage ------ -$make (make install) --Note: make sure compile xen/tools before do this st= ep -$./xen-mceinj [OPTION]... - -OPTION arguments can be: - -D, --dump dump addr info without error injection - -c, --cpu=3DCPU_ID target CPU, the default is CPU0 - -d, --domain=3DDomID target domain, the default is Xen itself - -p, --page physical page address, the default is 0x180020 - -t, --type=3Derror error type - -For detail help, please refer to "./xen-mceinj -h" --=20 2.11.0 From nobody Sun May 5 04:20:58 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=reject dis=none) header.from=citrix.com ARC-Seal: i=1; a=rsa-sha256; t=1624386118; cv=none; d=zohomail.com; s=zohoarc; b=ANXjlijghuZ2L6XpMvlkcHsMLdUN+uUhPecN3CY4EloI42Sha2vPKROc/il5t3bXleCNUJZK0uSPdQLHLtc+5cNNvmkC6q+1Z2PsyCoaf//03apQAIz5WWdff+6IsVOEjtZulUQoVXagmokRD9BxD1JAftABd5htVLJ5Q8Y1nYI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1624386118; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=pBbgKxTs6VnFkRVj8aG3EmbYuNFB+jg2jfMnXziwmB8=; b=ITTGHDh/d6rRN1xAhR0sI0lhqJ4TO1uLxR7fysPhlR6qN19MCp5DTY+8QOlrXF6CBE7UQG7yZn/qthxbqaNOn9v93Hm8oRhSDeZF6y5mvsu1xsKVaXDdWnfZmLTUV3MNj+yZ/T0AionyoYUwnw/L2TjB4JK8qdtmHw2eG0n5d/k= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1624386118381949.8052023239819; Tue, 22 Jun 2021 11:21:58 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.146025.268626 (Exim 4.92) (envelope-from ) id 1lvl1q-0003ZC-4s; Tue, 22 Jun 2021 18:21:42 +0000 Received: by outflank-mailman (output) from mailman id 146025.268626; Tue, 22 Jun 2021 18:21:42 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1lvl1q-0003Z5-0x; Tue, 22 Jun 2021 18:21:42 +0000 Received: by outflank-mailman (input) for mailman id 146025; Tue, 22 Jun 2021 18:21:41 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1lvl1p-0002zl-1t for xen-devel@lists.xenproject.org; Tue, 22 Jun 2021 18:21:41 +0000 Received: from esa5.hc3370-68.iphmx.com (unknown [216.71.155.168]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id e7030a2c-e0bb-4f1f-b998-596486f30556; Tue, 22 Jun 2021 18:21:35 +0000 (UTC) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: e7030a2c-e0bb-4f1f-b998-596486f30556 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1624386094; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=/W38Qs0N/Kt0Gac/Q7kHnj3/eNBZAqKOdXBUp3mC4Ds=; b=T5jvf/OIzyKMzVrOL37gRBBmwxBj706IDYpeETg9wa3ePMfeId6ljnNY uUIZfRUs7cp27W0Ipl5KuEFiAKSQcW2sficQRFdh4GeCV5QGo9vS1w6Am pjwKsU/QRZiEydA/u1LAWTLmzDBDPpRrPv1i0QrCuRNMpbui77csUcCe3 I=; Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none IronPort-SDR: /4xMhkTIhjDo+FBl+R9uyiEQKfld8a8hmxdUJAiJukp4aXoZCe4GI7NMdoORRk/rRa/uZ3FtRL zyn8Jpq1j6OshxBpbOIkSd4Azfp50S71xIBdCVL9Q7Khfl6tRd9+KuGXxXzspJVW+rzIZmfR2G 6PjX/C3ddjxH4G9xQ3fO0DHvA9x52JQsAccwlIX1GrPudTDcQrO5lZlR4gXPaE7Iw6e+Jt9slV DIYikB/SUpG3t3LHhwP/q4alimHdXDrUh7JHLStuDpK5rip4u8UFFCkNHLlBrSlrcdVNrPn28z BNk= X-SBRS: 5.1 X-MesageID: 46437179 X-Ironport-Server: esa5.hc3370-68.iphmx.com X-Remote-IP: 162.221.158.21 X-Policy: $RELAYED IronPort-HdrOrdr: A9a23:tDpkyqmeE9njscldXpEiZmfQTgHpDfORimdD5ihNYBxZY6Wkfp +V7ZEmPE7P+VQssS8b6LO90fG7MADhHZ4c2/hrAV7QZniVhILIFvAn0WKG+VeQfxEWmdQtqp uIH5IOceEYSGIK/foSgzPIVOrIouP3jpxA7N22pxwBIW4FCsEQiHYeNu/YKDwGeOAsP+tCKH Po3Ls6m9PWQwVrUi3UPAh8Y8Hz4/nw0L72ax8PABAqrCOUiymz1bL8Gx+Emj8DTjJm294ZgC 74uj28wp/mn+Cwyxfa2WOWxY9RgsHdxtxKA9HJotQJKw/rlh2jaO1aKuS/VXEO0bmSAWQR4Y PxSiQbTplOArTqDz2ISC7WqlLdOfAVmiDfIBGj8CXeSIfCNUcH4oJ69PZkm13imhsdVQZHof J2Niuixuxq5R+splWL2/HYEx5tjUa6unwkjKoaiGFeS5IXbPtLoZUY5149KuZCIMvW0vFnLA BVNrCd2B+WSyLXU1nJ+m10hNC8VHU6GRmLBkAEp8yOyjBT2HR01VERysATlmoJsMtVcegA28 3UdqBz0L1eRM4faqxwQO8HXMusE2TIBRbBKnibL1jrHLwOf3jNt5n06rMo4/zCQu1L8HLzou WObLp8jx9+R6vDM7zE4HR7yGGDfIzmZ0Wk9ih33ekyhlTTfsujDRG+ X-IronPort-AV: E=Sophos;i="5.83,292,1616472000"; d="scan'208";a="46437179" From: Andrew Cooper To: Xen-devel CC: Andrew Cooper , Ian Jackson , Wei Liu , Jan Beulich , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= , Juergen Gross Subject: [PATCH 2/4] tests/resource: Rework Makefile Date: Tue, 22 Jun 2021 19:21:22 +0100 Message-ID: <20210622182124.11571-3-andrew.cooper3@citrix.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20210622182124.11571-1-andrew.cooper3@citrix.com> References: <20210622182124.11571-1-andrew.cooper3@citrix.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @citrix.com) In particular, fill in the install/uninstall rules so this test can be packaged to be automated sensibly. Make all object files depend on the Makefile, drop redundant -f's for $(RM), and use $(TARGET) when appropriate. Signed-off-by: Andrew Cooper Reviewed-by: Jan Beulich --- CC: Ian Jackson CC: Wei Liu CC: Jan Beulich CC: Roger Pau Monn=C3=A9 CC: Juergen Gross v2: * Fix typo in commit message * Drop -f's * Use %.o rather than *.o for Make level wildcards --- tools/tests/resource/Makefile | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/tools/tests/resource/Makefile b/tools/tests/resource/Makefile index 4bef482966..1c3aee4ff7 100644 --- a/tools/tests/resource/Makefile +++ b/tools/tests/resource/Makefile @@ -12,17 +12,20 @@ run: $(TARGET) =20 .PHONY: clean clean: - $(RM) -f -- *.o $(TARGET) $(DEPS_RM) + $(RM) -- *.o $(TARGET) $(DEPS_RM) =20 .PHONY: distclean distclean: clean - $(RM) -f -- *~ + $(RM) -- *~ =20 .PHONY: install install: all + $(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN) + $(INSTALL_PROG) $(TARGET) $(DESTDIR)$(LIBEXEC_BIN) =20 .PHONY: uninstall uninstall: + $(RM) -- $(DESTDIR)$(LIBEXEC_BIN)/$(TARGET) =20 CFLAGS +=3D -Werror CFLAGS +=3D $(CFLAGS_xeninclude) @@ -34,7 +37,9 @@ LDFLAGS +=3D $(LDLIBS_libxenctrl) LDFLAGS +=3D $(LDLIBS_libxenforeignmemory) LDFLAGS +=3D $(APPEND_LDFLAGS) =20 -test-resource: test-resource.o +%.o: Makefile + +$(TARGET): test-resource.o $(CC) -o $@ $< $(LDFLAGS) =20 -include $(DEPS_INCLUDE) --=20 2.11.0 From nobody Sun May 5 04:20:58 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=reject dis=none) header.from=citrix.com ARC-Seal: i=1; a=rsa-sha256; t=1624386120; cv=none; d=zohomail.com; s=zohoarc; b=L5VoGDI2mMY7yqpT+Ub1Ja3kMxJvLyw9gHBW7GqguYXM9AjCrWIYZwtygWV7XvAAs7UiFYy2rJ8m/ftnfpZ6MSjhsLVegxffUa4i6C0ZJWbG8jAL9SL/KLYiOwNVyFa89g2lDAAtc/zYt3GJRamVeJkWziIGE9iFZjD87Q8ANvw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1624386120; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=7BzVDSz04PDtzhuEU6F9oIFvO3mMwYgELDLI/Ud0yds=; b=XxAPTfM2fozj+rKQqeHILuxhi3Uk7ZEqJCNekp+UQ3kdrga0et2MhM2xVdnisvzSajaKjql47xkQ62TTCuZRD+OcWSNwM8iHNe4bwYhu7VGUlo7rLPg8hTn+LMgM+oWR1FU1Utst7OvWdI5lUU1+YItDSXse2l0pjJKYQspnB64= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1624386120709221.70840612236043; Tue, 22 Jun 2021 11:22:00 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.146026.268637 (Exim 4.92) (envelope-from ) id 1lvl1v-0003xK-EN; Tue, 22 Jun 2021 18:21:47 +0000 Received: by outflank-mailman (output) from mailman id 146026.268637; Tue, 22 Jun 2021 18: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 ) id 1lvl1v-0003x5-AI; Tue, 22 Jun 2021 18:21:47 +0000 Received: by outflank-mailman (input) for mailman id 146026; Tue, 22 Jun 2021 18:21:46 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1lvl1u-0002zl-2D for xen-devel@lists.xenproject.org; Tue, 22 Jun 2021 18:21:46 +0000 Received: from esa2.hc3370-68.iphmx.com (unknown [216.71.145.153]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id 502f1c37-ee41-478d-a30e-b37fa28ee278; Tue, 22 Jun 2021 18:21:36 +0000 (UTC) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 502f1c37-ee41-478d-a30e-b37fa28ee278 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1624386096; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=FuX/gdX/Z8iVIv8CdPdcrz1kl6FHA1swtRRbhrQEv1c=; b=U9B1y1p3TLadBIoPobG7VilBm0p3/YOsX0pDheUtntruFNOKuQKBoh4M AtYkdII3XozdQmiLzIf6AxTIOcHnt84wZZe4UKpTcOCtB3EfOH9/+jCtU o/7Jhzkahs00b6rirOJVIaBj+5R2pM3VydH8fuphTH3AdMX+WYIyi+Mnn w=; Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none IronPort-SDR: OGBFqrArpyeROX0zZptHVTRLumLtvycqbI69jAu+cwGqyeLCt4BxrCiuEv1N4fOU7FfvNMSkSW uHj3JGzH4+A+cfXakgdxfYjuFLrMKtI3svo6IopvkNnskwqK6wE2VyNrO4qlRoDY6f3gg5un1c BIwknrx/utyqJ12m6EKPWSfu+EI7SNu5EzOEtLe03rzMyellzY3TGc/dbducKIPWMZFiWEYyla EQak3yGLq3vFabJFNka7EV1SS9RKcnzTlqZoNlegZj5gvKaFgT1XE8QjbkfS819QFHd0b06P3P 6Tg= X-SBRS: 5.1 X-MesageID: 46703313 X-Ironport-Server: esa2.hc3370-68.iphmx.com X-Remote-IP: 162.221.158.21 X-Policy: $RELAYED IronPort-HdrOrdr: A9a23:3mOxfK4tkSdTt2hrAAPXwXWBI+orL9Y04lQ7vn2ZFiYlF/Bwxv re/sjziyWE6wr5AEtQ6uxpOMG7MAjhHO1OkPss1NaZLU3bUQ6TRvAH0WKM+UyeJ8STzJ8l6U 4kSdkPNDSSNyk8sS+Z2njHLz9I+rDum83F6om+rwYLPGdXguNbnnZE422gYzdLrXx9dOYE/e 2nl7d6TlSbCAwqR/X+IkNAc/nIptXNmp6jSwUBHQQb5A6Hii7twKLmEjCDty1uFQ9n8PMHyy zoggb57qKsv7WQ0RnHzVLe6JxQhZ/I1sZDPsqRkcIYQw+c0zpAJb4RA4FqjgpF+t1H22xaze UkZC1QY/ib3kmhJV1dZyGdhDUIngxetUMKgmXo9EcL6faJMA7STfAx1L6xpSGpu3bI9esMpp 6i0w+ixu1qJAKFkyLn69fSURZ20kKyvHo5iOYWy2dSSI0EddZq3M8iFW5uYdY99RjBmcAa+S hVfY3hzecTdUnfY2HSv2FpztDpVnMvHg2eSkxHvsCOyTBZkH1w0kNdnaUk7zI93YN4T4MB6/ XPM6xumr0LRsgKbbhlDONERcesEGTCTR/FLWrXK1X6E6MMPW7LtvfMkfcIDSGRCdI1Jb4J6d n8uX9jxCUPknPVeIKzNcdwg1jwqU2GLH7QI+9lltFEhoE= X-IronPort-AV: E=Sophos;i="5.83,292,1616472000"; d="scan'208";a="46703313" From: Andrew Cooper To: Xen-devel CC: Andrew Cooper , Ian Jackson , Wei Liu , Jan Beulich , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= , Juergen Gross Subject: [PATCH 3/4] tests/cpu-policy: Rework Makefile Date: Tue, 22 Jun 2021 19:21:23 +0100 Message-ID: <20210622182124.11571-4-andrew.cooper3@citrix.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20210622182124.11571-1-andrew.cooper3@citrix.com> References: <20210622182124.11571-1-andrew.cooper3@citrix.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @citrix.com) In particular, fill in the install/uninstall rules so this test can be packaged to be automated sensibly. Rework TARGET-y to be TARGETS, drop redundant -f's for $(RM), drop the unconditional -O3 and use the default instead, and drop CFLAGS from the link line but honour APPEND_LDFLAGS. Signed-off-by: Andrew Cooper Reviewed-by: Jan Beulich --- CC: Ian Jackson CC: Wei Liu CC: Jan Beulich CC: Roger Pau Monn=C3=A9 CC: Juergen Gross v2: * Drop -f's * Use %.o rather than *.o for Make level wildcards --- tools/tests/cpu-policy/Makefile | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/tools/tests/cpu-policy/Makefile b/tools/tests/cpu-policy/Makef= ile index 70ff154da6..161732ad16 100644 --- a/tools/tests/cpu-policy/Makefile +++ b/tools/tests/cpu-policy/Makefile @@ -1,21 +1,19 @@ XEN_ROOT =3D $(CURDIR)/../../.. include $(XEN_ROOT)/tools/Rules.mk =20 -TARGET-y :=3D test-cpu-policy +TARGETS :=3D =20 # For brevity, these tests make extensive use of designated initialisers in # anonymous unions, but GCCs older than 4.6 can't cope. Ignore the test in # this case. -ifneq ($(clang),y) -TARGET-$(call cc-ver,$(CC),lt,0x040600) :=3D -endif - -ifeq ($(TARGET-y),) +ifneq ($(gcc)$(call cc-ver,$(CC),lt,0x040600),yy) +TARGETS +=3D test-cpu-policy +else $(warning Test harness not built, use newer compiler than "$(CC)" (version= $(shell $(CC) -dumpversion))) endif =20 .PHONY: all -all: $(TARGET-y) +all: $(TARGETS) =20 .PHONY: run run: $(TARGET-y) @@ -23,23 +21,32 @@ run: $(TARGET-y) =20 .PHONY: clean clean: - $(RM) -f -- *.o .*.d .*.d2 test-cpu-policy + $(RM) -- *.o $(TARGETS) $(DEPS_RM) =20 .PHONY: distclean distclean: clean - $(RM) -f -- *~ + $(RM) -- *~ =20 .PHONY: install install: all + $(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN) + $(if $(TARGETS),$(INSTALL_PROG) $(TARGETS) $(DESTDIR)$(LIBEXEC_BIN)) =20 .PHONY: uninstall +uninstall: + $(RM) -- $(addprefix $(DESTDIR)$(LIBEXEC_BIN)/,$(TARGETS)) =20 -CFLAGS +=3D -Werror $(CFLAGS_xeninclude) -D__XEN_TOOLS__ -O3 +CFLAGS +=3D -Werror -D__XEN_TOOLS__ +CFLAGS +=3D $(CFLAGS_xeninclude) CFLAGS +=3D $(APPEND_CFLAGS) =20 -vpath %.c ../../../xen/lib/x86 +LDFLAGS +=3D $(APPEND_LDFLAGS) + +vpath %.c $(XEN_ROOT)/xen/lib/x86 + +%.o: Makefile =20 test-cpu-policy: test-cpu-policy.o msr.o cpuid.o policy.o - $(CC) $(CFLAGS) $^ -o $@ + $(CC) $^ -o $@ $(LDFLAGS) =20 -include $(DEPS_INCLUDE) --=20 2.11.0 From nobody Sun May 5 04:20:58 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass(p=reject dis=none) header.from=citrix.com ARC-Seal: i=1; a=rsa-sha256; t=1624386123; cv=none; d=zohomail.com; s=zohoarc; b=XSv/ZdQQaNpKYO90bh7bM/0XNvB0GDJMGMrO30Lt0BOmYINes7U+V2nqdmPgzTuQrRfIcD26MVsu7nm3POgmwFT8x3f2VGHRKXu6xBj95j13BR3mO3ZtnqM701fpzs/UWGHyvsAh4KKd7AdBcK88nkQYuuwetK1cgi9kF6yD0Wo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1624386123; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=vrRXWQ27tbzLU1L+7qxDgzTpRa6+Seka2QPTnp4Aj8w=; b=R0rAPKjghc9j0Uiu0Q2IaTomUDcitXvJOTHlENzB+wzvvWDI036UN0bxvLyyb88szRIxK9dyh+QkN/YBh0ppB1sLQOqVqzkosS97ckxcGVFXbAmUMkpcaGtUXN3f80/Gnu2Mf0MF17Te/B4rFgmxB4LrBvjzi1EFnlKCc3gHqZ8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1624386123139979.2005239335112; Tue, 22 Jun 2021 11:22:03 -0700 (PDT) Received: from list by lists.xenproject.org with outflank-mailman.146027.268648 (Exim 4.92) (envelope-from ) id 1lvl1z-0004N8-Mo; Tue, 22 Jun 2021 18:21:51 +0000 Received: by outflank-mailman (output) from mailman id 146027.268648; Tue, 22 Jun 2021 18:21:51 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1lvl1z-0004Mv-Ik; Tue, 22 Jun 2021 18:21:51 +0000 Received: by outflank-mailman (input) for mailman id 146027; Tue, 22 Jun 2021 18:21:51 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1lvl1z-0002zl-2W for xen-devel@lists.xenproject.org; Tue, 22 Jun 2021 18:21:51 +0000 Received: from esa4.hc3370-68.iphmx.com (unknown [216.71.155.144]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id 96f7003a-5612-49b9-808a-f7dedefdfffc; Tue, 22 Jun 2021 18:21:36 +0000 (UTC) X-Outflank-Mailman: Message body and most headers restored to incoming version X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: 96f7003a-5612-49b9-808a-f7dedefdfffc DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1624386096; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=5PxTKbRVgESGjhDeGvA5yScbwAfUHH/0kZsWSvQHRtg=; b=PX+ADeaTNspKM4iPe94x6j52yqj2NjNwVGH07aWQ+EOVeqp5FozrUc2u KQkzQM83Y9CN3j9oJ5bKzcb7gmikicaEUBq9f17gZBY9U9cnFLUFmjZIy SYh+gMXvbSmkTL9PqSpB551bbIiqh5TekclEmApOqDBsskl6d+5MYgKEy U=; Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none IronPort-SDR: nNBSgmEc2l3uPwrXLlSutjFcrc/TtqFKiKywnwAIDNwZx4wjNqh+Dtk4VAYdwfHtX706zFsS/Y rE9NIpz+4BegSTjK6W5Eb7FU3eARVzY632hfWOfQiIeUIYT6WmvBGoSW8nyk8wFuBysEv23rnb p1JMXNzKSoHYJakbEiYpqU3z8eiUfzTvnFDfp234VfcxsZ+itkW8W+5Vh3nVAzfUL9cDMtepNm nAOSYtGHilnVwgiocSmtazJ6vtIYcUaZLFL0AQvt3ammidaun4Rv/VZKMAyXY+D9Bv/OV9sx5b WJU= X-SBRS: 5.1 X-MesageID: 48311393 X-Ironport-Server: esa4.hc3370-68.iphmx.com X-Remote-IP: 162.221.158.21 X-Policy: $RELAYED IronPort-HdrOrdr: A9a23:0/v5M6kV6wZ7xVp3rYI/eMDVqtLpDfIW3DAbv31ZSRFFG/Fxl6 iV/cjzsiWE8Ar5OUtQ4OxoV5PwIk80maQb3WBVB8bHYOCEghrPEGgB1/qB/9SIIUSXnYQxuZ uIMZIOb+EYZWIK9voSizPZLz9P+re6GdiT9ILj80s= X-IronPort-AV: E=Sophos;i="5.83,292,1616472000"; d="scan'208";a="48311393" From: Andrew Cooper To: Xen-devel CC: Andrew Cooper , Ian Jackson , Wei Liu , Jan Beulich , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= , Juergen Gross Subject: [PATCH 4/4] tests/xenstore: Rework Makefile Date: Tue, 22 Jun 2021 19:21:24 +0100 Message-ID: <20210622182124.11571-5-andrew.cooper3@citrix.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20210622182124.11571-1-andrew.cooper3@citrix.com> References: <20210622182124.11571-1-andrew.cooper3@citrix.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @citrix.com) In particular, fill in the install/uninstall rules so this test can be packaged to be automated sensibly. This causes the code to be noticed by CI, which objects as follows: test-xenstore.c: In function 'main': test-xenstore.c:486:5: error: ignoring return value of 'asprintf', declar= ed with attribute warn_unused_result [-Werror=3Dunused-result] asprintf(&path, "%s/%u", TEST_PATH, getpid()); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Address the CI failure by checking the asprintf() return value and exiting. Rename xs-test to test-xenstore to be consistent with other tests. Honour APPEND_FLAGS too. Signed-off-by: Andrew Cooper Reviewed-by: Jan Beulich --- CC: Ian Jackson CC: Wei Liu CC: Jan Beulich CC: Roger Pau Monn=C3=A9 CC: Juergen Gross v2: * Drop -f's * Fix CI breakage, now that CI can build the test. --- .gitignore | 1 - tools/tests/xenstore/.gitignore | 1 + tools/tests/xenstore/Makefile | 31 +++++++++++++++---= ---- .../tests/xenstore/{xs-test.c =3D> test-xenstore.c} | 8 ++++-- 4 files changed, 29 insertions(+), 12 deletions(-) create mode 100644 tools/tests/xenstore/.gitignore rename tools/tests/xenstore/{xs-test.c =3D> test-xenstore.c} (98%) diff --git a/.gitignore b/.gitignore index d4b90303b2..8ebb51b6c5 100644 --- a/.gitignore +++ b/.gitignore @@ -275,7 +275,6 @@ tools/tests/x86_emulator/*sse*.[ch] tools/tests/x86_emulator/test_x86_emulator tools/tests/x86_emulator/x86_emulate tools/tests/x86_emulator/xop*.[ch] -tools/tests/xenstore/xs-test tools/tests/vpci/list.h tools/tests/vpci/vpci.[hc] tools/tests/vpci/test_vpci diff --git a/tools/tests/xenstore/.gitignore b/tools/tests/xenstore/.gitign= ore new file mode 100644 index 0000000000..4b44f5dd60 --- /dev/null +++ b/tools/tests/xenstore/.gitignore @@ -0,0 +1 @@ +test-xenstore diff --git a/tools/tests/xenstore/Makefile b/tools/tests/xenstore/Makefile index a367d88803..b9969dd090 100644 --- a/tools/tests/xenstore/Makefile +++ b/tools/tests/xenstore/Makefile @@ -1,11 +1,7 @@ XEN_ROOT=3D$(CURDIR)/../../.. include $(XEN_ROOT)/tools/Rules.mk =20 -CFLAGS +=3D -Werror - -CFLAGS +=3D $(CFLAGS_libxenstore) - -TARGETS-y :=3D xs-test +TARGETS-y :=3D test-xenstore TARGETS :=3D $(TARGETS-y) =20 .PHONY: all @@ -16,14 +12,31 @@ build: $(TARGETS) =20 .PHONY: clean clean: - $(RM) *.o $(TARGETS) *~ $(DEPS_RM) + $(RM) -- *.o $(TARGETS) $(DEPS_RM) =20 .PHONY: distclean distclean: clean + $(RM) -- *~ + +.PHONY: install +install: all + $(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN) + $(if $(TARGETS),$(INSTALL_PROG) $(TARGETS) $(DESTDIR)$(LIBEXEC_BIN)) + +.PHONY: uninstall +uninstall: + $(RM) -- $(addprefix $(DESTDIR)$(LIBEXEC_BIN)/,$(TARGETS)) + +CFLAGS +=3D -Werror +CFLAGS +=3D $(CFLAGS_libxenstore) +CFLAGS +=3D $(APPEND_CFLAGS) + +LDFLAGS +=3D $(LDLIBS_libxenstore) +LDFLAGS +=3D $(APPEND_LDFLAGS) =20 -xs-test: xs-test.o Makefile - $(CC) -o $@ $< $(LDFLAGS) $(LDLIBS_libxenstore) +%.o: Makefile =20 -install uninstall: +test-xenstore: test-xenstore.o + $(CC) -o $@ $< $(LDFLAGS) =20 -include $(DEPS_INCLUDE) diff --git a/tools/tests/xenstore/xs-test.c b/tools/tests/xenstore/test-xen= store.c similarity index 98% rename from tools/tests/xenstore/xs-test.c rename to tools/tests/xenstore/test-xenstore.c index c4c99c0661..d3574b3fa2 100644 --- a/tools/tests/xenstore/xs-test.c +++ b/tools/tests/xenstore/test-xenstore.c @@ -20,6 +20,7 @@ */ =20 #define _GNU_SOURCE +#include #include #include #include @@ -483,11 +484,14 @@ int main(int argc, char *argv[]) return 0; } =20 - asprintf(&path, "%s/%u", TEST_PATH, getpid()); + if ( asprintf(&path, "%s/%u", TEST_PATH, getpid()) < 0 ) + err(2, "asprintf() malloc failure\n"); + for ( t =3D 0; t < WRITE_BUFFERS_N; t++ ) { memset(write_buffers[t], 'a' + t, WRITE_BUFFERS_SIZE); - asprintf(&paths[t], "%s/%c", path, 'a' + t); + if ( asprintf(&paths[t], "%s/%c", path, 'a' + t) < 0 ) + err(2, "asprintf() malloc failure\n"); } =20 xsh =3D xs_open(0); --=20 2.11.0