From patchwork Wed Jun 9 18:29:38 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nadav Amit X-Patchwork-Id: 12311005 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id E077AC48BCD for ; Wed, 9 Jun 2021 18:30:00 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id B8F1D61249 for ; Wed, 9 Jun 2021 18:30:00 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229743AbhFISby (ORCPT ); Wed, 9 Jun 2021 14:31:54 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35800 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229472AbhFISbx (ORCPT ); Wed, 9 Jun 2021 14:31:53 -0400 Received: from mail-pj1-x1030.google.com (mail-pj1-x1030.google.com [IPv6:2607:f8b0:4864:20::1030]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 14919C061574 for ; Wed, 9 Jun 2021 11:29:59 -0700 (PDT) Received: by mail-pj1-x1030.google.com with SMTP id ei4so1927878pjb.3 for ; Wed, 09 Jun 2021 11:29:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=xT/xCMfv6X50Ciw0TbJtgKfP8P+TTxjDjtOeU/rPLYE=; b=f3S6fGG5vQ/4ROEbXg1YJqkxvuguwSoL0zw839HCMNWsvJmRlSL9jQuHz8A9dI9Lgv H/PZXhRHS0ntLqQJG0Ywi9+8szK2N49xK+ziriSs1AQWwMMIoniUPN0MIwOIg8rfA9ta HtxIegAn2XPX0/2khpPhMpgzmO2hPl0K9871FDev6Beksig/YVLcal22HDSi7PfGbxQG s9ESU08g1jvRBOtUcyxs5q9bDjuTh2s9X25ZzyEi0c73y4xxYb+sVu7QfhH7ic5tWap1 BueHv1bwO2PX/WKpSfw86F+XXO1Rt1iKywQRwxvCNIAAqaFnXH1LsRouRa5JM8x6nZOO JHmA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=xT/xCMfv6X50Ciw0TbJtgKfP8P+TTxjDjtOeU/rPLYE=; b=N9dKSjYyO7MHJlDX4kWBNOdP8StoyW5RdsffXQ3BqZ9sXVBo1CO8uLdaK+Kowzu4Ln JsqrDAkUPtR5CxV4LsRSABdvBk5aWcIPksZ9N3G9ALDSeDD5OTzUQwvDdyfLYpu+R/CG 2Aj7hPwEvhBFIoP3/D0+5GiOoJSCmW5+TovtzKoW7iEmpAqA1yVZsjtJ/w3p14oHe09w ypK+2zPP4pYJ4+jsj+2cW+GKZKCMgo+YPyjbNTGFG6epM8P5J6gTuia9UPNpNZbbT0S6 X0qB4bPRZdbEGkkSOBfz60BCK35RXTokgN6/F0UlYwiFu2xm6Zn7b3l36HWDtoE+0k6a CAOA== X-Gm-Message-State: AOAM531xeF9c/fuseR/veWdm0dpv3YSwAWdbbOOcfSGtvY4kSc0r6/0P 2pZnR5yTOe4ZGJATNHjzn3FGUwWbRIJ+rg== X-Google-Smtp-Source: ABdhPJwapdk4B3vty2+2Zy3z/J6so4lHstIHbH/poEJcUW0ydBssJVJlMDgxFhAaCceib5U8w6dHXA== X-Received: by 2002:a17:90a:de8a:: with SMTP id n10mr912994pjv.76.1623263397689; Wed, 09 Jun 2021 11:29:57 -0700 (PDT) Received: from ubuntu-server-2004.vmware.com (c-24-6-216-183.hsd1.ca.comcast.net. [24.6.216.183]) by smtp.gmail.com with ESMTPSA id y34sm249092pfa.181.2021.06.09.11.29.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 09 Jun 2021 11:29:57 -0700 (PDT) From: Nadav Amit X-Google-Original-From: Nadav Amit To: Paolo Bonzini Cc: kvm@vger.kernel.org, Nadav Amit Subject: [kvm-unit-tests PATCH 1/8] lib/x86: report result through serial console when no test device Date: Wed, 9 Jun 2021 18:29:38 +0000 Message-Id: <20210609182945.36849-2-nadav.amit@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210609182945.36849-1-nadav.amit@gmail.com> References: <20210609182945.36849-1-nadav.amit@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org From: Nadav Amit If there are no test devices, we might be running on bare-metal or other environment, in which port 0xF4, which reports the test result, is not monitored. In such environments, print also the result of the test to the serial console. For realmode: just give a simple indication whether the test passed or failed in a similar fashion. This can allow automation tools to figure out the test is done and its result. Signed-off-by: Nadav Amit --- lib/x86/io.c | 3 +++ x86/realmode.c | 5 +++++ 2 files changed, 8 insertions(+) diff --git a/lib/x86/io.c b/lib/x86/io.c index f4ffb44..c21dfb8 100644 --- a/lib/x86/io.c +++ b/lib/x86/io.c @@ -1,5 +1,6 @@ #include "libcflat.h" #include "smp.h" +#include "fwcfg.h" #include "asm/io.h" #include "asm/page.h" #include "vmalloc.h" @@ -99,6 +100,8 @@ void exit(int code) #else asm volatile("out %0, %1" : : "a"(code), "d"((short)0xf4)); #endif + if (no_test_device) + printf("--- DONE: %d ---\n", code); /* Fallback */ while (1) { diff --git a/x86/realmode.c b/x86/realmode.c index c8a6ae0..b4fa603 100644 --- a/x86/realmode.c +++ b/x86/realmode.c @@ -125,6 +125,11 @@ static void exit(int code) { outb(code, 0xf4); + if (code == 0) + print_serial("--- DONE: 0 ---\n"); + else + print_serial("--- DONE: 1 ---\n"); + while (1) { asm volatile("hlt" ::: "memory"); } From patchwork Wed Jun 9 18:29:39 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nadav Amit X-Patchwork-Id: 12311011 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6CED6C48BCF for ; Wed, 9 Jun 2021 18:31:01 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 3E86C613D5 for ; Wed, 9 Jun 2021 18:31:01 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229705AbhFIScz (ORCPT ); Wed, 9 Jun 2021 14:32:55 -0400 Received: from mail-pl1-f173.google.com ([209.85.214.173]:33509 "EHLO mail-pl1-f173.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229578AbhFIScy (ORCPT ); Wed, 9 Jun 2021 14:32:54 -0400 Received: by mail-pl1-f173.google.com with SMTP id c13so13088031plz.0 for ; Wed, 09 Jun 2021 11:30:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=NWCJamjydi4hTSNXgKpzZyhuamlyd3VzbdgV4FiksE8=; b=H3xx0PBjo7ctHhfap1iFKTNhjhSzQqS2xNOzRiIcSCUtZpUWlbiIIUqTyRjXFMfGzS 8vw948TXi32AMieI7hfPdOPR36c0J7lwjC//jevYGJ/XIIabIsPUyF8wD2lidvk/n49j Vjo2y/6QRpZLduMNB0ZjA3cDfCKozVlGFpmPic7lso5BOC74NPrxKW3GT/cUJgWuq3EQ g/gptiounhhEIVp9m5E8lb5GQ6kl6/iERM9RUBLaBnjrqJ5Za+3lacB15cHjjW+qFZR0 f1U/7bVO3Y9jYeuY0wFfuttAvpG24x4MnLE0U5WBre4J2SjA//lCmFq1Bgm9bHBoRfxo 04Mw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=NWCJamjydi4hTSNXgKpzZyhuamlyd3VzbdgV4FiksE8=; b=Rwad9wem6MtKVPR1ml6jyJNTebDCIYPMSEObmEYS91Jv3Q3X+2iNyjXugKSdoXMNxr /WTNd3nWnSFPwDVs4ZEWeos6O3yqpERE03aMi/I4/tXl5oJVQE7IUF5+i/WAn3QbjQFP oQqxJN9to/M2EowFyns5Cx+UHPRgZeuKvo4nxWbYbgRy3Y971Q6h0oz8VAiFFUDFwUQ+ lzraD3A4u/Ighfa/Fd9i09mARb/6432T5Zm4FBcSsb77QYkgXpC2QVrF1cbKsus2DBaU BVXePxYqu051skawSuxjxGCW6bxwptkTcVZdhzEiwYr7uVESinDwY2ipeoTfxnzq7lhY Sh6g== X-Gm-Message-State: AOAM532lEohGfI0yeVNw+rvC7rvfSNGsMAxu7HBTR2xQbploE229eG5r +rCWDHwqAbDxRAaVC5byYVo= X-Google-Smtp-Source: ABdhPJx2Y6hRvCUYaeC9+OW21FyVa6lnrbY59X7gFiE/D3f2OYdKrAUS4V1+3OnAfLVfzzeLTC0MdA== X-Received: by 2002:a17:90a:4e4a:: with SMTP id t10mr863172pjl.173.1623263399036; Wed, 09 Jun 2021 11:29:59 -0700 (PDT) Received: from ubuntu-server-2004.vmware.com (c-24-6-216-183.hsd1.ca.comcast.net. [24.6.216.183]) by smtp.gmail.com with ESMTPSA id y34sm249092pfa.181.2021.06.09.11.29.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 09 Jun 2021 11:29:58 -0700 (PDT) From: Nadav Amit X-Google-Original-From: Nadav Amit To: Paolo Bonzini Cc: kvm@vger.kernel.org, Nadav Amit Subject: [kvm-unit-tests PATCH 2/8] x86/tsx-ctrl: report skipping tests correctly Date: Wed, 9 Jun 2021 18:29:39 +0000 Message-Id: <20210609182945.36849-3-nadav.amit@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210609182945.36849-1-nadav.amit@gmail.com> References: <20210609182945.36849-1-nadav.amit@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org From: Nadav Amit When tsx-ctrl tests are skipped due to lack of hardware support, they are not reported as skipped. Fix it. Signed-off-by: Nadav Amit --- x86/tsx-ctrl.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/x86/tsx-ctrl.c b/x86/tsx-ctrl.c index 079ad59..3b197ca 100644 --- a/x86/tsx-ctrl.c +++ b/x86/tsx-ctrl.c @@ -27,15 +27,15 @@ int main(int ac, char **av) { if (!this_cpu_has(X86_FEATURE_RTM)) { report_skip("TSX not available"); - return 0; + return report_summary(); } if (!this_cpu_has(X86_FEATURE_ARCH_CAPABILITIES)) { report_skip("ARCH_CAPABILITIES not available"); - return 0; + return report_summary(); } if (!(rdmsr(MSR_IA32_ARCH_CAPABILITIES) & ARCH_CAP_TSX_CTRL_MSR)) { report_skip("TSX_CTRL not available"); - return 0; + return report_summary(); } report(rdmsr(MSR_IA32_TSX_CTRL) == 0, "TSX_CTRL should be 0"); From patchwork Wed Jun 9 18:29:40 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nadav Amit X-Patchwork-Id: 12311013 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2B855C48BCD for ; Wed, 9 Jun 2021 18:31:03 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 0D94861249 for ; Wed, 9 Jun 2021 18:31:03 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230052AbhFISc4 (ORCPT ); Wed, 9 Jun 2021 14:32:56 -0400 Received: from mail-pj1-f41.google.com ([209.85.216.41]:46798 "EHLO mail-pj1-f41.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229578AbhFIScz (ORCPT ); Wed, 9 Jun 2021 14:32:55 -0400 Received: by mail-pj1-f41.google.com with SMTP id pi6-20020a17090b1e46b029015cec51d7cdso1969108pjb.5 for ; Wed, 09 Jun 2021 11:31:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=NBi9Yheet34AiIDQ7k7SUS/JsehvOX+YErFL/OZ7J+k=; b=hToWiCMMei76RiTHdPHLHlOpOFr/1+9dHlkSDf9/RXEiE+AZNxptKt2rwwMlqKBoeA aDcM5hfxKajOicidqQNvTzMNZ2E+AxdMN96QlXX7K/E/V85vCLckLGeBMKDVwFcplESK 5Y8wyb2PkVFDlJjSBfqai2Ad+rnENmxE6SnfGjGcrWpX2VrdbO2R9IzBSB0zNywzAXK5 KPx6SKAwqGuZoosD32RQLJS1Mn75NKoNtHEfQ4kEfFtbuNh3SXc6XUTiGcO/kmdLF7yv kUURxZsDnM7sa7TVI9TFP8r3AD5Q52YV/v07d4fKDkG0KqhvVNw44nQTXXzDk/TakYYn UJXw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=NBi9Yheet34AiIDQ7k7SUS/JsehvOX+YErFL/OZ7J+k=; b=kJqvzjH8/nNu37x4RzxSQ9V5D02n7yMi7XuL0+gOUr6MWKgIJHKqXUp3g0yh9lVZ+v HBZt0AKh4CClRy625jX8cuF3W0YAQBbIslAgPEb3EdXc8Ti8/KPe5aNjQspQhAOF/US2 qa7vGvkf2uHvmSByIogF7W3vgN1Y889UFB0tnjM3GC9vnVsswiWVb6X6P9OFgAwR5Jp3 fSm1REedsqefjqtbyCq+fXzPkOuNO4Sd2kI0EyRoDJheaXsr+EcgfDhBzsGPaWTJ5KBt wYLbUuJTVi4Dm0pRubkI3in1PNTTgGKFECFsr/mK2qx3VZOA9q28P5/YvAmeJXRS63xx uNPw== X-Gm-Message-State: AOAM530ssUU3TF0hCatr/Mlh+PZsFRMQ4scNgWo0hJizS1J+jmecDhiP gvcT6258xhfQCullRU3bHA67ikjD0sp92w== X-Google-Smtp-Source: ABdhPJwtcQzQFuZQw+W58l7wcV/uDWBE/zKPUgGfii66vDYiyFnrU383KPHXeLrdy1SSANOl47yBpw== X-Received: by 2002:a17:90b:4d92:: with SMTP id oj18mr888505pjb.89.1623263400350; Wed, 09 Jun 2021 11:30:00 -0700 (PDT) Received: from ubuntu-server-2004.vmware.com (c-24-6-216-183.hsd1.ca.comcast.net. [24.6.216.183]) by smtp.gmail.com with ESMTPSA id y34sm249092pfa.181.2021.06.09.11.29.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 09 Jun 2021 11:29:59 -0700 (PDT) From: Nadav Amit X-Google-Original-From: Nadav Amit To: Paolo Bonzini Cc: kvm@vger.kernel.org, Nadav Amit Subject: [kvm-unit-tests PATCH 3/8] x86/smptest: handle non-consecutive APIC IDs Date: Wed, 9 Jun 2021 18:29:40 +0000 Message-Id: <20210609182945.36849-4-nadav.amit@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210609182945.36849-1-nadav.amit@gmail.com> References: <20210609182945.36849-1-nadav.amit@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org From: Nadav Amit When APIC IDs are not allocated consecutively, smptest fails. Fix it by using id_map, which maps CPU numbers to their apic-IDs. Signed-off-by: Nadav Amit --- x86/smptest.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x86/smptest.c b/x86/smptest.c index 2989aa0..cbb4e60 100644 --- a/x86/smptest.c +++ b/x86/smptest.c @@ -1,4 +1,5 @@ #include "libcflat.h" +#include "apic.h" #include "smp.h" unsigned nipis; @@ -8,7 +9,7 @@ static void ipi_test(void *data) int n = (long)data; printf("ipi called, cpu %d\n", n); - if (n != smp_id()) + if (id_map[n] != smp_id()) printf("but wrong cpu %d\n", smp_id()); else nipis++; From patchwork Wed Jun 9 18:29:41 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nadav Amit X-Patchwork-Id: 12311015 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0EF8EC48BD1 for ; Wed, 9 Jun 2021 18:31:04 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id E9943613DC for ; Wed, 9 Jun 2021 18:31:03 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230026AbhFISc6 (ORCPT ); Wed, 9 Jun 2021 14:32:58 -0400 Received: from mail-pj1-f41.google.com ([209.85.216.41]:50757 "EHLO mail-pj1-f41.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230035AbhFISc4 (ORCPT ); Wed, 9 Jun 2021 14:32:56 -0400 Received: by mail-pj1-f41.google.com with SMTP id g4so1959962pjk.0 for ; Wed, 09 Jun 2021 11:31:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=aNx0tA5Vs9m9kIMEzCJ3O6wSOTh+ZL6QRIQmS9jrPkI=; b=XX9cVuPcLUjnY20exj7R8sXeW05ChNTKR5Shu14qJxfdTC9UjiwFPlTn5ZxFK5Efzo OCBmYZtPLQVM9LWvEmFH8+Hg69xZJFZpMqbsJZwMZYFGxmYAriZUmbSR0PjVKc+mZSpJ zuh89sp8tp08NSRuRpMqvzqKVLZO7MD9MLkETjGaOaGNXgm1pH8mRxxhO1l/hCyOukwP wjPRawxbxkVm83t87da3GS/eHEuovKKCZdywRR0s8g2k4d/f2ubCrEal1PM0kbEnarUC QmLCQLk2mLXAxBhJxRzCvRTCGKHeO9ZiIXHDErcshJcLZBjNF+/djD3Aa67yS3Uzb+Rb ajRw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=aNx0tA5Vs9m9kIMEzCJ3O6wSOTh+ZL6QRIQmS9jrPkI=; b=V945hhXpTQd9/PcWNGw+VrY1S7cFKfWTbaY6PP0ddLdsC4RrPNtPHlapAXgLo76tbw s561uou7VF7bBNKS7jrXqwrh6Z2keq3etGSSvzq0jm7fYJjpEQ/+P+F4Dcg4OWEOW+yS FKMmiU34sgNoswWFnC7ofuqZdPHT/D7xwzLr0BFc+v75ImV9CS7JTJWUn7+nRvQrGOL0 l/hAupMFyDGe15KiC/5p52TUP5VrsqBFgbuml5WzzR6pa230Pzc4uD8RFqDqQSrNdK0K If5zrX3Ae8Oc6EJ0N4QEWtvxyugGnhfrwCG7YNyAHR87+YemlTsjhqdvlffCgxYj8GDT 702w== X-Gm-Message-State: AOAM532V6YnwOFHF4yqhV7vHpiVadnXEkUwl4JJKBwsZFLlXjyiPC3xQ NFJ0iLB+kmgN9qF84z416Zs3HRcDJHRlHQ== X-Google-Smtp-Source: ABdhPJzntxmFRSZWxYBBdGnES0Tjz2niOTEzrrF9MvJj/nFzZLrfuS1CJBKs0ILZYyLSGqTvaP1y4g== X-Received: by 2002:a17:902:724c:b029:ef:571f:8894 with SMTP id c12-20020a170902724cb02900ef571f8894mr871297pll.49.1623263401512; Wed, 09 Jun 2021 11:30:01 -0700 (PDT) Received: from ubuntu-server-2004.vmware.com (c-24-6-216-183.hsd1.ca.comcast.net. [24.6.216.183]) by smtp.gmail.com with ESMTPSA id y34sm249092pfa.181.2021.06.09.11.30.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 09 Jun 2021 11:30:01 -0700 (PDT) From: Nadav Amit X-Google-Original-From: Nadav Amit To: Paolo Bonzini Cc: kvm@vger.kernel.org, Nadav Amit Subject: [kvm-unit-tests PATCH 4/8] x86/hypercall: enable the test on non-KVM environment Date: Wed, 9 Jun 2021 18:29:41 +0000 Message-Id: <20210609182945.36849-5-nadav.amit@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210609182945.36849-1-nadav.amit@gmail.com> References: <20210609182945.36849-1-nadav.amit@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org From: Nadav Amit KVM knows to emulate both vmcall and vmmcall regardless of the actual architecture. Native hardware does not behave this way. Based on the availability of test-device, figure out that the test is run on non-KVM environment, and if so, run vmcall/vmmcall based on the actual architecture. Signed-off-by: Nadav Amit --- lib/x86/processor.h | 8 ++++++++ x86/hypercall.c | 31 +++++++++++++++++++++++-------- 2 files changed, 31 insertions(+), 8 deletions(-) diff --git a/lib/x86/processor.h b/lib/x86/processor.h index abc04b0..517ee70 100644 --- a/lib/x86/processor.h +++ b/lib/x86/processor.h @@ -118,6 +118,14 @@ static inline u8 cpuid_maxphyaddr(void) return raw_cpuid(0x80000008, 0).a & 0xff; } +static inline bool is_intel(void) +{ + struct cpuid c = cpuid(0); + u32 name[4] = {c.b, c.d, c.c }; + + return strcmp((char *)name, "GenuineIntel") == 0; +} + #define CPUID(a, b, c, d) ((((unsigned long long) a) << 32) | (b << 16) | \ (c << 8) | d) diff --git a/x86/hypercall.c b/x86/hypercall.c index 28760e3..a02ee33 100644 --- a/x86/hypercall.c +++ b/x86/hypercall.c @@ -2,6 +2,7 @@ #include "vm.h" #include "desc.h" #include "alloc_page.h" +#include "fwcfg.h" #define KVM_HYPERCALL_INTEL ".byte 0x0f,0x01,0xc1" #define KVM_HYPERCALL_AMD ".byte 0x0f,0x01,0xd9" @@ -51,10 +52,18 @@ test_edge(void) int main(int ac, char **av) { - kvm_hypercall0_intel(-1u); - printf("Hypercall via VMCALL: OK\n"); - kvm_hypercall0_amd(-1u); - printf("Hypercall via VMMCALL: OK\n"); + bool test_vmcall = !no_test_device || is_intel(); + bool test_vmmcall = !no_test_device || !is_intel(); + + if (test_vmcall) { + kvm_hypercall0_intel(-1u); + printf("Hypercall via VMCALL: OK\n"); + } + + if (test_vmmcall) { + kvm_hypercall0_amd(-1u); + printf("Hypercall via VMMCALL: OK\n"); + } #ifdef __x86_64__ setup_vm(); @@ -70,12 +79,18 @@ int main(int ac, char **av) topmost[4093] = 0x0f; topmost[4094] = 0x01; topmost[4095] = 0xc1; - report(test_edge(), - "VMCALL on edge of canonical address space (intel)"); + + if (test_vmcall) { + report(test_edge(), + "VMCALL on edge of canonical address space (intel)"); + } topmost[4095] = 0xd9; - report(test_edge(), - "VMMCALL on edge of canonical address space (AMD)"); + + if (test_vmmcall) { + report(test_edge(), + "VMMCALL on edge of canonical address space (AMD)"); + } #endif return report_summary(); From patchwork Wed Jun 9 18:29:42 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nadav Amit X-Patchwork-Id: 12311007 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 69BB8C48BCF for ; Wed, 9 Jun 2021 18:30:10 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 43E5161364 for ; Wed, 9 Jun 2021 18:30:10 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229957AbhFIScC (ORCPT ); Wed, 9 Jun 2021 14:32:02 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35820 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229941AbhFISb6 (ORCPT ); Wed, 9 Jun 2021 14:31:58 -0400 Received: from mail-pj1-x102c.google.com (mail-pj1-x102c.google.com [IPv6:2607:f8b0:4864:20::102c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7CAB2C06175F for ; Wed, 9 Jun 2021 11:30:03 -0700 (PDT) Received: by mail-pj1-x102c.google.com with SMTP id h12-20020a17090aa88cb029016400fd8ad8so1980323pjq.3 for ; Wed, 09 Jun 2021 11:30:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=rcASrBBC54ippeJc8KQOcZ4tnnIbc6w6h2SU/3e0h2I=; b=knMT4cbOHYlSHse6UAmWVOaYbM8xq3gLYxzLz3PhirgBHMh+54RL1PmSjEnBfFYcFl VewzMyf5W0ZTNFTeZGVjqs+TObyvBvRclk2yUh3A22b5mraCUT1kZhfgD0SnwOTCZ6Cc 1nHpxC/4TPwqBPhtV0Ld1+4Gau2VbADNpei2Hk3m0CwrrboPUegm8Z3RIXcR9uY7tnCy tcMQkMKbcL1F+KJJ0Gh5LOFs3Vcx09MHqv7QBB0Ob0e7Hk0HX0OWxNRxWAcqzB5UO7L9 kEwh8FrJsW47pHZ2yg3RBH/zAxTyywkNx43a++sGmpRZut3nnj1W0mJWgYruihZ0PObh NDvw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=rcASrBBC54ippeJc8KQOcZ4tnnIbc6w6h2SU/3e0h2I=; b=ghIfd36sRl+Jck9SffcussSn60t8kwn7UDKpgDQF1vXmM7BKG8XLR3tm2tIE7q+2z3 1WjGI2DqbuTe3s5/zmaVnXTyMCB5pK+xafn6hu3WTEcGnj4hp+O+uRcahbMe3dO9nqMf OvGf1zj3NrueeJPzTluoEAyToSlVegYtlBkUeJ4ygbUpJOHXXgboDC2JZfePHsQxSmnv 0UvXH1fBSi1z8gBVkrgByO+UQ6wx+nQThKNT5b1QTZ5dsYs5GLuDy5yZw51o3oOZleD7 H05NL5OtucZkZtk64Pve0uMZhjlFllanOAR3RH2uh6+SExsb9pULXjGFLCx37NjF4wSq pFoA== X-Gm-Message-State: AOAM533J24DTMBeGwR9/eEmISFDTrMRFhe1k0UsYqYH93V/1hHSHjDwA luZOg02b9otrM7lLgbPDdA8= X-Google-Smtp-Source: ABdhPJxmD/zw+2oejK7wLrGIrC5fZYF0PVIMAi72mx/jXtU0Qllvt+3xCFmGU97b8zt+jBzkrQpb0w== X-Received: by 2002:a17:90a:24a:: with SMTP id t10mr911144pje.178.1623263402862; Wed, 09 Jun 2021 11:30:02 -0700 (PDT) Received: from ubuntu-server-2004.vmware.com (c-24-6-216-183.hsd1.ca.comcast.net. [24.6.216.183]) by smtp.gmail.com with ESMTPSA id y34sm249092pfa.181.2021.06.09.11.30.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 09 Jun 2021 11:30:02 -0700 (PDT) From: Nadav Amit X-Google-Original-From: Nadav Amit To: Paolo Bonzini Cc: kvm@vger.kernel.org, Nadav Amit Subject: [kvm-unit-tests PATCH 5/8] x86/hyperv: skip hyperv-clock test if unsupported by host Date: Wed, 9 Jun 2021 18:29:42 +0000 Message-Id: <20210609182945.36849-6-nadav.amit@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210609182945.36849-1-nadav.amit@gmail.com> References: <20210609182945.36849-1-nadav.amit@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org From: Nadav Amit Skip the hyperv-clock tests if time reference counter is unsupported by the host, similarly to the way other hyperv tests first check support of the host. Signed-off-by: Nadav Amit --- x86/hyperv_clock.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/x86/hyperv_clock.c b/x86/hyperv_clock.c index b4cfc9f..f1e7204 100644 --- a/x86/hyperv_clock.c +++ b/x86/hyperv_clock.c @@ -150,6 +150,11 @@ int main(int ac, char **av) uint64_t tsc1, t1, tsc2, t2; uint64_t ref1, ref2; + if (!hv_time_ref_counter_supported()) { + report_skip("time reference counter is unsupported"); + return report_summary(); + } + setup_vm(); ncpus = cpu_count(); From patchwork Wed Jun 9 18:29:43 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nadav Amit X-Patchwork-Id: 12311017 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 954D1C48BCF for ; Wed, 9 Jun 2021 18:31:07 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 7A3F6613D5 for ; Wed, 9 Jun 2021 18:31:07 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230075AbhFISdA (ORCPT ); Wed, 9 Jun 2021 14:33:00 -0400 Received: from mail-pj1-f43.google.com ([209.85.216.43]:46804 "EHLO mail-pj1-f43.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230058AbhFISc7 (ORCPT ); Wed, 9 Jun 2021 14:32:59 -0400 Received: by mail-pj1-f43.google.com with SMTP id pi6-20020a17090b1e46b029015cec51d7cdso1969232pjb.5 for ; Wed, 09 Jun 2021 11:31:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=0fyLamNbc74wavKVj/zbjloyua4AURdiLjTROhG9DcM=; b=OGj3Gje8zi/F4dEvGmXih0pwkDngC37UP2K9eaUK9iAjz4O4XJ41yz/HYyPPYDrh/7 nGe/QvAGuoikGJJyXOSbI3PICISesNxBwtebcZqqOcI811VpIXYyawQZDVAi4Qy/uwNj gsKcAha9+3HsW0SOBaAWXpZ4DOcW7rdFaEi63g0uwaMr09OqaSpkjSSqr4gU2r/vgNf+ 5MnsaYzJznfpN5Ly44maymqCiaWlZdd20awunKS/U1jD967JybgfVzFYDWCHicb93OQI iApWJaQflVFSE94zy88/Q9ODT0ML5n+jSO4jBH6I94fA3mqc3iIOlM3dqKBkIJ/YmICD Nd+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=0fyLamNbc74wavKVj/zbjloyua4AURdiLjTROhG9DcM=; b=aURyZCfMU+IJNjptYaieyc2IixGAMViJFEBh9jto/6tAkdf42YlJpNNrmr4PdOsJQp FJQ13FqnGSMEUAq00aoysfYwlyrXHPF5Gc3n/hIj1JiDEL3MVN57s9Px5Siy23RjRaRo +m0NQdiI/1bxn2zQh+kQ7rvI2SFJ3PtKoc2YwofD88cm/9bT1S+OaLcNLhZlUUaGywAH e1v35H6Ljq+hS3vFYSaL+kdzVJd+iL2OYfodNB5/f/fFWyzVTY7TkXer3V/i61mqxJ+B 8npe5NIT7V+nR2KLMD3FzZutVZMsEqbvkynpTAH8b9wbbjhtMdWSWwfNeMjDKSGgoc5w hO8A== X-Gm-Message-State: AOAM530v/+DxjfTRbTqpC10bvp8H7Bna943qayxXIkCx2P1Ge3KxPY7b jsdeadnLioDsoLxM99hePo0= X-Google-Smtp-Source: ABdhPJzjqognyBIJXf0ZdudFf8DSmVxSAK+lUqm9KQuh5nNxm/C+UW2c/ZekRj90oQVRLILAKxDgog== X-Received: by 2002:a17:90a:288:: with SMTP id w8mr880256pja.111.1623263404177; Wed, 09 Jun 2021 11:30:04 -0700 (PDT) Received: from ubuntu-server-2004.vmware.com (c-24-6-216-183.hsd1.ca.comcast.net. [24.6.216.183]) by smtp.gmail.com with ESMTPSA id y34sm249092pfa.181.2021.06.09.11.30.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 09 Jun 2021 11:30:03 -0700 (PDT) From: Nadav Amit X-Google-Original-From: Nadav Amit To: Paolo Bonzini Cc: kvm@vger.kernel.org, Nadav Amit Subject: [kvm-unit-tests PATCH 6/8] x86/syscall: skip TF-test if running neither on KVM nor AMD Date: Wed, 9 Jun 2021 18:29:43 +0000 Message-Id: <20210609182945.36849-7-nadav.amit@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210609182945.36849-1-nadav.amit@gmail.com> References: <20210609182945.36849-1-nadav.amit@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org From: Nadav Amit The syscall TF-test runs syscall on 32-bit mode, which is unsupported by Intel. As a result, if the test is executed on non-KVM environment and the system does not have AMD CPU, the test crashes. Skip the test in such case. Signed-off-by: Nadav Amit --- x86/syscall.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/x86/syscall.c b/x86/syscall.c index 8cef860..a8045cb 100644 --- a/x86/syscall.c +++ b/x86/syscall.c @@ -4,6 +4,7 @@ #include "processor.h" #include "msr.h" #include "desc.h" +#include "fwcfg.h" static void test_syscall_lazy_load(void) { @@ -101,7 +102,11 @@ static void test_syscall_tf(void) int main(int ac, char **av) { test_syscall_lazy_load(); - test_syscall_tf(); + + if (!no_test_device || !is_intel()) + test_syscall_tf(); + else + report_skip("syscall TF handling"); return report_summary(); } From patchwork Wed Jun 9 18:29:44 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nadav Amit X-Patchwork-Id: 12311019 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 09C61C48BD1 for ; Wed, 9 Jun 2021 18:31:09 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id E7EC7613DC for ; Wed, 9 Jun 2021 18:31:08 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230080AbhFISdD (ORCPT ); Wed, 9 Jun 2021 14:33:03 -0400 Received: from mail-pf1-f172.google.com ([209.85.210.172]:37479 "EHLO mail-pf1-f172.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229993AbhFISdA (ORCPT ); Wed, 9 Jun 2021 14:33:00 -0400 Received: by mail-pf1-f172.google.com with SMTP id y15so19094152pfl.4 for ; Wed, 09 Jun 2021 11:31:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=e605rO9eXbp6+XPpwf5ABUO3O8rlYpURPQTC+TX/w0s=; b=IGVixWajBtsbcN/8qB3HlkxHqyBV7pl8aEpuQbUKdjSbp995hsDWp7IMixLdpxGCkN zi3iSg8BU19gRArqnsbmRreHJKfw82ek3PSg9jmy0kI40pUfzzhFbnRFngy8ZE/Y5KB8 0rFRNJKyBDJ9Xt7I2yP8aG+shhCaUrB7rjEOyylDkcX7/RNRK62UCZdAtTclx9FvPwKV yh61R6CMJhqIsGHL5D5Vg/HRJe/OENhr1kuziBMlzYJ5raqV3ft3P5fA8n58MxqaXQa6 xMJmu5BUfOXce2525/+yj/qrafFVf/dwfuhVDUchcnvoo9DEDB1Z1MycvOykPBK9kgC2 f3EA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=e605rO9eXbp6+XPpwf5ABUO3O8rlYpURPQTC+TX/w0s=; b=V5vY5OSIXrCmqaAWaADRTdUpWo5Uxt/pgwWMIXeSud81h/2sMdR0KKLKDoxHKgz6hA 7A2I72DsBj8HBty73sRmti+/PDo8OchxTX/y7Gk8DEG+1wGkp7sFn/f0Vqolbcj15lPH /DrcMVW71AQMIYu8j339WXXU2U/lKag8AZNFsImFTBXcSDhqrC3KPSeZ5AO0YPF8cP5P Nr3/fLYS/n6AMtgSouglSmifdxE5WYLCB6ccV5QWt38Me5Dta0176vjvWdUDl6USwHyC jzbPWdfYePnpS7Uyf34g7LvY4FtgGDA7iDfMTtloNEKP/4Luw6qLYt6cgFsvikLuRQS4 3Ydw== X-Gm-Message-State: AOAM5300nW55SLx+RVXyK0DKhk3IhzKRPUzCrsij4o5zpm+HnNV8y21R GLzeWCUOeDme0hWpGVePhbc/+86NGDBZeQ== X-Google-Smtp-Source: ABdhPJypWjYXZG3X3DMZGHgqF2v0RIp8grzR5r9baR7GjIZy1nom3HMJDfqxIVBhttAdbkuw3EL/Eg== X-Received: by 2002:a05:6a00:18a7:b029:2f2:b099:7b1a with SMTP id x39-20020a056a0018a7b02902f2b0997b1amr1083551pfh.59.1623263405468; Wed, 09 Jun 2021 11:30:05 -0700 (PDT) Received: from ubuntu-server-2004.vmware.com (c-24-6-216-183.hsd1.ca.comcast.net. [24.6.216.183]) by smtp.gmail.com with ESMTPSA id y34sm249092pfa.181.2021.06.09.11.30.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 09 Jun 2021 11:30:05 -0700 (PDT) From: Nadav Amit X-Google-Original-From: Nadav Amit To: Paolo Bonzini Cc: kvm@vger.kernel.org, Nadav Amit Subject: [kvm-unit-tests PATCH 7/8] x86/pmu: Skip the tests on PMU version 1 Date: Wed, 9 Jun 2021 18:29:44 +0000 Message-Id: <20210609182945.36849-8-nadav.amit@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210609182945.36849-1-nadav.amit@gmail.com> References: <20210609182945.36849-1-nadav.amit@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org From: Nadav Amit x86's PMU tests are not compatible with version 1. Instead of finding how to adapt them, just skip them if the PMU version is too old. Signed-off-by: Nadav Amit --- x86/pmu.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/x86/pmu.c b/x86/pmu.c index 5a3d55b..ec61ac9 100644 --- a/x86/pmu.c +++ b/x86/pmu.c @@ -544,6 +544,12 @@ int main(int ac, char **av) printf("No pmu is detected!\n"); return report_summary(); } + + if (eax.split.version_id == 1) { + printf("PMU version 1 is not supported\n"); + return report_summary(); + } + printf("PMU version: %d\n", eax.split.version_id); printf("GP counters: %d\n", eax.split.num_counters); printf("GP counter width: %d\n", eax.split.bit_width); From patchwork Wed Jun 9 18:29:45 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nadav Amit X-Patchwork-Id: 12311009 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-15.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id B8AA1C48BD1 for ; Wed, 9 Jun 2021 18:30:11 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id A539D61249 for ; Wed, 9 Jun 2021 18:30:11 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230000AbhFIScF (ORCPT ); Wed, 9 Jun 2021 14:32:05 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35836 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229989AbhFIScC (ORCPT ); Wed, 9 Jun 2021 14:32:02 -0400 Received: from mail-pj1-x1033.google.com (mail-pj1-x1033.google.com [IPv6:2607:f8b0:4864:20::1033]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 470E1C061574 for ; Wed, 9 Jun 2021 11:30:07 -0700 (PDT) Received: by mail-pj1-x1033.google.com with SMTP id k7so1929773pjf.5 for ; Wed, 09 Jun 2021 11:30:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=FW0T0ND5ZzgzZJ+335NwDRgPl16vtHkayOF5PS62cMM=; b=gJ4hLWnIy9FVJ5FqNIYoVVqxRUOpjTKtSB71S/da2wKcACCWx0YlU2J4JRHkfDzbjj f6aoMVcr4Bh/eh7PebCje5MajUMQXlHyTNoFFw3RM5jA7l508HmvhdCEaubCLG0nhum0 m+rAMVdjr1C3r4lQ2SjParTM5g7w8ndAkbD4JeCyBJXKDUXO9JsYZJ5CkWCGj7XKNssg a0PaWfXTlXIXT5aGujxjx7BT/1n221u6s+LVwWBFU7uC+ukj59g5aPb96BY9bXDL0Ze/ olX9vzGyvMOkIiitK45dU3HCvE8dkQNqBzVYvDIxlsODmExypvuP9c2es112lKhR2nxo pg1A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=FW0T0ND5ZzgzZJ+335NwDRgPl16vtHkayOF5PS62cMM=; b=BdPcoJ5ScMz1o2MCXMevjNJ8Uoq8phZCTpwC27348SzxrVmN8J3l70X4WjMQigbF1C ESQUHDzDTMOa17HpRhsAouMPtQUd1lYyUkIFdmtbgiFNhjF5EbiYke2RBTjx8WfldKSP MptzO/56SxxSybKahjuVVwTY0Ro0jD2GwGdQWiqVFFCb49pvdybxrLj5xGSBlgaNm4Qq zjQfDRqex1K14A/j+1itzRcJ88lahfN9TRRZdAN6NHpRKRaaKtXDlDhiAhgohTrCAmc1 qMPN2Fh9dhzuaGCkzF7Ct0sL/xuWDdNr/+SiQ9rzOG/JbeEwwtltkZn+WscqN7td5r2A 5Qzw== X-Gm-Message-State: AOAM532tWpfHpeuO1lwxoz50fTnUuhauAxdq0dA+/2qRaPrWRxTQajpC dghsEPupcWh09Zz/mIFyiAM= X-Google-Smtp-Source: ABdhPJxlvYu1zgPo3DjwSzBDk66UxwwBW/ASW170aSKSCt6Obv+phiSCxPoLh1l7aDv83Y5OhYHEsg== X-Received: by 2002:a17:902:c613:b029:107:ce4:f7b9 with SMTP id r19-20020a170902c613b02901070ce4f7b9mr893132plr.11.1623263406649; Wed, 09 Jun 2021 11:30:06 -0700 (PDT) Received: from ubuntu-server-2004.vmware.com (c-24-6-216-183.hsd1.ca.comcast.net. [24.6.216.183]) by smtp.gmail.com with ESMTPSA id y34sm249092pfa.181.2021.06.09.11.30.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 09 Jun 2021 11:30:06 -0700 (PDT) From: Nadav Amit X-Google-Original-From: Nadav Amit To: Paolo Bonzini Cc: kvm@vger.kernel.org, Nadav Amit Subject: [kvm-unit-tests PATCH 8/8] x86/vmx: skip error-code delivery tests for #CP Date: Wed, 9 Jun 2021 18:29:45 +0000 Message-Id: <20210609182945.36849-9-nadav.amit@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210609182945.36849-1-nadav.amit@gmail.com> References: <20210609182945.36849-1-nadav.amit@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org From: Nadav Amit Old Intel CPUs, which do not support control protection exception, do not expect an error code for #CP, while new ones expect an error-code. Intel SDM does not say that the delivery of an error-code for #CP is conditional on anything, not even CPU support of CET. So it appears that the correct testing is just to skip the error-code delivery test for the #CP exception. Signed-off-by: Nadav Amit --- lib/x86/processor.h | 1 + x86/vmx_tests.c | 3 +++ 2 files changed, 4 insertions(+) diff --git a/lib/x86/processor.h b/lib/x86/processor.h index 517ee70..53e71fc 100644 --- a/lib/x86/processor.h +++ b/lib/x86/processor.h @@ -28,6 +28,7 @@ #define GP_VECTOR 13 #define PF_VECTOR 14 #define AC_VECTOR 17 +#define CP_VECTOR 21 #define X86_CR0_PE 0x00000001 #define X86_CR0_MP 0x00000002 diff --git a/x86/vmx_tests.c b/x86/vmx_tests.c index 179a55b..5b9faa2 100644 --- a/x86/vmx_tests.c +++ b/x86/vmx_tests.c @@ -4413,6 +4413,9 @@ skip_unrestricted_guest: case PF_VECTOR: case AC_VECTOR: has_error_code = true; + case CP_VECTOR: + /* Some CPUs have error code and some do not, skip */ + continue; } /* Negative case */