Linux-ARM-Kernel Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH RFC 0/3] firmware: arm_firme: introduce FIRME support for host attestation
@ 2026-10-19 14:14 Yeoreum Yun
  2026-10-19 14:14 ` [PATCH RFC 1/3] firmware: arm_firme: introduce arm_firme driver Yeoreum Yun
                   ` (3 more replies)
  0 siblings, 4 replies; 18+ messages in thread
From: Yeoreum Yun @ 2026-10-19 14:14 UTC (permalink / raw)
  To: linux-kernel, linux-arm-kernel
  Cc: Lorenzo Pieralisi, Catalin Marinas, Suzuki Poulose, Steven Price,
	Sami Mujawar, Aneesh Kumar K.V, Jiri Pirko, GONG Ruiqi,
	Jason Gunthorpe, Yeoreum Yun

The Arm Confidential Compute Architecture (CCA) introduces the
Realm Management Extension (FEAT_RME), which enables the creation and
management of dynamically allocated, attestable trusted execution
environments known as Realms.

Realm management relies on EL3 firmware to provide services for Realm
construction, resource allocation and isolation, and attestation of
the initial Realm state.

The Firmware Interface for Realm Management Extensions (FIRME) [0]
specification defines standard interfaces through which EL3 firmware
provides these services. FIRME defines the following service groups:

  - Granule Protection Table (GPT) management
  - IDE key management for PCIe and CXL Root Ports
  - Memory Encryption Context management
  - Attestation Token management
  - Integrated Device management

FIRME also defines a Base service that provides common functionality,
including service discovery and feature discovery.

Although FIRME primarily supports Arm CCA, its interfaces can also be used
on systems without FEAT_RME to provide firmware-based attestation and
other security services.

This RFC patch series introduces the arm_firme driver, which provides
the common infrastructure for discovering and accessing FIRME services.
The initial implementation supports:

  1. FIRME Base service:
      Provides service discovery and feature discovery.

  2. FIRME Attestation Token service:
      Provides access to firmware-generated platform attestation token
      used to attest host firmware.

The Attestation Token service is integrated with the Linux Trusted
Security Module (TSM) subsystem, enabling userspace applications to
retrieve platform attestation tokens through the existing TSM interface.

The objective of this series is to establish the foundational FIRME
infrastructure in the Linux kernel and enable host platform attestation
using the standard TSM interface.

NOTE:
  This implementation is based on version 1.0-ALP4 of the FIRME specification
  and for-next/smccc-bus branch in arm64 tree.

RFC and ongoing TSM infrastructure discussions
==============================================

There are ongoing discussions regarding changes to the Linux TSM
infrastructure [1]. This series is being submitted as an RFC to gather
early feedback on the FIRME driver architecture and its integration with
the Linux TSM subsystem.

The intent is not to pre-empt or undermine the ongoing work to evolve
the Linux TSM infrastructure. Rather, this RFC aims to highlight an
additional use case that the evolving TSM infrastructure will need to
accommodate, namely host platform attestation through
the FIRME Attestation Token service.

While the current implementation uses the existing TSM interfaces,
we recognise that changes may be required to align with the proposed
TSM infrastructure.

We hope this RFC will help inform those discussions and ensure that
the requirements of FIRME-based host attestation are considered
as part of the ongoing TSM development.

We welcome feedback on the proposed FIRME driver architecture,
the integration with the TSM subsystem, and how best to align this work
with the planned TSM infrastructure changes.

To: linux-kernel@vger.kernel.org
To: linux-arm-kernel@lists.infradead.org
Cc: Lorenzo Pieralisi <lpieralisi@kernel.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Suzuki Poulose <suzuki.poulose@arm.com>
Cc: Steven Price <steven.price@arm.com>
Cc: Sami Mujawar <sami.mujawar@arm.com>
Cc: "Aneesh Kumar K.V" <aneesh.kumar@kernel.org>
Cc: Jiri Pirko <jiri@resnulli.us>
Cc: GONG Ruiqi <gongruiqi1@huawei.com>
Cc: Jason Gunthorpe <jgg@ziepe.ca>

Link: [0] https://support.arm.com/documentation/den0149/latest
Link: [1] https://lore.kernel.org/all/arzr32ZDComnfmny@FV6GYCPJ69/
---
Yeoreum Yun (3):
      firmware: arm_firme: introduce arm_firme driver
      firmware: arm-smccc: add FIRME device
      firmware: arm-firme: TSM_REPORT support using FIRME

 drivers/firmware/Kconfig            |   1 +
 drivers/firmware/Makefile           |   1 +
 drivers/firmware/arm_firme/Kconfig  |  42 +++++++
 drivers/firmware/arm_firme/Makefile |   6 +
 drivers/firmware/arm_firme/attest.c | 172 ++++++++++++++++++++++++++
 drivers/firmware/arm_firme/base.c   | 145 ++++++++++++++++++++++
 drivers/firmware/arm_firme/driver.c | 139 +++++++++++++++++++++
 drivers/firmware/arm_firme/firme.h  |  53 ++++++++
 drivers/firmware/arm_firme/report.c |  88 ++++++++++++++
 drivers/firmware/smccc/smccc.c      |   6 +
 include/linux/arm-smccc.h           |   1 +
 include/linux/arm_firme.h           | 234 ++++++++++++++++++++++++++++++++++++
 12 files changed, 888 insertions(+)
---
base-commit: c83237edf0adb8f8cbd9859841bbca5acc00fc11
change-id: 20260729-firme_interface-75616c45a203

Best regards,
-- 
Sincerely,
Yeoreum Yun



^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2026-10-20 19:27 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-19 14:14 [PATCH RFC 0/3] firmware: arm_firme: introduce FIRME support for host attestation Yeoreum Yun
2026-10-19 14:14 ` [PATCH RFC 1/3] firmware: arm_firme: introduce arm_firme driver Yeoreum Yun
2026-10-19 14:14 ` [PATCH RFC 2/3] firmware: arm-smccc: add FIRME device Yeoreum Yun
2026-10-19 14:14 ` [PATCH RFC 3/3] firmware: arm-firme: TSM_REPORT support using FIRME Yeoreum Yun
2026-10-19 23:35 ` [PATCH RFC 0/3] firmware: arm_firme: introduce FIRME support for host attestation Jason Gunthorpe
2026-10-20  7:13   ` Yeoreum Yun
2026-10-20 12:45     ` Jason Gunthorpe
2026-10-20 13:41       ` Yeoreum Yun
2026-10-20 13:50         ` Jason Gunthorpe
2026-10-20 14:13           ` Yeoreum Yun
2026-10-20 14:36             ` Jason Gunthorpe
2026-10-20 14:43               ` Yeoreum Yun
2026-10-20 14:58                 ` Jason Gunthorpe
2026-10-20 15:18                   ` Yeoreum Yun
2026-10-20 16:47                     ` Jason Gunthorpe
2026-10-20 17:05                       ` Yeoreum Yun
2026-10-20 18:47                         ` Jason Gunthorpe
2026-10-20 19:27                           ` Yeoreum Yun

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox