182d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris/**************************************************************************** 282d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris **************************************************************************** 382d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris *** 482d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris *** This header was automatically generated from a Linux kernel header 582d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris *** of the same name, to make information necessary for userspace to 682d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris *** call into the kernel available to libc. It contains only constants, 782d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris *** structures, and macros generated from the original header, and thus, 882d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris *** contains no copyrightable information. 982d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris *** 1082d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris *** To edit the content of this header, modify the corresponding 1182d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris *** source file (e.g. under external/kernel-headers/original/) then 1282d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris *** run bionic/libc/kernel/tools/update_all.py 1382d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris *** 1482d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris *** Any manual change here will be lost the next time this script will 1582d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris *** be run. You've been warned! 1682d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris *** 1782d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris **************************************************************************** 1882d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris ****************************************************************************/ 1982d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris#ifndef _UAPI_MISC_CXL_H 2082d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris#define _UAPI_MISC_CXL_H 2182d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris#include <linux/types.h> 2282d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris#include <linux/ioctl.h> 2382d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 2482d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferrisstruct cxl_ioctl_start_work { 25d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u64 flags; 26d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u64 work_element_descriptor; 27d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u64 amr; 2882d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 29d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __s16 num_interrupts; 30d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __s16 reserved1; 31d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __s32 reserved2; 32d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u64 reserved3; 3382d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 34d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u64 reserved4; 35d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u64 reserved5; 36d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u64 reserved6; 3782d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris}; 3882d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 3982d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris#define CXL_START_WORK_AMR 0x0000000000000001ULL 4082d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris#define CXL_START_WORK_NUM_IRQS 0x0000000000000002ULL 4105d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define CXL_START_WORK_ERR_FF 0x0000000000000004ULL 4205d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define CXL_START_WORK_ALL (CXL_START_WORK_AMR | CXL_START_WORK_NUM_IRQS | CXL_START_WORK_ERR_FF) 4305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 4405d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define CXL_MODE_DEDICATED 0x1 4505d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define CXL_MODE_DIRECTED 0x2 4605d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define CXL_AFUID_FLAG_SLAVE 0x1 4705d08e9716b5974d6ed08973f44930804890b902Christopher Ferrisstruct cxl_afu_id { 4805d08e9716b5974d6ed08973f44930804890b902Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 4905d08e9716b5974d6ed08973f44930804890b902Christopher Ferris __u64 flags; 5005d08e9716b5974d6ed08973f44930804890b902Christopher Ferris __u32 card_id; 5105d08e9716b5974d6ed08973f44930804890b902Christopher Ferris __u32 afu_offset; 5205d08e9716b5974d6ed08973f44930804890b902Christopher Ferris __u32 afu_mode; 5305d08e9716b5974d6ed08973f44930804890b902Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 5405d08e9716b5974d6ed08973f44930804890b902Christopher Ferris __u32 reserved1; 5505d08e9716b5974d6ed08973f44930804890b902Christopher Ferris __u64 reserved2; 5605d08e9716b5974d6ed08973f44930804890b902Christopher Ferris __u64 reserved3; 5705d08e9716b5974d6ed08973f44930804890b902Christopher Ferris __u64 reserved4; 5805d08e9716b5974d6ed08973f44930804890b902Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 5905d08e9716b5974d6ed08973f44930804890b902Christopher Ferris __u64 reserved5; 6005d08e9716b5974d6ed08973f44930804890b902Christopher Ferris __u64 reserved6; 6105d08e9716b5974d6ed08973f44930804890b902Christopher Ferris}; 62106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define CXL_AI_NEED_HEADER 0x0000000000000001ULL 63106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 64106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define CXL_AI_ALL CXL_AI_NEED_HEADER 65106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define CXL_AI_HEADER_SIZE 128 66106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define CXL_AI_BUFFER_SIZE 4096 67106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define CXL_AI_MAX_ENTRIES 256 68106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 69106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define CXL_AI_MAX_CHUNK_SIZE (CXL_AI_BUFFER_SIZE * CXL_AI_MAX_ENTRIES) 70106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferrisstruct cxl_adapter_image { 71106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u64 flags; 72106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u64 data; 73106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 74106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u64 len_data; 75106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u64 len_image; 76106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u64 reserved1; 77106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u64 reserved2; 78106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 79106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u64 reserved3; 80106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris __u64 reserved4; 81106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris}; 8282d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris#define CXL_MAGIC 0xCA 8382d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 8482d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris#define CXL_IOCTL_START_WORK _IOW(CXL_MAGIC, 0x00, struct cxl_ioctl_start_work) 8582d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris#define CXL_IOCTL_GET_PROCESS_ELEMENT _IOR(CXL_MAGIC, 0x01, __u32) 8605d08e9716b5974d6ed08973f44930804890b902Christopher Ferris#define CXL_IOCTL_GET_AFU_ID _IOR(CXL_MAGIC, 0x02, struct cxl_afu_id) 87106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define CXL_IOCTL_DOWNLOAD_IMAGE _IOW(CXL_MAGIC, 0x0A, struct cxl_adapter_image) 8882d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 89106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define CXL_IOCTL_VALIDATE_IMAGE _IOW(CXL_MAGIC, 0x0B, struct cxl_adapter_image) 90106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris#define CXL_READ_MIN_SIZE 0x1000 9105d08e9716b5974d6ed08973f44930804890b902Christopher Ferrisenum cxl_event_type { 92d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao CXL_EVENT_RESERVED = 0, 93106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 94d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao CXL_EVENT_AFU_INTERRUPT = 1, 95d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao CXL_EVENT_DATA_STORAGE = 2, 9605d08e9716b5974d6ed08973f44930804890b902Christopher Ferris CXL_EVENT_AFU_ERROR = 3, 9749f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris CXL_EVENT_AFU_DRIVER = 4, 98106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 9949f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris}; 10082d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferrisstruct cxl_event_header { 101d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u16 type; 10205d08e9716b5974d6ed08973f44930804890b902Christopher Ferris __u16 size; 103106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 10449f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris __u16 process_element; 105d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u16 reserved1; 10682d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris}; 10705d08e9716b5974d6ed08973f44930804890b902Christopher Ferrisstruct cxl_event_afu_interrupt { 108106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 10949f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris __u16 flags; 110d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u16 irq; 111d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u32 reserved1; 11205d08e9716b5974d6ed08973f44930804890b902Christopher Ferris}; 113106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 11449f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferrisstruct cxl_event_data_storage { 115d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u16 flags; 116d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u16 reserved1; 11705d08e9716b5974d6ed08973f44930804890b902Christopher Ferris __u32 reserved2; 118106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 11949f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris __u64 addr; 120d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u64 dsisr; 121d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u64 reserved3; 12205d08e9716b5974d6ed08973f44930804890b902Christopher Ferris}; 123106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 12449f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferrisstruct cxl_event_afu_error { 125d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u16 flags; 126d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u16 reserved1; 12705d08e9716b5974d6ed08973f44930804890b902Christopher Ferris __u32 reserved2; 12849f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 129d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao __u64 error; 13049f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris}; 13149f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferrisstruct cxl_event_afu_driver_reserved { 13249f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris __u32 data_size; 133106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 13449f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris __u8 data[]; 13582d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris}; 13682d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferrisstruct cxl_event { 13705d08e9716b5974d6ed08973f44930804890b902Christopher Ferris struct cxl_event_header header; 138106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 13949f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris union { 140d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao struct cxl_event_afu_interrupt irq; 141d7db594b8d1dab36b711bd887a9dd21675c87243Tao Bao struct cxl_event_data_storage fault; 14205d08e9716b5974d6ed08973f44930804890b902Christopher Ferris struct cxl_event_afu_error afu_error; 143106b3a8a7dc03c19a45e322de425ac56aafac358Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 14449f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris struct cxl_event_afu_driver_reserved afu_driver_event; 14549f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris }; 14682d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris}; 14782d7504cd7d5c8d2175fb3b1a4ee3518cad6aa0fChristopher Ferris#endif 14849f525c47bd383cd6a87db8f067cddb3ab620d17Christopher Ferris/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 149