mirror of
https://github.com/apache/nuttx.git
synced 2026-05-30 21:36:28 +08:00
arm64: add Cortex-A57 and Cortex-A72 configurations
This change adds the following: - Rename the board configuration name from qemu-a53 to qemu-v8a. - Add the configurations for Cortex-A57 and Cortex-A72. Signed-off-by: Hidenori Matsubayashi <hidenori.matsubayashi@gmail.com>
This commit is contained in:
committed by
Xiang Xiao
parent
e9db7bbb8c
commit
28180b49d1
+26
-2
@@ -11,12 +11,12 @@ choice
|
|||||||
default ARCH_CHIP_QEMU
|
default ARCH_CHIP_QEMU
|
||||||
|
|
||||||
config ARCH_CHIP_QEMU
|
config ARCH_CHIP_QEMU
|
||||||
bool "QEMU virt platform (cortex-a53)"
|
bool "QEMU virt platform (ARMv8a)"
|
||||||
select ARCH_CORTEX_A53
|
select ARCH_CORTEX_A53
|
||||||
select ARCH_HAVE_ADDRENV
|
select ARCH_HAVE_ADDRENV
|
||||||
select ARCH_NEED_ADDRENV_MAPPING
|
select ARCH_NEED_ADDRENV_MAPPING
|
||||||
---help---
|
---help---
|
||||||
QEMU virt platform (cortex-a53)
|
QEMU virt platform (ARMv8a)
|
||||||
|
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
@@ -40,6 +40,30 @@ config ARCH_CORTEX_A53
|
|||||||
select ARCH_HAVE_FPU
|
select ARCH_HAVE_FPU
|
||||||
select ARCH_HAVE_TESTSET
|
select ARCH_HAVE_TESTSET
|
||||||
|
|
||||||
|
config ARCH_CORTEX_A57
|
||||||
|
bool
|
||||||
|
default n
|
||||||
|
select ARCH_ARMV8A
|
||||||
|
select ARM_HAVE_NEON
|
||||||
|
select ARCH_HAVE_TRUSTZONE
|
||||||
|
select ARCH_DCACHE
|
||||||
|
select ARCH_ICACHE
|
||||||
|
select ARCH_HAVE_MMU
|
||||||
|
select ARCH_HAVE_FPU
|
||||||
|
select ARCH_HAVE_TESTSET
|
||||||
|
|
||||||
|
config ARCH_CORTEX_A72
|
||||||
|
bool
|
||||||
|
default n
|
||||||
|
select ARCH_ARMV8A
|
||||||
|
select ARM_HAVE_NEON
|
||||||
|
select ARCH_HAVE_TRUSTZONE
|
||||||
|
select ARCH_DCACHE
|
||||||
|
select ARCH_ICACHE
|
||||||
|
select ARCH_HAVE_MMU
|
||||||
|
select ARCH_HAVE_FPU
|
||||||
|
select ARCH_HAVE_TESTSET
|
||||||
|
|
||||||
config ARCH_CORTEX_R82
|
config ARCH_CORTEX_R82
|
||||||
bool
|
bool
|
||||||
default n
|
default n
|
||||||
|
|||||||
@@ -36,6 +36,10 @@ endif
|
|||||||
|
|
||||||
ifeq ($(CONFIG_ARCH_CORTEX_A53),y)
|
ifeq ($(CONFIG_ARCH_CORTEX_A53),y)
|
||||||
ARCHCPUFLAGS += -mtune=cortex-a53
|
ARCHCPUFLAGS += -mtune=cortex-a53
|
||||||
|
else ifeq ($(CONFIG_ARCH_CORTEX_A57),y)
|
||||||
|
ARCHCPUFLAGS += -mtune=cortex-a57
|
||||||
|
else ifeq ($(CONFIG_ARCH_CORTEX_A72),y)
|
||||||
|
ARCHCPUFLAGS += -mtune=cortex-a72
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(CONFIG_DEBUG_CUSTOMOPT),y)
|
ifeq ($(CONFIG_DEBUG_CUSTOMOPT),y)
|
||||||
|
|||||||
@@ -16,6 +16,16 @@ config ARCH_CHIP_QEMU_A53
|
|||||||
select ARCH_HAVE_MULTICPU
|
select ARCH_HAVE_MULTICPU
|
||||||
select ARMV8A_HAVE_GICv3
|
select ARMV8A_HAVE_GICv3
|
||||||
|
|
||||||
|
config ARCH_CHIP_QEMU_A57
|
||||||
|
bool "Qemu virtual Processor (cortex-a57)"
|
||||||
|
select ARCH_HAVE_MULTICPU
|
||||||
|
select ARMV8A_HAVE_GICv3
|
||||||
|
|
||||||
|
config ARCH_CHIP_QEMU_A72
|
||||||
|
bool "Qemu virtual Processor (cortex-a72)"
|
||||||
|
select ARCH_HAVE_MULTICPU
|
||||||
|
select ARMV8A_HAVE_GICv3
|
||||||
|
|
||||||
endchoice # Qemu Chip Selection
|
endchoice # Qemu Chip Selection
|
||||||
|
|
||||||
endmenu # "Qemu Chip Selection"
|
endmenu # "Qemu Chip Selection"
|
||||||
|
|||||||
+7
-7
@@ -1707,13 +1707,13 @@ config ARCH_BOARD_SABRE_6QUAD
|
|||||||
This options selects support for NuttX on the NXP/Freescale Sabre
|
This options selects support for NuttX on the NXP/Freescale Sabre
|
||||||
board featuring the iMX 6Quad CPU.
|
board featuring the iMX 6Quad CPU.
|
||||||
|
|
||||||
config ARCH_BOARD_QEMU_A53
|
config ARCH_BOARD_QEMU_ARMV8A
|
||||||
bool "Qemu A53 board"
|
bool "Qemu ARMv8a CPUs board"
|
||||||
depends on ARCH_CHIP_QEMU
|
depends on ARCH_CHIP_QEMU
|
||||||
select ARCH_HAVE_IRQBUTTONS
|
select ARCH_HAVE_IRQBUTTONS
|
||||||
---help---
|
---help---
|
||||||
This options selects support for NuttX on the QEMU A53
|
This options selects support for NuttX on the QEMU ARMv8a + virt
|
||||||
board featuring the qemu a53 CPU.
|
board featuring the qemu ARMv8a CPUs.
|
||||||
|
|
||||||
config ARCH_BOARD_SAMA5D2_XULT
|
config ARCH_BOARD_SAMA5D2_XULT
|
||||||
bool "Atmel SAMA5D2 Xplained Ultra development board"
|
bool "Atmel SAMA5D2 Xplained Ultra development board"
|
||||||
@@ -2784,7 +2784,7 @@ config ARCH_BOARD
|
|||||||
default "rv32m1-vega" if ARCH_BOARD_RV32M1_VEGA
|
default "rv32m1-vega" if ARCH_BOARD_RV32M1_VEGA
|
||||||
default "rv-virt" if ARCH_BOARD_QEMU_RV_VIRT
|
default "rv-virt" if ARCH_BOARD_QEMU_RV_VIRT
|
||||||
default "sabre-6quad" if ARCH_BOARD_SABRE_6QUAD
|
default "sabre-6quad" if ARCH_BOARD_SABRE_6QUAD
|
||||||
default "qemu-a53" if ARCH_BOARD_QEMU_A53
|
default "qemu-armv8a" if ARCH_BOARD_QEMU_ARMV8A
|
||||||
default "sama5d2-xult" if ARCH_BOARD_SAMA5D2_XULT
|
default "sama5d2-xult" if ARCH_BOARD_SAMA5D2_XULT
|
||||||
default "giant-board" if ARCH_BOARD_GIANT_BOARD
|
default "giant-board" if ARCH_BOARD_GIANT_BOARD
|
||||||
default "sama5d3x-ek" if ARCH_BOARD_SAMA5D3X_EK
|
default "sama5d3x-ek" if ARCH_BOARD_SAMA5D3X_EK
|
||||||
@@ -2969,8 +2969,8 @@ endif
|
|||||||
if ARCH_BOARD_SABRE_6QUAD
|
if ARCH_BOARD_SABRE_6QUAD
|
||||||
source "boards/arm/imx6/sabre-6quad/Kconfig"
|
source "boards/arm/imx6/sabre-6quad/Kconfig"
|
||||||
endif
|
endif
|
||||||
if ARCH_BOARD_QEMU_A53
|
if ARCH_BOARD_QEMU_ARMV8A
|
||||||
source "boards/arm64/qemu/qemu-a53/Kconfig"
|
source "boards/arm64/qemu/qemu-armv8a/Kconfig"
|
||||||
endif
|
endif
|
||||||
if ARCH_BOARD_IMXRT1020_EVK
|
if ARCH_BOARD_IMXRT1020_EVK
|
||||||
source "boards/arm/imxrt/imxrt1020-evk/Kconfig"
|
source "boards/arm/imxrt/imxrt1020-evk/Kconfig"
|
||||||
|
|||||||
@@ -3,5 +3,5 @@
|
|||||||
# see the file kconfig-language.txt in the NuttX tools repository.
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
||||||
#
|
#
|
||||||
|
|
||||||
if ARCH_BOARD_QEMU_A53
|
if ARCH_BOARD_QEMU_ARMV8A
|
||||||
endif
|
endif
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
README.txt
|
README.txt
|
||||||
==========
|
==========
|
||||||
|
|
||||||
This board configuration will use QEMU to emulate a generic Cortex-A53
|
This board configuration will use QEMU to emulate generic ARM64 v8-A series
|
||||||
hardware platform and provides support for these devices:
|
hardware platform and provides support for these devices:
|
||||||
|
|
||||||
- GICv3 interrupt controller
|
- GICv3 interrupt controller
|
||||||
@@ -43,7 +43,7 @@ Getting Started
|
|||||||
3. Configuring and running
|
3. Configuring and running
|
||||||
3.1 Single Core
|
3.1 Single Core
|
||||||
Configuring NuttX and compile:
|
Configuring NuttX and compile:
|
||||||
$ ./tools/configure.sh -l qemu-a53:nsh
|
$ ./tools/configure.sh -l qemu-armv8a:nsh
|
||||||
$ make
|
$ make
|
||||||
Running with qemu
|
Running with qemu
|
||||||
$ qemu-system-aarch64 -cpu cortex-a53 -nographic \
|
$ qemu-system-aarch64 -cpu cortex-a53 -nographic \
|
||||||
@@ -53,7 +53,7 @@ Getting Started
|
|||||||
|
|
||||||
3.2 SMP
|
3.2 SMP
|
||||||
Configuring NuttX and compile:
|
Configuring NuttX and compile:
|
||||||
$ ./tools/configure.sh -l qemu-a53:nsh_smp
|
$ ./tools/configure.sh -l qemu-armv8a:nsh_smp
|
||||||
$ make
|
$ make
|
||||||
Running with qemu
|
Running with qemu
|
||||||
$ qemu-system-aarch64 -cpu cortex-a53 -smp 4 -nographic \
|
$ qemu-system-aarch64 -cpu cortex-a53 -smp 4 -nographic \
|
||||||
@@ -70,6 +70,11 @@ Getting Started
|
|||||||
Status
|
Status
|
||||||
======
|
======
|
||||||
|
|
||||||
|
2022-10-13:
|
||||||
|
1. Renamed the board configuration name from qemu-a53 to qemu-v8a.
|
||||||
|
|
||||||
|
2. Added the configurations for Cortex-A57 and Cortex-A72.
|
||||||
|
|
||||||
2022-07-01:
|
2022-07-01:
|
||||||
|
|
||||||
1. It's very stranger to see that signal testing of ostest is PASSED at Physical Ubuntu PC
|
1. It's very stranger to see that signal testing of ostest is PASSED at Physical Ubuntu PC
|
||||||
+2
-2
@@ -7,8 +7,8 @@
|
|||||||
#
|
#
|
||||||
CONFIG_ARCH="arm64"
|
CONFIG_ARCH="arm64"
|
||||||
CONFIG_ARCH_ARM64=y
|
CONFIG_ARCH_ARM64=y
|
||||||
CONFIG_ARCH_BOARD="qemu-a53"
|
CONFIG_ARCH_BOARD="qemu-armv8a"
|
||||||
CONFIG_ARCH_BOARD_QEMU_A53=y
|
CONFIG_ARCH_BOARD_QEMU_ARMV8A=y
|
||||||
CONFIG_ARCH_CHIP="qemu"
|
CONFIG_ARCH_CHIP="qemu"
|
||||||
CONFIG_ARCH_CHIP_QEMU=y
|
CONFIG_ARCH_CHIP_QEMU=y
|
||||||
CONFIG_ARCH_CHIP_QEMU_A53=y
|
CONFIG_ARCH_CHIP_QEMU_A53=y
|
||||||
+2
-2
@@ -8,8 +8,8 @@
|
|||||||
# CONFIG_ARCH_FPU is not set
|
# CONFIG_ARCH_FPU is not set
|
||||||
CONFIG_ARCH="arm64"
|
CONFIG_ARCH="arm64"
|
||||||
CONFIG_ARCH_ARM64=y
|
CONFIG_ARCH_ARM64=y
|
||||||
CONFIG_ARCH_BOARD="qemu-a53"
|
CONFIG_ARCH_BOARD="qemu-armv8a"
|
||||||
CONFIG_ARCH_BOARD_QEMU_A53=y
|
CONFIG_ARCH_BOARD_QEMU_ARMV8A=y
|
||||||
CONFIG_ARCH_CHIP="qemu"
|
CONFIG_ARCH_CHIP="qemu"
|
||||||
CONFIG_ARCH_CHIP_QEMU=y
|
CONFIG_ARCH_CHIP_QEMU=y
|
||||||
CONFIG_ARCH_CHIP_QEMU_A53=y
|
CONFIG_ARCH_CHIP_QEMU_A53=y
|
||||||
+4
-4
@@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* boards/arm64/qemu/qemu-a53/include/board_memorymap.h
|
* boards/arm64/qemu/qemu-armv8a/include/board_memorymap.h
|
||||||
*
|
*
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
* contributor license agreements. See the NOTICE file distributed with
|
* contributor license agreements. See the NOTICE file distributed with
|
||||||
@@ -18,8 +18,8 @@
|
|||||||
*
|
*
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
#ifndef __BOARDS_ARM64_QEMU_QEMU_A53_INCLUDE_BOARD_MEMORYMAP_H
|
#ifndef __BOARDS_ARM64_QEMU_QEMU_ARMV8A_INCLUDE_BOARD_MEMORYMAP_H
|
||||||
#define __BOARDS_ARM64_QEMU_QEMU_A53_INCLUDE_BOARD_MEMORYMAP_H
|
#define __BOARDS_ARM64_QEMU_QEMU_ARMV8A_INCLUDE_BOARD_MEMORYMAP_H
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Included Files
|
* Included Files
|
||||||
@@ -56,4 +56,4 @@ extern "C"
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* __ASSEMBLY__ */
|
#endif /* __ASSEMBLY__ */
|
||||||
#endif /* __BOARDS_ARM64_QEMU_QEMU_A53_INCLUDE_BOARD_MEMORYMAP_H */
|
#endif /* __BOARDS_ARM64_QEMU_QEMU_ARMV8A_INCLUDE_BOARD_MEMORYMAP_H */
|
||||||
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
############################################################################
|
############################################################################
|
||||||
# boards/arm64/qemu/qemu-a53/scripts/Make.defs
|
# boards/arm64/qemu/qemu-armv8a/scripts/Make.defs
|
||||||
#
|
#
|
||||||
# Licensed to the Apache Software Foundation (ASF) under one or more
|
# Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
# contributor license agreements. See the NOTICE file distributed with
|
# contributor license agreements. See the NOTICE file distributed with
|
||||||
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* boards/arm64/qemu/qemu-a53/scripts/dramboot.ld
|
* boards/arm64/qemu/qemu-armv8a/scripts/dramboot.ld
|
||||||
*
|
*
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
* contributor license agreements. See the NOTICE file distributed with
|
* contributor license agreements. See the NOTICE file distributed with
|
||||||
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
############################################################################
|
############################################################################
|
||||||
# boards/arm64/qemu/qemu-a53/src/Makefile
|
# boards/arm64/qemu/qemu-armv8a/src/Makefile
|
||||||
#
|
#
|
||||||
# Licensed to the Apache Software Foundation (ASF) under one or more
|
# Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
# contributor license agreements. See the NOTICE file distributed with
|
# contributor license agreements. See the NOTICE file distributed with
|
||||||
+4
-4
@@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* boards/arm64/qemu/qemu-a53/src/qemu-a53.h
|
* boards/arm64/qemu/qemu-armv8a/src/qemu-armv8a.h
|
||||||
*
|
*
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
* contributor license agreements. See the NOTICE file distributed with
|
* contributor license agreements. See the NOTICE file distributed with
|
||||||
@@ -18,8 +18,8 @@
|
|||||||
*
|
*
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
#ifndef __BOARDS_ARM64_QEMU_QEMU_A53_SRC_QEMU_A53_H
|
#ifndef __BOARDS_ARM64_QEMU_QEMU_ARMV8A_SRC_QEMU_ARMV8A_H
|
||||||
#define __BOARDS_ARM64_QEMU_QEMU_A53_SRC_QEMU_A53_H
|
#define __BOARDS_ARM64_QEMU_QEMU_ARMV8A_SRC_QEMU_ARMV8A_H
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Included Files
|
* Included Files
|
||||||
@@ -56,4 +56,4 @@ int qemu_bringup(void);
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* __ASSEMBLY__ */
|
#endif /* __ASSEMBLY__ */
|
||||||
#endif /* __BOARDS_ARM64_QEMU_QEMU_A53_SRC_QEMU_A53_H */
|
#endif /* __BOARDS_ARM64_QEMU_QEMU_ARMV8A_SRC_QEMU_ARMV8A_H */
|
||||||
+2
-2
@@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* boards/arm64/qemu/qemu-a53/src/qemu_appinit.c
|
* boards/arm64/qemu/qemu-armv8a/src/qemu_appinit.c
|
||||||
*
|
*
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
* contributor license agreements. See the NOTICE file distributed with
|
* contributor license agreements. See the NOTICE file distributed with
|
||||||
@@ -28,7 +28,7 @@
|
|||||||
|
|
||||||
#include <nuttx/board.h>
|
#include <nuttx/board.h>
|
||||||
|
|
||||||
#include "qemu-a53.h"
|
#include "qemu-armv8a.h"
|
||||||
|
|
||||||
#ifdef CONFIG_BOARDCTL
|
#ifdef CONFIG_BOARDCTL
|
||||||
|
|
||||||
+2
-2
@@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* boards/arm64/qemu/qemu-a53/src/qemu_boardinit.c
|
* boards/arm64/qemu/qemu-armv8a/src/qemu_boardinit.c
|
||||||
*
|
*
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
* contributor license agreements. See the NOTICE file distributed with
|
* contributor license agreements. See the NOTICE file distributed with
|
||||||
@@ -25,7 +25,7 @@
|
|||||||
#include <nuttx/config.h>
|
#include <nuttx/config.h>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <nuttx/board.h>
|
#include <nuttx/board.h>
|
||||||
#include "qemu-a53.h"
|
#include "qemu-armv8a.h"
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Pre-processor Definitions
|
* Pre-processor Definitions
|
||||||
+2
-2
@@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* boards/arm64/qemu/qemu-a53/src/qemu_bringup.c
|
* boards/arm64/qemu/qemu-armv8a/src/qemu_bringup.c
|
||||||
*
|
*
|
||||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
* contributor license agreements. See the NOTICE file distributed with
|
* contributor license agreements. See the NOTICE file distributed with
|
||||||
@@ -29,7 +29,7 @@
|
|||||||
|
|
||||||
#include <nuttx/fs/fs.h>
|
#include <nuttx/fs/fs.h>
|
||||||
|
|
||||||
#include "qemu-a53.h"
|
#include "qemu-armv8a.h"
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
@@ -41,4 +41,4 @@
|
|||||||
# with float, disable the cibuild check for MACOS
|
# with float, disable the cibuild check for MACOS
|
||||||
# it will be enbaled while new toolchain release
|
# it will be enbaled while new toolchain release
|
||||||
|
|
||||||
# /arm64/qemu/qemu-a53/configs/nsh_smp
|
# /arm64/qemu/qemu-armv8a/configs/nsh_smp
|
||||||
|
|||||||
Reference in New Issue
Block a user