mirror of
https://github.com/qemu/qemu.git
synced 2026-07-08 17:56:38 +00:00
target/hexagon: add build config for softmmu
Reviewed-by: Taylor Simpson <ltaylorsimpson@gmail.com> Reviewed-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> Acked-by: Philippe Mathieu-Daudé <philmd@mailo.com> Signed-off-by: Brian Cain <brian.cain@oss.qualcomm.com>
This commit is contained in:
@@ -256,6 +256,7 @@ F: linux-user/hexagon/
|
||||
F: tests/tcg/hexagon/
|
||||
F: disas/hexagon.c
|
||||
F: configs/targets/hexagon-linux-user.mak
|
||||
F: configs/targets/hexagon-softmmu.mak
|
||||
F: tests/docker/dockerfiles/debian-hexagon-cross.docker
|
||||
F: gdbstub/gdb-xml/hexagon*.xml
|
||||
F: docs/system/target-hexagon.rst
|
||||
|
||||
6
configs/devices/hexagon-softmmu/default.mak
Normal file
6
configs/devices/hexagon-softmmu/default.mak
Normal file
@@ -0,0 +1,6 @@
|
||||
# Default configuration for hexagon-softmmu
|
||||
|
||||
# Uncomment the following lines to disable these optional devices:
|
||||
|
||||
# Boards are selected by default, uncomment to keep out of the build.
|
||||
# CONFIG_HEX_DSP=y
|
||||
7
configs/targets/hexagon-softmmu.mak
Normal file
7
configs/targets/hexagon-softmmu.mak
Normal file
@@ -0,0 +1,7 @@
|
||||
# Default configuration for hexagon-softmmu
|
||||
|
||||
TARGET_ARCH=hexagon
|
||||
TARGET_XML_FILES=hexagon-core.xml hexagon-hvx.xml
|
||||
TARGET_LONG_BITS=32
|
||||
TARGET_NOT_USING_LEGACY_LDST_PHYS_API=y
|
||||
TARGET_NOT_USING_LEGACY_NATIVE_ENDIAN_API=y
|
||||
@@ -16,6 +16,7 @@ source sh4/Kconfig
|
||||
source sparc/Kconfig
|
||||
source tricore/Kconfig
|
||||
source xtensa/Kconfig
|
||||
source hexagon/Kconfig
|
||||
|
||||
config TARGET_BIG_ENDIAN
|
||||
bool
|
||||
|
||||
2
target/hexagon/Kconfig
Normal file
2
target/hexagon/Kconfig
Normal file
@@ -0,0 +1,2 @@
|
||||
config HEXAGON
|
||||
bool
|
||||
@@ -38,10 +38,7 @@ typedef struct HexagonGlobalRegState HexagonGlobalRegState;
|
||||
#include "hw/core/registerfields.h"
|
||||
#include "qemu/bitmap.h"
|
||||
|
||||
#ifndef CONFIG_USER_ONLY
|
||||
#error "Hexagon does not support system emulation"
|
||||
#endif
|
||||
|
||||
#include "target/hexagon/reg_fields.h"
|
||||
|
||||
#define NUM_PREGS 4
|
||||
#define TOTAL_PER_THREAD_REGS 64
|
||||
|
||||
@@ -235,6 +235,7 @@ decodetree_trans_funcs_generated = custom_target(
|
||||
command: [python, files('gen_trans_funcs.py'), semantics_generated, '@OUTPUT@'],
|
||||
)
|
||||
hexagon_ss.add(decodetree_trans_funcs_generated)
|
||||
hexagon_softmmu_ss = ss.source_set()
|
||||
|
||||
hexagon_ss.add(files(
|
||||
'cpu.c',
|
||||
@@ -253,6 +254,14 @@ hexagon_ss.add(files(
|
||||
'mmvec/system_ext_mmvec.c',
|
||||
))
|
||||
|
||||
hexagon_softmmu_ss.add(files(
|
||||
'cpu_helper.c',
|
||||
'hex_mmu.c',
|
||||
'hex_interrupts.c',
|
||||
'hexswi.c',
|
||||
'machine.c',
|
||||
))
|
||||
|
||||
#
|
||||
# Step 4.5
|
||||
# We use flex/bison based idef-parser to generate TCG code for a lot
|
||||
@@ -262,7 +271,8 @@ hexagon_ss.add(files(
|
||||
# idef-generated-enabled-instructions
|
||||
#
|
||||
idef_parser_enabled = get_option('hexagon_idef_parser')
|
||||
if idef_parser_enabled and 'hexagon-linux-user' in target_dirs
|
||||
if idef_parser_enabled and ('hexagon-linux-user' in target_dirs or
|
||||
'hexagon-softmmu' in target_dirs)
|
||||
idef_parser_input_generated = custom_target(
|
||||
'idef_parser_input.h.inc',
|
||||
output: 'idef_parser_input.h.inc',
|
||||
@@ -390,3 +400,4 @@ analyze_funcs_generated = custom_target(
|
||||
hexagon_ss.add(analyze_funcs_generated)
|
||||
|
||||
target_arch += {'hexagon': hexagon_ss}
|
||||
target_system_arch += {'hexagon': hexagon_softmmu_ss}
|
||||
|
||||
Reference in New Issue
Block a user