From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wr1-f74.google.com (mail-wr1-f74.google.com [209.85.221.74]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A112D44C67C for ; Wed, 15 Jul 2026 12:21:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.74 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784118120; cv=none; b=V3GohcKR/6Qd42xAmaiB8GeGPetKlgIIwwZKbR2zZ/jyrmWmXf/1KdEuj61z24LEjXlaAuplyjqq7du/YkWgNtcif8m6XjMJcruUwBiTDdyRPnk4oT0Oci5wt203Wz3d0J1CSE04IRauMrehlt5SVuMBhvRYYahiRUQj+g/sd3A= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784118120; c=relaxed/simple; bh=Wko7dV/qiP0IAVWrfG8FOD/GwZmeMXiWSdkNzUhgg04=; h=Date:In-Reply-To:Mime-Version:References:Message-ID:Subject:From: To:Cc:Content-Type; b=Y6GNbtuW36U6yF4MEIzhHAuFz5cFIxvWG00LyCHwq4+joO1C8L7gNlmyY5GwWdNnvJxD2Q1hmGcTH1THC0YRd9Atv2fzt3onp05DfW8VXUimrK2euV0ckqr4SCNAi2vnnoT+kU/YJW8W7sSYyFlukQhdPWFhnxYI4grCMphmdoc= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=flex--songguo.bounces.google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=LIY72bJh; arc=none smtp.client-ip=209.85.221.74 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flex--songguo.bounces.google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="LIY72bJh" Received: by mail-wr1-f74.google.com with SMTP id ffacd0b85a97d-4784d0fb9cfso1498058f8f.2 for ; Wed, 15 Jul 2026 05:21:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20251104; t=1784118117; x=1784722917; darn=vger.kernel.org; h=content-type:cc:to:from:subject:message-id:references:mime-version :in-reply-to:date:from:to:cc:subject:date:message-id:reply-to :content-type; bh=c6TDHAy25Sdii7kVf0v30mxZgPi6sif6xiGNODK8L4I=; b=LIY72bJhvYsEezUZRV0zllHUecoKNmJUFIGqwtxjopOSPStfm3RU7djtt3IKpMoJct 60gAL2xXqXcXZjMPMSqE9i5WK8CYUxkKRCDPAks4crPzHvLZuUcqpiKJ9gv5LOImv26E 113LvgM4xu5xAxP97VH8PmG5lXyPvjh4hKELdVA05qeXvoByiMvLvgv44Z3qaHy6YGYz oCWOdjhgWdQTO0SRNmsoQvdCdvOIZVC52qH2EeoNhktcIfmz6fpRk2xlXinIMJrQBdTk fFAa1KqeBOrWZ6RpA4S60KnuG8Q5qn85ykPimxw8eGgUJjllyFssvA4ufgNWMa1LmPMh 0eRQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784118117; x=1784722917; h=content-type:cc:to:from:subject:message-id:references:mime-version :in-reply-to:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=c6TDHAy25Sdii7kVf0v30mxZgPi6sif6xiGNODK8L4I=; b=KGah78/I2BsLGM5D7gd5Ut02OUA/LSVrS8F3rS54aEecBU9EHmg48I6XKhVLO9Fo+2 xWgpRABlVxe9v63okvgDxoyDf2R0ZfmCQddT5+oG/z343AJviZgjB08Qy1p9HIZdh7c9 9lz8W+2fu20ipSamOl8OMYKRQqETi3FHBGkDr6zl5BG6xetshHMvNbeZyMHPeZdpJpzW VEP3kJ+H4UcMiGEVdtX9gXci5rYBqhvVWKVaSl8BFlCU6D6ydvrWDOkth4aHmDuJmkkw tc+inxzzGuhkZvKH8ZLkKCwK/42+PGn6x9K539Uq9DvWILAIzZEQeQzTVPsf4TcTS3/b HyNA== X-Forwarded-Encrypted: i=1; AHgh+RomVxUokf8AxmULLe1LifIDUXx6hGwBGDsgvpRu1486KpSDU8H4vdajku6/8rg2ONBkriuFZUXbNlnjYgA=@vger.kernel.org X-Gm-Message-State: AOJu0YyMQviXemE3cWE0kABfOFhBXPvBIzqmYg3QWeizdS6hzcfLrIak gQCJxHYMRy/+sCBthWWZhqsJPC8RSuuegj5qeIb5RAfAeEsub80x/c1D3zXfoMxClnUHG5P+Gtq lEAMkONInHQ== X-Received: from wmbeq5.prod.google.com ([2002:a05:600c:8485:b0:490:b258:4672]) (user=songguo job=prod-delivery.src-stubby-dispatcher) by 2002:a05:600c:c4b7:b0:493:bd2a:93be with SMTP id 5b1f17b1804b1-493f89523d2mr175325925e9.6.1784118116472; Wed, 15 Jul 2026 05:21:56 -0700 (PDT) Date: Wed, 15 Jul 2026 12:21:46 +0000 In-Reply-To: <20260715122146.4069884-1-songguo@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 References: <20260715122146.4069884-1-songguo@google.com> X-Mailer: git-send-email 2.55.0.141.g00534a21ce-goog Message-ID: <20260715122146.4069884-4-songguo@google.com> Subject: [PATCH v2 3/3] misc: open-dice: add ACPI device discovery support From: Song Guo To: Arnd Bergmann , Greg Kroah-Hartman , linux-kernel@vger.kernel.org Cc: Song Guo Content-Type: text/plain; charset="UTF-8" OpenDICE can also used on x86 platforms for attestation, one of the usecase is Android's protected VM. The OpenDICE device driver only supports device tree, adding ACPI support so it can also be used on x86 environments easily. The patch is verified using crosvm, with the following ACPI table passed using --acpi-table, with --file-backed-mapping for the corresponding memory region. DefinitionBlock ( "opendice.aml", "SSDT", 2, "GOOGLE", "OpenDICE", 0x00000001 ) { Scope (\_SB) { Device (DICE) { Name (_HID, "PRP0001") Name (_DSD, Package () { ToUUID ("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), Package () { Package () { "compatible", Package () { "google,open-dice" } } } }) Name (_CRS, ResourceTemplate () { Memory32Fixed (ReadOnly, 0x9D1C3000, 0x00001000) }) } } } Signed-off-by: Song Guo --- drivers/misc/open-dice.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/drivers/misc/open-dice.c b/drivers/misc/open-dice.c index aabece6ed3d1..303b35b03cb4 100644 --- a/drivers/misc/open-dice.c +++ b/drivers/misc/open-dice.c @@ -2,6 +2,7 @@ /* * Copyright (C) 2021 - Google LLC * Author: David Brazdil + * Author: Song Guo * * Driver for Open Profile for DICE. * @@ -19,6 +20,7 @@ * close(fd); */ +#include #include #include #include @@ -133,8 +135,17 @@ static int __init open_dice_probe(struct platform_device *pdev) } mem_base = rmem->base; mem_size = rmem->size; + } else if (is_acpi_node(dev->fwnode)) { + struct resource *res = platform_get_resource(pdev, IORESOURCE_MEM, 0); + + if (!res) { + dev_err(dev, "failed to get MMIO resource\n"); + return -EINVAL; + } + mem_base = res->start; + mem_size = resource_size(res); } else { - dev_err(dev, "device not supported (no DT node)\n"); + dev_err(dev, "device not supported (no DT or ACPI node)\n"); return -EINVAL; } @@ -218,3 +229,4 @@ module_exit(open_dice_exit); MODULE_DESCRIPTION("Driver for Open Profile for DICE."); MODULE_LICENSE("GPL v2"); MODULE_AUTHOR("David Brazdil "); +MODULE_AUTHOR("Song Guo "); -- 2.55.0.141.g00534a21ce-goog