From nobody Mon Jun 12 11:04:44 2023 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Qfpjm2rXxz4cjWZ; Mon, 12 Jun 2023 11:04:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Qfpjm2LPvz3Mry; Mon, 12 Jun 2023 11:04:44 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1686567884; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yor5FRz4gSADHN8l42adGq5zCBb1D7IMORPwwmiVIv0=; b=xYZDVNoFgDx2CutMl4RD9o260k7lhQujgvNfP9+eHO5nwKHGhZWYZLndiwPbxxRBPVuiFc qBqRRTyGmnYRpaJyDmCCNJRzzPxwMCBrJinHiYrZr8MLo/rPEXg8hI6Q3cG4wjLrT0l1Fp s9kNr3/I8IDabnb/ctrzr/ls2pvPi9oDS4cSkqhV7WVd+1kzsTSObUZNanaZokB7fyFoGX 2xQLvUKGLAm7GqORyocWxxC2DFcDFpoA7d4r20QD5qgHgiH9WrJq+CcFrglhdrTZS/7SuT AbyG0a3UKIgk7A1SUtbex1hYsyOcug9vDsNAvB6ROVh92E/grG+O+v4NL8rjnQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1686567884; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yor5FRz4gSADHN8l42adGq5zCBb1D7IMORPwwmiVIv0=; b=qYVSy+fV9PFrsSyfkVKEL0Xy/UHKafbrYqf9xnxoyVsSWaesd9hNvEqtbxaz0zMqnmHJo7 +hat3c0edGq0yYJV0t+swWmmrrKkEZR8bU6It3yCcSyBo09dCL0IN5Cf/LiWnq9/Y39x49 fG8tg737HISAzdl3NDJMCo9XyK7xX9llgsjD31YFMWVfoRyAivVxuGOwNizlemig6pS0Lj SMZjrujstnUfuwRRPPBVbR4cLBJVJBiQDC93ZKoaU/b2s/Ji+WxCaECIj4plYfSPHFf1ZN YjDTlyKNILYFOlj8PjiL9PXMfoduI02yIImpkk4zGbEEqT25gSo0UOUW9+vTJg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1686567884; a=rsa-sha256; cv=none; b=X2ST+2gAKrDhymrrbl+RoVajgXwrqoYIM2jsN2mRjUV/2mStJiNT3dJeA3JJrBhHrNcDnt OQRIGCv0/09uF95F8ACpnyMYwlErcnR0H7ROp2Pa866QuvVV7N6+ZRQw6Gm5kZcDCAB4UV o3VI1ukDHrxwivB4hyqrBHCUYtTJvxttMC8w8nEIO9gmdgM++qyz19vIfzPZ723dCjA17k oprfH1LxOK4PeMGV4jPSWM7Nu3uUKf1RYdQ38WB5AxSUBG+Jha72XYDbw3aTO/GVtBGg4N lUPjxsyAAAA9Z88dGicNsGaMDUdc53/YVYiYpIaTwVvJt6o4bEgEGcDhuJbpKg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Qfpjm1LVlzd8w; Mon, 12 Jun 2023 11:04:44 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 35CB4iXA017267; Mon, 12 Jun 2023 11:04:44 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 35CB4icP017266; Mon, 12 Jun 2023 11:04:44 GMT (envelope-from git) Date: Mon, 12 Jun 2023 11:04:44 GMT Message-Id: <202306121104.35CB4icP017266@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: =?utf-8?Q?Corvin=20K=C3=B6hne?= Subject: git: 4e46ab0ebe96 - main - bhyve: allow adding FwCfg items to ACPI tables List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: corvink X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 4e46ab0ebe96b56d4fa7ea7df4a81cd533109f07 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by corvink: URL: https://cgit.FreeBSD.org/src/commit/?id=4e46ab0ebe96b56d4fa7ea7df4a81cd533109f07 commit 4e46ab0ebe96b56d4fa7ea7df4a81cd533109f07 Author: Corvin Köhne AuthorDate: 2022-07-22 08:58:01 +0000 Commit: Corvin Köhne CommitDate: 2023-06-12 11:04:26 +0000 bhyve: allow adding FwCfg items to ACPI tables A TPM has an event log. Therefore, qemu adds a FwCfg item and adds it to an ACPI table. We like to use the same OVMF driver as qemu, so we should do the same. This commit adds the ability to basl to do it. Reviewed by: markj MFC after: 1 week Sponsored by: Beckhoff Automation GmbH & Co. KG Differential Revision: https://reviews.freebsd.org/D40451 --- usr.sbin/bhyve/basl.c | 17 +++++++++++++++++ usr.sbin/bhyve/basl.h | 3 +++ 2 files changed, 20 insertions(+) diff --git a/usr.sbin/bhyve/basl.c b/usr.sbin/bhyve/basl.c index 348174c6520d..90cb608aecc6 100644 --- a/usr.sbin/bhyve/basl.c +++ b/usr.sbin/bhyve/basl.c @@ -490,6 +490,23 @@ basl_table_append_content(struct basl_table *table, void *data, uint32_t len) len - sizeof(ACPI_TABLE_HEADER))); } +int +basl_table_append_fwcfg(struct basl_table *const table, + const uint8_t *fwcfg_name, const uint32_t alignment, const uint8_t size) +{ + assert(table != NULL); + assert(fwcfg_name != NULL); + assert(size <= sizeof(uint64_t)); + + BASL_EXEC(qemu_loader_alloc(basl_loader, fwcfg_name, alignment, + QEMU_LOADER_ALLOC_HIGH)); + BASL_EXEC(qemu_loader_add_pointer(basl_loader, table->fwcfg_name, + fwcfg_name, table->len, size)); + BASL_EXEC(basl_table_append_int(table, 0, size)); + + return (0); +} + int basl_table_append_gas(struct basl_table *const table, const uint8_t space_id, const uint8_t bit_width, const uint8_t bit_offset, diff --git a/usr.sbin/bhyve/basl.h b/usr.sbin/bhyve/basl.h index 4d9ab4c589a8..e12173b701a2 100644 --- a/usr.sbin/bhyve/basl.h +++ b/usr.sbin/bhyve/basl.h @@ -82,6 +82,9 @@ int basl_table_append_checksum(struct basl_table *table, uint32_t start, /* Add an ACPI_TABLE_* to basl without its header. */ int basl_table_append_content(struct basl_table *table, void *data, uint32_t len); +int basl_table_append_fwcfg(struct basl_table *table, + const uint8_t *fwcfg_name, uint32_t alignment, + uint8_t size); int basl_table_append_gas(struct basl_table *table, uint8_t space_id, uint8_t bit_width, uint8_t bit_offset, uint8_t access_width, uint64_t address);