diff options
Diffstat (limited to 'MdePkg/Library/BaseIoLibIntrinsic/AArch64/ArmVirtMmio.asm')
-rw-r--r-- | MdePkg/Library/BaseIoLibIntrinsic/AArch64/ArmVirtMmio.asm | 298 |
1 files changed, 149 insertions, 149 deletions
diff --git a/MdePkg/Library/BaseIoLibIntrinsic/AArch64/ArmVirtMmio.asm b/MdePkg/Library/BaseIoLibIntrinsic/AArch64/ArmVirtMmio.asm index bd235a5dd4..847f783844 100644 --- a/MdePkg/Library/BaseIoLibIntrinsic/AArch64/ArmVirtMmio.asm +++ b/MdePkg/Library/BaseIoLibIntrinsic/AArch64/ArmVirtMmio.asm @@ -1,149 +1,149 @@ -; -; 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 w0, [x0] - dmb ld - ret - -; -; 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 w1, [x0] - ret - -; -; 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 w0, [x0] - dmb ld - ret - -; -; 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 w1, [x0] - ret - -; -; 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 w0, [x0] - dmb ld - ret - -; -; 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 w1, [x0] - ret - -; -; 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 - ldr x0, [x0] - dmb ld - ret - -; -; 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 - str x1, [x0] - ret - - END +;
+; 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 w0, [x0]
+ dmb ld
+ ret
+
+;
+; 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 w1, [x0]
+ ret
+
+;
+; 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 w0, [x0]
+ dmb ld
+ ret
+
+;
+; 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 w1, [x0]
+ ret
+
+;
+; 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 w0, [x0]
+ dmb ld
+ ret
+
+;
+; 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 w1, [x0]
+ ret
+
+;
+; 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
+ ldr x0, [x0]
+ dmb ld
+ ret
+
+;
+; 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
+ str x1, [x0]
+ ret
+
+ END
|