~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/mips/fw/cfe/cfe_api_int.h

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /* SPDX-License-Identifier: GPL-2.0-or-later */
  2 /*
  3  * Copyright (C) 2000, 2001, 2002 Broadcom Corporation
  4  */
  5 #ifndef CFE_API_INT_H
  6 #define CFE_API_INT_H
  7 
  8 /*
  9  * Constants.
 10  */
 11 #define CFE_CMD_FW_GETINFO      0
 12 #define CFE_CMD_FW_RESTART      1
 13 #define CFE_CMD_FW_BOOT         2
 14 #define CFE_CMD_FW_CPUCTL       3
 15 #define CFE_CMD_FW_GETTIME      4
 16 #define CFE_CMD_FW_MEMENUM      5
 17 #define CFE_CMD_FW_FLUSHCACHE   6
 18 
 19 #define CFE_CMD_DEV_GETHANDLE   9
 20 #define CFE_CMD_DEV_ENUM        10
 21 #define CFE_CMD_DEV_OPEN        11
 22 #define CFE_CMD_DEV_INPSTAT     12
 23 #define CFE_CMD_DEV_READ        13
 24 #define CFE_CMD_DEV_WRITE       14
 25 #define CFE_CMD_DEV_IOCTL       15
 26 #define CFE_CMD_DEV_CLOSE       16
 27 #define CFE_CMD_DEV_GETINFO     17
 28 
 29 #define CFE_CMD_ENV_ENUM        20
 30 #define CFE_CMD_ENV_GET         22
 31 #define CFE_CMD_ENV_SET         23
 32 #define CFE_CMD_ENV_DEL         24
 33 
 34 #define CFE_CMD_MAX             32
 35 
 36 #define CFE_CMD_VENDOR_USE      0x8000  /* codes above this are for customer use */
 37 
 38 /*
 39  * Structures.
 40  */
 41 
 42 /* eeek, signed "pointers" */
 43 typedef s64 cfe_xptr_t;
 44 
 45 struct xiocb_buffer {
 46         u64 buf_offset;         /* offset on device (bytes) */
 47         cfe_xptr_t  buf_ptr;            /* pointer to a buffer */
 48         u64 buf_length;         /* length of this buffer */
 49         u64 buf_retlen;         /* returned length (for read ops) */
 50         u64 buf_ioctlcmd;       /* IOCTL command (used only for IOCTLs) */
 51 };
 52 
 53 struct xiocb_inpstat {
 54         u64 inp_status;         /* 1 means input available */
 55 };
 56 
 57 struct xiocb_envbuf {
 58         s64 enum_idx;           /* 0-based enumeration index */
 59         cfe_xptr_t name_ptr;            /* name string buffer */
 60         s64 name_length;                /* size of name buffer */
 61         cfe_xptr_t val_ptr;             /* value string buffer */
 62         s64 val_length;         /* size of value string buffer */
 63 };
 64 
 65 struct xiocb_cpuctl {
 66         u64 cpu_number;         /* cpu number to control */
 67         u64 cpu_command;        /* command to issue to CPU */
 68         u64 start_addr;         /* CPU start address */
 69         u64 gp_val;             /* starting GP value */
 70         u64 sp_val;             /* starting SP value */
 71         u64 a1_val;             /* starting A1 value */
 72 };
 73 
 74 struct xiocb_time {
 75         s64 ticks;              /* current time in ticks */
 76 };
 77 
 78 struct xiocb_exitstat{
 79         s64 status;
 80 };
 81 
 82 struct xiocb_meminfo {
 83         s64 mi_idx;             /* 0-based enumeration index */
 84         s64 mi_type;            /* type of memory block */
 85         u64 mi_addr;            /* physical start address */
 86         u64 mi_size;            /* block size */
 87 };
 88 
 89 struct xiocb_fwinfo {
 90         s64 fwi_version;                /* major, minor, eco version */
 91         s64 fwi_totalmem;       /* total installed mem */
 92         s64 fwi_flags;          /* various flags */
 93         s64 fwi_boardid;                /* board ID */
 94         s64 fwi_bootarea_va;    /* VA of boot area */
 95         s64 fwi_bootarea_pa;    /* PA of boot area */
 96         s64 fwi_bootarea_size;  /* size of boot area */
 97         s64 fwi_reserved1;
 98         s64 fwi_reserved2;
 99         s64 fwi_reserved3;
100 };
101 
102 struct cfe_xiocb {
103         u64 xiocb_fcode;        /* IOCB function code */
104         s64 xiocb_status;       /* return status */
105         s64 xiocb_handle;       /* file/device handle */
106         u64 xiocb_flags;        /* flags for this IOCB */
107         u64 xiocb_psize;        /* size of parameter list */
108         union {
109                 /* buffer parameters */
110                 struct xiocb_buffer xiocb_buffer;
111 
112                 /* input status parameters */
113                 struct xiocb_inpstat xiocb_inpstat;
114 
115                 /* environment function parameters */
116                 struct xiocb_envbuf xiocb_envbuf;
117 
118                 /* CPU control parameters */
119                 struct xiocb_cpuctl xiocb_cpuctl;
120 
121                 /* timer parameters */
122                 struct xiocb_time xiocb_time;
123 
124                 /* memory arena info parameters */
125                 struct xiocb_meminfo xiocb_meminfo;
126 
127                 /* firmware information */
128                 struct xiocb_fwinfo xiocb_fwinfo;
129 
130                 /* Exit Status */
131                 struct xiocb_exitstat xiocb_exitstat;
132         } plist;
133 };
134 
135 #endif /* CFE_API_INT_H */
136 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php