From patchwork Mon Apr 15 18:31:00 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nadav Amit X-Patchwork-Id: 10901361 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id F2D751800 for ; Mon, 15 Apr 2019 18:31:17 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id DC49E287AF for ; Mon, 15 Apr 2019 18:31:17 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id D026C288B3; Mon, 15 Apr 2019 18:31:17 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 8121B287AF for ; Mon, 15 Apr 2019 18:31:17 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728024AbfDOSbN (ORCPT ); Mon, 15 Apr 2019 14:31:13 -0400 Received: from mail-pl1-f194.google.com ([209.85.214.194]:45765 "EHLO mail-pl1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728015AbfDOSbN (ORCPT ); Mon, 15 Apr 2019 14:31:13 -0400 Received: by mail-pl1-f194.google.com with SMTP id bf11so8966956plb.12 for ; Mon, 15 Apr 2019 11:31:13 -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:mime-version :content-transfer-encoding; bh=HZ9Fl7JujKE2Tu3X4Rff9FKMRhH7xqC+I50OCX/+5J0=; b=guYPpZdY0D6MRFQUE/+Si1Uhza49ypAG5CgJp15qQB1jIciuPGG+h4DDm3v1xb3zQ4 0mbO+IwpNhIcgOBqGRIslrZbI9Wiw/fy8HZgbGjGRz5hqaCB5CIHNeiuygoQdQiUcQGz LOUjopyKj4oMmtmeg3hCmxVJZgDbMpzDCEx9q0kmzgbKlQM7JtZLg4QhkGvdulop5/lk tEX8QZzGPUV4NSLSNogspunuHq3H7b1ACann7e1hh84N2omAs/1x1HXcEPbd+9jlDu3t QNtWl0a1uSyMyNDZ7vjpjcWeRao2k5kpOGBqztxP1GsPa0UspXNWqX9yHQXP+vwMG/gJ dqBg== 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:mime-version :content-transfer-encoding; bh=HZ9Fl7JujKE2Tu3X4Rff9FKMRhH7xqC+I50OCX/+5J0=; b=Q9Ky8yFILAszyIQXoq/xEB3lcQMWT29a3zftxxu/7zv10MjbiTtm1e8FpNcUabohI/ KiasZqq9DUuj/jdaZISHRaxBAuOd+ueeO4tw5FYwOSymAo2Si8JPpboceHYDcSKc1MIV Q2OErGVzqLye+f/Rw7T0ckZdlEo2v7k8nhU8kKs6IFMxLNkquyQFaeOYKej0KJ6xCj1t JpHAlbQaN8TUMZVYMWu17UUwhr8R1V8asYA+KUzGkMqSM3ZeVfQxv+m+QgAE11QtXPTx 9gA7SSQwqsm1sW7PclB3xkCiQrpiw50+6cXPKR6YxDguOcGLCjqom7qEXVJcVDbeNh2c B4Ag== X-Gm-Message-State: APjAAAX/GeOTPO30zMIYkTtCIJVx05hpsTb51QvQDDLspuSTfdE3buum xDfkqURdrEciUZEBYiKM578= X-Google-Smtp-Source: APXvYqxcbPbwXDwCc5oiUOSdFaajd1C+/ZaOslJtbNfk0Wb9nfcumTrePKm3FqjOZ6LJA9ERnnu8eQ== X-Received: by 2002:a17:902:e912:: with SMTP id cs18mr76366518plb.130.1555353072751; Mon, 15 Apr 2019 11:31:12 -0700 (PDT) Received: from htb-2n-eng-dhcp405.eng.vmware.com ([66.170.99.1]) by smtp.gmail.com with ESMTPSA id d20sm75137521pfo.77.2019.04.15.11.31.11 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 15 Apr 2019 11:31:11 -0700 (PDT) From: nadav.amit@gmail.com To: Paolo Bonzini Cc: kvm@vger.kernel.org, Nadav Amit Subject: [kvm-unit-tests PATCH] x86: Prevent APIC base address from changing in test_enable_x2apic() Date: Mon, 15 Apr 2019 11:31:00 -0700 Message-Id: <20190415183100.6827-1-nadav.amit@gmail.com> X-Mailer: git-send-email 2.19.1 MIME-Version: 1.0 Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Nadav Amit test_enable_x2apic() unintentionally changes the APIC base address to zero and resets the BSP indication. This actually causes the local APIC to overlap the IDT area, which is wrong. Prevent it from happening by keeping the APIC base address and BSP-bit as it was before. Signed-off-by: Nadav Amit Signed-off-by: Sean Christopherson --- x86/apic.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/x86/apic.c b/x86/apic.c index 51744cf..0849f87 100644 --- a/x86/apic.c +++ b/x86/apic.c @@ -90,11 +90,11 @@ static void test_enable_x2apic(void) report("disabled to x2apic enabled", test_write_apicbase_exception(APIC_EN | APIC_EXTD)); - wrmsr(MSR_IA32_APICBASE, APIC_EN); + wrmsr(MSR_IA32_APICBASE, APIC_EN | APIC_DEFAULT_PHYS_BASE | APIC_BSP); report("apic enabled to invalid state", test_write_apicbase_exception(APIC_EXTD)); - wrmsr(MSR_IA32_APICBASE, APIC_EN | APIC_EXTD); + wrmsr(MSR_IA32_APICBASE, APIC_EN | APIC_EXTD | APIC_DEFAULT_PHYS_BASE | APIC_BSP); apic_write(APIC_SPIV, 0x1ff); } else { printf("x2apic not detected\n");