[MIPS] CFE: Make code remotely resemble Linux code.
authorChristoph Hellwig <hch@lst.de>
Mon, 29 Oct 2007 14:23:43 +0000 (14:23 +0000)
committerRalf Baechle <ralf@linux-mips.org>
Tue, 29 Jan 2008 10:14:55 +0000 (10:14 +0000)
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/fw/cfe/cfe_api.c
arch/mips/fw/cfe/cfe_api_int.h
include/asm-mips/fw/cfe/cfe_api.h
include/asm-mips/fw/cfe/cfe_error.h

index a9f69e4..717db74 100644 (file)
  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  */
 
-/*  *********************************************************************
-    *
-    *  Broadcom Common Firmware Environment (CFE)
-    *
-    *  Device Function stubs                   File: cfe_api.c
-    *
-    *  This module contains device function stubs (small routines to
-    *  call the standard "iocb" interface entry point to CFE).
-    *  There should be one routine here per iocb function call.
-    *
-    *  Authors:  Mitch Lichtenberg, Chris Demetriou
-    *
-    ********************************************************************* */
+/*
+ *
+ * Broadcom Common Firmware Environment (CFE)
+ *
+ * This module contains device function stubs (small routines to
+ * call the standard "iocb" interface entry point to CFE).
+ * There should be one routine here per iocb function call.
+ *
+ * Authors:  Mitch Lichtenberg, Chris Demetriou
+ */
 
 #include <asm/fw/cfe/cfe_api.h>
 #include "cfe_api_int.h"
 #define XPTR_FROM_NATIVE(n)    ((cfe_xptr_t) (intptr_t) (n))
 #define NATIVE_FROM_XPTR(x)    ((void *) (intptr_t) (x))
 
-#ifdef CFE_API_IMPL_NAMESPACE
-#define cfe_iocb_dispatch(a)           __cfe_iocb_dispatch(a)
-#endif
-int cfe_iocb_dispatch(cfe_xiocb_t * xiocb);
+int cfe_iocb_dispatch(struct cfe_xiocb *xiocb);
 
-#if defined(CFE_API_common) || defined(CFE_API_ALL)
 /*
  * Declare the dispatch function with args of "intptr_t".
  * This makes sure whatever model we're compiling in
@@ -53,27 +46,25 @@ int cfe_iocb_dispatch(cfe_xiocb_t * xiocb);
  */
 
 static int (*cfe_dispfunc) (intptr_t handle, intptr_t xiocb) = 0;
-static cfe_xuint_t cfe_handle = 0;
+static u64 cfe_handle = 0;
 
-int cfe_init(cfe_xuint_t handle, cfe_xuint_t ept)
+int cfe_init(u64 handle, u64 ept)
 {
        cfe_dispfunc = NATIVE_FROM_XPTR(ept);
        cfe_handle = handle;
        return 0;
 }
 
-int cfe_iocb_dispatch(cfe_xiocb_t * xiocb)
+int cfe_iocb_dispatch(struct cfe_xiocb * xiocb)
 {
        if (!cfe_dispfunc)
                return -1;
        return (*cfe_dispfunc) ((intptr_t) cfe_handle, (intptr_t) xiocb);
 }
-#endif                         /* CFE_API_common || CFE_API_ALL */
 
-#if defined(CFE_API_close) || defined(CFE_API_ALL)
 int cfe_close(int handle)
 {
-       cfe_xiocb_t xiocb;
+       struct cfe_xiocb xiocb;
 
        xiocb.xiocb_fcode = CFE_CMD_DEV_CLOSE;
        xiocb.xiocb_status = 0;
@@ -86,18 +77,16 @@ int cfe_close(int handle)
        return xiocb.xiocb_status;
 
 }
-#endif                         /* CFE_API_close || CFE_API_ALL */
 
-#if defined(CFE_API_cpu_start) || defined(CFE_API_ALL)
 int cfe_cpu_start(int cpu, void (*fn) (void), long sp, long gp, long a1)
 {
-       cfe_xiocb_t xiocb;
+       struct cfe_xiocb xiocb;
 
        xiocb.xiocb_fcode = CFE_CMD_FW_CPUCTL;
        xiocb.xiocb_status = 0;
        xiocb.xiocb_handle = 0;
        xiocb.xiocb_flags = 0;
-       xiocb.xiocb_psize = sizeof(xiocb_cpuctl_t);
+       xiocb.xiocb_psize = sizeof(struct xiocb_cpuctl);
        xiocb.plist.xiocb_cpuctl.cpu_number = cpu;
        xiocb.plist.xiocb_cpuctl.cpu_command = CFE_CPU_CMD_START;
        xiocb.plist.xiocb_cpuctl.gp_val = gp;
@@ -109,18 +98,16 @@ int cfe_cpu_start(int cpu, void (*fn) (void), long sp, long gp, long a1)
 
        return xiocb.xiocb_status;
 }
-#endif                         /* CFE_API_cpu_start || CFE_API_ALL */
 
-#if defined(CFE_API_cpu_stop) || defined(CFE_API_ALL)
 int cfe_cpu_stop(int cpu)
 {
-       cfe_xiocb_t xiocb;
+       struct cfe_xiocb xiocb;
 
        xiocb.xiocb_fcode = CFE_CMD_FW_CPUCTL;
        xiocb.xiocb_status = 0;
        xiocb.xiocb_handle = 0;
        xiocb.xiocb_flags = 0;
-       xiocb.xiocb_psize = sizeof(xiocb_cpuctl_t);
+       xiocb.xiocb_psize = sizeof(struct xiocb_cpuctl);
        xiocb.plist.xiocb_cpuctl.cpu_number = cpu;
        xiocb.plist.xiocb_cpuctl.cpu_command = CFE_CPU_CMD_STOP;
 
@@ -128,18 +115,16 @@ int cfe_cpu_stop(int cpu)
 
        return xiocb.xiocb_status;
 }
-#endif                         /* CFE_API_cpu_stop || CFE_API_ALL */
 
-#if defined(CFE_API_enumenv) || defined(CFE_API_ALL)
 int cfe_enumenv(int idx, char *name, int namelen, char *val, int vallen)
 {
-       cfe_xiocb_t xiocb;
+       struct cfe_xiocb xiocb;
 
        xiocb.xiocb_fcode = CFE_CMD_ENV_SET;
        xiocb.xiocb_status = 0;
        xiocb.xiocb_handle = 0;
        xiocb.xiocb_flags = 0;
-       xiocb.xiocb_psize = sizeof(xiocb_envbuf_t);
+       xiocb.xiocb_psize = sizeof(struct xiocb_envbuf);
        xiocb.plist.xiocb_envbuf.enum_idx = idx;
        xiocb.plist.xiocb_envbuf.name_ptr = XPTR_FROM_NATIVE(name);
        xiocb.plist.xiocb_envbuf.name_length = namelen;
@@ -150,20 +135,17 @@ int cfe_enumenv(int idx, char *name, int namelen, char *val, int vallen)
 
        return xiocb.xiocb_status;
 }
-#endif                         /* CFE_API_enumenv || CFE_API_ALL */
 
-#if defined(CFE_API_enummem) || defined(CFE_API_ALL)
 int
-cfe_enummem(int idx, int flags, cfe_xuint_t * start, cfe_xuint_t * length,
-           cfe_xuint_t * type)
+cfe_enummem(int idx, int flags, u64 *start, u64 *length, u64 *type)
 {
-       cfe_xiocb_t xiocb;
+       struct cfe_xiocb xiocb;
 
        xiocb.xiocb_fcode = CFE_CMD_FW_MEMENUM;
        xiocb.xiocb_status = 0;
        xiocb.xiocb_handle = 0;
        xiocb.xiocb_flags = flags;
-       xiocb.xiocb_psize = sizeof(xiocb_meminfo_t);
+       xiocb.xiocb_psize = sizeof(struct xiocb_meminfo);
        xiocb.plist.xiocb_meminfo.mi_idx = idx;
 
        cfe_iocb_dispatch(&xiocb);
@@ -177,30 +159,26 @@ cfe_enummem(int idx, int flags, cfe_xuint_t * start, cfe_xuint_t * length,
 
        return 0;
 }
-#endif                         /* CFE_API_enummem || CFE_API_ALL */
 
-#if defined(CFE_API_exit) || defined(CFE_API_ALL)
 int cfe_exit(int warm, int status)
 {
-       cfe_xiocb_t xiocb;
+       struct cfe_xiocb xiocb;
 
        xiocb.xiocb_fcode = CFE_CMD_FW_RESTART;
        xiocb.xiocb_status = 0;
        xiocb.xiocb_handle = 0;
        xiocb.xiocb_flags = warm ? CFE_FLG_WARMSTART : 0;
-       xiocb.xiocb_psize = sizeof(xiocb_exitstat_t);
+       xiocb.xiocb_psize = sizeof(struct xiocb_exitstat);
        xiocb.plist.xiocb_exitstat.status = status;
 
        cfe_iocb_dispatch(&xiocb);
 
        return xiocb.xiocb_status;
 }
-#endif                         /* CFE_API_exit || CFE_API_ALL */
 
-#if defined(CFE_API_flushcache) || defined(CFE_API_ALL)
 int cfe_flushcache(int flg)
 {
-       cfe_xiocb_t xiocb;
+       struct cfe_xiocb xiocb;
 
        xiocb.xiocb_fcode = CFE_CMD_FW_FLUSHCACHE;
        xiocb.xiocb_status = 0;
@@ -212,34 +190,30 @@ int cfe_flushcache(int flg)
 
        return xiocb.xiocb_status;
 }
-#endif                         /* CFE_API_flushcache || CFE_API_ALL */
 
-#if defined(CFE_API_getdevinfo) || defined(CFE_API_ALL)
 int cfe_getdevinfo(char *name)
 {
-       cfe_xiocb_t xiocb;
+       struct cfe_xiocb xiocb;
 
        xiocb.xiocb_fcode = CFE_CMD_DEV_GETINFO;
        xiocb.xiocb_status = 0;
        xiocb.xiocb_handle = 0;
        xiocb.xiocb_flags = 0;
-       xiocb.xiocb_psize = sizeof(xiocb_buffer_t);
+       xiocb.xiocb_psize = sizeof(struct xiocb_buffer);
        xiocb.plist.xiocb_buffer.buf_offset = 0;
        xiocb.plist.xiocb_buffer.buf_ptr = XPTR_FROM_NATIVE(name);
-       xiocb.plist.xiocb_buffer.buf_length = cfe_strlen(name);
+       xiocb.plist.xiocb_buffer.buf_length = strlen(name);
 
        cfe_iocb_dispatch(&xiocb);
 
        if (xiocb.xiocb_status < 0)
                return xiocb.xiocb_status;
-       return xiocb.plist.xiocb_buffer.buf_devflags;
+       return xiocb.plist.xiocb_buffer.buf_ioctlcmd;
 }
-#endif                         /* CFE_API_getdevinfo || CFE_API_ALL */
 
-#if defined(CFE_API_getenv) || defined(CFE_API_ALL)
 int cfe_getenv(char *name, char *dest, int destlen)
 {
-       cfe_xiocb_t xiocb;
+       struct cfe_xiocb xiocb;
 
        *dest = 0;
 
@@ -247,10 +221,10 @@ int cfe_getenv(char *name, char *dest, int destlen)
        xiocb.xiocb_status = 0;
        xiocb.xiocb_handle = 0;
        xiocb.xiocb_flags = 0;
-       xiocb.xiocb_psize = sizeof(xiocb_envbuf_t);
+       xiocb.xiocb_psize = sizeof(struct xiocb_envbuf);
        xiocb.plist.xiocb_envbuf.enum_idx = 0;
        xiocb.plist.xiocb_envbuf.name_ptr = XPTR_FROM_NATIVE(name);
-       xiocb.plist.xiocb_envbuf.name_length = cfe_strlen(name);
+       xiocb.plist.xiocb_envbuf.name_length = strlen(name);
        xiocb.plist.xiocb_envbuf.val_ptr = XPTR_FROM_NATIVE(dest);
        xiocb.plist.xiocb_envbuf.val_length = destlen;
 
@@ -258,18 +232,16 @@ int cfe_getenv(char *name, char *dest, int destlen)
 
        return xiocb.xiocb_status;
 }
-#endif                         /* CFE_API_getenv || CFE_API_ALL */
 
-#if defined(CFE_API_getfwinfo) || defined(CFE_API_ALL)
 int cfe_getfwinfo(cfe_fwinfo_t * info)
 {
-       cfe_xiocb_t xiocb;
+       struct cfe_xiocb xiocb;
 
        xiocb.xiocb_fcode = CFE_CMD_FW_GETINFO;
        xiocb.xiocb_status = 0;
        xiocb.xiocb_handle = 0;
        xiocb.xiocb_flags = 0;
-       xiocb.xiocb_psize = sizeof(xiocb_fwinfo_t);
+       xiocb.xiocb_psize = sizeof(struct xiocb_fwinfo);
 
        cfe_iocb_dispatch(&xiocb);
 
@@ -292,12 +264,10 @@ int cfe_getfwinfo(cfe_fwinfo_t * info)
 
        return 0;
 }
-#endif                         /* CFE_API_getfwinfo || CFE_API_ALL */
 
-#if defined(CFE_API_getstdhandle) || defined(CFE_API_ALL)
 int cfe_getstdhandle(int flg)
 {
-       cfe_xiocb_t xiocb;
+       struct cfe_xiocb xiocb;
 
        xiocb.xiocb_fcode = CFE_CMD_DEV_GETHANDLE;
        xiocb.xiocb_status = 0;
@@ -311,23 +281,17 @@ int cfe_getstdhandle(int flg)
                return xiocb.xiocb_status;
        return xiocb.xiocb_handle;
 }
-#endif                         /* CFE_API_getstdhandle || CFE_API_ALL */
 
-#if defined(CFE_API_getticks) || defined(CFE_API_ALL)
 int64_t
-#ifdef CFE_API_IMPL_NAMESPACE
-__cfe_getticks(void)
-#else
 cfe_getticks(void)
-#endif
 {
-       cfe_xiocb_t xiocb;
+       struct cfe_xiocb xiocb;
 
        xiocb.xiocb_fcode = CFE_CMD_FW_GETTIME;
        xiocb.xiocb_status = 0;
        xiocb.xiocb_handle = 0;
        xiocb.xiocb_flags = 0;
-       xiocb.xiocb_psize = sizeof(xiocb_time_t);
+       xiocb.xiocb_psize = sizeof(struct xiocb_time);
        xiocb.plist.xiocb_time.ticks = 0;
 
        cfe_iocb_dispatch(&xiocb);
@@ -335,18 +299,16 @@ cfe_getticks(void)
        return xiocb.plist.xiocb_time.ticks;
 
 }
-#endif                         /* CFE_API_getticks || CFE_API_ALL */
 
-#if defined(CFE_API_inpstat) || defined(CFE_API_ALL)
 int cfe_inpstat(int handle)
 {
-       cfe_xiocb_t xiocb;
+       struct cfe_xiocb xiocb;
 
        xiocb.xiocb_fcode = CFE_CMD_DEV_INPSTAT;
        xiocb.xiocb_status = 0;
        xiocb.xiocb_handle = handle;
        xiocb.xiocb_flags = 0;
-       xiocb.xiocb_psize = sizeof(xiocb_inpstat_t);
+       xiocb.xiocb_psize = sizeof(struct xiocb_inpstat);
        xiocb.plist.xiocb_inpstat.inp_status = 0;
 
        cfe_iocb_dispatch(&xiocb);
@@ -355,20 +317,18 @@ int cfe_inpstat(int handle)
                return xiocb.xiocb_status;
        return xiocb.plist.xiocb_inpstat.inp_status;
 }
-#endif                         /* CFE_API_inpstat || CFE_API_ALL */
 
-#if defined(CFE_API_ioctl) || defined(CFE_API_ALL)
 int
 cfe_ioctl(int handle, unsigned int ioctlnum, unsigned char *buffer,
-         int length, int *retlen, cfe_xuint_t offset)
+         int length, int *retlen, u64 offset)
 {
-       cfe_xiocb_t xiocb;
+       struct cfe_xiocb xiocb;
 
        xiocb.xiocb_fcode = CFE_CMD_DEV_IOCTL;
        xiocb.xiocb_status = 0;
        xiocb.xiocb_handle = handle;
        xiocb.xiocb_flags = 0;
-       xiocb.xiocb_psize = sizeof(xiocb_buffer_t);
+       xiocb.xiocb_psize = sizeof(struct xiocb_buffer);
        xiocb.plist.xiocb_buffer.buf_offset = offset;
        xiocb.plist.xiocb_buffer.buf_ioctlcmd = ioctlnum;
        xiocb.plist.xiocb_buffer.buf_ptr = XPTR_FROM_NATIVE(buffer);
@@ -380,21 +340,19 @@ cfe_ioctl(int handle, unsigned int ioctlnum, unsigned char *buffer,
                *retlen = xiocb.plist.xiocb_buffer.buf_retlen;
        return xiocb.xiocb_status;
 }
-#endif                         /* CFE_API_ioctl || CFE_API_ALL */
 
-#if defined(CFE_API_open) || defined(CFE_API_ALL)
 int cfe_open(char *name)
 {
-       cfe_xiocb_t xiocb;
+       struct cfe_xiocb xiocb;
 
        xiocb.xiocb_fcode = CFE_CMD_DEV_OPEN;
        xiocb.xiocb_status = 0;
        xiocb.xiocb_handle = 0;
        xiocb.xiocb_flags = 0;
-       xiocb.xiocb_psize = sizeof(xiocb_buffer_t);
+       xiocb.xiocb_psize = sizeof(struct xiocb_buffer);
        xiocb.plist.xiocb_buffer.buf_offset = 0;
        xiocb.plist.xiocb_buffer.buf_ptr = XPTR_FROM_NATIVE(name);
-       xiocb.plist.xiocb_buffer.buf_length = cfe_strlen(name);
+       xiocb.plist.xiocb_buffer.buf_length = strlen(name);
 
        cfe_iocb_dispatch(&xiocb);
 
@@ -402,27 +360,21 @@ int cfe_open(char *name)
                return xiocb.xiocb_status;
        return xiocb.xiocb_handle;
 }
-#endif                         /* CFE_API_open || CFE_API_ALL */
 
-#if defined(CFE_API_read) || defined(CFE_API_ALL)
 int cfe_read(int handle, unsigned char *buffer, int length)
 {
        return cfe_readblk(handle, 0, buffer, length);
 }
-#endif                         /* CFE_API_read || CFE_API_ALL */
 
-#if defined(CFE_API_readblk) || defined(CFE_API_ALL)
-int
-cfe_readblk(int handle, cfe_xint_t offset, unsigned char *buffer,
-           int length)
+int cfe_readblk(int handle, s64 offset, unsigned char *buffer, int length)
 {
-       cfe_xiocb_t xiocb;
+       struct cfe_xiocb xiocb;
 
        xiocb.xiocb_fcode = CFE_CMD_DEV_READ;
        xiocb.xiocb_status = 0;
        xiocb.xiocb_handle = handle;
        xiocb.xiocb_flags = 0;
-       xiocb.xiocb_psize = sizeof(xiocb_buffer_t);
+       xiocb.xiocb_psize = sizeof(struct xiocb_buffer);
        xiocb.plist.xiocb_buffer.buf_offset = offset;
        xiocb.plist.xiocb_buffer.buf_ptr = XPTR_FROM_NATIVE(buffer);
        xiocb.plist.xiocb_buffer.buf_length = length;
@@ -433,62 +385,41 @@ cfe_readblk(int handle, cfe_xint_t offset, unsigned char *buffer,
                return xiocb.xiocb_status;
        return xiocb.plist.xiocb_buffer.buf_retlen;
 }
-#endif                         /* CFE_API_readblk || CFE_API_ALL */
 
-#if defined(CFE_API_setenv) || defined(CFE_API_ALL)
 int cfe_setenv(char *name, char *val)
 {
-       cfe_xiocb_t xiocb;
+       struct cfe_xiocb xiocb;
 
        xiocb.xiocb_fcode = CFE_CMD_ENV_SET;
        xiocb.xiocb_status = 0;
        xiocb.xiocb_handle = 0;
        xiocb.xiocb_flags = 0;
-       xiocb.xiocb_psize = sizeof(xiocb_envbuf_t);
+       xiocb.xiocb_psize = sizeof(struct xiocb_envbuf);
        xiocb.plist.xiocb_envbuf.enum_idx = 0;
        xiocb.plist.xiocb_envbuf.name_ptr = XPTR_FROM_NATIVE(name);
-       xiocb.plist.xiocb_envbuf.name_length = cfe_strlen(name);
+       xiocb.plist.xiocb_envbuf.name_length = strlen(name);
        xiocb.plist.xiocb_envbuf.val_ptr = XPTR_FROM_NATIVE(val);
-       xiocb.plist.xiocb_envbuf.val_length = cfe_strlen(val);
+       xiocb.plist.xiocb_envbuf.val_length = strlen(val);
 
        cfe_iocb_dispatch(&xiocb);
 
        return xiocb.xiocb_status;
 }
-#endif                         /* CFE_API_setenv || CFE_API_ALL */
-
-#if (defined(CFE_API_strlen) || defined(CFE_API_ALL)) \
-    && !defined(CFE_API_STRLEN_CUSTOM)
-int cfe_strlen(char *name)
-{
-       int count = 0;
-
-       while (*name++)
-               count++;
 
-       return count;
-}
-#endif                         /* CFE_API_strlen || CFE_API_ALL */
-
-#if defined(CFE_API_write) || defined(CFE_API_ALL)
 int cfe_write(int handle, unsigned char *buffer, int length)
 {
        return cfe_writeblk(handle, 0, buffer, length);
 }
-#endif                         /* CFE_API_write || CFE_API_ALL */
 
-#if defined(CFE_API_writeblk) || defined(CFE_API_ALL)
-int
-cfe_writeblk(int handle, cfe_xint_t offset, unsigned char *buffer,
-            int length)
+int cfe_writeblk(int handle, s64 offset, unsigned char *buffer, int length)
 {
-       cfe_xiocb_t xiocb;
+       struct cfe_xiocb xiocb;
 
        xiocb.xiocb_fcode = CFE_CMD_DEV_WRITE;
        xiocb.xiocb_status = 0;
        xiocb.xiocb_handle = handle;
        xiocb.xiocb_flags = 0;
-       xiocb.xiocb_psize = sizeof(xiocb_buffer_t);
+       xiocb.xiocb_psize = sizeof(struct xiocb_buffer);
        xiocb.plist.xiocb_buffer.buf_offset = offset;
        xiocb.plist.xiocb_buffer.buf_ptr = XPTR_FROM_NATIVE(buffer);
        xiocb.plist.xiocb_buffer.buf_length = length;
@@ -499,4 +430,3 @@ cfe_writeblk(int handle, cfe_xint_t offset, unsigned char *buffer,
                return xiocb.xiocb_status;
        return xiocb.plist.xiocb_buffer.buf_retlen;
 }
-#endif                         /* CFE_API_writeblk || CFE_API_ALL */
index f7e5a64..d9759e6 100644 (file)
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  */
-
-/*  *********************************************************************
-    *
-    *  Broadcom Common Firmware Environment (CFE)
-    *
-    *  Device function prototypes              File: cfe_api_int.h
-    *
-    *  This header defines all internal types and macros for the
-    *  library.  This is stuff that's not exported to an app
-    *  using the library.
-    *
-    *  Authors:  Mitch Lichtenberg, Chris Demetriou
-    *
-    ********************************************************************* */
-
 #ifndef CFE_API_INT_H
 #define CFE_API_INT_H
 
-/*  *********************************************************************
-    *  Constants
-    ********************************************************************* */
-
+/*
+ * Constants.
+ */
 #define CFE_CMD_FW_GETINFO     0
 #define CFE_CMD_FW_RESTART     1
 #define CFE_CMD_FW_BOOT                2
 
 #define CFE_CMD_VENDOR_USE     0x8000  /* codes above this are for customer use */
 
-/*  *********************************************************************
-    *  Structures
   ********************************************************************* */
+/*
+ * Structures.
+ */
 
-typedef uint64_t cfe_xuint_t;
-typedef int64_t cfe_xint_t;
-typedef int64_t cfe_xptr_t;
+/* eeek, signed "pointers" */
+typedef s64 cfe_xptr_t;
 
-typedef struct xiocb_buffer_s {
-       cfe_xuint_t buf_offset;         /* offset on device (bytes) */
+struct xiocb_buffer {
+       u64 buf_offset;         /* offset on device (bytes) */
        cfe_xptr_t  buf_ptr;            /* pointer to a buffer */
-       cfe_xuint_t buf_length;         /* length of this buffer */
-       cfe_xuint_t buf_retlen;         /* returned length (for read ops) */
-       cfe_xuint_t buf_ioctlcmd;       /* IOCTL command (used only for IOCTLs) */
-} xiocb_buffer_t;
-
-#define buf_devflags buf_ioctlcmd      /* returned device info flags */
+       u64 buf_length;         /* length of this buffer */
+       u64 buf_retlen;         /* returned length (for read ops) */
+       u64 buf_ioctlcmd;       /* IOCTL command (used only for IOCTLs) */
+};
 
-typedef struct xiocb_inpstat_s {
-       cfe_xuint_t inp_status;         /* 1 means input available */
-} xiocb_inpstat_t;
+struct xiocb_inpstat {
+       u64 inp_status;         /* 1 means input available */
+};
 
-typedef struct xiocb_envbuf_s {
-       cfe_xint_t enum_idx;            /* 0-based enumeration index */
+struct xiocb_envbuf {
+       s64 enum_idx;           /* 0-based enumeration index */
        cfe_xptr_t name_ptr;            /* name string buffer */
-       cfe_xint_t name_length;         /* size of name buffer */
+       s64 name_length;                /* size of name buffer */
        cfe_xptr_t val_ptr;             /* value string buffer */
-       cfe_xint_t val_length;          /* size of value string buffer */
-} xiocb_envbuf_t;
-
-typedef struct xiocb_cpuctl_s {
-       cfe_xuint_t cpu_number;         /* cpu number to control */
-       cfe_xuint_t cpu_command;        /* command to issue to CPU */
-       cfe_xuint_t start_addr;         /* CPU start address */
-       cfe_xuint_t gp_val;             /* starting GP value */
-       cfe_xuint_t sp_val;             /* starting SP value */
-       cfe_xuint_t a1_val;             /* starting A1 value */
-} xiocb_cpuctl_t;
-
-typedef struct xiocb_time_s {
-       cfe_xint_t ticks;               /* current time in ticks */
-} xiocb_time_t;
-
-typedef struct xiocb_exitstat_s {
-       cfe_xint_t status;
-} xiocb_exitstat_t;
-
-typedef struct xiocb_meminfo_s {
-       cfe_xint_t mi_idx;              /* 0-based enumeration index */
-       cfe_xint_t mi_type;             /* type of memory block */
-       cfe_xuint_t mi_addr;            /* physical start address */
-       cfe_xuint_t mi_size;            /* block size */
-} xiocb_meminfo_t;
-
-typedef struct xiocb_fwinfo_s {
-       cfe_xint_t fwi_version;         /* major, minor, eco version */
-       cfe_xint_t fwi_totalmem;        /* total installed mem */
-       cfe_xint_t fwi_flags;           /* various flags */
-       cfe_xint_t fwi_boardid;         /* board ID */
-       cfe_xint_t fwi_bootarea_va;     /* VA of boot area */
-       cfe_xint_t fwi_bootarea_pa;     /* PA of boot area */
-       cfe_xint_t fwi_bootarea_size;   /* size of boot area */
-       cfe_xint_t fwi_reserved1;
-       cfe_xint_t fwi_reserved2;
-       cfe_xint_t fwi_reserved3;
-} xiocb_fwinfo_t;
-
-typedef struct cfe_xiocb_s {
-       cfe_xuint_t xiocb_fcode;        /* IOCB function code */
-       cfe_xint_t xiocb_status;        /* return status */
-       cfe_xint_t xiocb_handle;        /* file/device handle */
-       cfe_xuint_t xiocb_flags;        /* flags for this IOCB */
-       cfe_xuint_t xiocb_psize;        /* size of parameter list */
+       s64 val_length;         /* size of value string buffer */
+};
+
+struct xiocb_cpuctl {
+       u64 cpu_number;         /* cpu number to control */
+       u64 cpu_command;        /* command to issue to CPU */
+       u64 start_addr;         /* CPU start address */
+       u64 gp_val;             /* starting GP value */
+       u64 sp_val;             /* starting SP value */
+       u64 a1_val;             /* starting A1 value */
+};
+
+struct xiocb_time {
+       s64 ticks;              /* current time in ticks */
+};
+
+struct xiocb_exitstat{
+       s64 status;
+};
+
+struct xiocb_meminfo {
+       s64 mi_idx;             /* 0-based enumeration index */
+       s64 mi_type;            /* type of memory block */
+       u64 mi_addr;            /* physical start address */
+       u64 mi_size;            /* block size */
+};
+
+struct xiocb_fwinfo {
+       s64 fwi_version;                /* major, minor, eco version */
+       s64 fwi_totalmem;       /* total installed mem */
+       s64 fwi_flags;          /* various flags */
+       s64 fwi_boardid;                /* board ID */
+       s64 fwi_bootarea_va;    /* VA of boot area */
+       s64 fwi_bootarea_pa;    /* PA of boot area */
+       s64 fwi_bootarea_size;  /* size of boot area */
+       s64 fwi_reserved1;
+       s64 fwi_reserved2;
+       s64 fwi_reserved3;
+};
+
+struct cfe_xiocb {
+       u64 xiocb_fcode;        /* IOCB function code */
+       s64 xiocb_status;       /* return status */
+       s64 xiocb_handle;       /* file/device handle */
+       u64 xiocb_flags;        /* flags for this IOCB */
+       u64 xiocb_psize;        /* size of parameter list */
        union {
-               xiocb_buffer_t xiocb_buffer;    /* buffer parameters */
-               xiocb_inpstat_t xiocb_inpstat;  /* input status parameters */
-               xiocb_envbuf_t xiocb_envbuf;    /* environment function parameters */
-               xiocb_cpuctl_t xiocb_cpuctl;    /* CPU control parameters */
-               xiocb_time_t xiocb_time;        /* timer parameters */
-               xiocb_meminfo_t xiocb_meminfo;  /* memory arena info parameters */
-               xiocb_fwinfo_t xiocb_fwinfo;    /* firmware information */
-               xiocb_exitstat_t xiocb_exitstat;        /* Exit Status */
+               /* buffer parameters */
+               struct xiocb_buffer xiocb_buffer;
+
+               /* input status parameters */
+               struct xiocb_inpstat xiocb_inpstat;
+
+               /* environment function parameters */
+               struct xiocb_envbuf xiocb_envbuf;
+
+               /* CPU control parameters */
+               struct xiocb_cpuctl xiocb_cpuctl;
+
+               /* timer parameters */
+               struct xiocb_time xiocb_time;
+
+               /* memory arena info parameters */
+               struct xiocb_meminfo xiocb_meminfo;
+
+               /* firmware information */
+               struct xiocb_fwinfo xiocb_fwinfo;
+
+               /* Exit Status */
+               struct xiocb_exitstat xiocb_exitstat;
        } plist;
-} cfe_xiocb_t;
+};
 
-#endif                         /* CFE_API_INT_H */
+#endif /* CFE_API_INT_H */
index 1003e71..0995575 100644 (file)
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  */
-
-/*  *********************************************************************
-    *
-    *  Broadcom Common Firmware Environment (CFE)
-    *
-    *  Device function prototypes              File: cfe_api.h
-    *
-    *  This file contains declarations for doing callbacks to
-    *  cfe from an application.  It should be the only header
-    *  needed by the application to use this library
-    *
-    *  Authors:  Mitch Lichtenberg, Chris Demetriou
-    *
-    ********************************************************************* */
-
+/*
+ * Broadcom Common Firmware Environment (CFE)
+ *
+ * This file contains declarations for doing callbacks to
+ * cfe from an application.  It should be the only header
+ * needed by the application to use this library
+ *
+ * Authors:  Mitch Lichtenberg, Chris Demetriou
+ */
 #ifndef CFE_API_H
 #define CFE_API_H
 
-/*
- * Apply customizations here for different OSes.  These need to:
- *     * typedef uint64_t, int64_t, intptr_t, uintptr_t.
- *     * define cfe_strlen() if use of an existing function is desired.
- *     * define CFE_API_IMPL_NAMESPACE if API functions are to use
- *       names in the implementation namespace.
- * Also, optionally, if the build environment does not do so automatically,
- * CFE_API_* can be defined here as desired.
- */
-/* Begin customization. */
 #include <linux/types.h>
 #include <linux/string.h>
 
 typedef long intptr_t;
 
-#define cfe_strlen strlen
 
-#define CFE_API_ALL
-#define CFE_API_STRLEN_CUSTOM
-/* End customization. */
-
-
-/*  *********************************************************************
-    *  Constants
-    ********************************************************************* */
+/*
+ * Constants
+ */
 
 /* Seal indicating CFE's presence, passed to user program. */
 #define CFE_EPTSEAL 0x43464531
@@ -109,54 +87,13 @@ typedef struct {
 
 
 /*
- * cfe_strlen is handled specially: If already defined, it has been
- * overridden in this environment with a standard strlen-like function.
- */
-#ifdef cfe_strlen
-# define CFE_API_STRLEN_CUSTOM
-#else
-# ifdef CFE_API_IMPL_NAMESPACE
-#  define cfe_strlen(a)                        __cfe_strlen(a)
-# endif
-int cfe_strlen(char *name);
-#endif
-
-/*
  * Defines and prototypes for functions which take no arguments.
  */
-#ifdef CFE_API_IMPL_NAMESPACE
-int64_t __cfe_getticks(void);
-#define cfe_getticks()                 __cfe_getticks()
-#else
 int64_t cfe_getticks(void);
-#endif
 
 /*
  * Defines and prototypes for the rest of the functions.
  */
-#ifdef CFE_API_IMPL_NAMESPACE
-#define cfe_close(a)                   __cfe_close(a)
-#define cfe_cpu_start(a, b, c, d, e)   __cfe_cpu_start(a, b, c, d, e)
-#define cfe_cpu_stop(a)                        __cfe_cpu_stop(a)
-#define cfe_enumenv(a, b, d, e, f)     __cfe_enumenv(a, b, d, e, f)
-#define cfe_enummem(a, b, c, d, e)     __cfe_enummem(a, b, c, d, e)
-#define cfe_exit(a, b)                 __cfe_exit(a, b)
-#define cfe_flushcache(a)              __cfe_cacheflush(a)
-#define cfe_getdevinfo(a)              __cfe_getdevinfo(a)
-#define cfe_getenv(a, b, c)            __cfe_getenv(a, b, c)
-#define cfe_getfwinfo(a)               __cfe_getfwinfo(a)
-#define cfe_getstdhandle(a)            __cfe_getstdhandle(a)
-#define cfe_init(a, b)                 __cfe_init(a, b)
-#define cfe_inpstat(a)                 __cfe_inpstat(a)
-#define cfe_ioctl(a, b, c, d, e, f)    __cfe_ioctl(a, b, c, d, e, f)
-#define cfe_open(a)                    __cfe_open(a)
-#define cfe_read(a, b, c)              __cfe_read(a, b, c)
-#define cfe_readblk(a, b, c, d)                __cfe_readblk(a, b, c, d)
-#define cfe_setenv(a, b)               __cfe_setenv(a, b)
-#define cfe_write(a, b, c)             __cfe_write(a, b, c)
-#define cfe_writeblk(a, b, c, d)       __cfe_writeblk(a, b, c, d)
-#endif                         /* CFE_API_IMPL_NAMESPACE */
-
 int cfe_close(int handle);
 int cfe_cpu_start(int cpu, void (*fn) (void), long sp, long gp, long a1);
 int cfe_cpu_stop(int cpu);
index 975f000..b803746 100644 (file)
  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  */
 
-/*  *********************************************************************
-    *
-    *  Broadcom Common Firmware Environment (CFE)
-    *
-    *  Error codes                             File: cfe_error.h
-    *
-    *  CFE's global error code list is here.
-    *
-    *  Author:  Mitch Lichtenberg
-    *
-    ********************************************************************* */
-
+/*
+ * Broadcom Common Firmware Environment (CFE)
+ *
+ * CFE's global error code list is here.
+ *
+ * Author:  Mitch Lichtenberg
+ */
 
 #define CFE_OK                  0
 #define CFE_ERR                 -1     /* generic error */