armv8: add support for armv8 cpu
This is an emulation cpu. Lots of stuff missing, clearly, but I want to get the basic outline right. BUG=None TEST=breaks no builds BRANCH=None Change-Id: Ie9431afe1dbc4eb8e4b5b73da006a0603a221f3f Signed-off-by: Ronald G. Minnich <rminnich@google.com> Reviewed-on: https://chromium-review.googlesource.com/180385 Reviewed-by: Aaron Durbin <adurbin@chromium.org> Tested-by: Ronald Minnich <rminnich@chromium.org>
This commit is contained in:
parent
6d00710b0d
commit
1795f3d5ef
9 changed files with 88 additions and 3 deletions
1
Makefile
1
Makefile
|
|
@ -113,6 +113,7 @@ else
|
|||
|
||||
include $(HAVE_DOTCONFIG)
|
||||
|
||||
ARCHDIR-$(CONFIG_ARCH_AARCH64) := aarch64
|
||||
ARCHDIR-$(CONFIG_ARCH_ARM) := arm
|
||||
ARCHDIR-$(CONFIG_ARCH_X86) := x86
|
||||
|
||||
|
|
|
|||
|
|
@ -226,6 +226,10 @@ config ARCH_ARM
|
|||
bool
|
||||
default n
|
||||
|
||||
config ARCH_AARCH64
|
||||
bool
|
||||
default n
|
||||
|
||||
# Warning: The file is included whether or not the if is here.
|
||||
# but the if controls how the evaluation occurs.
|
||||
if ARCH_X86
|
||||
|
|
@ -236,6 +240,10 @@ if ARCH_ARM
|
|||
source src/arch/arm/Kconfig
|
||||
endif
|
||||
|
||||
if ARCH_AARCH64
|
||||
source src/arch/aarch64/Kconfig
|
||||
endif
|
||||
|
||||
config HAVE_ARCH_MEMSET
|
||||
bool
|
||||
default n
|
||||
|
|
|
|||
|
|
@ -1,12 +1,9 @@
|
|||
# Warning: This file is included whether or not the if is here.
|
||||
# The if controls how the evaluation occurs.
|
||||
# (See also src/Kconfig)
|
||||
if ARCH_ARM
|
||||
|
||||
source src/cpu/armltd/Kconfig
|
||||
|
||||
endif # ARCH_ARM
|
||||
|
||||
if ARCH_X86
|
||||
|
||||
source src/cpu/amd/Kconfig
|
||||
|
|
|
|||
|
|
@ -1 +1,2 @@
|
|||
source src/cpu/armltd/cortex-a9/Kconfig
|
||||
source src/cpu/armltd/armv8/Kconfig
|
||||
|
|
|
|||
|
|
@ -1 +1,2 @@
|
|||
subdirs-$(CONFIG_CPU_ARMLTD_CORTEX_A9) += cortex-a9
|
||||
subdirs-$(CONFIG_CPU_ARMLTD_CORTEX_A9) += armv8
|
||||
|
|
|
|||
15
src/cpu/armltd/armv8/Kconfig
Normal file
15
src/cpu/armltd/armv8/Kconfig
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
config CPU_ARMLTD_ARMV8
|
||||
depends on ARCH_AARCH64
|
||||
bool
|
||||
select EARLY_CONSOLE
|
||||
default n
|
||||
|
||||
if CPU_ARMLTD_ARMV8
|
||||
|
||||
config BOOTBLOCK_CPU_INIT
|
||||
string
|
||||
default "cpu/armltd/armv8/bootblock.c"
|
||||
help
|
||||
CPU/SoC-specific bootblock code.
|
||||
endif
|
||||
|
||||
3
src/cpu/armltd/armv8/Makefile.inc
Normal file
3
src/cpu/armltd/armv8/Makefile.inc
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
ramstage-y += cache.c
|
||||
romstage-y += cache.c
|
||||
bootblock-y += cache.c
|
||||
17
src/cpu/armltd/armv8/bootblock.c
Normal file
17
src/cpu/armltd/armv8/bootblock.c
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
/*
|
||||
* Copyright (C) 2013 Google, Inc.
|
||||
*
|
||||
* This software is licensed under the terms of the GNU General Public
|
||||
* License version 2, as published by the Free Software Foundation, and
|
||||
* may be copied, distributed, and modified under those terms.
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
void bootblock_cpu_init(void);
|
||||
void bootblock_cpu_init(void)
|
||||
{
|
||||
}
|
||||
42
src/cpu/armltd/armv8/cache.c
Normal file
42
src/cpu/armltd/armv8/cache.c
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
/*
|
||||
* Copyright (C) 2013 Google, Inc.
|
||||
*
|
||||
* This software is licensed under the terms of the GNU General Public
|
||||
* License version 2, as published by the Free Software Foundation, and
|
||||
* may be copied, distributed, and modified under those terms.
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
#include <aarch64.h>
|
||||
|
||||
/*
|
||||
* Sets L2 cache related parameters before enabling data cache
|
||||
*/
|
||||
void v8_outer_cache_enable(void)
|
||||
{
|
||||
}
|
||||
|
||||
/* stubs so we don't need weak symbols in cache_v8.c */
|
||||
void v8_outer_cache_disable(void)
|
||||
{
|
||||
}
|
||||
|
||||
void v8_outer_cache_flush_all(void)
|
||||
{
|
||||
}
|
||||
|
||||
void v8_outer_cache_inval_all(void)
|
||||
{
|
||||
}
|
||||
|
||||
void v8_outer_cache_flush_range(u32 start, u32 end)
|
||||
{
|
||||
}
|
||||
|
||||
void v8_outer_cache_inval_range(u32 start, u32 end)
|
||||
{
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue