armv7: Add emulation/qemu-armv7 board.
To simplify testing ARM implementation, we need a QEMU configuration for ARM. The qemu-armv7 provides serial output, CBFS simulation, and full boot path (bootblock, romstage, ramstage) to verify the boot loader functionality. To run with QEMU: export QEMU_AUDIO_DRV=none qemu-system-arm -M vexpress-a9 -m 1024M -nographic -kernel build/coreboot.rom Verified to boot until ramstage loaded successfully by QEMU v1.0.50. Change-Id: I1f23ffaf408199811a0756236821c7e0f2a85004 Signed-off-by: Hung-Te Lin <hungte@chromium.org> Reviewed-on: http://review.coreboot.org/2354 Reviewed-by: David Hendricks <dhendrix@chromium.org> Tested-by: build bot (Jenkins) Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
This commit is contained in:
committed by
Ronald G. Minnich
parent
bc64cae995
commit
7635a60ca8
@@ -3,6 +3,7 @@
|
||||
# (See also src/Kconfig)
|
||||
if ARCH_ARMV7
|
||||
|
||||
source src/cpu/armltd/Kconfig
|
||||
source src/cpu/samsung/Kconfig
|
||||
|
||||
endif # ARCH_ARM
|
||||
|
@@ -2,6 +2,7 @@
|
||||
## Subdirectories
|
||||
################################################################################
|
||||
subdirs-y += amd
|
||||
subdirs-y += armltd
|
||||
subdirs-y += intel
|
||||
subdirs-y += samsung
|
||||
subdirs-y += via
|
||||
|
8
src/cpu/armltd/Kconfig
Normal file
8
src/cpu/armltd/Kconfig
Normal file
@@ -0,0 +1,8 @@
|
||||
config CPU_ARMLTD_CORTEX_A9
|
||||
depends on ARCH_ARMV7
|
||||
bool
|
||||
default n
|
||||
|
||||
if CPU_ARMLTD_CORTEX_A9
|
||||
source src/cpu/armltd/cortex-a9/Kconfig
|
||||
endif
|
1
src/cpu/armltd/Makefile.inc
Normal file
1
src/cpu/armltd/Makefile.inc
Normal file
@@ -0,0 +1 @@
|
||||
subdirs-$(CONFIG_CPU_ARMLTD_CORTEX_A9) += cortex-a9
|
5
src/cpu/armltd/cortex-a9/Kconfig
Normal file
5
src/cpu/armltd/cortex-a9/Kconfig
Normal file
@@ -0,0 +1,5 @@
|
||||
config BOOTBLOCK_CPU_INIT
|
||||
string
|
||||
default "cpu/armltd/cortex-a9/bootblock.c"
|
||||
help
|
||||
CPU/SoC-specific bootblock code.
|
2
src/cpu/armltd/cortex-a9/Makefile.inc
Normal file
2
src/cpu/armltd/cortex-a9/Makefile.inc
Normal file
@@ -0,0 +1,2 @@
|
||||
ramstage-y += cache.c
|
||||
romstage-y += cache.c
|
17
src/cpu/armltd/cortex-a9/bootblock.c
Normal file
17
src/cpu/armltd/cortex-a9/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)
|
||||
{
|
||||
}
|
44
src/cpu/armltd/cortex-a9/cache.c
Normal file
44
src/cpu/armltd/cortex-a9/cache.c
Normal file
@@ -0,0 +1,44 @@
|
||||
/*
|
||||
* 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 <common.h>
|
||||
#include <system.h>
|
||||
#include <armv7.h>
|
||||
|
||||
/*
|
||||
* Sets L2 cache related parameters before enabling data cache
|
||||
*/
|
||||
void v7_outer_cache_enable(void)
|
||||
{
|
||||
}
|
||||
|
||||
/* stubs so we don't need weak symbols in cache_v7.c */
|
||||
void v7_outer_cache_disable(void)
|
||||
{
|
||||
}
|
||||
|
||||
void v7_outer_cache_flush_all(void)
|
||||
{
|
||||
}
|
||||
|
||||
void v7_outer_cache_inval_all(void)
|
||||
{
|
||||
}
|
||||
|
||||
void v7_outer_cache_flush_range(u32 start, u32 end)
|
||||
{
|
||||
}
|
||||
|
||||
void v7_outer_cache_inval_range(u32 start, u32 end)
|
||||
{
|
||||
}
|
Reference in New Issue
Block a user