zte's code,first commit

Change-Id: I9a04da59e459a9bc0d67f101f700d9d7dc8d681b
diff --git a/cp/ps/plat/inc/oss/oss_pub.h b/cp/ps/plat/inc/oss/oss_pub.h
new file mode 100644
index 0000000..d052478
--- /dev/null
+++ b/cp/ps/plat/inc/oss/oss_pub.h
@@ -0,0 +1,300 @@
+/**************************************************************************

+*

+*                  Copyright (c) 2012 ZTE Corporation.

+*

+***************************************************************************

+* Ä£ ¿é Ãû : P98C_OSS

+* ÎÄ ¼þ Ãû : oss_pub.h

+* Ïà¹ØÎļþ : 

+* ʵÏÖ¹¦ÄÜ : »ù±¾ÀàÐÍ¡¢Ä£¿éºÅ¡¢´íÎóºÅ¡¢ÏûÏ¢ºÅ¶¨Òå

+* ×÷    Õß : chenxingfang

+* °æ    ±¾ : V1.0

+* Íê³ÉÈÕÆÚ : 2012-08-10 

+* ÆäËü˵Ã÷ : 

+**************************************************************************/

+

+/**************************************************************************

+* Ð޸ļǼ

+**************************************************************************/

+#ifndef _OSS_PUB_H

+#define _OSS_PUB_H

+

+/**************************************************************************

+* #includeÇø

+**************************************************************************/

+#if defined _OS_TOS

+#include <pkgconf/kernel.h>

+#include <cyg/hal/hal_intr.h>

+#include <cyg/kernel/kapi.h>

+#elif defined _OS_OSE

+#include "ose.h"

+#include "osetypes.h"

+#include "ose_spi/arm/cpu_intlock.h"

+#elif defined (_OS_LINUX)

+#include <linux/types.h>

+#include <linux/kernel.h>

+#include <linux/jiffies.h>

+#include <asm/param.h>

+#ifdef _USE_TCM

+#include <asm/tcm.h>

+#endif

+#elif defined _OS_WIN

+# ifndef _USE_OS_SOCK

+#define _WINSOCK2_H  

+#define _WINSOCK_H 

+#define _WINSOCK2API_ 

+#define _WINSOCKAPI_

+# endif

+#include <windows.h>

+#endif

+

+#ifdef __cplusplus

+extern "C"

+{

+#endif

+

+/**************************************************************************

+* ³£Á¿¶¨ÒåÇø

+**************************************************************************/

+/* ²Ù×÷ϵͳ´íÎóºÅ, 0x00001000 --- 0x00001fff */

+#define ZOSS_ERR                (0x00001000)

+

+

+/* ƽ̨ÏûÏ¢ */

+#define EV_ZPLAT_BASE           (0x00001000)

+

+/* ²Ù×÷ϵͳÏûÏ¢, ¸öÊý0x1000 */

+#define EV_ZOSS_BASE            (EV_ZPLAT_BASE)

+

+/* ƽ̨ÏûÏ¢Çø¼ä */

+#define EV_ZOSS_SCHE_BASE       (EV_ZOSS_BASE)

+#define EV_ZOSS_SYSM_BASE       (EV_ZOSS_BASE + 50)

+#define EV_ZOSS_EXCEP_BASE      (EV_ZOSS_BASE + 100)

+#define EV_ZOSS_TRACE_BASE      (EV_ZOSS_BASE + 150)

+#define EV_ZOSS_MEM_BASE        (EV_ZOSS_BASE + 300)

+#define EV_ZOSS_COMM_BASE       (EV_ZOSS_BASE + 350)

+

+/* ϵͳ¹ÜÀíÄ£¿éÏûÏ¢ */

+#define EV_INIT                 (EV_ZOSS_SYSM_BASE + 0) /* ÈÎÎñ³õʼ»¯ÏûÏ¢   */

+#define EV_POWERON              (EV_ZOSS_SYSM_BASE + 1) /* ÈÎÎñÉϵçÏûÏ¢     */

+#define EV_POWEROFF             (EV_ZOSS_SYSM_BASE + 2) /* ÈÎÎñϵçÏûÏ¢     */

+#define EV_POWERON_OK           (EV_ZOSS_SYSM_BASE + 3) /* ÈÎÎñÉϵçÍê³ÉÏûÏ¢ */

+#define EV_PS_START             (EV_ZOSS_SYSM_BASE + 4) /* ЭÒéÕ»Æô¶¯ÏûÏ¢   */

+#define EV_TASKSTOP             (EV_ZOSS_SYSM_BASE + 5) /* ЭÒéÕ»ÔÝÍ£ÏûÏ¢   */

+#define EV_TASKRESUM            (EV_ZOSS_SYSM_BASE + 6) /* ЭÒéÕ»»Ö¸´ÏûÏ¢   */

+#define EV_SYSM_DOWN            (EV_ZOSS_SYSM_BASE + 7) /* ¹Ø»úÏûÏ¢         */

+

+/* GUIÏûÏ¢ */

+#define EV_ZGUI_BASE            (0x00002000)

+

+/* ЭÒéÕ»²âÊÔ¹¤¾ßÏûÏ¢ */

+#define EV_ZPTE_BASE            (EV_ZPLAT_BASE + 0x00008000) 

+

+/* ϵͳ¹«¹²´òÓ¡Ä£¿éºÅ */

+#define SUBMDL_SYSBASE          (1)

+#define SUBMDL_PUB              (SUBMDL_SYSBASE + 0)    /* ϵͳ¹«¹²     */

+#define SUBMDL_RAM              (SUBMDL_SYSBASE + 1)    /* ÍùRAM´òÓ¡    */

+#define SUBMDL_FILE             (SUBMDL_SYSBASE + 2)    /* ÍùÎļþ´òÓ¡   */

+#define SUBMDL_LCD              (SUBMDL_SYSBASE + 3)    /* ÍùLCD´òÓ¡    */

+

+/* OSS´òÓ¡Ä£¿éºÅ */

+#define SUBMDL_OSSBASE          (10)

+#define SUBMDL_COMMON           (SUBMDL_OSSBASE + 0)    /* ¹«¹²Ä£¿é         */

+#define SUBMDL_OSA              (SUBMDL_OSSBASE + 1)    /* OSAÄ£¿é          */

+#define SUBMDL_SCHE             (SUBMDL_OSSBASE + 2)    /* µ÷¶ÈͨѶ         */

+#define SUBMDL_MEM              (SUBMDL_OSSBASE + 3)    /* ÄÚ´æ¹ÜÀí         */

+#define SUBMDL_SYSM             (SUBMDL_OSSBASE + 4)    /* SYSMÄ£¿é         */

+#define SUBMDL_TIMER            (SUBMDL_OSSBASE + 5)    /* ¶¨Ê±Æ÷Ä£¿é       */

+#define SUBMDL_EXCEP            (SUBMDL_OSSBASE + 6)    /* Òì³£´¦Àí         */

+#define SUBMDL_NET              (SUBMDL_OSSBASE + 7)    /* NETÄ£¿é          */

+#define SUBMDL_FS               (SUBMDL_OSSBASE + 8)    /* Îļþ´úÀíÄ£¿é     */

+#define SUBMDL_TRACE            (SUBMDL_OSSBASE + 9)    /* traceÄ£¿é        */

+#define SUBMDL_TEST             (SUBMDL_OSSBASE + 10)   /* testÄ£¿é         */

+#define SUBMDL_EVENT            (SUBMDL_OSSBASE + 11)   /* EventÄ£¿é        */

+#define SUBMDL_NV               (SUBMDL_OSSBASE + 12)   /* NV´úÀíÄ£¿é       */

+#define SUBMDL_SHELL            (SUBMDL_OSSBASE + 13)   /* SHELL´úÀíÄ£¿é    */

+#define SUBMDL_AMT              (SUBMDL_OSSBASE + 14)   /* AMT´úÀíÄ£¿é      */

+

+/* ЭÒéÕ»²âÊÔ¹¤¾ßÄ£¿éºÅ */

+#define SUBMDL_PTE              (SUBMDL_OSSBASE + 15) 

+

+/* DRV´òÓ¡Ä£¿éºÅ */

+#define SUBMDL_DRVBASE          (25)

+#define SUBMDL_DAL              (SUBMDL_DRVBASE + 0)    /* DALÄ£¿é  */

+#define SUBMDL_DD               (SUBMDL_DRVBASE + 1)    /* DDÄ£¿é   */

+#define SUBMDL_HAL              (SUBMDL_DRVBASE + 2)    /* HALÄ£¿é  */

+#define SUBMDL_MUX              (SUBMDL_DRVBASE + 3)    /* MUXÄ£¿é  */

+

+#define SUBMDL_IMS              (31)                    /* IMSÐÅÁîÄ£¿é */

+

+/* MULTIMEDIA´òÓ¡Ä£¿éºÅ */

+#define SUBMDL_MMBASE           (60)

+/* MONITOR¸ú×ÙÄ£¿éºÅ */

+#define SUBMDL_MONAGENT         (128)

+

+#define SUBMDL_Z_EXTMOD         (BYTE)0xff

+#define SUBMDL_ZPS_EXTMOD       SUBMDL_Z_EXTMOD

+

+/* FALSE/TRUE¶¨Òå */

+#ifndef _OS_WIN

+#ifdef  TRUE

+#undef  TRUE

+#endif

+#define TRUE    (BOOL)1

+            

+#ifdef  FALSE

+#undef  FALSE

+#endif

+#define FALSE   (BOOL)0

+

+/* ×î´óÖµ/×îСֵ¶¨Òå */

+#ifdef _OS_LINUX

+# define oss_max(a,b)   (((a) > (b)) ? (a) : (b))

+# define oss_min(a,b)   (((a) < (b)) ? (a) : (b))

+#else

+# define max(a,b)       (((a) > (b)) ? (a) : (b))

+# define min(a,b)       (((a) < (b)) ? (a) : (b))

+#endif

+

+#endif

+

+#ifdef _DEBUG

+# define ZOSS_FILE __FILE__

+# define ZOSS_LINE __LINE__

+#else

+# define ZOSS_FILE NULL

+# define ZOSS_LINE 0

+#endif

+

+#define ___str(x)   #x

+#define __str(x)    ___str(x)

+

+#define ZOSS_UNUSED_PARAM(_name_)   _name_ = _name_;

+#define ZOSS_UNUSED_PTR(_name_)     if (_name_) _name_ = _name_;

+#define ZOSS_MACRO_START            do {

+#define ZOSS_MACRO_END              } while (0)

+

+#define ALIGN_TO(base, align)       ((base + (align - 1)) & ~(align - 1))

+#ifndef _OS_LINUX

+#define ARRAY_SIZE(array)           (sizeof(array)/sizeof(array[0]))

+#endif

+#define ARRAY_START(array)          (&array[0])

+#define ARRAY_END(array)            (&array[sizeof(array)/sizeof(array[0])])

+

+/* 1¸öϵͳµÎ´ðËùÐèµÄºÁÃëÊý */

+#if defined _OS_TOS

+# define ZOSS_MS_PER_TICK   (CYGNUM_HAL_RTC_PERIOD / 1000)   

+#elif defined _OS_OSE

+# define ZOSS_MS_PER_TICK   (system_tick() / 1000) 

+#elif defined _OS_WIN

+# define ZOSS_MS_PER_TICK   1

+#elif defined _OS_LINUX

+# define ZOSS_MS_PER_TICK   1

+#endif

+

+/**************************************************************************

+* Êý¾Ý½á¹¹¶¨ÒåÇø

+**************************************************************************/

+/* »ù±¾ÀàÐÍ */

+typedef signed char         SINT8;

+typedef unsigned char       UINT8;

+typedef short               SINT16;

+typedef unsigned short      UINT16;

+typedef long                SINT32;

+typedef UINT8               BITS;

+

+#ifndef _OS_WIN

+typedef unsigned long       UINT32;

+typedef unsigned long long  UINT64;

+typedef long long           SINT64;

+typedef float               FLOAT;

+typedef double              DOUBLE;

+typedef int                 BOOL;

+

+#ifndef VOID

+#define VOID                void

+#endif

+

+#ifndef CHAR

+#define CHAR                char

+#endif

+ 

+typedef UINT32              SSIZE_T;

+typedef UINT8               BYTE;

+typedef SINT16              SHORT;

+typedef SINT32              LONG;

+typedef UINT16              WORD;

+typedef UINT32              DWORD;

+typedef UINT32              HANDLE;

+typedef SINT8               *PSTR;

+typedef UINT8               *PBYTE;

+typedef UINT16              *PWORD;

+typedef UINT32              *PDWORD;

+typedef VOID                *PVOID;

+typedef UINT32              *PHANDLE;

+#else 

+typedef __int64             SINT64;  

+typedef unsigned __int64    UINT64;

+typedef int                 mode_t; 

+#endif

+

+#if defined (_OS_TOS) || defined(_OS_LINUX)

+typedef SINT8   S8;

+typedef UINT8   U8;

+typedef SINT16  S16;

+typedef UINT16  U16;

+typedef SINT32  S32; 

+typedef UINT32  U32;

+

+typedef UINT32  PROCESS;

+typedef UINT32  OSADDRESS;

+typedef UINT8   OSPRIORITY;

+typedef UINT32  OSTIME;

+typedef UINT32  SIGSELECT;

+typedef UINT16  OSVECTOR;

+typedef UINT32  OSUSER;

+

+typedef VOID (OSENTRYPOINT)(VOID);

+

+enum PROCESS_TYPE 

+{

+    OS_PRI_PROC = 0,

+    OS_BG_PROC  = 64,

+    OS_INT_PROC = 128,

+    OS_TI_PROC  = 256,

+    OS_PHANTOM  = 512,

+    OS_BLOCK    = 1024,

+    OS_ZOOMBIE  = 2048,

+    OS_ILLEGAL  = 4096

+};

+

+struct OS_redir_entry

+{

+    SIGSELECT   sig;

+    PROCESS     pid;

+};

+#endif

+

+#ifdef _OS_LINUX

+typedef struct {

+    int quot;   /* quotient  */

+    int rem;    /* remainder */

+} div_t;

+#endif

+

+/**************************************************************************

+* º¯ÊýÉùÃ÷Çø

+**************************************************************************/ 

+SINT32 zOss_GetLastError(VOID);

+

+/**************************************************************************

+* È«¾Ö±äÁ¿ÉùÃ÷Çø

+**************************************************************************/

+

+#ifdef __cplusplus

+}

+#endif

+

+#endif  /* _OSS_PUB_H */

+

+