2 # Copyright (c) 2014-2018, Linaro Limited. All rights reserved.
4 # This program and the accompanying materials are licensed and made available
5 # under the terms and conditions of the BSD License which accompanies this
6 # distribution. The full text of the license may be found at
7 # http://opensource.org/licenses/bsd-license.php
9 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
14 GCC_ASM_EXPORT(MmioRead8Internal)
15 GCC_ASM_EXPORT(MmioWrite8Internal)
16 GCC_ASM_EXPORT(MmioRead16Internal)
17 GCC_ASM_EXPORT(MmioWrite16Internal)
18 GCC_ASM_EXPORT(MmioRead32Internal)
19 GCC_ASM_EXPORT(MmioWrite32Internal)
20 GCC_ASM_EXPORT(MmioRead64Internal)
21 GCC_ASM_EXPORT(MmioWrite64Internal)
24 // Reads an 8-bit MMIO register.
26 // Reads the 8-bit MMIO register specified by Address. The 8-bit read value is
27 // returned. This function must guarantee that all MMIO read and write
28 // operations are serialized.
30 // @param Address The MMIO register to read.
32 // @return The value read.
34 ASM_PFX(MmioRead8Internal):
40 // Writes an 8-bit MMIO register.
42 // Writes the 8-bit MMIO register specified by Address with the value specified
43 // by Value and returns Value. This function must guarantee that all MMIO read
44 // and write operations are serialized.
46 // @param Address The MMIO register to write.
47 // @param Value The value to write to the MMIO register.
49 ASM_PFX(MmioWrite8Internal):
55 // Reads a 16-bit MMIO register.
57 // Reads the 16-bit MMIO register specified by Address. The 16-bit read value is
58 // returned. This function must guarantee that all MMIO read and write
59 // operations are serialized.
61 // @param Address The MMIO register to read.
63 // @return The value read.
65 ASM_PFX(MmioRead16Internal):
71 // Writes a 16-bit MMIO register.
73 // Writes the 16-bit MMIO register specified by Address with the value specified
74 // by Value and returns Value. This function must guarantee that all MMIO read
75 // and write operations are serialized.
77 // @param Address The MMIO register to write.
78 // @param Value The value to write to the MMIO register.
80 ASM_PFX(MmioWrite16Internal):
86 // Reads a 32-bit MMIO register.
88 // Reads the 32-bit MMIO register specified by Address. The 32-bit read value is
89 // returned. This function must guarantee that all MMIO read and write
90 // operations are serialized.
92 // @param Address The MMIO register to read.
94 // @return The value read.
96 ASM_PFX(MmioRead32Internal):
102 // Writes a 32-bit MMIO register.
104 // Writes the 32-bit MMIO register specified by Address with the value specified
105 // by Value and returns Value. This function must guarantee that all MMIO read
106 // and write operations are serialized.
108 // @param Address The MMIO register to write.
109 // @param Value The value to write to the MMIO register.
111 ASM_PFX(MmioWrite32Internal):
117 // Reads a 64-bit MMIO register.
119 // Reads the 64-bit MMIO register specified by Address. The 64-bit read value is
120 // returned. This function must guarantee that all MMIO read and write
121 // operations are serialized.
123 // @param Address The MMIO register to read.
125 // @return The value read.
127 ASM_PFX(MmioRead64Internal):
134 // Writes a 64-bit MMIO register.
136 // Writes the 64-bit MMIO register specified by Address with the value specified
137 // by Value and returns Value. This function must guarantee that all MMIO read
138 // and write operations are serialized.
140 // @param Address The MMIO register to write.
141 // @param Value The value to write to the MMIO register.
143 ASM_PFX(MmioWrite64Internal):