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

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

Version: ~ [ linux-5.6 ] ~ [ linux-5.5.13 ] ~ [ linux-5.4.28 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.113 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.174 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.217 ] ~ [ linux-4.8.17 ] ~ [ linux-4.7.10 ] ~ [ linux-4.6.7 ] ~ [ linux-4.5.7 ] ~ [ linux-4.4.217 ] ~ [ linux-4.3.6 ] ~ [ linux-4.2.8 ] ~ [ linux-4.1.52 ] ~ [ linux-4.0.9 ] ~ [ linux-3.19.8 ] ~ [ linux-3.18.140 ] ~ [ linux-3.17.8 ] ~ [ linux-3.16.82 ] ~ [ linux-3.15.10 ] ~ [ linux-3.14.79 ] ~ [ linux-3.13.11 ] ~ [ linux-3.12.74 ] ~ [ linux-3.11.10 ] ~ [ linux-3.10.108 ] ~ [ linux-3.9.11 ] ~ [ linux-3.8.13 ] ~ [ linux-3.7.10 ] ~ [ linux-3.6.11 ] ~ [ linux-3.5.7 ] ~ [ linux-3.4.113 ] ~ [ linux-3.3.8 ] ~ [ linux-3.2.102 ] ~ [ linux-3.1.10 ] ~ [ linux-3.0.101 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.5 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /*
  2  * Copyright (C) 2000, 2001, 2002 Broadcom Corporation
  3  *
  4  * This program is free software; you can redistribute it and/or
  5  * modify it under the terms of the GNU General Public License
  6  * as published by the Free Software Foundation; either version 2
  7  * of the License, or (at your option) any later version.
  8  *
  9  * This program is distributed in the hope that it will be useful,
 10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 12  * GNU General Public License for more details.
 13  *
 14  * You should have received a copy of the GNU General Public License
 15  * along with this program; if not, write to the Free Software
 16  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 17  */
 18 #ifndef CFE_API_INT_H
 19 #define CFE_API_INT_H
 20 
 21 /*
 22  * Constants.
 23  */
 24 #define CFE_CMD_FW_GETINFO      0
 25 #define CFE_CMD_FW_RESTART      1
 26 #define CFE_CMD_FW_BOOT         2
 27 #define CFE_CMD_FW_CPUCTL       3
 28 #define CFE_CMD_FW_GETTIME      4
 29 #define CFE_CMD_FW_MEMENUM      5
 30 #define CFE_CMD_FW_FLUSHCACHE   6
 31 
 32 #define CFE_CMD_DEV_GETHANDLE   9
 33 #define CFE_CMD_DEV_ENUM        10
 34 #define CFE_CMD_DEV_OPEN        11
 35 #define CFE_CMD_DEV_INPSTAT     12
 36 #define CFE_CMD_DEV_READ        13
 37 #define CFE_CMD_DEV_WRITE       14
 38 #define CFE_CMD_DEV_IOCTL       15
 39 #define CFE_CMD_DEV_CLOSE       16
 40 #define CFE_CMD_DEV_GETINFO     17
 41 
 42 #define CFE_CMD_ENV_ENUM        20
 43 #define CFE_CMD_ENV_GET         22
 44 #define CFE_CMD_ENV_SET         23
 45 #define CFE_CMD_ENV_DEL         24
 46 
 47 #define CFE_CMD_MAX             32
 48 
 49 #define CFE_CMD_VENDOR_USE      0x8000  /* codes above this are for customer use */
 50 
 51 /*
 52  * Structures.
 53  */
 54 
 55 /* eeek, signed "pointers" */
 56 typedef s64 cfe_xptr_t;
 57 
 58 struct xiocb_buffer {
 59         u64 buf_offset;         /* offset on device (bytes) */
 60         cfe_xptr_t  buf_ptr;            /* pointer to a buffer */
 61         u64 buf_length;         /* length of this buffer */
 62         u64 buf_retlen;         /* returned length (for read ops) */
 63         u64 buf_ioctlcmd;       /* IOCTL command (used only for IOCTLs) */
 64 };
 65 
 66 struct xiocb_inpstat {
 67         u64 inp_status;         /* 1 means input available */
 68 };
 69 
 70 struct xiocb_envbuf {
 71         s64 enum_idx;           /* 0-based enumeration index */
 72         cfe_xptr_t name_ptr;            /* name string buffer */
 73         s64 name_length;                /* size of name buffer */
 74         cfe_xptr_t val_ptr;             /* value string buffer */
 75         s64 val_length;         /* size of value string buffer */
 76 };
 77 
 78 struct xiocb_cpuctl {
 79         u64 cpu_number;         /* cpu number to control */
 80         u64 cpu_command;        /* command to issue to CPU */
 81         u64 start_addr;         /* CPU start address */
 82         u64 gp_val;             /* starting GP value */
 83         u64 sp_val;             /* starting SP value */
 84         u64 a1_val;             /* starting A1 value */
 85 };
 86 
 87 struct xiocb_time {
 88         s64 ticks;              /* current time in ticks */
 89 };
 90 
 91 struct xiocb_exitstat{
 92         s64 status;
 93 };
 94 
 95 struct xiocb_meminfo {
 96         s64 mi_idx;             /* 0-based enumeration index */
 97         s64 mi_type;            /* type of memory block */
 98         u64 mi_addr;            /* physical start address */
 99         u64 mi_size;            /* block size */
100 };
101 
102 struct xiocb_fwinfo {
103         s64 fwi_version;                /* major, minor, eco version */
104         s64 fwi_totalmem;       /* total installed mem */
105         s64 fwi_flags;          /* various flags */
106         s64 fwi_boardid;                /* board ID */
107         s64 fwi_bootarea_va;    /* VA of boot area */
108         s64 fwi_bootarea_pa;    /* PA of boot area */
109         s64 fwi_bootarea_size;  /* size of boot area */
110         s64 fwi_reserved1;
111         s64 fwi_reserved2;
112         s64 fwi_reserved3;
113 };
114 
115 struct cfe_xiocb {
116         u64 xiocb_fcode;        /* IOCB function code */
117         s64 xiocb_status;       /* return status */
118         s64 xiocb_handle;       /* file/device handle */
119         u64 xiocb_flags;        /* flags for this IOCB */
120         u64 xiocb_psize;        /* size of parameter list */
121         union {
122                 /* buffer parameters */
123                 struct xiocb_buffer xiocb_buffer;
124 
125                 /* input status parameters */
126                 struct xiocb_inpstat xiocb_inpstat;
127 
128                 /* environment function parameters */
129                 struct xiocb_envbuf xiocb_envbuf;
130 
131                 /* CPU control parameters */
132                 struct xiocb_cpuctl xiocb_cpuctl;
133 
134                 /* timer parameters */
135                 struct xiocb_time xiocb_time;
136 
137                 /* memory arena info parameters */
138                 struct xiocb_meminfo xiocb_meminfo;
139 
140                 /* firmware information */
141                 struct xiocb_fwinfo xiocb_fwinfo;
142 
143                 /* Exit Status */
144                 struct xiocb_exitstat xiocb_exitstat;
145         } plist;
146 };
147 
148 #endif /* CFE_API_INT_H */
149 

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

kernel.org | git.kernel.org | LWN.net | Project Home | Wiki (Japanese) | Wiki (English) | 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.

osdn.jp