summaryrefslogtreecommitdiff
path: root/src/arch
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch')
-rw-r--r--src/arch/arm/Kconfig (renamed from src/arch/armv7/Kconfig)10
-rw-r--r--src/arch/arm/Makefile.inc (renamed from src/arch/armv7/Makefile.inc)60
-rw-r--r--src/arch/arm/armv7/Kconfig11
-rw-r--r--src/arch/arm/armv7/Makefile.inc71
-rw-r--r--src/arch/arm/armv7/bootblock.S (renamed from src/arch/armv7/bootblock.S)0
-rw-r--r--src/arch/arm/armv7/bootblock_simple.c (renamed from src/arch/armv7/bootblock_simple.c)2
-rw-r--r--src/arch/arm/armv7/cache.c (renamed from src/arch/armv7/cache.c)2
-rw-r--r--src/arch/arm/armv7/exception.c (renamed from src/arch/armv7/exception.c)0
-rw-r--r--src/arch/arm/armv7/exception_asm.S (renamed from src/arch/armv7/exception_asm.S)0
-rw-r--r--src/arch/arm/armv7/mmu.c (renamed from src/arch/armv7/mmu.c)0
-rw-r--r--src/arch/arm/armv7/thread.c (renamed from src/arch/armv7/thread.c)0
-rw-r--r--src/arch/arm/boot.c (renamed from src/arch/armv7/boot.c)0
-rw-r--r--src/arch/arm/bootblock.ld (renamed from src/arch/armv7/bootblock.ld)0
-rw-r--r--src/arch/arm/cpu.c (renamed from src/arch/armv7/cpu.c)0
-rw-r--r--src/arch/arm/div0.c (renamed from src/arch/armv7/div0.c)0
-rw-r--r--src/arch/arm/eabi_compat.c (renamed from src/arch/armv7/eabi_compat.c)0
-rw-r--r--src/arch/arm/id.S (renamed from src/arch/armv7/id.S)0
-rw-r--r--src/arch/arm/include/arch/boot/boot.h (renamed from src/arch/armv7/include/arch/boot/boot.h)0
-rw-r--r--src/arch/arm/include/arch/byteorder.h (renamed from src/arch/armv7/include/arch/byteorder.h)0
-rw-r--r--src/arch/arm/include/arch/early_variables.h (renamed from src/arch/armv7/include/arch/early_variables.h)0
-rw-r--r--src/arch/arm/include/arch/exception.h (renamed from src/arch/armv7/include/arch/exception.h)0
-rw-r--r--src/arch/arm/include/arch/hlt.h (renamed from src/arch/armv7/include/arch/hlt.h)0
-rw-r--r--src/arch/arm/include/arch/io.h (renamed from src/arch/armv7/include/arch/io.h)43
-rw-r--r--src/arch/arm/include/arch/pci_ops.h (renamed from src/arch/armv7/include/arch/pci_ops.h)4
-rw-r--r--src/arch/arm/include/arch/stages.h (renamed from src/arch/armv7/include/arch/stages.h)2
-rw-r--r--src/arch/arm/include/armv7.h (renamed from src/arch/armv7/include/armv7.h)0
-rw-r--r--src/arch/arm/include/armv7/arch/arch_io.h68
-rw-r--r--src/arch/arm/include/armv7/arch/cache.h (renamed from src/arch/armv7/include/arch/cache.h)12
-rw-r--r--src/arch/arm/include/armv7/arch/cpu.h (renamed from src/arch/armv7/include/arch/cpu.h)0
-rw-r--r--src/arch/arm/include/armv7/arch/types.h (renamed from src/arch/armv7/include/arch/types.h)0
-rw-r--r--src/arch/arm/include/assembler.h (renamed from src/arch/armv7/include/assembler.h)0
-rw-r--r--src/arch/arm/include/bootblock_common.h (renamed from src/arch/armv7/include/bootblock_common.h)0
-rw-r--r--src/arch/arm/include/clocks.h (renamed from src/arch/armv7/include/clocks.h)0
-rw-r--r--src/arch/arm/include/smp/spinlock.h (renamed from src/arch/armv7/include/smp/spinlock.h)0
-rw-r--r--src/arch/arm/include/stdint.h (renamed from src/arch/armv7/include/stdint.h)0
-rw-r--r--src/arch/arm/include/utils.h (renamed from src/arch/armv7/include/utils.h)0
-rw-r--r--src/arch/arm/memcpy.S (renamed from src/arch/armv7/memcpy.S)0
-rw-r--r--src/arch/arm/memmove.S (renamed from src/arch/armv7/memmove.S)0
-rw-r--r--src/arch/arm/memset.S (renamed from src/arch/armv7/memset.S)0
-rw-r--r--src/arch/arm/ramstage.ld (renamed from src/arch/armv7/ramstage.ld)2
-rw-r--r--src/arch/arm/romstage.ld (renamed from src/arch/armv7/romstage.ld)2
-rw-r--r--src/arch/arm/stages.c (renamed from src/arch/armv7/stages.c)0
-rw-r--r--src/arch/arm/tables.c (renamed from src/arch/armv7/tables.c)0
43 files changed, 195 insertions, 94 deletions
diff --git a/src/arch/armv7/Kconfig b/src/arch/arm/Kconfig
index e272474604..050cd62a20 100644
--- a/src/arch/armv7/Kconfig
+++ b/src/arch/arm/Kconfig
@@ -1,16 +1,18 @@
-config ARCH_BOOTBLOCK_ARMV7
+config ARCH_BOOTBLOCK_ARM
bool
default n
- select ARCH_ARMV7
+ select ARCH_ARM
-config ARCH_ROMSTAGE_ARMV7
+config ARCH_ROMSTAGE_ARM
bool
default n
-config ARCH_RAMSTAGE_ARMV7
+config ARCH_RAMSTAGE_ARM
bool
default n
+source src/arch/arm/armv7/Kconfig
+
# If a custom bootblock is necessary, this option should be "select"-ed by
# the thing that needs it, probably the CPU.
config ARM_BOOTBLOCK_CUSTOM
diff --git a/src/arch/armv7/Makefile.inc b/src/arch/arm/Makefile.inc
index 2022f2078b..8838edfd46 100644
--- a/src/arch/armv7/Makefile.inc
+++ b/src/arch/arm/Makefile.inc
@@ -23,98 +23,86 @@
###############################################################################
# Take care of subdirectories
###############################################################################
-subdirs-y += boot/
-subdirs-y += lib/
+subdirs-y += armv7/
###############################################################################
# ARM specific options
###############################################################################
-ifeq ($(CONFIG_ARCH_ROMSTAGE_ARMV7),y)
-CBFSTOOL_PRE1_OPTS = -m armv7 -b $(CONFIG_BOOTBLOCK_ROM_OFFSET) -H $(CONFIG_CBFS_HEADER_ROM_OFFSET) -o $(CONFIG_CBFS_ROM_OFFSET)
+ifeq ($(CONFIG_ARCH_ROMSTAGE_ARM),y)
+CBFSTOOL_PRE1_OPTS = -m arm -b $(CONFIG_BOOTBLOCK_ROM_OFFSET) -H $(CONFIG_CBFS_HEADER_ROM_OFFSET) -o $(CONFIG_CBFS_ROM_OFFSET)
CBFSTOOL_PRE_OPTS = -b 0
endif
-ifeq ($(CONFIG_ARCH_ARMV7),y)
-stages_c = $(src)/arch/armv7/stages.c
-stages_o = $(obj)/arch/armv7/stages.o
+ifeq ($(CONFIG_ARCH_ARM),y)
+stages_c = $(src)/arch/arm/stages.c
+stages_o = $(obj)/arch/arm/stages.o
$(stages_o): $(stages_c) $(obj)/config.h
@printf " CC $(subst $(obj)/,,$(@))\n"
- $(CC_armv7) -I. $(CPPFLAGS_armv7) -c -o $@ $< -marm
+ $(CC_arm) -I. $(CPPFLAGS_arm) -c -o $@ $< -marm
-endif # CONFIG_ARCH_ARMV7
+endif # CONFIG_ARCH_ARM
###############################################################################
# bootblock
###############################################################################
-ifeq ($(CONFIG_ARCH_BOOTBLOCK_ARMV7),y)
+ifeq ($(CONFIG_ARCH_BOOTBLOCK_ARM),y)
-ifneq ($(CONFIG_ARM_BOOTBLOCK_CUSTOM),y)
-bootblock-y += bootblock.S
-bootblock-$(CONFIG_BOOTBLOCK_SIMPLE) += bootblock_simple.c
-endif
bootblock-y += id.S
$(obj)/arch/arm/id.bootblock.o: $(obj)/build.h
bootblock-y += stages.c
-bootblock-y += cache.c
bootblock-y += eabi_compat.c
bootblock-y += memset.S
bootblock-y += memcpy.S
bootblock-y += memmove.S
-bootblock-y += mmu.c
-$(objcbfs)/bootblock.debug: $(src)/arch/armv7/bootblock.ld $(obj)/ldoptions $$(bootblock-objs) $(obj)/config.h
+$(objcbfs)/bootblock.debug: $(src)/arch/arm/bootblock.ld $(obj)/ldoptions $$(bootblock-objs) $(obj)/config.h
@printf " LINK $(subst $(obj)/,,$(@))\n"
ifeq ($(CONFIG_COMPILER_LLVM_CLANG),y)
- $(LD_bootblock) -m armelf_linux_eabi -static -o $@ -L$(obj) $< -T $(src)/arch/armv7/bootblock.ld
+ $(LD_bootblock) -m armelf_linux_eabi -static -o $@ -L$(obj) $< -T $(src)/arch/arm/bootblock.ld
else
- $(CC_bootblock) $(CFLAGS_bootblock) -nostartfiles -include $(obj)/config.h -static -o $@ -L$(obj) -T $(src)/arch/armv7/bootblock.ld -Wl,--start-group $(bootblock-objs) $(LIBGCC_FILE_NAME_bootblock) -Wl,--end-group
+ $(CC_bootblock) $(CFLAGS_bootblock) -nostartfiles -include $(obj)/config.h -static -o $@ -L$(obj) -T $(src)/arch/arm/bootblock.ld -Wl,--start-group $(bootblock-objs) $(LIBGCC_FILE_NAME_bootblock) -Wl,--end-group
endif
-endif # CONFIG_ARCH_BOOTBLOCK_ARMV7
+endif # CONFIG_ARCH_BOOTBLOCK_ARM
###############################################################################
# romstage
###############################################################################
-ifeq ($(CONFIG_ARCH_ROMSTAGE_ARMV7),y)
+ifeq ($(CONFIG_ARCH_ROMSTAGE_ARM),y)
romstage-y += stages.c
-romstage-y += cache.c
romstage-y += div0.c
romstage-y += eabi_compat.c
romstage-y += memset.S
romstage-y += memcpy.S
romstage-y += memmove.S
-VBOOT_STUB_DEPS += $(obj)/arch/armv7/eabi_compat.rmodules_arm.o
+VBOOT_STUB_DEPS += $(obj)/arch/arm/eabi_compat.rmodules_arm.o
-$(objcbfs)/romstage.debug: $$(romstage-objs) $(src)/arch/armv7/romstage.ld $(obj)/ldoptions
+$(objcbfs)/romstage.debug: $$(romstage-objs) $(src)/arch/arm/romstage.ld $(obj)/ldoptions
@printf " LINK $(subst $(obj)/,,$(@))\n"
ifeq ($(CONFIG_COMPILER_LLVM_CLANG),y)
- $(LD_romstage) -nostdlib -nostartfiles -static -o $@ -L$(obj) $(romstage-objs) -T $(src)/arch/armv7/romstage.ld
+ $(LD_romstage) -nostdlib -nostartfiles -static -o $@ -L$(obj) $(romstage-objs) -T $(src)/arch/arm/romstage.ld
else
- $(CC_romstage) $(CFLAGS_romstage) -nostartfiles -static -o $@ -L$(obj) -T $(src)/arch/armv7/romstage.ld -Wl,--start-group $(romstage-objs) $(LIBGCC_FILE_NAME_romstage) -Wl,--end-group
+ $(CC_romstage) $(CFLAGS_romstage) -nostartfiles -static -o $@ -L$(obj) -T $(src)/arch/arm/romstage.ld -Wl,--start-group $(romstage-objs) $(LIBGCC_FILE_NAME_romstage) -Wl,--end-group
endif
-endif # CONFIG_ARCH_ROMSTAGE_ARMV7
+endif # CONFIG_ARCH_ROMSTAGE_ARM
###############################################################################
# ramstage
###############################################################################
-ifeq ($(CONFIG_ARCH_RAMSTAGE_ARMV7),y)
+ifeq ($(CONFIG_ARCH_RAMSTAGE_ARM),y)
ramstage-y += stages.c
-ramstage-y += exception.c
-ramstage-y += exception_asm.S
ramstage-y += div0.c
-ramstage-y += cache.c
ramstage-y += cpu.c
-ramstage-y += mmu.c
ramstage-y += eabi_compat.c
ramstage-y += boot.c
ramstage-y += tables.c
@@ -123,12 +111,12 @@ ramstage-y += memcpy.S
ramstage-y += memmove.S
ramstage-srcs += $(wildcard src/mainboard/$(MAINBOARDDIR)/mainboard.c)
-$(objcbfs)/ramstage.debug: $$(ramstage-objs) $(LIBGCC_FILE_NAME_ramstage) $(src)/arch/armv7/ramstage.ld $(obj)/ldoptions
+$(objcbfs)/ramstage.debug: $$(ramstage-objs) $(LIBGCC_FILE_NAME_ramstage) $(src)/arch/arm/ramstage.ld $(obj)/ldoptions
@printf " CC $(subst $(obj)/,,$(@))\n"
ifeq ($(CONFIG_COMPILER_LLVM_CLANG),y)
- $(LD_ramstage) -m armelf_linux_eabi -o $@ -L$(obj) $< -T $(src)/arch/armv7/ramstage.ld
+ $(LD_ramstage) -m armelf_linux_eabi -o $@ -L$(obj) $< -T $(src)/arch/arm/ramstage.ld
else
- $(CC_ramstage) $(CFLAGS_ramstage) -nostdlib -nostartfiles -static -o $@ -L$(obj) -Wl,--start-group $(ramstage-objs) $(LIBGCC_FILE_NAME_ramstage) -Wl,--end-group -T $(src)/arch/armv7/ramstage.ld
+ $(CC_ramstage) $(CFLAGS_ramstage) -nostdlib -nostartfiles -static -o $@ -L$(obj) -Wl,--start-group $(ramstage-objs) $(LIBGCC_FILE_NAME_ramstage) -Wl,--end-group -T $(src)/arch/arm/ramstage.ld
endif
$(objgenerated)/ramstage.o: $(stages_o) $$(ramstage-objs) $(LIBGCC_FILE_NAME_ramstage)
@@ -139,4 +127,4 @@ else
$(CC_ramstage) $(CFLAGS_ramstage) $(CPPFLAGS_ramstage) -nostdlib -r -o $@ -Wl,--start-group $(stages_o) $(ramstage-objs) $(LIBGCC_FILE_NAME_ramstage) -Wl,--end-group
endif
-endif # CONFIG_ARCH_RAMSTAGE_ARMV7
+endif # CONFIG_ARCH_RAMSTAGE_ARM
diff --git a/src/arch/arm/armv7/Kconfig b/src/arch/arm/armv7/Kconfig
new file mode 100644
index 0000000000..f8e0205c40
--- /dev/null
+++ b/src/arch/arm/armv7/Kconfig
@@ -0,0 +1,11 @@
+config ARCH_BOOTBLOCK_ARMV7
+ def_bool n
+ select ARCH_BOOTBLOCK_ARM
+
+config ARCH_ROMSTAGE_ARMV7
+ def_bool n
+ select ARCH_ROMSTAGE_ARM
+
+config ARCH_RAMSTAGE_ARMV7
+ def_bool n
+ select ARCH_RAMSTAGE_ARM
diff --git a/src/arch/arm/armv7/Makefile.inc b/src/arch/arm/armv7/Makefile.inc
new file mode 100644
index 0000000000..bcd7d9e46d
--- /dev/null
+++ b/src/arch/arm/armv7/Makefile.inc
@@ -0,0 +1,71 @@
+################################################################################
+##
+## This file is part of the coreboot project.
+##
+## Copyright (C) 2013 The ChromiumOS Authors
+##
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; version 2 of the License.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+##
+###############################################################################
+
+armv7_flags = -march=armv7-a -mthumb -mthumb-interwork \
+ -I$(src)/arch/arm/include/armv7/
+
+###############################################################################
+# bootblock
+###############################################################################
+
+ifeq ($(CONFIG_ARCH_BOOTBLOCK_ARMV7),y)
+
+ifneq ($(CONFIG_ARM_BOOTBLOCK_CUSTOM),y)
+bootblock-y += bootblock.S
+bootblock-$(CONFIG_BOOTBLOCK_SIMPLE) += bootblock_simple.c
+endif
+
+bootblock-y += cache.c
+bootblock-y += mmu.c
+
+CFLAGS_bootblock += $(armv7_flags)
+CPPFLAGS_bootblock += $(armv7_flags)
+
+endif # CONFIG_ARCH_BOOTBLOCK_ARMV7
+
+###############################################################################
+# romstage
+###############################################################################
+
+ifeq ($(CONFIG_ARCH_ROMSTAGE_ARMV7),y)
+
+romstage-y += cache.c
+
+CFLAGS_romstage += $(armv7_flags)
+CPPFLAGS_romstage += $(armv7_flags)
+
+endif # CONFIG_ARCH_ROMSTAGE_ARMV7
+
+###############################################################################
+# ramstage
+###############################################################################
+
+ifeq ($(CONFIG_ARCH_RAMSTAGE_ARMV7),y)
+
+ramstage-y += cache.c
+ramstage-y += exception.c
+ramstage-y += exception_asm.S
+ramstage-y += mmu.c
+
+CFLAGS_ramstage += $(armv7_flags)
+CPPFLAGS_ramstage += $(armv7_flags)
+
+endif # CONFIG_ARCH_RAMSTAGE_ARMV7
diff --git a/src/arch/armv7/bootblock.S b/src/arch/arm/armv7/bootblock.S
index b28a787839..b28a787839 100644
--- a/src/arch/armv7/bootblock.S
+++ b/src/arch/arm/armv7/bootblock.S
diff --git a/src/arch/armv7/bootblock_simple.c b/src/arch/arm/armv7/bootblock_simple.c
index bcd83b8c36..f447034029 100644
--- a/src/arch/armv7/bootblock_simple.c
+++ b/src/arch/arm/armv7/bootblock_simple.c
@@ -39,7 +39,7 @@ void main(void)
sctlr &= ~(SCTLR_M | SCTLR_C | SCTLR_Z | SCTLR_I);
write_sctlr(sctlr);
- armv7_invalidate_caches();
+ arm_invalidate_caches();
/*
* Re-enable icache and branch prediction. MMU and dcache will be
diff --git a/src/arch/armv7/cache.c b/src/arch/arm/armv7/cache.c
index 1f466ce232..acd1f9aefa 100644
--- a/src/arch/armv7/cache.c
+++ b/src/arch/arm/armv7/cache.c
@@ -276,7 +276,7 @@ void dcache_mmu_enable(void)
write_sctlr(sctlr);
}
-void armv7_invalidate_caches(void)
+void arm_invalidate_caches(void)
{
uint32_t clidr;
int level;
diff --git a/src/arch/armv7/exception.c b/src/arch/arm/armv7/exception.c
index 3b32e8bbb1..3b32e8bbb1 100644
--- a/src/arch/armv7/exception.c
+++ b/src/arch/arm/armv7/exception.c
diff --git a/src/arch/armv7/exception_asm.S b/src/arch/arm/armv7/exception_asm.S
index 163fdbd52a..163fdbd52a 100644
--- a/src/arch/armv7/exception_asm.S
+++ b/src/arch/arm/armv7/exception_asm.S
diff --git a/src/arch/armv7/mmu.c b/src/arch/arm/armv7/mmu.c
index cc915a6a33..cc915a6a33 100644
--- a/src/arch/armv7/mmu.c
+++ b/src/arch/arm/armv7/mmu.c
diff --git a/src/arch/armv7/thread.c b/src/arch/arm/armv7/thread.c
index d0c23ff92d..d0c23ff92d 100644
--- a/src/arch/armv7/thread.c
+++ b/src/arch/arm/armv7/thread.c
diff --git a/src/arch/armv7/boot.c b/src/arch/arm/boot.c
index d872a79151..d872a79151 100644
--- a/src/arch/armv7/boot.c
+++ b/src/arch/arm/boot.c
diff --git a/src/arch/armv7/bootblock.ld b/src/arch/arm/bootblock.ld
index 706f0a2c2e..706f0a2c2e 100644
--- a/src/arch/armv7/bootblock.ld
+++ b/src/arch/arm/bootblock.ld
diff --git a/src/arch/armv7/cpu.c b/src/arch/arm/cpu.c
index f90c759559..f90c759559 100644
--- a/src/arch/armv7/cpu.c
+++ b/src/arch/arm/cpu.c
diff --git a/src/arch/armv7/div0.c b/src/arch/arm/div0.c
index ab06ad3bee..ab06ad3bee 100644
--- a/src/arch/armv7/div0.c
+++ b/src/arch/arm/div0.c
diff --git a/src/arch/armv7/eabi_compat.c b/src/arch/arm/eabi_compat.c
index 0c79cd51d3..0c79cd51d3 100644
--- a/src/arch/armv7/eabi_compat.c
+++ b/src/arch/arm/eabi_compat.c
diff --git a/src/arch/armv7/id.S b/src/arch/arm/id.S
index a588f1e1da..a588f1e1da 100644
--- a/src/arch/armv7/id.S
+++ b/src/arch/arm/id.S
diff --git a/src/arch/armv7/include/arch/boot/boot.h b/src/arch/arm/include/arch/boot/boot.h
index 08651cd1a8..08651cd1a8 100644
--- a/src/arch/armv7/include/arch/boot/boot.h
+++ b/src/arch/arm/include/arch/boot/boot.h
diff --git a/src/arch/armv7/include/arch/byteorder.h b/src/arch/arm/include/arch/byteorder.h
index 8dc069f486..8dc069f486 100644
--- a/src/arch/armv7/include/arch/byteorder.h
+++ b/src/arch/arm/include/arch/byteorder.h
diff --git a/src/arch/armv7/include/arch/early_variables.h b/src/arch/arm/include/arch/early_variables.h
index cec0a46239..cec0a46239 100644
--- a/src/arch/armv7/include/arch/early_variables.h
+++ b/src/arch/arm/include/arch/early_variables.h
diff --git a/src/arch/armv7/include/arch/exception.h b/src/arch/arm/include/arch/exception.h
index 57076bd57b..57076bd57b 100644
--- a/src/arch/armv7/include/arch/exception.h
+++ b/src/arch/arm/include/arch/exception.h
diff --git a/src/arch/armv7/include/arch/hlt.h b/src/arch/arm/include/arch/hlt.h
index 285b6f8786..285b6f8786 100644
--- a/src/arch/armv7/include/arch/hlt.h
+++ b/src/arch/arm/include/arch/hlt.h
diff --git a/src/arch/armv7/include/arch/io.h b/src/arch/arm/include/arch/io.h
index e044090e68..e53729708d 100644
--- a/src/arch/armv7/include/arch/io.h
+++ b/src/arch/arm/include/arch/io.h
@@ -23,48 +23,9 @@
#ifndef __ASM_ARM_IO_H
#define __ASM_ARM_IO_H
-#include <types.h>
-#include <arch/cache.h> /* for dmb() */
#include <arch/byteorder.h>
-
-static inline uint8_t read8(const void *addr)
-{
- dmb();
- return *(volatile uint8_t *)addr;
-}
-
-static inline uint16_t read16(const void *addr)
-{
- dmb();
- return *(volatile uint16_t *)addr;
-}
-
-static inline uint32_t read32(const void *addr)
-{
- dmb();
- return *(volatile uint32_t *)addr;
-}
-
-static inline void write8(uint8_t val, void *addr)
-{
- dmb();
- *(volatile uint8_t *)addr = val;
- dmb();
-}
-
-static inline void write16(uint16_t val, void *addr)
-{
- dmb();
- *(volatile uint16_t *)addr = val;
- dmb();
-}
-
-static inline void write32(uint32_t val, void *addr)
-{
- dmb();
- *(volatile uint32_t *)addr = val;
- dmb();
-}
+#include <arch/arch_io.h>
+#include <stdint.h>
/*
* FIXME: These are to avoid breaking existing ARM code. We should eventually
diff --git a/src/arch/armv7/include/arch/pci_ops.h b/src/arch/arm/include/arch/pci_ops.h
index 7a7ed32a67..faa77012d3 100644
--- a/src/arch/armv7/include/arch/pci_ops.h
+++ b/src/arch/arm/include/arch/pci_ops.h
@@ -17,8 +17,8 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#ifndef ARCH_ARMV7_PCI_OPS_H
-#define ARCH_ARMV7_PCI_OPS_H
+#ifndef ARCH_ARM_PCI_OPS_H
+#define ARCH_ARM_PCI_OPS_H
/* Empty stub until PCI includes are properly fixed. */
diff --git a/src/arch/armv7/include/arch/stages.h b/src/arch/arm/include/arch/stages.h
index 671c02b3dd..39fed990c5 100644
--- a/src/arch/armv7/include/arch/stages.h
+++ b/src/arch/arm/include/arch/stages.h
@@ -22,7 +22,7 @@
extern void main(void);
-void stage_entry(void) __attribute__((section(".text.stage_entry.armv7")));
+void stage_entry(void) __attribute__((section(".text.stage_entry.arm")));
void stage_exit(void *);
#endif
diff --git a/src/arch/armv7/include/armv7.h b/src/arch/arm/include/armv7.h
index 147323457a..147323457a 100644
--- a/src/arch/armv7/include/armv7.h
+++ b/src/arch/arm/include/armv7.h
diff --git a/src/arch/arm/include/armv7/arch/arch_io.h b/src/arch/arm/include/armv7/arch/arch_io.h
new file mode 100644
index 0000000000..360fa6425a
--- /dev/null
+++ b/src/arch/arm/include/armv7/arch/arch_io.h
@@ -0,0 +1,68 @@
+/*
+ * Originally imported from linux/include/asm-arm/io.h. This file has changed
+ * substantially since then.
+ *
+ * Copyright 2013 Google Inc.
+ * Copyright (C) 1996-2000 Russell King
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * Modifications:
+ * 08-Apr-2013 G Replaced several macros with inlines for type safety.
+ * 16-Sep-1996 RMK Inlined the inx/outx functions & optimised for both
+ * constant addresses and variable addresses.
+ * 04-Dec-1997 RMK Moved a lot of this stuff to the new architecture
+ * specific IO header files.
+ * 27-Mar-1999 PJB Second parameter of memcpy_toio is const..
+ * 04-Apr-1999 PJB Added check_signature.
+ * 12-Dec-1999 RMK More cleanups
+ * 18-Jun-2000 RMK Removed virt_to_* and friends definitions
+ */
+#ifndef __ASM_ARM_ARCH_IO_H
+#define __ASM_ARM_ARCH_IO_H
+
+#include <arch/cache.h> /* for dmb() */
+#include <stdint.h>
+
+static inline uint8_t read8(const void *addr)
+{
+ dmb();
+ return *(volatile uint8_t *)addr;
+}
+
+static inline uint16_t read16(const void *addr)
+{
+ dmb();
+ return *(volatile uint16_t *)addr;
+}
+
+static inline uint32_t read32(const void *addr)
+{
+ dmb();
+ return *(volatile uint32_t *)addr;
+}
+
+static inline void write8(uint8_t val, void *addr)
+{
+ dmb();
+ *(volatile uint8_t *)addr = val;
+ dmb();
+}
+
+static inline void write16(uint16_t val, void *addr)
+{
+ dmb();
+ *(volatile uint16_t *)addr = val;
+ dmb();
+}
+
+static inline void write32(uint32_t val, void *addr)
+{
+ dmb();
+ *(volatile uint32_t *)addr = val;
+ dmb();
+}
+
+#endif /* __ASM_ARM_ARCH_IO_H */
diff --git a/src/arch/armv7/include/arch/cache.h b/src/arch/arm/include/armv7/arch/cache.h
index 1cd9958fc4..ffdb55a706 100644
--- a/src/arch/armv7/include/arch/cache.h
+++ b/src/arch/arm/include/armv7/arch/cache.h
@@ -26,11 +26,11 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * cache.h: Cache maintenance API for ARMv7
+ * cache.h: Cache maintenance API for ARM
*/
-#ifndef ARMV7_CACHE_H
-#define ARMV7_CACHE_H
+#ifndef ARM_CACHE_H
+#define ARM_CACHE_H
#include <stddef.h>
#include <stdint.h>
@@ -320,8 +320,8 @@ void tlb_invalidate_all(void);
* Generalized setup/init functions
*/
-/* invalidate all caches on ARMv7 */
-void armv7_invalidate_caches(void);
+/* invalidate all caches on ARM */
+void arm_invalidate_caches(void);
/* mmu initialization (set page table address, set permissions, etc) */
void mmu_init(void);
@@ -338,4 +338,4 @@ void mmu_disable_range(unsigned long start_mb, unsigned long size_mb);
void mmu_config_range(unsigned long start_mb, unsigned long size_mb,
enum dcache_policy policy);
-#endif /* ARMV7_CACHE_H */
+#endif /* ARM_CACHE_H */
diff --git a/src/arch/armv7/include/arch/cpu.h b/src/arch/arm/include/armv7/arch/cpu.h
index 52cc8a3f50..52cc8a3f50 100644
--- a/src/arch/armv7/include/arch/cpu.h
+++ b/src/arch/arm/include/armv7/arch/cpu.h
diff --git a/src/arch/armv7/include/arch/types.h b/src/arch/arm/include/armv7/arch/types.h
index be7e76c5ab..be7e76c5ab 100644
--- a/src/arch/armv7/include/arch/types.h
+++ b/src/arch/arm/include/armv7/arch/types.h
diff --git a/src/arch/armv7/include/assembler.h b/src/arch/arm/include/assembler.h
index 10363c4e4e..10363c4e4e 100644
--- a/src/arch/armv7/include/assembler.h
+++ b/src/arch/arm/include/assembler.h
diff --git a/src/arch/armv7/include/bootblock_common.h b/src/arch/arm/include/bootblock_common.h
index 034a12bc36..034a12bc36 100644
--- a/src/arch/armv7/include/bootblock_common.h
+++ b/src/arch/arm/include/bootblock_common.h
diff --git a/src/arch/armv7/include/clocks.h b/src/arch/arm/include/clocks.h
index 58cf838621..58cf838621 100644
--- a/src/arch/armv7/include/clocks.h
+++ b/src/arch/arm/include/clocks.h
diff --git a/src/arch/armv7/include/smp/spinlock.h b/src/arch/arm/include/smp/spinlock.h
index 1dc397c19c..1dc397c19c 100644
--- a/src/arch/armv7/include/smp/spinlock.h
+++ b/src/arch/arm/include/smp/spinlock.h
diff --git a/src/arch/armv7/include/stdint.h b/src/arch/arm/include/stdint.h
index 9d41e6359a..9d41e6359a 100644
--- a/src/arch/armv7/include/stdint.h
+++ b/src/arch/arm/include/stdint.h
diff --git a/src/arch/armv7/include/utils.h b/src/arch/arm/include/utils.h
index 828b86cb36..828b86cb36 100644
--- a/src/arch/armv7/include/utils.h
+++ b/src/arch/arm/include/utils.h
diff --git a/src/arch/armv7/memcpy.S b/src/arch/arm/memcpy.S
index 921fc2a6bc..921fc2a6bc 100644
--- a/src/arch/armv7/memcpy.S
+++ b/src/arch/arm/memcpy.S
diff --git a/src/arch/armv7/memmove.S b/src/arch/arm/memmove.S
index a2f9ea18ae..a2f9ea18ae 100644
--- a/src/arch/armv7/memmove.S
+++ b/src/arch/arm/memmove.S
diff --git a/src/arch/armv7/memset.S b/src/arch/arm/memset.S
index a3cc9477f8..a3cc9477f8 100644
--- a/src/arch/armv7/memset.S
+++ b/src/arch/arm/memset.S
diff --git a/src/arch/armv7/ramstage.ld b/src/arch/arm/ramstage.ld
index 91efe2c4d0..cab512e99d 100644
--- a/src/arch/armv7/ramstage.ld
+++ b/src/arch/arm/ramstage.ld
@@ -38,7 +38,7 @@ SECTIONS
.text : {
_text = .;
_start = .;
- *(.text.stage_entry.armv7);
+ *(.text.stage_entry.arm);
*(.text);
*(.text.*);
. = ALIGN(16);
diff --git a/src/arch/armv7/romstage.ld b/src/arch/arm/romstage.ld
index a9c3f8bf04..65b133ad2c 100644
--- a/src/arch/armv7/romstage.ld
+++ b/src/arch/arm/romstage.ld
@@ -41,7 +41,7 @@ SECTIONS
.romtext . : {
_rom = .;
_start = .;
- *(.text.stage_entry.armv7);
+ *(.text.stage_entry.arm);
*(.text.startup);
*(.text);
} : to_load
diff --git a/src/arch/armv7/stages.c b/src/arch/arm/stages.c
index 38d1b1928a..38d1b1928a 100644
--- a/src/arch/armv7/stages.c
+++ b/src/arch/arm/stages.c
diff --git a/src/arch/armv7/tables.c b/src/arch/arm/tables.c
index 20c5a9f7a8..20c5a9f7a8 100644
--- a/src/arch/armv7/tables.c
+++ b/src/arch/arm/tables.c