]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ArmPkg/Filesystem/SemihostFs/Arm/SemihostFs.c
ArmPkg: Apply uncrustify changes
[mirror_edk2.git] / ArmPkg / Filesystem / SemihostFs / Arm / SemihostFs.c
index c5036b7b5c708f183185dfa9de94fb775903320d..39a30533ee5778b48d7b4f81a85f27be912277ef 100644 (file)
 \r
 #include "SemihostFs.h"\r
 \r
-#define DEFAULT_SEMIHOST_FS_LABEL   L"SemihostFs"\r
+#define DEFAULT_SEMIHOST_FS_LABEL  L"SemihostFs"\r
 \r
-STATIC CHAR16 *mSemihostFsLabel;\r
+STATIC CHAR16  *mSemihostFsLabel;\r
 \r
-EFI_SIMPLE_FILE_SYSTEM_PROTOCOL gSemihostFs = {\r
+EFI_SIMPLE_FILE_SYSTEM_PROTOCOL  gSemihostFs = {\r
   EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_REVISION,\r
   VolumeOpen\r
 };\r
 \r
-EFI_FILE gSemihostFsFile = {\r
+EFI_FILE  gSemihostFsFile = {\r
   EFI_FILE_PROTOCOL_REVISION,\r
   FileOpen,\r
   FileClose,\r
@@ -54,43 +54,45 @@ EFI_FILE gSemihostFsFile = {
 // Device path for semi-hosting. It contains our auto-generated Caller ID GUID.\r
 //\r
 typedef struct {\r
-  VENDOR_DEVICE_PATH        Guid;\r
-  EFI_DEVICE_PATH_PROTOCOL  End;\r
+  VENDOR_DEVICE_PATH          Guid;\r
+  EFI_DEVICE_PATH_PROTOCOL    End;\r
 } SEMIHOST_DEVICE_PATH;\r
 \r
-SEMIHOST_DEVICE_PATH gDevicePath = {\r
+SEMIHOST_DEVICE_PATH  gDevicePath = {\r
   {\r
-    { HARDWARE_DEVICE_PATH, HW_VENDOR_DP, { sizeof (VENDOR_DEVICE_PATH), 0 } },\r
+    { HARDWARE_DEVICE_PATH, HW_VENDOR_DP,                   { sizeof (VENDOR_DEVICE_PATH),       0 }\r
+    },\r
     EFI_CALLER_ID_GUID\r
   },\r
-  { END_DEVICE_PATH_TYPE, END_ENTIRE_DEVICE_PATH_SUBTYPE, { sizeof (EFI_DEVICE_PATH_PROTOCOL), 0 } }\r
+  { END_DEVICE_PATH_TYPE, END_ENTIRE_DEVICE_PATH_SUBTYPE, { sizeof (EFI_DEVICE_PATH_PROTOCOL), 0 }\r
+  }\r
 };\r
 \r
 typedef struct {\r
-  LIST_ENTRY    Link;\r
-  UINT64        Signature;\r
-  EFI_FILE      File;\r
-  CHAR8         *FileName;\r
-  UINT64        OpenMode;\r
-  UINT32        Position;\r
-  UINTN         SemihostHandle;\r
-  BOOLEAN       IsRoot;\r
-  EFI_FILE_INFO Info;\r
+  LIST_ENTRY       Link;\r
+  UINT64           Signature;\r
+  EFI_FILE         File;\r
+  CHAR8            *FileName;\r
+  UINT64           OpenMode;\r
+  UINT32           Position;\r
+  UINTN            SemihostHandle;\r
+  BOOLEAN          IsRoot;\r
+  EFI_FILE_INFO    Info;\r
 } SEMIHOST_FCB;\r
 \r
-#define SEMIHOST_FCB_SIGNATURE      SIGNATURE_32( 'S', 'H', 'F', 'C' )\r
-#define SEMIHOST_FCB_FROM_THIS(a)   CR(a, SEMIHOST_FCB, File, SEMIHOST_FCB_SIGNATURE)\r
-#define SEMIHOST_FCB_FROM_LINK(a)   CR(a, SEMIHOST_FCB, Link, SEMIHOST_FCB_SIGNATURE);\r
+#define SEMIHOST_FCB_SIGNATURE  SIGNATURE_32( 'S', 'H', 'F', 'C' )\r
+#define SEMIHOST_FCB_FROM_THIS(a)  CR(a, SEMIHOST_FCB, File, SEMIHOST_FCB_SIGNATURE)\r
+#define SEMIHOST_FCB_FROM_LINK(a)  CR(a, SEMIHOST_FCB, Link, SEMIHOST_FCB_SIGNATURE);\r
 \r
 EFI_HANDLE  gInstallHandle = NULL;\r
-LIST_ENTRY  gFileList = INITIALIZE_LIST_HEAD_VARIABLE (gFileList);\r
+LIST_ENTRY  gFileList      = INITIALIZE_LIST_HEAD_VARIABLE (gFileList);\r
 \r
 SEMIHOST_FCB *\r
 AllocateFCB (\r
   VOID\r
   )\r
 {\r
-  SEMIHOST_FCB *Fcb;\r
+  SEMIHOST_FCB  *Fcb;\r
 \r
   Fcb = AllocateZeroPool (sizeof (SEMIHOST_FCB));\r
   if (Fcb != NULL) {\r
@@ -103,7 +105,7 @@ AllocateFCB (
 \r
 VOID\r
 FreeFCB (\r
-  IN SEMIHOST_FCB *Fcb\r
+  IN SEMIHOST_FCB  *Fcb\r
   )\r
 {\r
   // Remove Fcb from gFileList.\r
@@ -115,15 +117,13 @@ FreeFCB (
   FreePool (Fcb);\r
 }\r
 \r
-\r
-\r
 EFI_STATUS\r
 VolumeOpen (\r
-  IN  EFI_SIMPLE_FILE_SYSTEM_PROTOCOL *This,\r
-  OUT EFI_FILE                        **Root\r
+  IN  EFI_SIMPLE_FILE_SYSTEM_PROTOCOL  *This,\r
+  OUT EFI_FILE                         **Root\r
   )\r
 {\r
-  SEMIHOST_FCB *RootFcb;\r
+  SEMIHOST_FCB  *RootFcb;\r
 \r
   if (Root == NULL) {\r
     return EFI_INVALID_PARAMETER;\r
@@ -134,7 +134,7 @@ VolumeOpen (
     return EFI_OUT_OF_RESOURCES;\r
   }\r
 \r
-  RootFcb->IsRoot = TRUE;\r
+  RootFcb->IsRoot         = TRUE;\r
   RootFcb->Info.Attribute = EFI_FILE_READ_ONLY | EFI_FILE_DIRECTORY;\r
 \r
   InsertTailList (&gFileList, &RootFcb->Link);\r
@@ -191,29 +191,33 @@ FileOpen (
     return EFI_INVALID_PARAMETER;\r
   }\r
 \r
-  if ( (OpenMode != EFI_FILE_MODE_READ) &&\r
-       (OpenMode != (EFI_FILE_MODE_READ | EFI_FILE_MODE_WRITE)) &&\r
-       (OpenMode != (EFI_FILE_MODE_READ | EFI_FILE_MODE_WRITE | EFI_FILE_MODE_CREATE)) ) {\r
+  if ((OpenMode != EFI_FILE_MODE_READ) &&\r
+      (OpenMode != (EFI_FILE_MODE_READ | EFI_FILE_MODE_WRITE)) &&\r
+      (OpenMode != (EFI_FILE_MODE_READ | EFI_FILE_MODE_WRITE | EFI_FILE_MODE_CREATE)))\r
+  {\r
     return EFI_INVALID_PARAMETER;\r
   }\r
 \r
   if (((OpenMode & EFI_FILE_MODE_CREATE) != 0) &&\r
-      ((Attributes & EFI_FILE_DIRECTORY) != 0)) {\r
+      ((Attributes & EFI_FILE_DIRECTORY) != 0))\r
+  {\r
     return EFI_WRITE_PROTECTED;\r
   }\r
 \r
-  Length = StrLen (FileName) + 1;\r
+  Length        = StrLen (FileName) + 1;\r
   AsciiFileName = AllocatePool (Length);\r
   if (AsciiFileName == NULL) {\r
     return EFI_OUT_OF_RESOURCES;\r
   }\r
+\r
   UnicodeStrToAsciiStrS (FileName, AsciiFileName, Length);\r
 \r
   // Opening '/', '\', '.', or the NULL pathname is trying to open the root directory\r
   if ((AsciiStrCmp (AsciiFileName, "\\") == 0) ||\r
       (AsciiStrCmp (AsciiFileName, "/")  == 0) ||\r
       (AsciiStrCmp (AsciiFileName, "")   == 0) ||\r
-      (AsciiStrCmp (AsciiFileName, ".")  == 0)    ) {\r
+      (AsciiStrCmp (AsciiFileName, ".")  == 0))\r
+  {\r
     FreePool (AsciiFileName);\r
     return (VolumeOpen (&gSemihostFs, NewHandle));\r
   }\r
@@ -232,6 +236,7 @@ FileOpen (
   } else {\r
     SemihostMode = SEMIHOST_FILE_MODE_READ | SEMIHOST_FILE_MODE_BINARY | SEMIHOST_FILE_MODE_UPDATE;\r
   }\r
+\r
   Return = SemihostFileOpen (AsciiFileName, SemihostMode, &SemihostHandle);\r
 \r
   if (RETURN_ERROR (Return)) {\r
@@ -279,7 +284,7 @@ FileOpen (
   FileFcb->Info.FileSize     = Length;\r
   FileFcb->Info.PhysicalSize = Length;\r
   FileFcb->Info.Attribute    = ((OpenMode & EFI_FILE_MODE_CREATE) != 0) ?\r
-                                 Attributes : 0;\r
+                               Attributes : 0;\r
 \r
   InsertTailList (&gFileList, &FileFcb->Link);\r
 \r
@@ -308,7 +313,7 @@ STATIC
 EFI_STATUS\r
 TruncateFile (\r
   IN CHAR8  *FileName,\r
-  IN UINTN   Size\r
+  IN UINTN  Size\r
   )\r
 {\r
   EFI_STATUS     Status;\r
@@ -338,7 +343,7 @@ TruncateFile (
     goto Error;\r
   }\r
 \r
-  Read = 0;\r
+  Read      = 0;\r
   Remaining = Size;\r
   while (Remaining > 0) {\r
     ToRead = Remaining;\r
@@ -346,11 +351,12 @@ TruncateFile (
     if (RETURN_ERROR (Return)) {\r
       goto Error;\r
     }\r
+\r
     Remaining -= ToRead;\r
     Read      += ToRead;\r
   }\r
 \r
-  Return = SemihostFileClose (FileHandle);\r
+  Return     = SemihostFileClose (FileHandle);\r
   FileHandle = 0;\r
   if (RETURN_ERROR (Return)) {\r
     goto Error;\r
@@ -379,12 +385,12 @@ Error:
   if (FileHandle != 0) {\r
     SemihostFileClose (FileHandle);\r
   }\r
+\r
   if (Buffer != NULL) {\r
     FreePool (Buffer);\r
   }\r
 \r
   return (Status);\r
-\r
 }\r
 \r
 /**\r
@@ -402,13 +408,13 @@ FileClose (
   IN EFI_FILE  *This\r
   )\r
 {\r
-  SEMIHOST_FCB   *Fcb;\r
+  SEMIHOST_FCB  *Fcb;\r
 \r
   if (This == NULL) {\r
     return EFI_INVALID_PARAMETER;\r
   }\r
 \r
-  Fcb = SEMIHOST_FCB_FROM_THIS(This);\r
+  Fcb = SEMIHOST_FCB_FROM_THIS (This);\r
 \r
   if (!Fcb->IsRoot) {\r
     SemihostFileClose (Fcb->SemihostHandle);\r
@@ -420,6 +426,7 @@ FileClose (
     if (Fcb->Info.FileSize < Fcb->Info.PhysicalSize) {\r
       TruncateFile (Fcb->FileName, Fcb->Info.FileSize);\r
     }\r
+\r
     FreePool (Fcb->FileName);\r
   }\r
 \r
@@ -441,7 +448,7 @@ FileClose (
 **/\r
 EFI_STATUS\r
 FileDelete (\r
-  IN EFI_FILE *This\r
+  IN EFI_FILE  *This\r
   )\r
 {\r
   SEMIHOST_FCB   *Fcb;\r
@@ -471,6 +478,7 @@ FileDelete (
     if (RETURN_ERROR (Return)) {\r
       return EFI_WARN_DELETE_FAILURE;\r
     }\r
+\r
     return EFI_SUCCESS;\r
   } else {\r
     return EFI_WARN_DELETE_FAILURE;\r
@@ -566,14 +574,15 @@ ExtendFile (
   }\r
 \r
   Remaining = Size;\r
-  SetMem (WriteBuffer, 0, sizeof(WriteBuffer));\r
+  SetMem (WriteBuffer, 0, sizeof (WriteBuffer));\r
   while (Remaining > 0) {\r
-    WriteNb = MIN (Remaining, sizeof(WriteBuffer));\r
+    WriteNb   = MIN (Remaining, sizeof (WriteBuffer));\r
     WriteSize = WriteNb;\r
-    Return = SemihostFileWrite (Fcb->SemihostHandle, &WriteSize, WriteBuffer);\r
+    Return    = SemihostFileWrite (Fcb->SemihostHandle, &WriteSize, WriteBuffer);\r
     if (RETURN_ERROR (Return)) {\r
       return EFI_DEVICE_ERROR;\r
     }\r
+\r
     Remaining -= WriteNb;\r
   }\r
 \r
@@ -599,9 +608,9 @@ ExtendFile (
 **/\r
 EFI_STATUS\r
 FileWrite (\r
-  IN     EFI_FILE *This,\r
-  IN OUT UINTN    *BufferSize,\r
-  IN     VOID     *Buffer\r
+  IN     EFI_FILE  *This,\r
+  IN OUT UINTN     *BufferSize,\r
+  IN     VOID      *Buffer\r
   )\r
 {\r
   SEMIHOST_FCB   *Fcb;\r
@@ -617,8 +626,9 @@ FileWrite (
   Fcb = SEMIHOST_FCB_FROM_THIS (This);\r
 \r
   // We cannot write a read-only file\r
-  if ((Fcb->Info.Attribute & EFI_FILE_READ_ONLY)\r
-      || !(Fcb->OpenMode & EFI_FILE_MODE_WRITE)) {\r
+  if (  (Fcb->Info.Attribute & EFI_FILE_READ_ONLY)\r
+     || !(Fcb->OpenMode & EFI_FILE_MODE_WRITE))\r
+  {\r
     return EFI_ACCESS_DENIED;\r
   }\r
 \r
@@ -632,11 +642,12 @@ FileWrite (
     if (EFI_ERROR (Status)) {\r
       return Status;\r
     }\r
+\r
     Fcb->Info.FileSize = Fcb->Position;\r
   }\r
 \r
   WriteSize = *BufferSize;\r
-  Return = SemihostFileWrite (Fcb->SemihostHandle, &WriteSize, Buffer);\r
+  Return    = SemihostFileWrite (Fcb->SemihostHandle, &WriteSize, Buffer);\r
   if (RETURN_ERROR (Return)) {\r
     return EFI_DEVICE_ERROR;\r
   }\r
@@ -650,6 +661,7 @@ FileWrite (
   if (RETURN_ERROR (Return)) {\r
     return EFI_DEVICE_ERROR;\r
   }\r
+\r
   Fcb->Info.PhysicalSize = Length;\r
 \r
   return EFI_SUCCESS;\r
@@ -668,17 +680,17 @@ FileWrite (
 **/\r
 EFI_STATUS\r
 FileGetPosition (\r
-  IN  EFI_FILE    *This,\r
-  OUT UINT64      *Position\r
+  IN  EFI_FILE  *This,\r
+  OUT UINT64    *Position\r
   )\r
 {\r
-  SEMIHOST_FCB *Fcb;\r
+  SEMIHOST_FCB  *Fcb;\r
 \r
   if ((This == NULL) || (Position == NULL)) {\r
     return EFI_INVALID_PARAMETER;\r
   }\r
 \r
-  Fcb = SEMIHOST_FCB_FROM_THIS(This);\r
+  Fcb = SEMIHOST_FCB_FROM_THIS (This);\r
 \r
   *Position = Fcb->Position;\r
 \r
@@ -701,8 +713,8 @@ FileGetPosition (
 **/\r
 EFI_STATUS\r
 FileSetPosition (\r
-  IN EFI_FILE *This,\r
-  IN UINT64   Position\r
+  IN EFI_FILE  *This,\r
+  IN UINT64    Position\r
   )\r
 {\r
   SEMIHOST_FCB   *Fcb;\r
@@ -718,8 +730,7 @@ FileSetPosition (
     if (Position != 0) {\r
       return EFI_UNSUPPORTED;\r
     }\r
-  }\r
-  else {\r
+  } else {\r
     //\r
     // UEFI Spec section 12.5:\r
     // "Seeking to position 0xFFFFFFFFFFFFFFFF causes the current position to\r
@@ -728,6 +739,7 @@ FileSetPosition (
     if (Position == 0xFFFFFFFFFFFFFFFF) {\r
       Position = Fcb->Info.FileSize;\r
     }\r
+\r
     Return = SemihostFileSeek (Fcb->SemihostHandle, MIN (Position, Fcb->Info.FileSize));\r
     if (RETURN_ERROR (Return)) {\r
       return EFI_DEVICE_ERROR;\r
@@ -760,14 +772,14 @@ GetFileInfo (
   OUT    VOID          *Buffer\r
   )\r
 {\r
-  EFI_FILE_INFO   *Info;\r
-  UINTN           NameSize;\r
-  UINTN           ResultSize;\r
-  UINTN           Index;\r
+  EFI_FILE_INFO  *Info;\r
+  UINTN          NameSize;\r
+  UINTN          ResultSize;\r
+  UINTN          Index;\r
 \r
   if (Fcb->IsRoot) {\r
-    NameSize = 0;\r
-    ResultSize = SIZE_OF_EFI_FILE_INFO + sizeof(CHAR16);\r
+    NameSize   = 0;\r
+    ResultSize = SIZE_OF_EFI_FILE_INFO + sizeof (CHAR16);\r
   } else {\r
     NameSize   = AsciiStrLen (Fcb->FileName) + 1;\r
     ResultSize = SIZE_OF_EFI_FILE_INFO + NameSize * sizeof (CHAR16);\r
@@ -787,7 +799,7 @@ GetFileInfo (
   Info->Size = ResultSize;\r
 \r
   if (Fcb->IsRoot) {\r
-    Info->FileName[0]  = L'\0';\r
+    Info->FileName[0] = L'\0';\r
   } else {\r
     for (Index = 0; Index < NameSize; Index++) {\r
       Info->FileName[Index] = Fcb->FileName[Index];\r
@@ -818,9 +830,9 @@ GetFileInfo (
 STATIC\r
 EFI_STATUS\r
 GetFilesystemInfo (\r
-  IN     SEMIHOST_FCB *Fcb,\r
-  IN OUT UINTN        *BufferSize,\r
-  OUT    VOID         *Buffer\r
+  IN     SEMIHOST_FCB  *Fcb,\r
+  IN OUT UINTN         *BufferSize,\r
+  OUT    VOID          *Buffer\r
   )\r
 {\r
   EFI_FILE_SYSTEM_INFO  *Info;\r
@@ -882,18 +894,19 @@ FileGetInfo (
   OUT    VOID      *Buffer\r
   )\r
 {\r
-  SEMIHOST_FCB *Fcb;\r
-  EFI_STATUS   Status;\r
-  UINTN        ResultSize;\r
+  SEMIHOST_FCB  *Fcb;\r
+  EFI_STATUS    Status;\r
+  UINTN         ResultSize;\r
 \r
   if ((This == NULL)                         ||\r
       (InformationType == NULL)              ||\r
       (BufferSize == NULL)                   ||\r
-      ((Buffer == NULL) && (*BufferSize > 0))  ) {\r
+      ((Buffer == NULL) && (*BufferSize > 0)))\r
+  {\r
     return EFI_INVALID_PARAMETER;\r
   }\r
 \r
-  Fcb = SEMIHOST_FCB_FROM_THIS(This);\r
+  Fcb = SEMIHOST_FCB_FROM_THIS (This);\r
 \r
   if (CompareGuid (InformationType, &gEfiFileSystemInfoGuid)) {\r
     Status = GetFilesystemInfo (Fcb, BufferSize, Buffer);\r
@@ -963,11 +976,12 @@ SetFileInfo (
     return EFI_ACCESS_DENIED;\r
   }\r
 \r
-  Length = StrLen (Info->FileName) + 1;\r
+  Length        = StrLen (Info->FileName) + 1;\r
   AsciiFileName = AllocatePool (Length);\r
   if (AsciiFileName == NULL) {\r
     return EFI_OUT_OF_RESOURCES;\r
   }\r
+\r
   UnicodeStrToAsciiStrS (Info->FileName, AsciiFileName, Length);\r
 \r
   FileSizeIsDifferent = (Info->FileSize != Fcb->Info.FileSize);\r
@@ -985,7 +999,8 @@ SetFileInfo (
   // description.\r
   //\r
   if ((Fcb->OpenMode == EFI_FILE_MODE_READ)     ||\r
-      (Fcb->Info.Attribute & EFI_FILE_READ_ONLY)  ) {\r
+      (Fcb->Info.Attribute & EFI_FILE_READ_ONLY))\r
+  {\r
     if (FileSizeIsDifferent || FileNameIsDifferent || ReadOnlyIsDifferent) {\r
       Status = EFI_ACCESS_DENIED;\r
       goto Error;\r
@@ -1006,6 +1021,7 @@ SetFileInfo (
       if (EFI_ERROR (Status)) {\r
         goto Error;\r
       }\r
+\r
       //\r
       // The read/write position from the host file system point of view\r
       // is at the end of the file. If the position from this module\r
@@ -1016,12 +1032,14 @@ SetFileInfo (
         FileSetPosition (&Fcb->File, Fcb->Position);\r
       }\r
     }\r
+\r
     Fcb->Info.FileSize = FileSize;\r
 \r
     Return = SemihostFileLength (Fcb->SemihostHandle, &Length);\r
     if (RETURN_ERROR (Return)) {\r
       goto Error;\r
     }\r
+\r
     Fcb->Info.PhysicalSize = Length;\r
   }\r
 \r
@@ -1048,6 +1066,7 @@ SetFileInfo (
     if (RETURN_ERROR (Return)) {\r
       goto Error;\r
     }\r
+\r
     FreePool (Fcb->FileName);\r
     Fcb->FileName = AsciiFileName;\r
     AsciiFileName = NULL;\r
@@ -1119,19 +1138,24 @@ FileSetInfo (
     if (Info->Size < (SIZE_OF_EFI_FILE_INFO + StrSize (Info->FileName))) {\r
       return EFI_INVALID_PARAMETER;\r
     }\r
+\r
     if (BufferSize < Info->Size) {\r
       return EFI_BAD_BUFFER_SIZE;\r
     }\r
+\r
     return SetFileInfo (Fcb, Info);\r
   } else if (CompareGuid (InformationType, &gEfiFileSystemInfoGuid)) {\r
     SystemInfo = Buffer;\r
     if (SystemInfo->Size <\r
-        (SIZE_OF_EFI_FILE_SYSTEM_INFO + StrSize (SystemInfo->VolumeLabel))) {\r
+        (SIZE_OF_EFI_FILE_SYSTEM_INFO + StrSize (SystemInfo->VolumeLabel)))\r
+    {\r
       return EFI_INVALID_PARAMETER;\r
     }\r
+\r
     if (BufferSize < SystemInfo->Size) {\r
       return EFI_BAD_BUFFER_SIZE;\r
     }\r
+\r
     Buffer = SystemInfo->VolumeLabel;\r
 \r
     if (StrSize (Buffer) > 0) {\r
@@ -1155,18 +1179,19 @@ FileSetInfo (
 \r
 EFI_STATUS\r
 FileFlush (\r
-  IN EFI_FILE *File\r
+  IN EFI_FILE  *File\r
   )\r
 {\r
-  SEMIHOST_FCB *Fcb;\r
+  SEMIHOST_FCB  *Fcb;\r
 \r
-  Fcb = SEMIHOST_FCB_FROM_THIS(File);\r
+  Fcb = SEMIHOST_FCB_FROM_THIS (File);\r
 \r
   if (Fcb->IsRoot) {\r
     return EFI_SUCCESS;\r
   } else {\r
-    if ((Fcb->Info.Attribute & EFI_FILE_READ_ONLY)\r
-        || !(Fcb->OpenMode & EFI_FILE_MODE_WRITE)) {\r
+    if (  (Fcb->Info.Attribute & EFI_FILE_READ_ONLY)\r
+       || !(Fcb->OpenMode & EFI_FILE_MODE_WRITE))\r
+    {\r
       return EFI_ACCESS_DENIED;\r
     } else {\r
       return EFI_SUCCESS;\r
@@ -1176,11 +1201,11 @@ FileFlush (
 \r
 EFI_STATUS\r
 SemihostFsEntryPoint (\r
-  IN EFI_HANDLE           ImageHandle,\r
-  IN EFI_SYSTEM_TABLE     *SystemTable\r
+  IN EFI_HANDLE        ImageHandle,\r
+  IN EFI_SYSTEM_TABLE  *SystemTable\r
   )\r
 {\r
-  EFI_STATUS    Status;\r
+  EFI_STATUS  Status;\r
 \r
   Status = EFI_NOT_FOUND;\r
 \r
@@ -1192,12 +1217,14 @@ SemihostFsEntryPoint (
 \r
     Status = gBS->InstallMultipleProtocolInterfaces (\r
                     &gInstallHandle,\r
-                    &gEfiSimpleFileSystemProtocolGuid, &gSemihostFs,\r
-                    &gEfiDevicePathProtocolGuid,       &gDevicePath,\r
+                    &gEfiSimpleFileSystemProtocolGuid,\r
+                    &gSemihostFs,\r
+                    &gEfiDevicePathProtocolGuid,\r
+                    &gDevicePath,\r
                     NULL\r
                     );\r
 \r
-    if (EFI_ERROR(Status)) {\r
+    if (EFI_ERROR (Status)) {\r
       FreePool (mSemihostFsLabel);\r
     }\r
   }\r