forked from pool/librtas
- Add support for more kernek rtas call kernek interfaces (jsc#PED-10917) * 0001-librtas-Move-platform-dump-rtas-call-code-to-separat.patch * 0002-librtas-platform-dump-prefer-dev-papr-platform-dump-.patch * 0003-librtas-move-get-set-indices-RTAS-calls-code-to-sepa.patch * 0004-librtas-Add-kernel-uapi-header-papr-indices.h.patch * 0005-librtas-Use-dev-papr-indices-when-available-for-ibm-.patch * 0006-librtas-Use-dev-papr-indices-when-available-for-get-.patch * 0007-librtas-Use-dev-papr-indices-when-available-for-set-.patch * 0008-librtas-Move-physical-attestation-rtas-call-code-to-.patch * 0009-librtas-Use-kernel-interface-when-available-for-ibm-.patch OBS-URL: https://build.opensuse.org/request/show/1254792 OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/librtas?expand=0&rev=71
69 lines
2.1 KiB
Diff
69 lines
2.1 KiB
Diff
From da829098907b54627065073d90021e811696e0ee Mon Sep 17 00:00:00 2001
|
|
From: Haren Myneni <haren@linux.ibm.com>
|
|
Date: Sun, 9 Mar 2025 16:29:10 -0700
|
|
Subject: [PATCH 4/9] librtas: Add kernel uapi header papr-indices.h
|
|
|
|
This header file provides ioctls for the following RTAS calls to
|
|
use new kernel interfaces if /dev/papr-indices is available:
|
|
ibm,get-indices
|
|
ibm,set-dynamic-indicator
|
|
ibm,get-dynamic-sensor-state
|
|
|
|
Signed-off-by: Haren Myneni <haren@linux.ibm.com>
|
|
---
|
|
librtas_src/papr-indices.h | 42 ++++++++++++++++++++++++++++++++++++++
|
|
1 file changed, 42 insertions(+)
|
|
create mode 100644 librtas_src/papr-indices.h
|
|
|
|
diff --git a/librtas_src/papr-indices.h b/librtas_src/papr-indices.h
|
|
new file mode 100644
|
|
index 0000000..db47e65
|
|
--- /dev/null
|
|
+++ b/librtas_src/papr-indices.h
|
|
@@ -0,0 +1,42 @@
|
|
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
|
+#ifndef _UAPI_PAPR_INDICES_H_
|
|
+#define _UAPI_PAPR_INDICES_H_
|
|
+
|
|
+#include <linux/types.h>
|
|
+#include <asm/ioctl.h>
|
|
+#include "papr-miscdev.h"
|
|
+
|
|
+#define SZ_4K 0x00001000
|
|
+#define LOC_CODE_SIZE 80
|
|
+#define RTAS_GET_INDICES_BUF_SIZE SZ_4K
|
|
+
|
|
+struct papr_indices_io_block {
|
|
+ union {
|
|
+ struct {
|
|
+ __u8 is_sensor; /* 0 for indicator and 1 for sensor */
|
|
+ __u32 indice_type;
|
|
+ } indices;
|
|
+ struct {
|
|
+ __u32 token; /* Sensor or indicator token */
|
|
+ __u32 state; /* get / set state */
|
|
+ /*
|
|
+ * PAPR+ 12.3.2.4 Converged Location Code Rules -
|
|
+ * Length Restrictions. 79 characters plus null.
|
|
+ */
|
|
+ char location_code_str[LOC_CODE_SIZE]; /* location code */
|
|
+ } dynamic_param;
|
|
+ };
|
|
+};
|
|
+
|
|
+/*
|
|
+ * ioctls for /dev/papr-indices.
|
|
+ * PAPR_INDICES_IOC_GET: Returns a get-indices handle fd to read data
|
|
+ * PAPR_DYNAMIC_SENSOR_IOC_GET: Gets the state of the input sensor
|
|
+ * PAPR_DYNAMIC_INDICATOR_IOC_SET: Sets the new state for the input indicator
|
|
+ */
|
|
+#define PAPR_INDICES_IOC_GET _IOW(PAPR_MISCDEV_IOC_ID, 3, struct papr_indices_io_block)
|
|
+#define PAPR_DYNAMIC_SENSOR_IOC_GET _IOWR(PAPR_MISCDEV_IOC_ID, 4, struct papr_indices_io_block)
|
|
+#define PAPR_DYNAMIC_INDICATOR_IOC_SET _IOW(PAPR_MISCDEV_IOC_ID, 5, struct papr_indices_io_block)
|
|
+
|
|
+
|
|
+#endif /* _UAPI_PAPR_INDICES_H_ */
|
|
--
|
|
2.47.1
|
|
|