2 # Copyright (c) 2014-2018, Linaro Limited. All rights reserved.
4 # SPDX-License-Identifier: BSD-2-Clause-Patent
8 GCC_ASM_EXPORT(MmioRead8Internal)
9 GCC_ASM_EXPORT(MmioWrite8Internal)
10 GCC_ASM_EXPORT(MmioRead16Internal)
11 GCC_ASM_EXPORT(MmioWrite16Internal)
12 GCC_ASM_EXPORT(MmioRead32Internal)
13 GCC_ASM_EXPORT(MmioWrite32Internal)
14 GCC_ASM_EXPORT(MmioRead64Internal)
15 GCC_ASM_EXPORT(MmioWrite64Internal)
18 // Reads an 8-bit MMIO register.
20 // Reads the 8-bit MMIO register specified by Address. The 8-bit read value is
21 // returned. This function must guarantee that all MMIO read and write
22 // operations are serialized.
24 // @param Address The MMIO register to read.
26 // @return The value read.
28 ASM_PFX(MmioRead8Internal):
34 // Writes an 8-bit MMIO register.
36 // Writes the 8-bit MMIO register specified by Address with the value specified
37 // by Value and returns Value. This function must guarantee that all MMIO read
38 // and write operations are serialized.
40 // @param Address The MMIO register to write.
41 // @param Value The value to write to the MMIO register.
43 ASM_PFX(MmioWrite8Internal):
49 // Reads a 16-bit MMIO register.
51 // Reads the 16-bit MMIO register specified by Address. The 16-bit read value is
52 // returned. This function must guarantee that all MMIO read and write
53 // operations are serialized.
55 // @param Address The MMIO register to read.
57 // @return The value read.
59 ASM_PFX(MmioRead16Internal):
65 // Writes a 16-bit MMIO register.
67 // Writes the 16-bit MMIO register specified by Address with the value specified
68 // by Value and returns Value. This function must guarantee that all MMIO read
69 // and write operations are serialized.
71 // @param Address The MMIO register to write.
72 // @param Value The value to write to the MMIO register.
74 ASM_PFX(MmioWrite16Internal):
80 // Reads a 32-bit MMIO register.
82 // Reads the 32-bit MMIO register specified by Address. The 32-bit read value is
83 // returned. This function must guarantee that all MMIO read and write
84 // operations are serialized.
86 // @param Address The MMIO register to read.
88 // @return The value read.
90 ASM_PFX(MmioRead32Internal):
96 // Writes a 32-bit MMIO register.
98 // Writes the 32-bit MMIO register specified by Address with the value specified
99 // by Value and returns Value. This function must guarantee that all MMIO read
100 // and write operations are serialized.
102 // @param Address The MMIO register to write.
103 // @param Value The value to write to the MMIO register.
105 ASM_PFX(MmioWrite32Internal):
111 // Reads a 64-bit MMIO register.
113 // Reads the 64-bit MMIO register specified by Address. The 64-bit read value is
114 // returned. This function must guarantee that all MMIO read and write
115 // operations are serialized.
117 // @param Address The MMIO register to read.
119 // @return The value read.
121 ASM_PFX(MmioRead64Internal):
128 // Writes a 64-bit MMIO register.
130 // Writes the 64-bit MMIO register specified by Address with the value specified
131 // by Value and returns Value. This function must guarantee that all MMIO read
132 // and write operations are serialized.
134 // @param Address The MMIO register to write.
135 // @param Value The value to write to the MMIO register.
137 ASM_PFX(MmioWrite64Internal):