master
1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2#ifndef _PAPR_PHYSICAL_ATTESTATION_H_
3#define _PAPR_PHYSICAL_ATTESTATION_H_
4
5#include <linux/types.h>
6#include <asm/ioctl.h>
7#include <asm/papr-miscdev.h>
8
9#define PAPR_PHYATTEST_MAX_INPUT 4084 /* Max 4K buffer: 4K-12 */
10
11/*
12 * Defined in PAPR 2.13+ 21.6 Attestation Command Structures.
13 * User space pass this struct and the max size should be 4K.
14 */
15struct papr_phy_attest_io_block {
16 __u8 version;
17 __u8 command;
18 __u8 TCG_major_ver;
19 __u8 TCG_minor_ver;
20 __be32 length;
21 __be32 correlator;
22 __u8 payload[PAPR_PHYATTEST_MAX_INPUT];
23};
24
25/*
26 * ioctl for /dev/papr-physical-attestation. Returns a attestation
27 * command fd handle
28 */
29#define PAPR_PHY_ATTEST_IOC_HANDLE _IOW(PAPR_MISCDEV_IOC_ID, 8, struct papr_phy_attest_io_block)
30
31#endif /* _PAPR_PHYSICAL_ATTESTATION_H_ */