-;
-; Copyright (c) 2014-2018, Linaro Limited. All rights reserved.
-;
-; This program and the accompanying materials are licensed and made available
-; under the terms and conditions of the BSD License which accompanies this
-; distribution. The full text of the license may be found at
-; http:;opensource.org/licenses/bsd-license.php
-;
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-;
-
-
-AREA IoLibMmio, CODE, READONLY
-
-EXPORT MmioRead8Internal
-EXPORT MmioWrite8Internal
-EXPORT MmioRead16Internal
-EXPORT MmioWrite16Internal
-EXPORT MmioRead32Internal
-EXPORT MmioWrite32Internal
-EXPORT MmioRead64Internal
-EXPORT MmioWrite64Internal
-
-;
-; Reads an 8-bit MMIO register.
-;
-; Reads the 8-bit MMIO register specified by Address. The 8-bit read value is
-; returned. This function must guarantee that all MMIO read and write
-; operations are serialized.
-;
-; @param Address The MMIO register to read.
-;
-; @return The value read.
-;
-MmioRead8Internal
- ldrb r0, [r0]
- dmb
- bx lr
-
-;
-; Writes an 8-bit MMIO register.
-;
-; Writes the 8-bit MMIO register specified by Address with the value specified
-; by Value and returns Value. This function must guarantee that all MMIO read
-; and write operations are serialized.
-;
-; @param Address The MMIO register to write.
-; @param Value The value to write to the MMIO register.
-;
-MmioWrite8Internal
- dmb st
- strb r1, [r0]
- bx lr
-
-;
-; Reads a 16-bit MMIO register.
-;
-; Reads the 16-bit MMIO register specified by Address. The 16-bit read value is
-; returned. This function must guarantee that all MMIO read and write
-; operations are serialized.
-;
-; @param Address The MMIO register to read.
-;
-; @return The value read.
-;
-MmioRead16Internal
- ldrh r0, [r0]
- dmb
- bx lr
-
-;
-; Writes a 16-bit MMIO register.
-;
-; Writes the 16-bit MMIO register specified by Address with the value specified
-; by Value and returns Value. This function must guarantee that all MMIO read
-; and write operations are serialized.
-;
-; @param Address The MMIO register to write.
-; @param Value The value to write to the MMIO register.
-;
-MmioWrite16Internal
- dmb st
- strh r1, [r0]
- bx lr
-
-;
-; Reads a 32-bit MMIO register.
-;
-; Reads the 32-bit MMIO register specified by Address. The 32-bit read value is
-; returned. This function must guarantee that all MMIO read and write
-; operations are serialized.
-;
-; @param Address The MMIO register to read.
-;
-; @return The value read.
-;
-MmioRead32Internal
- ldr r0, [r0]
- dmb
- bx lr
-
-;
-; Writes a 32-bit MMIO register.
-;
-; Writes the 32-bit MMIO register specified by Address with the value specified
-; by Value and returns Value. This function must guarantee that all MMIO read
-; and write operations are serialized.
-;
-; @param Address The MMIO register to write.
-; @param Value The value to write to the MMIO register.
-;
-MmioWrite32Internal
- dmb st
- str r1, [r0]
- bx lr
-
-;
-; Reads a 64-bit MMIO register.
-;
-; Reads the 64-bit MMIO register specified by Address. The 64-bit read value is
-; returned. This function must guarantee that all MMIO read and write
-; operations are serialized.
-;
-; @param Address The MMIO register to read.
-;
-; @return The value read.
-;
-MmioRead64Internal
- ldrd r0, r1, [r0]
- dmb
- bx lr
-
-;
-; Writes a 64-bit MMIO register.
-;
-; Writes the 64-bit MMIO register specified by Address with the value specified
-; by Value and returns Value. This function must guarantee that all MMIO read
-; and write operations are serialized.
-;
-; @param Address The MMIO register to write.
-; @param Value The value to write to the MMIO register.
-;
-MmioWrite64Internal
- dmb st
- strd r2, r3, [r0]
- bx lr
-
- END
+;\r
+; Copyright (c) 2014-2018, Linaro Limited. All rights reserved.\r
+;\r
+; This program and the accompanying materials are licensed and made available\r
+; under the terms and conditions of the BSD License which accompanies this\r
+; distribution. The full text of the license may be found at\r
+; http:;opensource.org/licenses/bsd-license.php\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+\r
+\r
+AREA IoLibMmio, CODE, READONLY\r
+\r
+EXPORT MmioRead8Internal\r
+EXPORT MmioWrite8Internal\r
+EXPORT MmioRead16Internal\r
+EXPORT MmioWrite16Internal\r
+EXPORT MmioRead32Internal\r
+EXPORT MmioWrite32Internal\r
+EXPORT MmioRead64Internal\r
+EXPORT MmioWrite64Internal\r
+\r
+;\r
+; Reads an 8-bit MMIO register.\r
+;\r
+; Reads the 8-bit MMIO register specified by Address. The 8-bit read value is\r
+; returned. This function must guarantee that all MMIO read and write\r
+; operations are serialized.\r
+;\r
+; @param Address The MMIO register to read.\r
+;\r
+; @return The value read.\r
+;\r
+MmioRead8Internal\r
+ ldrb r0, [r0]\r
+ dmb\r
+ bx lr\r
+\r
+;\r
+; Writes an 8-bit MMIO register.\r
+;\r
+; Writes the 8-bit MMIO register specified by Address with the value specified\r
+; by Value and returns Value. This function must guarantee that all MMIO read\r
+; and write operations are serialized.\r
+;\r
+; @param Address The MMIO register to write.\r
+; @param Value The value to write to the MMIO register.\r
+;\r
+MmioWrite8Internal\r
+ dmb st\r
+ strb r1, [r0]\r
+ bx lr\r
+\r
+;\r
+; Reads a 16-bit MMIO register.\r
+;\r
+; Reads the 16-bit MMIO register specified by Address. The 16-bit read value is\r
+; returned. This function must guarantee that all MMIO read and write\r
+; operations are serialized.\r
+;\r
+; @param Address The MMIO register to read.\r
+;\r
+; @return The value read.\r
+;\r
+MmioRead16Internal\r
+ ldrh r0, [r0]\r
+ dmb\r
+ bx lr\r
+\r
+;\r
+; Writes a 16-bit MMIO register.\r
+;\r
+; Writes the 16-bit MMIO register specified by Address with the value specified\r
+; by Value and returns Value. This function must guarantee that all MMIO read\r
+; and write operations are serialized.\r
+;\r
+; @param Address The MMIO register to write.\r
+; @param Value The value to write to the MMIO register.\r
+;\r
+MmioWrite16Internal\r
+ dmb st\r
+ strh r1, [r0]\r
+ bx lr\r
+\r
+;\r
+; Reads a 32-bit MMIO register.\r
+;\r
+; Reads the 32-bit MMIO register specified by Address. The 32-bit read value is\r
+; returned. This function must guarantee that all MMIO read and write\r
+; operations are serialized.\r
+;\r
+; @param Address The MMIO register to read.\r
+;\r
+; @return The value read.\r
+;\r
+MmioRead32Internal\r
+ ldr r0, [r0]\r
+ dmb\r
+ bx lr\r
+\r
+;\r
+; Writes a 32-bit MMIO register.\r
+;\r
+; Writes the 32-bit MMIO register specified by Address with the value specified\r
+; by Value and returns Value. This function must guarantee that all MMIO read\r
+; and write operations are serialized.\r
+;\r
+; @param Address The MMIO register to write.\r
+; @param Value The value to write to the MMIO register.\r
+;\r
+MmioWrite32Internal\r
+ dmb st\r
+ str r1, [r0]\r
+ bx lr\r
+\r
+;\r
+; Reads a 64-bit MMIO register.\r
+;\r
+; Reads the 64-bit MMIO register specified by Address. The 64-bit read value is\r
+; returned. This function must guarantee that all MMIO read and write\r
+; operations are serialized.\r
+;\r
+; @param Address The MMIO register to read.\r
+;\r
+; @return The value read.\r
+;\r
+MmioRead64Internal\r
+ ldrd r0, r1, [r0]\r
+ dmb\r
+ bx lr\r
+\r
+;\r
+; Writes a 64-bit MMIO register.\r
+;\r
+; Writes the 64-bit MMIO register specified by Address with the value specified\r
+; by Value and returns Value. This function must guarantee that all MMIO read\r
+; and write operations are serialized.\r
+;\r
+; @param Address The MMIO register to write.\r
+; @param Value The value to write to the MMIO register.\r
+;\r
+MmioWrite64Internal\r
+ dmb st\r
+ strd r2, r3, [r0]\r
+ bx lr\r
+\r
+ END\r