ASM_TCHAR := %
ASM_TCHAR_OPS := %%
-# ARM-specific directories containing source files
-#
-SRCDIRS += arch/arm/core
-SRCDIRS += arch/arm/libgcc
-SRCDIRS += arch/arm/interface/efi
-
-# ARM-specific flags
+# Include common ARM headers
#
-CFLAGS += -mthumb -mcpu=cortex-a15 -mabi=aapcs -mfloat-abi=soft
-CFLAGS += -mword-relocations
-ASFLAGS += -mthumb -mcpu=cortex-a15
+INCDIRS += arch/arm/include
-# EFI requires -fshort-wchar, and nothing else currently uses wchar_t
-#
-CFLAGS += -fshort-wchar
-
-# Include platform-specific Makefile
+# ARM-specific directories containing source files
#
-MAKEDEPS += arch/arm/Makefile.$(PLATFORM)
-include arch/arm/Makefile.$(PLATFORM)
+SRCDIRS += arch/arm/interface/efi
*/
/** An ARM I/O qword */
-union arm_io_qword {
+union arm32_io_qword {
uint64_t qword;
uint32_t dword[2];
};
* @v io_addr I/O address
* @ret data Value read
*
- * This is not atomic for ARM.
+ * This is not atomic for ARM32.
*/
-static uint64_t arm_readq ( volatile uint64_t *io_addr ) {
- volatile union arm_io_qword *ptr =
- container_of ( io_addr, union arm_io_qword, qword );
- union arm_io_qword tmp;
+static uint64_t arm32_readq ( volatile uint64_t *io_addr ) {
+ volatile union arm32_io_qword *ptr =
+ container_of ( io_addr, union arm32_io_qword, qword );
+ union arm32_io_qword tmp;
tmp.dword[0] = readl ( &ptr->dword[0] );
tmp.dword[1] = readl ( &ptr->dword[1] );
* @v data Value to write
* @v io_addr I/O address
*
- * This is not atomic for ARM.
+ * This is not atomic for ARM32.
*/
-static void arm_writeq ( uint64_t data, volatile uint64_t *io_addr ) {
- volatile union arm_io_qword *ptr =
- container_of ( io_addr, union arm_io_qword, qword );
- union arm_io_qword tmp;
+static void arm32_writeq ( uint64_t data, volatile uint64_t *io_addr ) {
+ volatile union arm32_io_qword *ptr =
+ container_of ( io_addr, union arm32_io_qword, qword );
+ union arm32_io_qword tmp;
tmp.qword = data;
writel ( tmp.dword[0], &ptr->dword[0] );
PROVIDE_IOAPI_INLINE ( arm, writel );
PROVIDE_IOAPI_INLINE ( arm, iodelay );
PROVIDE_IOAPI_INLINE ( arm, mb );
-PROVIDE_IOAPI ( arm, readq, arm_readq );
-PROVIDE_IOAPI ( arm, writeq, arm_writeq );
+PROVIDE_IOAPI ( arm, readq, arm32_readq );
+PROVIDE_IOAPI ( arm, writeq, arm32_writeq );
--- /dev/null
+# ARM32-specific directories containing source files
+#
+SRCDIRS += arch/arm32/core
+SRCDIRS += arch/arm32/libgcc
+
+# ARM32-specific flags
+#
+CFLAGS += -mthumb -mcpu=cortex-a15 -mabi=aapcs -mfloat-abi=soft
+CFLAGS += -mword-relocations
+ASFLAGS += -mthumb -mcpu=cortex-a15
+
+# EFI requires -fshort-wchar, and nothing else currently uses wchar_t
+#
+CFLAGS += -fshort-wchar
+
+# Include common ARM Makefile
+MAKEDEPS += arch/arm/Makefile
+include arch/arm/Makefile
+
+# Include platform-specific Makefile
+#
+MAKEDEPS += arch/arm32/Makefile.$(PLATFORM)
+include arch/arm32/Makefile.$(PLATFORM)