/** @file\r
\r
Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>\r
- Copyright (c) 2013 - 2014, ARM Ltd. All rights reserved.<BR>\r
+ Copyright (c) 2013 - 2021, Arm Limited. All rights reserved.<BR>\r
\r
SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
\r
-#ifndef __SEMIHOST_PRIVATE_H__\r
-#define __SEMIHOST_PRIVATE_H__\r
+#ifndef SEMIHOST_PRIVATE_H_\r
+#define SEMIHOST_PRIVATE_H_\r
\r
typedef struct {\r
- CHAR8 *FileName;\r
+ CHAR8 *FileName;\r
UINTN Mode;\r
UINTN NameLength;\r
} SEMIHOST_FILE_OPEN_BLOCK;\r
\r
typedef struct {\r
UINTN Handle;\r
- VOID *Buffer;\r
+ VOID *Buffer;\r
UINTN Length;\r
} SEMIHOST_FILE_READ_WRITE_BLOCK;\r
\r
} SEMIHOST_FILE_SEEK_BLOCK;\r
\r
typedef struct {\r
- VOID *Buffer;\r
+ VOID *Buffer;\r
UINTN Identifier;\r
UINTN Length;\r
} SEMIHOST_FILE_TMPNAME_BLOCK;\r
\r
typedef struct {\r
- CHAR8 *FileName;\r
+ CHAR8 *FileName;\r
UINTN NameLength;\r
} SEMIHOST_FILE_REMOVE_BLOCK;\r
\r
typedef struct {\r
- CHAR8 *FileName;\r
+ CHAR8 *FileName;\r
UINTN FileNameLength;\r
- CHAR8 *NewFileName;\r
+ CHAR8 *NewFileName;\r
UINTN NewFileNameLength;\r
} SEMIHOST_FILE_RENAME_BLOCK;\r
\r
typedef struct {\r
- CHAR8 *CommandLine;\r
+ CHAR8 *CommandLine;\r
UINTN CommandLength;\r
} SEMIHOST_SYSTEM_BLOCK;\r
\r
-#if defined(__CC_ARM)\r
+#if defined (__CC_ARM)\r
\r
-#if defined(__thumb__)\r
-#define SWI 0xAB\r
-#else\r
-#define SWI 0x123456\r
-#endif\r
+ #if defined (__thumb__)\r
+#define SWI 0xAB\r
+ #else\r
+#define SWI 0x123456\r
+ #endif\r
\r
#define SEMIHOST_SUPPORTED TRUE\r
\r
-__swi(SWI)\r
+__swi (SWI)\r
INT32\r
-_Semihost_SYS_OPEN(\r
- IN UINTN SWI_0x01,\r
- IN SEMIHOST_FILE_OPEN_BLOCK *OpenBlock\r
+_Semihost_SYS_OPEN (\r
+ IN UINTN SWI_0x01,\r
+ IN SEMIHOST_FILE_OPEN_BLOCK *OpenBlock\r
);\r
\r
-__swi(SWI)\r
+__swi (SWI)\r
INT32\r
-_Semihost_SYS_CLOSE(\r
- IN UINTN SWI_0x02,\r
- IN UINT32 *Handle\r
+_Semihost_SYS_CLOSE (\r
+ IN UINTN SWI_0x02,\r
+ IN UINT32 *Handle\r
);\r
\r
-__swi(SWI)\r
+__swi (SWI)\r
VOID\r
-_Semihost_SYS_WRITEC(\r
- IN UINTN SWI_0x03,\r
- IN CHAR8 *Character\r
+_Semihost_SYS_WRITEC (\r
+ IN UINTN SWI_0x03,\r
+ IN CHAR8 *Character\r
);\r
\r
-__swi(SWI)\r
+__swi (SWI)\r
VOID\r
-_Semihost_SYS_WRITE0(\r
- IN UINTN SWI_0x04,\r
- IN CHAR8 *String\r
+_Semihost_SYS_WRITE0 (\r
+ IN UINTN SWI_0x04,\r
+ IN CHAR8 *String\r
);\r
\r
-__swi(SWI)\r
+__swi (SWI)\r
UINT32\r
-_Semihost_SYS_WRITE(\r
- IN UINTN SWI_0x05,\r
- IN OUT SEMIHOST_FILE_READ_WRITE_BLOCK *WriteBlock\r
+_Semihost_SYS_WRITE (\r
+ IN UINTN SWI_0x05,\r
+ IN OUT SEMIHOST_FILE_READ_WRITE_BLOCK *WriteBlock\r
);\r
\r
-__swi(SWI)\r
+__swi (SWI)\r
UINT32\r
-_Semihost_SYS_READ(\r
- IN UINTN SWI_0x06,\r
- IN OUT SEMIHOST_FILE_READ_WRITE_BLOCK *ReadBlock\r
+_Semihost_SYS_READ (\r
+ IN UINTN SWI_0x06,\r
+ IN OUT SEMIHOST_FILE_READ_WRITE_BLOCK *ReadBlock\r
);\r
\r
-__swi(SWI)\r
+__swi (SWI)\r
CHAR8\r
-_Semihost_SYS_READC(\r
- IN UINTN SWI_0x07,\r
- IN UINTN Zero\r
+_Semihost_SYS_READC (\r
+ IN UINTN SWI_0x07,\r
+ IN UINTN Zero\r
);\r
\r
-__swi(SWI)\r
+__swi (SWI)\r
INT32\r
-_Semihost_SYS_SEEK(\r
- IN UINTN SWI_0x0A,\r
- IN SEMIHOST_FILE_SEEK_BLOCK *SeekBlock\r
+_Semihost_SYS_SEEK (\r
+ IN UINTN SWI_0x0A,\r
+ IN SEMIHOST_FILE_SEEK_BLOCK *SeekBlock\r
);\r
\r
-__swi(SWI)\r
+__swi (SWI)\r
INT32\r
-_Semihost_SYS_FLEN(\r
- IN UINTN SWI_0x0C,\r
- IN UINT32 *Handle\r
+_Semihost_SYS_FLEN (\r
+ IN UINTN SWI_0x0C,\r
+ IN UINT32 *Handle\r
);\r
\r
-__swi(SWI)\r
+__swi (SWI)\r
UINT32\r
-_Semihost_SYS_TMPNAME(\r
- IN UINTN SWI_0x0D,\r
- IN SEMIHOST_FILE_TMPNAME_BLOCK *TmpNameBlock\r
+_Semihost_SYS_TMPNAME (\r
+ IN UINTN SWI_0x0D,\r
+ IN SEMIHOST_FILE_TMPNAME_BLOCK *TmpNameBlock\r
);\r
\r
-__swi(SWI)\r
+__swi (SWI)\r
UINT32\r
-_Semihost_SYS_REMOVE(\r
- IN UINTN SWI_0x0E,\r
- IN SEMIHOST_FILE_REMOVE_BLOCK *RemoveBlock\r
+_Semihost_SYS_REMOVE (\r
+ IN UINTN SWI_0x0E,\r
+ IN SEMIHOST_FILE_REMOVE_BLOCK *RemoveBlock\r
);\r
\r
-__swi(SWI)\r
+__swi (SWI)\r
UINT32\r
-_Semihost_SYS_RENAME(\r
- IN UINTN SWI_0x0F,\r
- IN SEMIHOST_FILE_RENAME_BLOCK *RenameBlock\r
+_Semihost_SYS_RENAME (\r
+ IN UINTN SWI_0x0F,\r
+ IN SEMIHOST_FILE_RENAME_BLOCK *RenameBlock\r
);\r
\r
-__swi(SWI)\r
+__swi (SWI)\r
UINT32\r
-_Semihost_SYS_SYSTEM(\r
- IN UINTN SWI_0x12,\r
- IN SEMIHOST_SYSTEM_BLOCK *SystemBlock\r
+_Semihost_SYS_SYSTEM (\r
+ IN UINTN SWI_0x12,\r
+ IN SEMIHOST_SYSTEM_BLOCK *SystemBlock\r
);\r
\r
-#define Semihost_SYS_OPEN(OpenBlock) _Semihost_SYS_OPEN(0x01, OpenBlock)\r
-#define Semihost_SYS_CLOSE(Handle) _Semihost_SYS_CLOSE(0x02, Handle)\r
-#define Semihost_SYS_WRITE0(String) _Semihost_SYS_WRITE0(0x04, String)\r
-#define Semihost_SYS_WRITEC(Character) _Semihost_SYS_WRITEC(0x03, Character)\r
-#define Semihost_SYS_WRITE(WriteBlock) _Semihost_SYS_WRITE(0x05, WriteBlock)\r
-#define Semihost_SYS_READ(ReadBlock) _Semihost_SYS_READ(0x06, ReadBlock)\r
-#define Semihost_SYS_READC() _Semihost_SYS_READC(0x07, 0)\r
-#define Semihost_SYS_SEEK(SeekBlock) _Semihost_SYS_SEEK(0x0A, SeekBlock)\r
-#define Semihost_SYS_FLEN(Handle) _Semihost_SYS_FLEN(0x0C, Handle)\r
-#define Semihost_SYS_TMPNAME(TmpNameBlock) _Semihost_SYS_TMPNAME(0x0D, TmpNameBlock)\r
-#define Semihost_SYS_REMOVE(RemoveBlock) _Semihost_SYS_REMOVE(0x0E, RemoveBlock)\r
-#define Semihost_SYS_RENAME(RenameBlock) _Semihost_SYS_RENAME(0x0F, RenameBlock)\r
-#define Semihost_SYS_SYSTEM(SystemBlock) _Semihost_SYS_SYSTEM(0x12, SystemBlock)\r
-\r
-#elif defined(__GNUC__) // __CC_ARM\r
+#define SEMIHOST_SYS_OPEN(OpenBlock) _Semihost_SYS_OPEN(0x01, OpenBlock)\r
+#define SEMIHOST_SYS_CLOSE(Handle) _Semihost_SYS_CLOSE(0x02, Handle)\r
+#define SEMIHOST_SYS_WRITE0(String) _Semihost_SYS_WRITE0(0x04, String)\r
+#define SEMIHOST_SYS_WRITEC(Character) _Semihost_SYS_WRITEC(0x03, Character)\r
+#define SEMIHOST_SYS_WRITE(WriteBlock) _Semihost_SYS_WRITE(0x05, WriteBlock)\r
+#define SEMIHOST_SYS_READ(ReadBlock) _Semihost_SYS_READ(0x06, ReadBlock)\r
+#define SEMIHOST_SYS_READC() _Semihost_SYS_READC(0x07, 0)\r
+#define SEMIHOST_SYS_SEEK(SeekBlock) _Semihost_SYS_SEEK(0x0A, SeekBlock)\r
+#define SEMIHOST_SYS_FLEN(Handle) _Semihost_SYS_FLEN(0x0C, Handle)\r
+#define SEMIHOST_SYS_TMPNAME(TmpNameBlock) _Semihost_SYS_TMPNAME(0x0D, TmpNameBlock)\r
+#define SEMIHOST_SYS_REMOVE(RemoveBlock) _Semihost_SYS_REMOVE(0x0E, RemoveBlock)\r
+#define SEMIHOST_SYS_RENAME(RenameBlock) _Semihost_SYS_RENAME(0x0F, RenameBlock)\r
+#define SEMIHOST_SYS_SYSTEM(SystemBlock) _Semihost_SYS_SYSTEM(0x12, SystemBlock)\r
+\r
+#elif defined (__GNUC__) // __CC_ARM\r
\r
#define SEMIHOST_SUPPORTED TRUE\r
\r
UINT32\r
GccSemihostCall (\r
- IN UINT32 Operation,\r
- IN UINTN SystemBlockAddress\r
+ IN UINT32 Operation,\r
+ IN UINTN SystemBlockAddress\r
); // __attribute__ ((interrupt ("SVC")));\r
\r
-#define Semihost_SYS_OPEN(OpenBlock) GccSemihostCall(0x01, (UINTN)(OpenBlock))\r
-#define Semihost_SYS_CLOSE(Handle) GccSemihostCall(0x02, (UINTN)(Handle))\r
-#define Semihost_SYS_WRITE0(String) GccSemihostCall(0x04, (UINTN)(String))\r
-#define Semihost_SYS_WRITEC(Character) GccSemihostCall(0x03, (UINTN)(Character))\r
-#define Semihost_SYS_WRITE(WriteBlock) GccSemihostCall(0x05, (UINTN)(WriteBlock))\r
-#define Semihost_SYS_READ(ReadBlock) GccSemihostCall(0x06, (UINTN)(ReadBlock))\r
-#define Semihost_SYS_READC() GccSemihostCall(0x07, (UINTN)(0))\r
-#define Semihost_SYS_SEEK(SeekBlock) GccSemihostCall(0x0A, (UINTN)(SeekBlock))\r
-#define Semihost_SYS_FLEN(Handle) GccSemihostCall(0x0C, (UINTN)(Handle))\r
-#define Semihost_SYS_TMPNAME(TmpNameBlock) GccSemihostCall(0x0D, (UINTN)(TmpNameBlock))\r
-#define Semihost_SYS_REMOVE(RemoveBlock) GccSemihostCall(0x0E, (UINTN)(RemoveBlock))\r
-#define Semihost_SYS_RENAME(RenameBlock) GccSemihostCall(0x0F, (UINTN)(RenameBlock))\r
-#define Semihost_SYS_SYSTEM(SystemBlock) GccSemihostCall(0x12, (UINTN)(SystemBlock))\r
+#define SEMIHOST_SYS_OPEN(OpenBlock) GccSemihostCall(0x01, (UINTN)(OpenBlock))\r
+#define SEMIHOST_SYS_CLOSE(Handle) GccSemihostCall(0x02, (UINTN)(Handle))\r
+#define SEMIHOST_SYS_WRITE0(String) GccSemihostCall(0x04, (UINTN)(String))\r
+#define SEMIHOST_SYS_WRITEC(Character) GccSemihostCall(0x03, (UINTN)(Character))\r
+#define SEMIHOST_SYS_WRITE(WriteBlock) GccSemihostCall(0x05, (UINTN)(WriteBlock))\r
+#define SEMIHOST_SYS_READ(ReadBlock) GccSemihostCall(0x06, (UINTN)(ReadBlock))\r
+#define SEMIHOST_SYS_READC() GccSemihostCall(0x07, (UINTN)(0))\r
+#define SEMIHOST_SYS_SEEK(SeekBlock) GccSemihostCall(0x0A, (UINTN)(SeekBlock))\r
+#define SEMIHOST_SYS_FLEN(Handle) GccSemihostCall(0x0C, (UINTN)(Handle))\r
+#define SEMIHOST_SYS_TMPNAME(TmpNameBlock) GccSemihostCall(0x0D, (UINTN)(TmpNameBlock))\r
+#define SEMIHOST_SYS_REMOVE(RemoveBlock) GccSemihostCall(0x0E, (UINTN)(RemoveBlock))\r
+#define SEMIHOST_SYS_RENAME(RenameBlock) GccSemihostCall(0x0F, (UINTN)(RenameBlock))\r
+#define SEMIHOST_SYS_SYSTEM(SystemBlock) GccSemihostCall(0x12, (UINTN)(SystemBlock))\r
\r
#else // __CC_ARM\r
\r
#define SEMIHOST_SUPPORTED FALSE\r
\r
-#define Semihost_SYS_OPEN(OpenBlock) (-1)\r
-#define Semihost_SYS_CLOSE(Handle) (-1)\r
-#define Semihost_SYS_WRITE0(String)\r
-#define Semihost_SYS_WRITEC(Character)\r
-#define Semihost_SYS_WRITE(WriteBlock) (0)\r
-#define Semihost_SYS_READ(ReadBlock) ((ReadBlock)->Length)\r
-#define Semihost_SYS_READC() ('x')\r
-#define Semihost_SYS_SEEK(SeekBlock) (-1)\r
-#define Semihost_SYS_FLEN(Handle) (-1)\r
-#define Semihost_SYS_TMPNAME(TmpNameBlock) (-1)\r
-#define Semihost_SYS_REMOVE(RemoveBlock) (-1)\r
-#define Semihost_SYS_RENAME(RenameBlock) (-1)\r
-#define Semihost_SYS_SYSTEM(SystemBlock) (-1)\r
+#define SEMIHOST_SYS_OPEN(OpenBlock) (-1)\r
+#define SEMIHOST_SYS_CLOSE(Handle) (-1)\r
+#define SEMIHOST_SYS_WRITE0(String)\r
+#define SEMIHOST_SYS_WRITEC(Character)\r
+#define SEMIHOST_SYS_WRITE(WriteBlock) (0)\r
+#define SEMIHOST_SYS_READ(ReadBlock) ((ReadBlock)->Length)\r
+#define SEMIHOST_SYS_READC() ('x')\r
+#define SEMIHOST_SYS_SEEK(SeekBlock) (-1)\r
+#define SEMIHOST_SYS_FLEN(Handle) (-1)\r
+#define SEMIHOST_SYS_TMPNAME(TmpNameBlock) (-1)\r
+#define SEMIHOST_SYS_REMOVE(RemoveBlock) (-1)\r
+#define SEMIHOST_SYS_RENAME(RenameBlock) (-1)\r
+#define SEMIHOST_SYS_SYSTEM(SystemBlock) (-1)\r
\r
#endif // __CC_ARM\r
\r
-#endif //__SEMIHOST_PRIVATE_H__\r
+#endif // SEMIHOST_PRIVATE_H_\r