From patchwork Fri Apr 30 13:48:29 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Connor Kuehl X-Patchwork-Id: 12233559 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=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,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 971CFC433ED for ; Fri, 30 Apr 2021 14:42:09 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id EEAF9613EE for ; Fri, 30 Apr 2021 14:42:08 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org EEAF9613EE Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:59712 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lcULH-0000fR-Tc for qemu-devel@archiver.kernel.org; Fri, 30 Apr 2021 10:42:07 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:47730) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lcTVX-0004EW-LI for qemu-devel@nongnu.org; Fri, 30 Apr 2021 09:48:39 -0400 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:46058) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lcTVU-0007ND-QC for qemu-devel@nongnu.org; Fri, 30 Apr 2021 09:48:38 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1619790515; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=v2WLra2sSAdBan1Wq22qFHiVXFhh0NizItDhHSYEjJo=; b=YSs+Ru1/AcdN+M+GZshQ1wuNGqcvFvEJf+WJ2JCHmA6m9GcAxOBC6D7wdMklpCVcMDUJrd izTKfgGM3RDgU8F1tNa7SztBE/Q9/TZrIDqAd/HRrol5rM8zYf1Ynv+BkHxRCSDHzgL1U7 XlNd3qTgtD4ulzzY2dtg1DVKxKhTbV4= Received: from mail-ot1-f71.google.com (mail-ot1-f71.google.com [209.85.210.71]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-571-h8OmO3pwMziYDIHJhST1xQ-1; Fri, 30 Apr 2021 09:48:34 -0400 X-MC-Unique: h8OmO3pwMziYDIHJhST1xQ-1 Received: by mail-ot1-f71.google.com with SMTP id h22-20020a9d6f960000b029029e185197c1so19793435otq.0 for ; Fri, 30 Apr 2021 06:48:34 -0700 (PDT) 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=v2WLra2sSAdBan1Wq22qFHiVXFhh0NizItDhHSYEjJo=; b=ujt6olJ1yl+bBlKUl8rjVEBc68wPyzaHI58pHTxrJi9y8N65KwGwkRUMt41vbbLqxI DfzS+pbeqEjUllGbHDjj6vmgBo8T3HeeSDjFxmM9I20JRHfngL3A/l3S74GgsOcqIXAB ez39dsTsrPndsJH+zIYCA9zYHKgO540hJRENhtE0CDWmXjRBCOQEkURKMZUTDhlzLet8 rO3ujB18GKMVdO41x9QHUUD9F5YUNBv5E/xGe/Kxk8SDuAX0iLl5htiuNdjob1sKCx67 1P+//qhHP+LrdQBnN9y6dlpioU3v+ovwXWwDbuRgthR3fuGtoYmdr3sHEuFC0AyVArfB BmJA== X-Gm-Message-State: AOAM532qx50PrZdbKkHXxDh2EM+jMVTSGCbx3sdeS0xdv1dAc/UeAt/H muTeYMmZPC6tCSb+Xzs41CYIHMKc42FgTRhZ1WyqEDBaMbiTOlyYqnTddfOR/bxvSSh685lApLt I96fxaEfbE4UIpKRlff+8Zx/e+Dovg8ZjBzuxpTkKi+s6x2XLZzixcET2VWEkheee X-Received: by 2002:aca:90b:: with SMTP id 11mr10792445oij.77.1619790513290; Fri, 30 Apr 2021 06:48:33 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyfgsr2LmGjeQuuw0bbXIGw5q0NUy31uiqbwLV0SQGrbtifZwxyCrmRcQ7/6a/ka4kqZn7ovg== X-Received: by 2002:aca:90b:: with SMTP id 11mr10792431oij.77.1619790513099; Fri, 30 Apr 2021 06:48:33 -0700 (PDT) Received: from redhat.redhat.com (ip68-103-222-6.ks.ok.cox.net. [68.103.222.6]) by smtp.gmail.com with ESMTPSA id p127sm799072oig.16.2021.04.30.06.48.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 30 Apr 2021 06:48:32 -0700 (PDT) From: Connor Kuehl To: qemu-devel@nongnu.org Subject: [PATCH 1/2] [RESEND] sev: use explicit indices for mapping firmware error codes to strings Date: Fri, 30 Apr 2021 08:48:29 -0500 Message-Id: <20210430134830.254741-2-ckuehl@redhat.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20210430134830.254741-1-ckuehl@redhat.com> References: <20210430134830.254741-1-ckuehl@redhat.com> MIME-Version: 1.0 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=ckuehl@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Received-SPF: pass client-ip=216.205.24.124; envelope-from=ckuehl@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -29 X-Spam_score: -3.0 X-Spam_bar: --- X-Spam_report: (-3.0 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.22, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: thomas.lendacky@amd.com, brijesh.singh@amd.com, ehabkost@redhat.com, richard.henderson@linaro.org, pbonzini@redhat.com, =?utf-8?q?Philippe_Mathi?= =?utf-8?q?eu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" This can help lower any margin for error when making future additions to the list, especially if they're made out of order. While doing so, make capitalization of ASID consistent with its usage in the SEV firmware spec (Asid -> ASID). Signed-off-by: Connor Kuehl Reviewed-by: Philippe Mathieu-Daudé --- target/i386/sev.c | 46 +++++++++++++++++++++++----------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/target/i386/sev.c b/target/i386/sev.c index 72b9e2ab40..9e2e47012f 100644 --- a/target/i386/sev.c +++ b/target/i386/sev.c @@ -88,29 +88,29 @@ static SevGuestState *sev_guest; static Error *sev_mig_blocker; static const char *const sev_fw_errlist[] = { - "", - "Platform state is invalid", - "Guest state is invalid", - "Platform configuration is invalid", - "Buffer too small", - "Platform is already owned", - "Certificate is invalid", - "Policy is not allowed", - "Guest is not active", - "Invalid address", - "Bad signature", - "Bad measurement", - "Asid is already owned", - "Invalid ASID", - "WBINVD is required", - "DF_FLUSH is required", - "Guest handle is invalid", - "Invalid command", - "Guest is active", - "Hardware error", - "Hardware unsafe", - "Feature not supported", - "Invalid parameter" + [SEV_RET_SUCCESS] = "", + [SEV_RET_INVALID_PLATFORM_STATE] = "Platform state is invalid", + [SEV_RET_INVALID_GUEST_STATE] = "Guest state is invalid", + [SEV_RET_INAVLID_CONFIG] = "Platform configuration is invalid", + [SEV_RET_INVALID_LEN] = "Buffer too small", + [SEV_RET_ALREADY_OWNED] = "Platform is already owned", + [SEV_RET_INVALID_CERTIFICATE] = "Certificate is invalid", + [SEV_RET_POLICY_FAILURE] = "Policy is not allowed", + [SEV_RET_INACTIVE] = "Guest is not active", + [SEV_RET_INVALID_ADDRESS] = "Invalid address", + [SEV_RET_BAD_SIGNATURE] = "Bad signature", + [SEV_RET_BAD_MEASUREMENT] = "Bad measurement", + [SEV_RET_ASID_OWNED] = "ASID is already owned", + [SEV_RET_INVALID_ASID] = "Invalid ASID", + [SEV_RET_WBINVD_REQUIRED] = "WBINVD is required", + [SEV_RET_DFFLUSH_REQUIRED] = "DF_FLUSH is required", + [SEV_RET_INVALID_GUEST] = "Guest handle is invalid", + [SEV_RET_INVALID_COMMAND] = "Invalid command", + [SEV_RET_ACTIVE] = "Guest is active", + [SEV_RET_HWSEV_RET_PLATFORM] = "Hardware error", + [SEV_RET_HWSEV_RET_UNSAFE] = "Hardware unsafe", + [SEV_RET_UNSUPPORTED] = "Feature not supported", + [SEV_RET_INVALID_PARAM] = "Invalid parameter", }; #define SEV_FW_MAX_ERROR ARRAY_SIZE(sev_fw_errlist)