From 78b5f1c1ed4a880862df13161f8ec4071b26833b Mon Sep 17 00:00:00 2001 From: Nikolay Agishev Date: Mon, 6 May 2024 17:17:11 +0300 Subject: [PATCH] SoC: NSIM reorganization NSIM reorganization Signed-off-by: Nikolay Agishev --- .../nsim/{ => arc_classic}/CMakeLists.txt | 0 boards/snps/nsim/{ => arc_classic}/Kconfig | 0 .../snps/nsim/{ => arc_classic}/Kconfig.nsim | 0 .../nsim/{ => arc_classic}/arc_mpu_regions.c | 0 .../snps/nsim/{ => arc_classic}/board.cmake | 0 boards/snps/nsim/{ => arc_classic}/board.yml | 0 .../snps/nsim/{ => arc_classic}/doc/index.rst | 0 .../nsim/{ => arc_classic}/haps_arcv3_init.c | 0 .../nsim/{ => arc_classic}/nsim-ccm-mem.dtsi | 0 .../nsim-flash-sram-mem.dtsi | 0 .../nsim/{ => arc_classic}/nsim-flat-mem.dtsi | 0 .../snps/nsim/{ => arc_classic}/nsim-smp.dtsi | 0 .../{ => arc_classic}/nsim-uart-hostlink.dtsi | 0 .../{ => arc_classic}/nsim-uart-ns16550.dtsi | 0 boards/snps/nsim/{ => arc_classic}/nsim.dtsi | 0 .../nsim/{ => arc_classic}/nsim_em-sec.dtsi | 0 .../snps/nsim/{ => arc_classic}/nsim_em.dtsi | 0 .../nsim/{ => arc_classic}/nsim_nsim_em.dts | 0 .../nsim/{ => arc_classic}/nsim_nsim_em.yaml | 0 .../{ => arc_classic}/nsim_nsim_em11d.dts | 0 .../{ => arc_classic}/nsim_nsim_em11d.yaml | 0 .../nsim_nsim_em11d_defconfig | 0 .../{ => arc_classic}/nsim_nsim_em7d_v22.dts | 0 .../{ => arc_classic}/nsim_nsim_em7d_v22.yaml | 0 .../nsim_nsim_em7d_v22_defconfig | 0 .../{ => arc_classic}/nsim_nsim_em_defconfig | 0 .../nsim/{ => arc_classic}/nsim_nsim_hs.dts | 0 .../nsim/{ => arc_classic}/nsim_nsim_hs.yaml | 0 .../nsim/{ => arc_classic}/nsim_nsim_hs5x.dts | 0 .../{ => arc_classic}/nsim_nsim_hs5x.yaml | 0 .../nsim_nsim_hs5x_defconfig | 0 .../{ => arc_classic}/nsim_nsim_hs5x_smp.dts | 0 .../{ => arc_classic}/nsim_nsim_hs5x_smp.yaml | 0 .../nsim_nsim_hs5x_smp_12cores.dts | 0 .../nsim_nsim_hs5x_smp_12cores.yaml | 0 .../nsim_nsim_hs5x_smp_12cores_defconfig | 0 .../nsim_nsim_hs5x_smp_defconfig | 0 .../nsim/{ => arc_classic}/nsim_nsim_hs6x.dts | 0 .../{ => arc_classic}/nsim_nsim_hs6x.yaml | 0 .../nsim_nsim_hs6x_defconfig | 0 .../{ => arc_classic}/nsim_nsim_hs6x_smp.dts | 0 .../{ => arc_classic}/nsim_nsim_hs6x_smp.yaml | 0 .../nsim_nsim_hs6x_smp_12cores.dts | 0 .../nsim_nsim_hs6x_smp_12cores.yaml | 0 .../nsim_nsim_hs6x_smp_12cores_defconfig | 0 .../nsim_nsim_hs6x_smp_defconfig | 0 .../{ => arc_classic}/nsim_nsim_hs_defconfig | 0 .../nsim_nsim_hs_flash_xip.dts | 0 .../nsim_nsim_hs_flash_xip.yaml | 0 .../nsim_nsim_hs_flash_xip_defconfig | 0 .../nsim_nsim_hs_hostlink.dts | 0 .../nsim_nsim_hs_hostlink.yaml | 0 .../nsim_nsim_hs_hostlink_defconfig | 0 .../{ => arc_classic}/nsim_nsim_hs_mpuv6.dts | 0 .../{ => arc_classic}/nsim_nsim_hs_mpuv6.yaml | 0 .../nsim_nsim_hs_mpuv6_defconfig | 0 .../{ => arc_classic}/nsim_nsim_hs_smp.dts | 0 .../{ => arc_classic}/nsim_nsim_hs_smp.yaml | 0 .../nsim_nsim_hs_smp_defconfig | 0 .../{ => arc_classic}/nsim_nsim_hs_sram.dts | 0 .../{ => arc_classic}/nsim_nsim_hs_sram.yaml | 0 .../nsim_nsim_hs_sram_defconfig | 0 .../nsim/{ => arc_classic}/nsim_nsim_sem.dts | 0 .../nsim/{ => arc_classic}/nsim_nsim_sem.yaml | 0 .../{ => arc_classic}/nsim_nsim_sem_defconfig | 0 .../nsim_nsim_sem_mpu_stack_guard.dts | 0 .../nsim_nsim_sem_mpu_stack_guard.yaml | 0 .../nsim_nsim_sem_mpu_stack_guard_defconfig | 0 .../nsim/{ => arc_classic}/nsim_nsim_vpx5.dts | 0 .../{ => arc_classic}/nsim_nsim_vpx5.yaml | 0 .../nsim_nsim_vpx5_defconfig | 0 .../{ => arc_classic}/support/mdb_em.args | 0 .../{ => arc_classic}/support/mdb_em11d.args | 0 .../support/mdb_em7d_v22.args | 0 .../{ => arc_classic}/support/mdb_hs.args | 0 .../{ => arc_classic}/support/mdb_hs5x.args | 0 .../support/mdb_hs5x_smp.args | 0 .../support/mdb_hs5x_smp_12cores.args | 0 .../{ => arc_classic}/support/mdb_hs6x.args | 0 .../support/mdb_hs6x_smp.args | 0 .../support/mdb_hs6x_smp_12cores.args | 0 .../support/mdb_hs_flash_xip.args | 0 .../support/mdb_hs_hostlink.args | 0 .../support/mdb_hs_mpuv6.args | 0 .../{ => arc_classic}/support/mdb_hs_smp.args | 0 .../support/mdb_hs_sram.args | 0 .../{ => arc_classic}/support/mdb_sem.args | 0 .../support/mdb_sem_mpu_stack_guard.args | 0 .../{ => arc_classic}/support/mdb_vpx5.args | 0 .../{ => arc_classic}/support/nsim_em.props | 0 .../support/nsim_em11d.props | 0 .../support/nsim_em7d_v22.props | 0 .../{ => arc_classic}/support/nsim_hs.props | 0 .../{ => arc_classic}/support/nsim_hs5x.props | 0 .../{ => arc_classic}/support/nsim_hs6x.props | 0 .../support/nsim_hs_flash_xip.props | 0 .../support/nsim_hs_hostlink.props | 0 .../support/nsim_hs_mpuv6.props | 0 .../support/nsim_hs_sram.props | 0 .../{ => arc_classic}/support/nsim_sem.props | 0 .../support/nsim_sem_mpu_stack_guard.props | 0 .../{ => arc_classic}/support/nsim_vpx5.props | 0 boards/snps/nsim/arc_v/Kconfig.defconfig | 12 ++ boards/snps/nsim/arc_v/Kconfig.nsim_arc_v | 5 + boards/snps/nsim/arc_v/board.cmake | 16 ++ boards/snps/nsim/arc_v/board.yml | 5 + boards/snps/nsim/arc_v/doc/index.rst | 201 ++++++++++++++++++ boards/snps/nsim/arc_v/nsim_arc_v_rmx500.dts | 24 +++ boards/snps/nsim/arc_v/nsim_arc_v_rmx500.yaml | 14 ++ .../nsim/arc_v/nsim_arc_v_rmx500_defconfig | 11 + boards/snps/nsim/arc_v/rmx500.dtsi | 8 + boards/snps/nsim/arc_v/rmx5xx.dtsi | 50 +++++ boards/snps/nsim/arc_v/support/rmx500.props | 9 + .../nsim_sem_normal_defconfig | 2 +- soc/snps/nsim/CMakeLists.txt | 109 ---------- soc/snps/nsim/Kconfig | 32 --- soc/snps/nsim/Kconfig.defconfig | 11 - soc/snps/nsim/Kconfig.soc | 94 -------- soc/snps/nsim/arc_classic/CMakeLists.txt | 6 + soc/snps/nsim/arc_classic/Kconfig | 8 + soc/snps/nsim/arc_classic/Kconfig.defconfig | 11 + soc/snps/nsim/arc_classic/Kconfig.soc | 10 + soc/snps/nsim/arc_classic/em/CMakeLists.txt | 34 +++ soc/snps/nsim/arc_classic/em/Kconfig | 6 + .../nsim/arc_classic/em/Kconfig.defconfig | 8 + .../{ => arc_classic/em}/Kconfig.defconfig.em | 0 .../em}/Kconfig.defconfig.em11d | 0 .../em}/Kconfig.defconfig.em7d_v22 | 0 soc/snps/nsim/arc_classic/em/Kconfig.soc | 26 +++ soc/snps/nsim/arc_classic/hs/CMakeLists.txt | 63 ++++++ soc/snps/nsim/arc_classic/hs/Kconfig | 7 + .../nsim/arc_classic/hs/Kconfig.defconfig | 8 + .../{ => arc_classic/hs}/Kconfig.defconfig.hs | 0 .../hs}/Kconfig.defconfig.hs5x | 0 .../hs}/Kconfig.defconfig.hs5x_smp | 0 .../hs}/Kconfig.defconfig.hs6x | 0 .../hs}/Kconfig.defconfig.hs6x_smp | 0 .../hs}/Kconfig.defconfig.hs_mpuv6 | 0 .../hs}/Kconfig.defconfig.hs_smp | 0 soc/snps/nsim/arc_classic/hs/Kconfig.soc | 46 ++++ soc/snps/nsim/{ => arc_classic}/linker.ld | 0 soc/snps/nsim/arc_classic/sem/CMakeLists.txt | 24 +++ soc/snps/nsim/arc_classic/sem/Kconfig | 8 + .../sem/Kconfig.defconfig} | 0 soc/snps/nsim/arc_classic/sem/Kconfig.soc | 16 ++ soc/snps/nsim/arc_classic/soc.yml | 23 ++ soc/snps/nsim/arc_classic/vpx5/CMakeLists.txt | 23 ++ soc/snps/nsim/arc_classic/vpx5/Kconfig | 2 + .../vpx5/Kconfig.defconfig} | 0 soc/snps/nsim/arc_classic/vpx5/Kconfig.soc | 18 ++ soc/snps/nsim/arc_v/CMakeLists.txt | 3 + soc/snps/nsim/arc_v/Kconfig | 8 + soc/snps/nsim/arc_v/Kconfig.defconfig | 8 + soc/snps/nsim/arc_v/Kconfig.soc | 10 + soc/snps/nsim/arc_v/rmx5xx/CMakeLists.txt | 17 ++ soc/snps/nsim/arc_v/rmx5xx/Kconfig | 21 ++ soc/snps/nsim/arc_v/rmx5xx/Kconfig.defconfig | 27 +++ soc/snps/nsim/arc_v/rmx5xx/Kconfig.soc | 16 ++ soc/snps/nsim/arc_v/soc.yml | 6 + soc/snps/nsim/soc.yml | 15 -- tests/lib/heap/testcase.yaml | 2 +- tests/ztest/error_hook/src/main.c | 2 +- 162 files changed, 821 insertions(+), 264 deletions(-) rename boards/snps/nsim/{ => arc_classic}/CMakeLists.txt (100%) rename boards/snps/nsim/{ => arc_classic}/Kconfig (100%) rename boards/snps/nsim/{ => arc_classic}/Kconfig.nsim (100%) rename boards/snps/nsim/{ => arc_classic}/arc_mpu_regions.c (100%) rename boards/snps/nsim/{ => arc_classic}/board.cmake (100%) rename boards/snps/nsim/{ => arc_classic}/board.yml (100%) rename boards/snps/nsim/{ => arc_classic}/doc/index.rst (100%) rename boards/snps/nsim/{ => arc_classic}/haps_arcv3_init.c (100%) rename boards/snps/nsim/{ => arc_classic}/nsim-ccm-mem.dtsi (100%) rename boards/snps/nsim/{ => arc_classic}/nsim-flash-sram-mem.dtsi (100%) rename boards/snps/nsim/{ => arc_classic}/nsim-flat-mem.dtsi (100%) rename boards/snps/nsim/{ => arc_classic}/nsim-smp.dtsi (100%) rename boards/snps/nsim/{ => arc_classic}/nsim-uart-hostlink.dtsi (100%) rename boards/snps/nsim/{ => arc_classic}/nsim-uart-ns16550.dtsi (100%) rename boards/snps/nsim/{ => arc_classic}/nsim.dtsi (100%) rename boards/snps/nsim/{ => arc_classic}/nsim_em-sec.dtsi (100%) rename boards/snps/nsim/{ => arc_classic}/nsim_em.dtsi (100%) rename boards/snps/nsim/{ => arc_classic}/nsim_nsim_em.dts (100%) rename boards/snps/nsim/{ => arc_classic}/nsim_nsim_em.yaml (100%) rename boards/snps/nsim/{ => arc_classic}/nsim_nsim_em11d.dts (100%) rename boards/snps/nsim/{ => arc_classic}/nsim_nsim_em11d.yaml (100%) rename boards/snps/nsim/{ => arc_classic}/nsim_nsim_em11d_defconfig (100%) rename boards/snps/nsim/{ => arc_classic}/nsim_nsim_em7d_v22.dts (100%) rename boards/snps/nsim/{ => arc_classic}/nsim_nsim_em7d_v22.yaml (100%) rename boards/snps/nsim/{ => arc_classic}/nsim_nsim_em7d_v22_defconfig (100%) rename boards/snps/nsim/{ => arc_classic}/nsim_nsim_em_defconfig (100%) rename boards/snps/nsim/{ => arc_classic}/nsim_nsim_hs.dts (100%) rename boards/snps/nsim/{ => arc_classic}/nsim_nsim_hs.yaml (100%) rename boards/snps/nsim/{ => arc_classic}/nsim_nsim_hs5x.dts (100%) rename boards/snps/nsim/{ => arc_classic}/nsim_nsim_hs5x.yaml (100%) rename boards/snps/nsim/{ => arc_classic}/nsim_nsim_hs5x_defconfig (100%) rename boards/snps/nsim/{ => arc_classic}/nsim_nsim_hs5x_smp.dts (100%) rename boards/snps/nsim/{ => arc_classic}/nsim_nsim_hs5x_smp.yaml (100%) rename boards/snps/nsim/{ => arc_classic}/nsim_nsim_hs5x_smp_12cores.dts (100%) rename boards/snps/nsim/{ => arc_classic}/nsim_nsim_hs5x_smp_12cores.yaml (100%) rename boards/snps/nsim/{ => arc_classic}/nsim_nsim_hs5x_smp_12cores_defconfig (100%) rename boards/snps/nsim/{ => arc_classic}/nsim_nsim_hs5x_smp_defconfig (100%) rename boards/snps/nsim/{ => arc_classic}/nsim_nsim_hs6x.dts (100%) rename boards/snps/nsim/{ => arc_classic}/nsim_nsim_hs6x.yaml (100%) rename boards/snps/nsim/{ => arc_classic}/nsim_nsim_hs6x_defconfig (100%) rename boards/snps/nsim/{ => arc_classic}/nsim_nsim_hs6x_smp.dts (100%) rename boards/snps/nsim/{ => arc_classic}/nsim_nsim_hs6x_smp.yaml (100%) rename boards/snps/nsim/{ => arc_classic}/nsim_nsim_hs6x_smp_12cores.dts (100%) rename boards/snps/nsim/{ => arc_classic}/nsim_nsim_hs6x_smp_12cores.yaml (100%) rename boards/snps/nsim/{ => arc_classic}/nsim_nsim_hs6x_smp_12cores_defconfig (100%) rename boards/snps/nsim/{ => arc_classic}/nsim_nsim_hs6x_smp_defconfig (100%) rename boards/snps/nsim/{ => arc_classic}/nsim_nsim_hs_defconfig (100%) rename boards/snps/nsim/{ => arc_classic}/nsim_nsim_hs_flash_xip.dts (100%) rename boards/snps/nsim/{ => arc_classic}/nsim_nsim_hs_flash_xip.yaml (100%) rename boards/snps/nsim/{ => arc_classic}/nsim_nsim_hs_flash_xip_defconfig (100%) rename boards/snps/nsim/{ => arc_classic}/nsim_nsim_hs_hostlink.dts (100%) rename boards/snps/nsim/{ => arc_classic}/nsim_nsim_hs_hostlink.yaml (100%) rename boards/snps/nsim/{ => arc_classic}/nsim_nsim_hs_hostlink_defconfig (100%) rename boards/snps/nsim/{ => arc_classic}/nsim_nsim_hs_mpuv6.dts (100%) rename boards/snps/nsim/{ => arc_classic}/nsim_nsim_hs_mpuv6.yaml (100%) rename boards/snps/nsim/{ => arc_classic}/nsim_nsim_hs_mpuv6_defconfig (100%) rename boards/snps/nsim/{ => arc_classic}/nsim_nsim_hs_smp.dts (100%) rename boards/snps/nsim/{ => arc_classic}/nsim_nsim_hs_smp.yaml (100%) rename boards/snps/nsim/{ => arc_classic}/nsim_nsim_hs_smp_defconfig (100%) rename boards/snps/nsim/{ => arc_classic}/nsim_nsim_hs_sram.dts (100%) rename boards/snps/nsim/{ => arc_classic}/nsim_nsim_hs_sram.yaml (100%) rename boards/snps/nsim/{ => arc_classic}/nsim_nsim_hs_sram_defconfig (100%) rename boards/snps/nsim/{ => arc_classic}/nsim_nsim_sem.dts (100%) rename boards/snps/nsim/{ => arc_classic}/nsim_nsim_sem.yaml (100%) rename boards/snps/nsim/{ => arc_classic}/nsim_nsim_sem_defconfig (100%) rename boards/snps/nsim/{ => arc_classic}/nsim_nsim_sem_mpu_stack_guard.dts (100%) rename boards/snps/nsim/{ => arc_classic}/nsim_nsim_sem_mpu_stack_guard.yaml (100%) rename boards/snps/nsim/{ => arc_classic}/nsim_nsim_sem_mpu_stack_guard_defconfig (100%) rename boards/snps/nsim/{ => arc_classic}/nsim_nsim_vpx5.dts (100%) rename boards/snps/nsim/{ => arc_classic}/nsim_nsim_vpx5.yaml (100%) rename boards/snps/nsim/{ => arc_classic}/nsim_nsim_vpx5_defconfig (100%) rename boards/snps/nsim/{ => arc_classic}/support/mdb_em.args (100%) rename boards/snps/nsim/{ => arc_classic}/support/mdb_em11d.args (100%) rename boards/snps/nsim/{ => arc_classic}/support/mdb_em7d_v22.args (100%) rename boards/snps/nsim/{ => arc_classic}/support/mdb_hs.args (100%) rename boards/snps/nsim/{ => arc_classic}/support/mdb_hs5x.args (100%) rename boards/snps/nsim/{ => arc_classic}/support/mdb_hs5x_smp.args (100%) rename boards/snps/nsim/{ => arc_classic}/support/mdb_hs5x_smp_12cores.args (100%) rename boards/snps/nsim/{ => arc_classic}/support/mdb_hs6x.args (100%) rename boards/snps/nsim/{ => arc_classic}/support/mdb_hs6x_smp.args (100%) rename boards/snps/nsim/{ => arc_classic}/support/mdb_hs6x_smp_12cores.args (100%) rename boards/snps/nsim/{ => arc_classic}/support/mdb_hs_flash_xip.args (100%) rename boards/snps/nsim/{ => arc_classic}/support/mdb_hs_hostlink.args (100%) rename boards/snps/nsim/{ => arc_classic}/support/mdb_hs_mpuv6.args (100%) rename boards/snps/nsim/{ => arc_classic}/support/mdb_hs_smp.args (100%) rename boards/snps/nsim/{ => arc_classic}/support/mdb_hs_sram.args (100%) rename boards/snps/nsim/{ => arc_classic}/support/mdb_sem.args (100%) rename boards/snps/nsim/{ => arc_classic}/support/mdb_sem_mpu_stack_guard.args (100%) rename boards/snps/nsim/{ => arc_classic}/support/mdb_vpx5.args (100%) rename boards/snps/nsim/{ => arc_classic}/support/nsim_em.props (100%) rename boards/snps/nsim/{ => arc_classic}/support/nsim_em11d.props (100%) rename boards/snps/nsim/{ => arc_classic}/support/nsim_em7d_v22.props (100%) rename boards/snps/nsim/{ => arc_classic}/support/nsim_hs.props (100%) rename boards/snps/nsim/{ => arc_classic}/support/nsim_hs5x.props (100%) rename boards/snps/nsim/{ => arc_classic}/support/nsim_hs6x.props (100%) rename boards/snps/nsim/{ => arc_classic}/support/nsim_hs_flash_xip.props (100%) rename boards/snps/nsim/{ => arc_classic}/support/nsim_hs_hostlink.props (100%) rename boards/snps/nsim/{ => arc_classic}/support/nsim_hs_mpuv6.props (100%) rename boards/snps/nsim/{ => arc_classic}/support/nsim_hs_sram.props (100%) rename boards/snps/nsim/{ => arc_classic}/support/nsim_sem.props (100%) rename boards/snps/nsim/{ => arc_classic}/support/nsim_sem_mpu_stack_guard.props (100%) rename boards/snps/nsim/{ => arc_classic}/support/nsim_vpx5.props (100%) create mode 100644 boards/snps/nsim/arc_v/Kconfig.defconfig create mode 100644 boards/snps/nsim/arc_v/Kconfig.nsim_arc_v create mode 100644 boards/snps/nsim/arc_v/board.cmake create mode 100644 boards/snps/nsim/arc_v/board.yml create mode 100644 boards/snps/nsim/arc_v/doc/index.rst create mode 100644 boards/snps/nsim/arc_v/nsim_arc_v_rmx500.dts create mode 100644 boards/snps/nsim/arc_v/nsim_arc_v_rmx500.yaml create mode 100644 boards/snps/nsim/arc_v/nsim_arc_v_rmx500_defconfig create mode 100644 boards/snps/nsim/arc_v/rmx500.dtsi create mode 100644 boards/snps/nsim/arc_v/rmx5xx.dtsi create mode 100644 boards/snps/nsim/arc_v/support/rmx500.props delete mode 100644 soc/snps/nsim/CMakeLists.txt delete mode 100644 soc/snps/nsim/Kconfig delete mode 100644 soc/snps/nsim/Kconfig.defconfig delete mode 100644 soc/snps/nsim/Kconfig.soc create mode 100644 soc/snps/nsim/arc_classic/CMakeLists.txt create mode 100644 soc/snps/nsim/arc_classic/Kconfig create mode 100644 soc/snps/nsim/arc_classic/Kconfig.defconfig create mode 100644 soc/snps/nsim/arc_classic/Kconfig.soc create mode 100644 soc/snps/nsim/arc_classic/em/CMakeLists.txt create mode 100644 soc/snps/nsim/arc_classic/em/Kconfig create mode 100644 soc/snps/nsim/arc_classic/em/Kconfig.defconfig rename soc/snps/nsim/{ => arc_classic/em}/Kconfig.defconfig.em (100%) rename soc/snps/nsim/{ => arc_classic/em}/Kconfig.defconfig.em11d (100%) rename soc/snps/nsim/{ => arc_classic/em}/Kconfig.defconfig.em7d_v22 (100%) create mode 100644 soc/snps/nsim/arc_classic/em/Kconfig.soc create mode 100644 soc/snps/nsim/arc_classic/hs/CMakeLists.txt create mode 100644 soc/snps/nsim/arc_classic/hs/Kconfig create mode 100644 soc/snps/nsim/arc_classic/hs/Kconfig.defconfig rename soc/snps/nsim/{ => arc_classic/hs}/Kconfig.defconfig.hs (100%) rename soc/snps/nsim/{ => arc_classic/hs}/Kconfig.defconfig.hs5x (100%) rename soc/snps/nsim/{ => arc_classic/hs}/Kconfig.defconfig.hs5x_smp (100%) rename soc/snps/nsim/{ => arc_classic/hs}/Kconfig.defconfig.hs6x (100%) rename soc/snps/nsim/{ => arc_classic/hs}/Kconfig.defconfig.hs6x_smp (100%) rename soc/snps/nsim/{ => arc_classic/hs}/Kconfig.defconfig.hs_mpuv6 (100%) rename soc/snps/nsim/{ => arc_classic/hs}/Kconfig.defconfig.hs_smp (100%) create mode 100644 soc/snps/nsim/arc_classic/hs/Kconfig.soc rename soc/snps/nsim/{ => arc_classic}/linker.ld (100%) create mode 100644 soc/snps/nsim/arc_classic/sem/CMakeLists.txt create mode 100644 soc/snps/nsim/arc_classic/sem/Kconfig rename soc/snps/nsim/{Kconfig.defconfig.sem => arc_classic/sem/Kconfig.defconfig} (100%) create mode 100644 soc/snps/nsim/arc_classic/sem/Kconfig.soc create mode 100644 soc/snps/nsim/arc_classic/soc.yml create mode 100644 soc/snps/nsim/arc_classic/vpx5/CMakeLists.txt create mode 100644 soc/snps/nsim/arc_classic/vpx5/Kconfig rename soc/snps/nsim/{Kconfig.defconfig.vpx5 => arc_classic/vpx5/Kconfig.defconfig} (100%) create mode 100644 soc/snps/nsim/arc_classic/vpx5/Kconfig.soc create mode 100644 soc/snps/nsim/arc_v/CMakeLists.txt create mode 100644 soc/snps/nsim/arc_v/Kconfig create mode 100644 soc/snps/nsim/arc_v/Kconfig.defconfig create mode 100644 soc/snps/nsim/arc_v/Kconfig.soc create mode 100644 soc/snps/nsim/arc_v/rmx5xx/CMakeLists.txt create mode 100644 soc/snps/nsim/arc_v/rmx5xx/Kconfig create mode 100644 soc/snps/nsim/arc_v/rmx5xx/Kconfig.defconfig create mode 100644 soc/snps/nsim/arc_v/rmx5xx/Kconfig.soc create mode 100644 soc/snps/nsim/arc_v/soc.yml delete mode 100644 soc/snps/nsim/soc.yml diff --git a/boards/snps/nsim/CMakeLists.txt b/boards/snps/nsim/arc_classic/CMakeLists.txt similarity index 100% rename from boards/snps/nsim/CMakeLists.txt rename to boards/snps/nsim/arc_classic/CMakeLists.txt diff --git a/boards/snps/nsim/Kconfig b/boards/snps/nsim/arc_classic/Kconfig similarity index 100% rename from boards/snps/nsim/Kconfig rename to boards/snps/nsim/arc_classic/Kconfig diff --git a/boards/snps/nsim/Kconfig.nsim b/boards/snps/nsim/arc_classic/Kconfig.nsim similarity index 100% rename from boards/snps/nsim/Kconfig.nsim rename to boards/snps/nsim/arc_classic/Kconfig.nsim diff --git a/boards/snps/nsim/arc_mpu_regions.c b/boards/snps/nsim/arc_classic/arc_mpu_regions.c similarity index 100% rename from boards/snps/nsim/arc_mpu_regions.c rename to boards/snps/nsim/arc_classic/arc_mpu_regions.c diff --git a/boards/snps/nsim/board.cmake b/boards/snps/nsim/arc_classic/board.cmake similarity index 100% rename from boards/snps/nsim/board.cmake rename to boards/snps/nsim/arc_classic/board.cmake diff --git a/boards/snps/nsim/board.yml b/boards/snps/nsim/arc_classic/board.yml similarity index 100% rename from boards/snps/nsim/board.yml rename to boards/snps/nsim/arc_classic/board.yml diff --git a/boards/snps/nsim/doc/index.rst b/boards/snps/nsim/arc_classic/doc/index.rst similarity index 100% rename from boards/snps/nsim/doc/index.rst rename to boards/snps/nsim/arc_classic/doc/index.rst diff --git a/boards/snps/nsim/haps_arcv3_init.c b/boards/snps/nsim/arc_classic/haps_arcv3_init.c similarity index 100% rename from boards/snps/nsim/haps_arcv3_init.c rename to boards/snps/nsim/arc_classic/haps_arcv3_init.c diff --git a/boards/snps/nsim/nsim-ccm-mem.dtsi b/boards/snps/nsim/arc_classic/nsim-ccm-mem.dtsi similarity index 100% rename from boards/snps/nsim/nsim-ccm-mem.dtsi rename to boards/snps/nsim/arc_classic/nsim-ccm-mem.dtsi diff --git a/boards/snps/nsim/nsim-flash-sram-mem.dtsi b/boards/snps/nsim/arc_classic/nsim-flash-sram-mem.dtsi similarity index 100% rename from boards/snps/nsim/nsim-flash-sram-mem.dtsi rename to boards/snps/nsim/arc_classic/nsim-flash-sram-mem.dtsi diff --git a/boards/snps/nsim/nsim-flat-mem.dtsi b/boards/snps/nsim/arc_classic/nsim-flat-mem.dtsi similarity index 100% rename from boards/snps/nsim/nsim-flat-mem.dtsi rename to boards/snps/nsim/arc_classic/nsim-flat-mem.dtsi diff --git a/boards/snps/nsim/nsim-smp.dtsi b/boards/snps/nsim/arc_classic/nsim-smp.dtsi similarity index 100% rename from boards/snps/nsim/nsim-smp.dtsi rename to boards/snps/nsim/arc_classic/nsim-smp.dtsi diff --git a/boards/snps/nsim/nsim-uart-hostlink.dtsi b/boards/snps/nsim/arc_classic/nsim-uart-hostlink.dtsi similarity index 100% rename from boards/snps/nsim/nsim-uart-hostlink.dtsi rename to boards/snps/nsim/arc_classic/nsim-uart-hostlink.dtsi diff --git a/boards/snps/nsim/nsim-uart-ns16550.dtsi b/boards/snps/nsim/arc_classic/nsim-uart-ns16550.dtsi similarity index 100% rename from boards/snps/nsim/nsim-uart-ns16550.dtsi rename to boards/snps/nsim/arc_classic/nsim-uart-ns16550.dtsi diff --git a/boards/snps/nsim/nsim.dtsi b/boards/snps/nsim/arc_classic/nsim.dtsi similarity index 100% rename from boards/snps/nsim/nsim.dtsi rename to boards/snps/nsim/arc_classic/nsim.dtsi diff --git a/boards/snps/nsim/nsim_em-sec.dtsi b/boards/snps/nsim/arc_classic/nsim_em-sec.dtsi similarity index 100% rename from boards/snps/nsim/nsim_em-sec.dtsi rename to boards/snps/nsim/arc_classic/nsim_em-sec.dtsi diff --git a/boards/snps/nsim/nsim_em.dtsi b/boards/snps/nsim/arc_classic/nsim_em.dtsi similarity index 100% rename from boards/snps/nsim/nsim_em.dtsi rename to boards/snps/nsim/arc_classic/nsim_em.dtsi diff --git a/boards/snps/nsim/nsim_nsim_em.dts b/boards/snps/nsim/arc_classic/nsim_nsim_em.dts similarity index 100% rename from boards/snps/nsim/nsim_nsim_em.dts rename to boards/snps/nsim/arc_classic/nsim_nsim_em.dts diff --git a/boards/snps/nsim/nsim_nsim_em.yaml b/boards/snps/nsim/arc_classic/nsim_nsim_em.yaml similarity index 100% rename from boards/snps/nsim/nsim_nsim_em.yaml rename to boards/snps/nsim/arc_classic/nsim_nsim_em.yaml diff --git a/boards/snps/nsim/nsim_nsim_em11d.dts b/boards/snps/nsim/arc_classic/nsim_nsim_em11d.dts similarity index 100% rename from boards/snps/nsim/nsim_nsim_em11d.dts rename to boards/snps/nsim/arc_classic/nsim_nsim_em11d.dts diff --git a/boards/snps/nsim/nsim_nsim_em11d.yaml b/boards/snps/nsim/arc_classic/nsim_nsim_em11d.yaml similarity index 100% rename from boards/snps/nsim/nsim_nsim_em11d.yaml rename to boards/snps/nsim/arc_classic/nsim_nsim_em11d.yaml diff --git a/boards/snps/nsim/nsim_nsim_em11d_defconfig b/boards/snps/nsim/arc_classic/nsim_nsim_em11d_defconfig similarity index 100% rename from boards/snps/nsim/nsim_nsim_em11d_defconfig rename to boards/snps/nsim/arc_classic/nsim_nsim_em11d_defconfig diff --git a/boards/snps/nsim/nsim_nsim_em7d_v22.dts b/boards/snps/nsim/arc_classic/nsim_nsim_em7d_v22.dts similarity index 100% rename from boards/snps/nsim/nsim_nsim_em7d_v22.dts rename to boards/snps/nsim/arc_classic/nsim_nsim_em7d_v22.dts diff --git a/boards/snps/nsim/nsim_nsim_em7d_v22.yaml b/boards/snps/nsim/arc_classic/nsim_nsim_em7d_v22.yaml similarity index 100% rename from boards/snps/nsim/nsim_nsim_em7d_v22.yaml rename to boards/snps/nsim/arc_classic/nsim_nsim_em7d_v22.yaml diff --git a/boards/snps/nsim/nsim_nsim_em7d_v22_defconfig b/boards/snps/nsim/arc_classic/nsim_nsim_em7d_v22_defconfig similarity index 100% rename from boards/snps/nsim/nsim_nsim_em7d_v22_defconfig rename to boards/snps/nsim/arc_classic/nsim_nsim_em7d_v22_defconfig diff --git a/boards/snps/nsim/nsim_nsim_em_defconfig b/boards/snps/nsim/arc_classic/nsim_nsim_em_defconfig similarity index 100% rename from boards/snps/nsim/nsim_nsim_em_defconfig rename to boards/snps/nsim/arc_classic/nsim_nsim_em_defconfig diff --git a/boards/snps/nsim/nsim_nsim_hs.dts b/boards/snps/nsim/arc_classic/nsim_nsim_hs.dts similarity index 100% rename from boards/snps/nsim/nsim_nsim_hs.dts rename to boards/snps/nsim/arc_classic/nsim_nsim_hs.dts diff --git a/boards/snps/nsim/nsim_nsim_hs.yaml b/boards/snps/nsim/arc_classic/nsim_nsim_hs.yaml similarity index 100% rename from boards/snps/nsim/nsim_nsim_hs.yaml rename to boards/snps/nsim/arc_classic/nsim_nsim_hs.yaml diff --git a/boards/snps/nsim/nsim_nsim_hs5x.dts b/boards/snps/nsim/arc_classic/nsim_nsim_hs5x.dts similarity index 100% rename from boards/snps/nsim/nsim_nsim_hs5x.dts rename to boards/snps/nsim/arc_classic/nsim_nsim_hs5x.dts diff --git a/boards/snps/nsim/nsim_nsim_hs5x.yaml b/boards/snps/nsim/arc_classic/nsim_nsim_hs5x.yaml similarity index 100% rename from boards/snps/nsim/nsim_nsim_hs5x.yaml rename to boards/snps/nsim/arc_classic/nsim_nsim_hs5x.yaml diff --git a/boards/snps/nsim/nsim_nsim_hs5x_defconfig b/boards/snps/nsim/arc_classic/nsim_nsim_hs5x_defconfig similarity index 100% rename from boards/snps/nsim/nsim_nsim_hs5x_defconfig rename to boards/snps/nsim/arc_classic/nsim_nsim_hs5x_defconfig diff --git a/boards/snps/nsim/nsim_nsim_hs5x_smp.dts b/boards/snps/nsim/arc_classic/nsim_nsim_hs5x_smp.dts similarity index 100% rename from boards/snps/nsim/nsim_nsim_hs5x_smp.dts rename to boards/snps/nsim/arc_classic/nsim_nsim_hs5x_smp.dts diff --git a/boards/snps/nsim/nsim_nsim_hs5x_smp.yaml b/boards/snps/nsim/arc_classic/nsim_nsim_hs5x_smp.yaml similarity index 100% rename from boards/snps/nsim/nsim_nsim_hs5x_smp.yaml rename to boards/snps/nsim/arc_classic/nsim_nsim_hs5x_smp.yaml diff --git a/boards/snps/nsim/nsim_nsim_hs5x_smp_12cores.dts b/boards/snps/nsim/arc_classic/nsim_nsim_hs5x_smp_12cores.dts similarity index 100% rename from boards/snps/nsim/nsim_nsim_hs5x_smp_12cores.dts rename to boards/snps/nsim/arc_classic/nsim_nsim_hs5x_smp_12cores.dts diff --git a/boards/snps/nsim/nsim_nsim_hs5x_smp_12cores.yaml b/boards/snps/nsim/arc_classic/nsim_nsim_hs5x_smp_12cores.yaml similarity index 100% rename from boards/snps/nsim/nsim_nsim_hs5x_smp_12cores.yaml rename to boards/snps/nsim/arc_classic/nsim_nsim_hs5x_smp_12cores.yaml diff --git a/boards/snps/nsim/nsim_nsim_hs5x_smp_12cores_defconfig b/boards/snps/nsim/arc_classic/nsim_nsim_hs5x_smp_12cores_defconfig similarity index 100% rename from boards/snps/nsim/nsim_nsim_hs5x_smp_12cores_defconfig rename to boards/snps/nsim/arc_classic/nsim_nsim_hs5x_smp_12cores_defconfig diff --git a/boards/snps/nsim/nsim_nsim_hs5x_smp_defconfig b/boards/snps/nsim/arc_classic/nsim_nsim_hs5x_smp_defconfig similarity index 100% rename from boards/snps/nsim/nsim_nsim_hs5x_smp_defconfig rename to boards/snps/nsim/arc_classic/nsim_nsim_hs5x_smp_defconfig diff --git a/boards/snps/nsim/nsim_nsim_hs6x.dts b/boards/snps/nsim/arc_classic/nsim_nsim_hs6x.dts similarity index 100% rename from boards/snps/nsim/nsim_nsim_hs6x.dts rename to boards/snps/nsim/arc_classic/nsim_nsim_hs6x.dts diff --git a/boards/snps/nsim/nsim_nsim_hs6x.yaml b/boards/snps/nsim/arc_classic/nsim_nsim_hs6x.yaml similarity index 100% rename from boards/snps/nsim/nsim_nsim_hs6x.yaml rename to boards/snps/nsim/arc_classic/nsim_nsim_hs6x.yaml diff --git a/boards/snps/nsim/nsim_nsim_hs6x_defconfig b/boards/snps/nsim/arc_classic/nsim_nsim_hs6x_defconfig similarity index 100% rename from boards/snps/nsim/nsim_nsim_hs6x_defconfig rename to boards/snps/nsim/arc_classic/nsim_nsim_hs6x_defconfig diff --git a/boards/snps/nsim/nsim_nsim_hs6x_smp.dts b/boards/snps/nsim/arc_classic/nsim_nsim_hs6x_smp.dts similarity index 100% rename from boards/snps/nsim/nsim_nsim_hs6x_smp.dts rename to boards/snps/nsim/arc_classic/nsim_nsim_hs6x_smp.dts diff --git a/boards/snps/nsim/nsim_nsim_hs6x_smp.yaml b/boards/snps/nsim/arc_classic/nsim_nsim_hs6x_smp.yaml similarity index 100% rename from boards/snps/nsim/nsim_nsim_hs6x_smp.yaml rename to boards/snps/nsim/arc_classic/nsim_nsim_hs6x_smp.yaml diff --git a/boards/snps/nsim/nsim_nsim_hs6x_smp_12cores.dts b/boards/snps/nsim/arc_classic/nsim_nsim_hs6x_smp_12cores.dts similarity index 100% rename from boards/snps/nsim/nsim_nsim_hs6x_smp_12cores.dts rename to boards/snps/nsim/arc_classic/nsim_nsim_hs6x_smp_12cores.dts diff --git a/boards/snps/nsim/nsim_nsim_hs6x_smp_12cores.yaml b/boards/snps/nsim/arc_classic/nsim_nsim_hs6x_smp_12cores.yaml similarity index 100% rename from boards/snps/nsim/nsim_nsim_hs6x_smp_12cores.yaml rename to boards/snps/nsim/arc_classic/nsim_nsim_hs6x_smp_12cores.yaml diff --git a/boards/snps/nsim/nsim_nsim_hs6x_smp_12cores_defconfig b/boards/snps/nsim/arc_classic/nsim_nsim_hs6x_smp_12cores_defconfig similarity index 100% rename from boards/snps/nsim/nsim_nsim_hs6x_smp_12cores_defconfig rename to boards/snps/nsim/arc_classic/nsim_nsim_hs6x_smp_12cores_defconfig diff --git a/boards/snps/nsim/nsim_nsim_hs6x_smp_defconfig b/boards/snps/nsim/arc_classic/nsim_nsim_hs6x_smp_defconfig similarity index 100% rename from boards/snps/nsim/nsim_nsim_hs6x_smp_defconfig rename to boards/snps/nsim/arc_classic/nsim_nsim_hs6x_smp_defconfig diff --git a/boards/snps/nsim/nsim_nsim_hs_defconfig b/boards/snps/nsim/arc_classic/nsim_nsim_hs_defconfig similarity index 100% rename from boards/snps/nsim/nsim_nsim_hs_defconfig rename to boards/snps/nsim/arc_classic/nsim_nsim_hs_defconfig diff --git a/boards/snps/nsim/nsim_nsim_hs_flash_xip.dts b/boards/snps/nsim/arc_classic/nsim_nsim_hs_flash_xip.dts similarity index 100% rename from boards/snps/nsim/nsim_nsim_hs_flash_xip.dts rename to boards/snps/nsim/arc_classic/nsim_nsim_hs_flash_xip.dts diff --git a/boards/snps/nsim/nsim_nsim_hs_flash_xip.yaml b/boards/snps/nsim/arc_classic/nsim_nsim_hs_flash_xip.yaml similarity index 100% rename from boards/snps/nsim/nsim_nsim_hs_flash_xip.yaml rename to boards/snps/nsim/arc_classic/nsim_nsim_hs_flash_xip.yaml diff --git a/boards/snps/nsim/nsim_nsim_hs_flash_xip_defconfig b/boards/snps/nsim/arc_classic/nsim_nsim_hs_flash_xip_defconfig similarity index 100% rename from boards/snps/nsim/nsim_nsim_hs_flash_xip_defconfig rename to boards/snps/nsim/arc_classic/nsim_nsim_hs_flash_xip_defconfig diff --git a/boards/snps/nsim/nsim_nsim_hs_hostlink.dts b/boards/snps/nsim/arc_classic/nsim_nsim_hs_hostlink.dts similarity index 100% rename from boards/snps/nsim/nsim_nsim_hs_hostlink.dts rename to boards/snps/nsim/arc_classic/nsim_nsim_hs_hostlink.dts diff --git a/boards/snps/nsim/nsim_nsim_hs_hostlink.yaml b/boards/snps/nsim/arc_classic/nsim_nsim_hs_hostlink.yaml similarity index 100% rename from boards/snps/nsim/nsim_nsim_hs_hostlink.yaml rename to boards/snps/nsim/arc_classic/nsim_nsim_hs_hostlink.yaml diff --git a/boards/snps/nsim/nsim_nsim_hs_hostlink_defconfig b/boards/snps/nsim/arc_classic/nsim_nsim_hs_hostlink_defconfig similarity index 100% rename from boards/snps/nsim/nsim_nsim_hs_hostlink_defconfig rename to boards/snps/nsim/arc_classic/nsim_nsim_hs_hostlink_defconfig diff --git a/boards/snps/nsim/nsim_nsim_hs_mpuv6.dts b/boards/snps/nsim/arc_classic/nsim_nsim_hs_mpuv6.dts similarity index 100% rename from boards/snps/nsim/nsim_nsim_hs_mpuv6.dts rename to boards/snps/nsim/arc_classic/nsim_nsim_hs_mpuv6.dts diff --git a/boards/snps/nsim/nsim_nsim_hs_mpuv6.yaml b/boards/snps/nsim/arc_classic/nsim_nsim_hs_mpuv6.yaml similarity index 100% rename from boards/snps/nsim/nsim_nsim_hs_mpuv6.yaml rename to boards/snps/nsim/arc_classic/nsim_nsim_hs_mpuv6.yaml diff --git a/boards/snps/nsim/nsim_nsim_hs_mpuv6_defconfig b/boards/snps/nsim/arc_classic/nsim_nsim_hs_mpuv6_defconfig similarity index 100% rename from boards/snps/nsim/nsim_nsim_hs_mpuv6_defconfig rename to boards/snps/nsim/arc_classic/nsim_nsim_hs_mpuv6_defconfig diff --git a/boards/snps/nsim/nsim_nsim_hs_smp.dts b/boards/snps/nsim/arc_classic/nsim_nsim_hs_smp.dts similarity index 100% rename from boards/snps/nsim/nsim_nsim_hs_smp.dts rename to boards/snps/nsim/arc_classic/nsim_nsim_hs_smp.dts diff --git a/boards/snps/nsim/nsim_nsim_hs_smp.yaml b/boards/snps/nsim/arc_classic/nsim_nsim_hs_smp.yaml similarity index 100% rename from boards/snps/nsim/nsim_nsim_hs_smp.yaml rename to boards/snps/nsim/arc_classic/nsim_nsim_hs_smp.yaml diff --git a/boards/snps/nsim/nsim_nsim_hs_smp_defconfig b/boards/snps/nsim/arc_classic/nsim_nsim_hs_smp_defconfig similarity index 100% rename from boards/snps/nsim/nsim_nsim_hs_smp_defconfig rename to boards/snps/nsim/arc_classic/nsim_nsim_hs_smp_defconfig diff --git a/boards/snps/nsim/nsim_nsim_hs_sram.dts b/boards/snps/nsim/arc_classic/nsim_nsim_hs_sram.dts similarity index 100% rename from boards/snps/nsim/nsim_nsim_hs_sram.dts rename to boards/snps/nsim/arc_classic/nsim_nsim_hs_sram.dts diff --git a/boards/snps/nsim/nsim_nsim_hs_sram.yaml b/boards/snps/nsim/arc_classic/nsim_nsim_hs_sram.yaml similarity index 100% rename from boards/snps/nsim/nsim_nsim_hs_sram.yaml rename to boards/snps/nsim/arc_classic/nsim_nsim_hs_sram.yaml diff --git a/boards/snps/nsim/nsim_nsim_hs_sram_defconfig b/boards/snps/nsim/arc_classic/nsim_nsim_hs_sram_defconfig similarity index 100% rename from boards/snps/nsim/nsim_nsim_hs_sram_defconfig rename to boards/snps/nsim/arc_classic/nsim_nsim_hs_sram_defconfig diff --git a/boards/snps/nsim/nsim_nsim_sem.dts b/boards/snps/nsim/arc_classic/nsim_nsim_sem.dts similarity index 100% rename from boards/snps/nsim/nsim_nsim_sem.dts rename to boards/snps/nsim/arc_classic/nsim_nsim_sem.dts diff --git a/boards/snps/nsim/nsim_nsim_sem.yaml b/boards/snps/nsim/arc_classic/nsim_nsim_sem.yaml similarity index 100% rename from boards/snps/nsim/nsim_nsim_sem.yaml rename to boards/snps/nsim/arc_classic/nsim_nsim_sem.yaml diff --git a/boards/snps/nsim/nsim_nsim_sem_defconfig b/boards/snps/nsim/arc_classic/nsim_nsim_sem_defconfig similarity index 100% rename from boards/snps/nsim/nsim_nsim_sem_defconfig rename to boards/snps/nsim/arc_classic/nsim_nsim_sem_defconfig diff --git a/boards/snps/nsim/nsim_nsim_sem_mpu_stack_guard.dts b/boards/snps/nsim/arc_classic/nsim_nsim_sem_mpu_stack_guard.dts similarity index 100% rename from boards/snps/nsim/nsim_nsim_sem_mpu_stack_guard.dts rename to boards/snps/nsim/arc_classic/nsim_nsim_sem_mpu_stack_guard.dts diff --git a/boards/snps/nsim/nsim_nsim_sem_mpu_stack_guard.yaml b/boards/snps/nsim/arc_classic/nsim_nsim_sem_mpu_stack_guard.yaml similarity index 100% rename from boards/snps/nsim/nsim_nsim_sem_mpu_stack_guard.yaml rename to boards/snps/nsim/arc_classic/nsim_nsim_sem_mpu_stack_guard.yaml diff --git a/boards/snps/nsim/nsim_nsim_sem_mpu_stack_guard_defconfig b/boards/snps/nsim/arc_classic/nsim_nsim_sem_mpu_stack_guard_defconfig similarity index 100% rename from boards/snps/nsim/nsim_nsim_sem_mpu_stack_guard_defconfig rename to boards/snps/nsim/arc_classic/nsim_nsim_sem_mpu_stack_guard_defconfig diff --git a/boards/snps/nsim/nsim_nsim_vpx5.dts b/boards/snps/nsim/arc_classic/nsim_nsim_vpx5.dts similarity index 100% rename from boards/snps/nsim/nsim_nsim_vpx5.dts rename to boards/snps/nsim/arc_classic/nsim_nsim_vpx5.dts diff --git a/boards/snps/nsim/nsim_nsim_vpx5.yaml b/boards/snps/nsim/arc_classic/nsim_nsim_vpx5.yaml similarity index 100% rename from boards/snps/nsim/nsim_nsim_vpx5.yaml rename to boards/snps/nsim/arc_classic/nsim_nsim_vpx5.yaml diff --git a/boards/snps/nsim/nsim_nsim_vpx5_defconfig b/boards/snps/nsim/arc_classic/nsim_nsim_vpx5_defconfig similarity index 100% rename from boards/snps/nsim/nsim_nsim_vpx5_defconfig rename to boards/snps/nsim/arc_classic/nsim_nsim_vpx5_defconfig diff --git a/boards/snps/nsim/support/mdb_em.args b/boards/snps/nsim/arc_classic/support/mdb_em.args similarity index 100% rename from boards/snps/nsim/support/mdb_em.args rename to boards/snps/nsim/arc_classic/support/mdb_em.args diff --git a/boards/snps/nsim/support/mdb_em11d.args b/boards/snps/nsim/arc_classic/support/mdb_em11d.args similarity index 100% rename from boards/snps/nsim/support/mdb_em11d.args rename to boards/snps/nsim/arc_classic/support/mdb_em11d.args diff --git a/boards/snps/nsim/support/mdb_em7d_v22.args b/boards/snps/nsim/arc_classic/support/mdb_em7d_v22.args similarity index 100% rename from boards/snps/nsim/support/mdb_em7d_v22.args rename to boards/snps/nsim/arc_classic/support/mdb_em7d_v22.args diff --git a/boards/snps/nsim/support/mdb_hs.args b/boards/snps/nsim/arc_classic/support/mdb_hs.args similarity index 100% rename from boards/snps/nsim/support/mdb_hs.args rename to boards/snps/nsim/arc_classic/support/mdb_hs.args diff --git a/boards/snps/nsim/support/mdb_hs5x.args b/boards/snps/nsim/arc_classic/support/mdb_hs5x.args similarity index 100% rename from boards/snps/nsim/support/mdb_hs5x.args rename to boards/snps/nsim/arc_classic/support/mdb_hs5x.args diff --git a/boards/snps/nsim/support/mdb_hs5x_smp.args b/boards/snps/nsim/arc_classic/support/mdb_hs5x_smp.args similarity index 100% rename from boards/snps/nsim/support/mdb_hs5x_smp.args rename to boards/snps/nsim/arc_classic/support/mdb_hs5x_smp.args diff --git a/boards/snps/nsim/support/mdb_hs5x_smp_12cores.args b/boards/snps/nsim/arc_classic/support/mdb_hs5x_smp_12cores.args similarity index 100% rename from boards/snps/nsim/support/mdb_hs5x_smp_12cores.args rename to boards/snps/nsim/arc_classic/support/mdb_hs5x_smp_12cores.args diff --git a/boards/snps/nsim/support/mdb_hs6x.args b/boards/snps/nsim/arc_classic/support/mdb_hs6x.args similarity index 100% rename from boards/snps/nsim/support/mdb_hs6x.args rename to boards/snps/nsim/arc_classic/support/mdb_hs6x.args diff --git a/boards/snps/nsim/support/mdb_hs6x_smp.args b/boards/snps/nsim/arc_classic/support/mdb_hs6x_smp.args similarity index 100% rename from boards/snps/nsim/support/mdb_hs6x_smp.args rename to boards/snps/nsim/arc_classic/support/mdb_hs6x_smp.args diff --git a/boards/snps/nsim/support/mdb_hs6x_smp_12cores.args b/boards/snps/nsim/arc_classic/support/mdb_hs6x_smp_12cores.args similarity index 100% rename from boards/snps/nsim/support/mdb_hs6x_smp_12cores.args rename to boards/snps/nsim/arc_classic/support/mdb_hs6x_smp_12cores.args diff --git a/boards/snps/nsim/support/mdb_hs_flash_xip.args b/boards/snps/nsim/arc_classic/support/mdb_hs_flash_xip.args similarity index 100% rename from boards/snps/nsim/support/mdb_hs_flash_xip.args rename to boards/snps/nsim/arc_classic/support/mdb_hs_flash_xip.args diff --git a/boards/snps/nsim/support/mdb_hs_hostlink.args b/boards/snps/nsim/arc_classic/support/mdb_hs_hostlink.args similarity index 100% rename from boards/snps/nsim/support/mdb_hs_hostlink.args rename to boards/snps/nsim/arc_classic/support/mdb_hs_hostlink.args diff --git a/boards/snps/nsim/support/mdb_hs_mpuv6.args b/boards/snps/nsim/arc_classic/support/mdb_hs_mpuv6.args similarity index 100% rename from boards/snps/nsim/support/mdb_hs_mpuv6.args rename to boards/snps/nsim/arc_classic/support/mdb_hs_mpuv6.args diff --git a/boards/snps/nsim/support/mdb_hs_smp.args b/boards/snps/nsim/arc_classic/support/mdb_hs_smp.args similarity index 100% rename from boards/snps/nsim/support/mdb_hs_smp.args rename to boards/snps/nsim/arc_classic/support/mdb_hs_smp.args diff --git a/boards/snps/nsim/support/mdb_hs_sram.args b/boards/snps/nsim/arc_classic/support/mdb_hs_sram.args similarity index 100% rename from boards/snps/nsim/support/mdb_hs_sram.args rename to boards/snps/nsim/arc_classic/support/mdb_hs_sram.args diff --git a/boards/snps/nsim/support/mdb_sem.args b/boards/snps/nsim/arc_classic/support/mdb_sem.args similarity index 100% rename from boards/snps/nsim/support/mdb_sem.args rename to boards/snps/nsim/arc_classic/support/mdb_sem.args diff --git a/boards/snps/nsim/support/mdb_sem_mpu_stack_guard.args b/boards/snps/nsim/arc_classic/support/mdb_sem_mpu_stack_guard.args similarity index 100% rename from boards/snps/nsim/support/mdb_sem_mpu_stack_guard.args rename to boards/snps/nsim/arc_classic/support/mdb_sem_mpu_stack_guard.args diff --git a/boards/snps/nsim/support/mdb_vpx5.args b/boards/snps/nsim/arc_classic/support/mdb_vpx5.args similarity index 100% rename from boards/snps/nsim/support/mdb_vpx5.args rename to boards/snps/nsim/arc_classic/support/mdb_vpx5.args diff --git a/boards/snps/nsim/support/nsim_em.props b/boards/snps/nsim/arc_classic/support/nsim_em.props similarity index 100% rename from boards/snps/nsim/support/nsim_em.props rename to boards/snps/nsim/arc_classic/support/nsim_em.props diff --git a/boards/snps/nsim/support/nsim_em11d.props b/boards/snps/nsim/arc_classic/support/nsim_em11d.props similarity index 100% rename from boards/snps/nsim/support/nsim_em11d.props rename to boards/snps/nsim/arc_classic/support/nsim_em11d.props diff --git a/boards/snps/nsim/support/nsim_em7d_v22.props b/boards/snps/nsim/arc_classic/support/nsim_em7d_v22.props similarity index 100% rename from boards/snps/nsim/support/nsim_em7d_v22.props rename to boards/snps/nsim/arc_classic/support/nsim_em7d_v22.props diff --git a/boards/snps/nsim/support/nsim_hs.props b/boards/snps/nsim/arc_classic/support/nsim_hs.props similarity index 100% rename from boards/snps/nsim/support/nsim_hs.props rename to boards/snps/nsim/arc_classic/support/nsim_hs.props diff --git a/boards/snps/nsim/support/nsim_hs5x.props b/boards/snps/nsim/arc_classic/support/nsim_hs5x.props similarity index 100% rename from boards/snps/nsim/support/nsim_hs5x.props rename to boards/snps/nsim/arc_classic/support/nsim_hs5x.props diff --git a/boards/snps/nsim/support/nsim_hs6x.props b/boards/snps/nsim/arc_classic/support/nsim_hs6x.props similarity index 100% rename from boards/snps/nsim/support/nsim_hs6x.props rename to boards/snps/nsim/arc_classic/support/nsim_hs6x.props diff --git a/boards/snps/nsim/support/nsim_hs_flash_xip.props b/boards/snps/nsim/arc_classic/support/nsim_hs_flash_xip.props similarity index 100% rename from boards/snps/nsim/support/nsim_hs_flash_xip.props rename to boards/snps/nsim/arc_classic/support/nsim_hs_flash_xip.props diff --git a/boards/snps/nsim/support/nsim_hs_hostlink.props b/boards/snps/nsim/arc_classic/support/nsim_hs_hostlink.props similarity index 100% rename from boards/snps/nsim/support/nsim_hs_hostlink.props rename to boards/snps/nsim/arc_classic/support/nsim_hs_hostlink.props diff --git a/boards/snps/nsim/support/nsim_hs_mpuv6.props b/boards/snps/nsim/arc_classic/support/nsim_hs_mpuv6.props similarity index 100% rename from boards/snps/nsim/support/nsim_hs_mpuv6.props rename to boards/snps/nsim/arc_classic/support/nsim_hs_mpuv6.props diff --git a/boards/snps/nsim/support/nsim_hs_sram.props b/boards/snps/nsim/arc_classic/support/nsim_hs_sram.props similarity index 100% rename from boards/snps/nsim/support/nsim_hs_sram.props rename to boards/snps/nsim/arc_classic/support/nsim_hs_sram.props diff --git a/boards/snps/nsim/support/nsim_sem.props b/boards/snps/nsim/arc_classic/support/nsim_sem.props similarity index 100% rename from boards/snps/nsim/support/nsim_sem.props rename to boards/snps/nsim/arc_classic/support/nsim_sem.props diff --git a/boards/snps/nsim/support/nsim_sem_mpu_stack_guard.props b/boards/snps/nsim/arc_classic/support/nsim_sem_mpu_stack_guard.props similarity index 100% rename from boards/snps/nsim/support/nsim_sem_mpu_stack_guard.props rename to boards/snps/nsim/arc_classic/support/nsim_sem_mpu_stack_guard.props diff --git a/boards/snps/nsim/support/nsim_vpx5.props b/boards/snps/nsim/arc_classic/support/nsim_vpx5.props similarity index 100% rename from boards/snps/nsim/support/nsim_vpx5.props rename to boards/snps/nsim/arc_classic/support/nsim_vpx5.props diff --git a/boards/snps/nsim/arc_v/Kconfig.defconfig b/boards/snps/nsim/arc_v/Kconfig.defconfig new file mode 100644 index 000000000000000..83480340c7798c9 --- /dev/null +++ b/boards/snps/nsim/arc_v/Kconfig.defconfig @@ -0,0 +1,12 @@ +# Copyright (c) 2024 Synopsys, Inc. +# SPDX-License-Identifier: Apache-2.0 + +if BOARD_NSIM_ARC_V_RMX500 + +config SYS_CLOCK_TICKS_PER_SEC + default 1000 + +config SYS_CLOCK_HW_CYCLES_PER_SEC + default 5000000 + +endif # BOARD_NSIM_ARC_V_RMX500 diff --git a/boards/snps/nsim/arc_v/Kconfig.nsim_arc_v b/boards/snps/nsim/arc_v/Kconfig.nsim_arc_v new file mode 100644 index 000000000000000..43a0fd24332d023 --- /dev/null +++ b/boards/snps/nsim/arc_v/Kconfig.nsim_arc_v @@ -0,0 +1,5 @@ +# Copyright (c) 2024 Synopsys, Inc. +# SPDX-License-Identifier: Apache-2.0 + +config BOARD_NSIM_ARC_V + select SOC_RMX500 if BOARD_NSIM_ARC_V_RMX500 diff --git a/boards/snps/nsim/arc_v/board.cmake b/boards/snps/nsim/arc_v/board.cmake new file mode 100644 index 000000000000000..2c0230917d1ed02 --- /dev/null +++ b/boards/snps/nsim/arc_v/board.cmake @@ -0,0 +1,16 @@ +# SPDX-License-Identifier: Apache-2.0 + +set(SUPPORTED_EMU_PLATFORMS nsim) + +string(SUBSTRING "${BOARD_QUALIFIERS}" 1 -1 NSIM_BASE_FILENAME) +string(REPLACE "/" "_" NSIM_BASE_FILENAME "${NSIM_BASE_FILENAME}") + +board_set_flasher_ifnset(arc-nsim) +board_set_debugger_ifnset(arc-nsim) + +set(NSIM_PROPS "${NSIM_BASE_FILENAME}.props") +board_runner_args(arc-nsim "--props=${NSIM_PROPS}") + +board_finalize_runner_args(arc-nsim) +include(${ZEPHYR_BASE}/boards/common/mdb-nsim.board.cmake) +include(${ZEPHYR_BASE}/boards/common/mdb-hw.board.cmake) diff --git a/boards/snps/nsim/arc_v/board.yml b/boards/snps/nsim/arc_v/board.yml new file mode 100644 index 000000000000000..578cbdf0ec72a54 --- /dev/null +++ b/boards/snps/nsim/arc_v/board.yml @@ -0,0 +1,5 @@ +board: + name: nsim_arc_v + vendor: snps + socs: + - name: rmx500 diff --git a/boards/snps/nsim/arc_v/doc/index.rst b/boards/snps/nsim/arc_v/doc/index.rst new file mode 100644 index 000000000000000..e167a336e4b4d8e --- /dev/null +++ b/boards/snps/nsim/arc_v/doc/index.rst @@ -0,0 +1,201 @@ +.. _nsim_arc_v: + +DesignWare RISC-V nSIM and HAPS FPGA boards +########################################### + +Overview +******** + +This platform can be used to run Zephyr RTOS on the widest possible range of Synopsys RISC-V processors in +simulation with `Designware ARC nSIM`_ or run same images on FPGA prototyping platform `HAPS`_. The +platform includes the following features: + +* RISC-V processor core, which implements riscv32 ISA +* Virtual serial console (a standard ``ns16550`` UART model) + +There are multiple supported board targets for that platform. Some but not all of currently +available targets are listed below: + +* ``nsim_arc_v/rmx500`` - Synopsys RISC-V RMX500 core + +.. _board_nsim_arc_v_prop_files: + +It is recommended to look at precise description of a particular board target in ``.props`` +files in :zephyr_file:`boards/snps/nsim_arc_v/support/` directory to understand +which options are configured and so will be used on invocation of the simulator. + +.. warning:: + All nSIM targets are used for demo and testing purposes. They are not meant to + represent any real system and so might be renamed, removed or modified at any point. + +Programming and Debugging +************************* + +Required Hardware and Software +============================== + +To run single-core Zephyr RTOS applications in simulation on this board, +either `DesignWare ARC nSIM`_ or `DesignWare ARC Free nSIM`_ is required. + +Building & Running Sample Applications +====================================== + +Most board targets support building with both GNU and ARC MWDT toolchains, however +there might be exceptions from that, especially for newly added targets. You can check supported +toolchains for the board targets in the corresponding ``.yaml`` file. + +I.e. for the ``nsim_arc_v/rmx500`` board we can check :zephyr_file:`boards/snps/nsim_arc_v/nsim_arc_v_rmx500.yaml` + +The supported toolchains are listed in ``toolchain:`` array in ``.yaml`` file, where we can find: + +* **zephyr** - implies RISC-V GNU toolchain from Zephyr SDK. You can find more information about + Zephyr SDK :ref:`here `. +* **cross-compile** - implies RISC-V GNU cross toolchain, which is not a part of Zephyr SDK. Note that + some (especially new) board targets may declare ``cross-compile`` toolchain support without + ``zephyr`` toolchain support because corresponding target CPU support hasn't been added to Zephyr + SDK yet. You can find more information about its usage here: :ref:`here `. +* **arcmwdt** - implies proprietary ARC MWDT toolchain. You can find more information about its + usage here: :ref:`here `. + +.. note:: + Note that even if both GNU and MWDT toolchain support is declared for the target some tests or + samples can be only built with either GNU or MWDT toolchain due to some features limited to a + particular toolchain. + +Use this configuration to run basic Zephyr applications and kernel tests in +nSIM, for example, with the :zephyr:code-sample:`synchronization` sample: + +.. zephyr-app-commands:: + :zephyr-app: samples/synchronization + :host-os: unix + :board: nsim_arc_v/rmx500 + :goals: flash + +This will build an image with the synchronization sample app, boot it using +nSIM, and display the following console output: + +.. code-block:: console + + *** Booting Zephyr OS build zephyr-v3.2.0-3948-gd351a024dc87 *** + thread_a: Hello World from cpu 0 on nsim_arc_v! + thread_b: Hello World from cpu 0 on nsim_arc_v! + thread_a: Hello World from cpu 0 on nsim_arc_v! + thread_b: Hello World from cpu 0 on nsim_arc_v! + thread_a: Hello World from cpu 0 on nsim_arc_v! + + +.. note:: + To exit the simulator, use :kbd:`Ctrl+]`, then :kbd:`Ctrl+c` + +.. _board_nsim_arc_v_verbose_build: + +.. tip:: + You can get more details about the building process by running build in verbose mode. It can be + done by passing ``-v`` flag to the west: ``west -v build -b nsim_hs samples/synchronization`` + +Debugging +========= + +.. _board_nsim_arc_v_debugging_gdb: + +Debugging with GDB +------------------ + +.. note:: + Debugging on nSIM via GDB is only supported on single-core targets (which use standalone + nSIM). + +.. note:: + The normal ``west debug`` command won't work for debugging applications using nsim boards + because both the nSIM simulator and the debugger use the same console for + input / output. + In case of GDB debugger it's possible to use a separate terminal windows for GDB and nSIM to + avoid intermixing their output. + +After building your application, open two terminal windows. In terminal one, use nSIM to start a GDB +server and wait for a remote connection with following command: + +.. code-block:: console + + west debugserver --runner arc-nsim + +In terminal two, connect to the GDB server using RISC-V GDB. You can find it in Zephyr SDK: + +* you should use :file:`riscv64-zephyr-elf-gdb` + +This command loads the symbol table from the elf binary file, for example the +:file:`build/zephyr/zephyr.elf` file: + +.. code-block:: console + + riscv64-zephyr-elf-gdb -ex 'target remote localhost:3333' -ex load build/zephyr/zephyr.elf + +Now the debug environment has been set up, and it's possible to debug the application with gdb +commands. + +Modifying the configuration +*************************** + +If modification of existing nsim configuration is required or even there's a need in creation of a +new one it's required to maintain alignment between + +* Zephyr OS configuration +* nSIM & MDB configuration +* GNU & MWDT toolchain compiler options + +.. note:: + The ``.tcf`` configuration files are not supported by Zephyr directly. There are multiple + reasons for that. ``.tcf`` perfectly suits building of bare-metal single-thread application - + in that case all the compiler options from ``.tcf`` are passed to the compiler, so all the HW + features are used by the application and optimal code is being generated. + The situation is completely different when multi-thread feature-rich operation system is + considered. Of course it is still possible to build all the code with all the + options from ``.tcf`` - but that may be far from optimal solution. For example, such approach + require so save & restore full register context for all tasks (and sometimes even for + interrupts). And for DSP-enabled or for FPU-enabled systems that leads to dozens of extra + registers save and restore even if the most of the user and kernel tasks don't actually use + DSP or FPU. Instead we prefer to fine-tune the HW features usage which (with all its pros) + require us to maintain them separately from ``.tcf`` configuration. + + +Zephyr OS configuration +======================= + +Zephyr OS configuration is defined via Kconfig and Device tree. These are non RISC-V-specific +mechanisms which are described in :ref:`board porting guide `. + +It is advised to look for ``_defconfig``, ``.dts`` and +``.yaml`` as an entry point for board target. + +nSIM configuration +================== + +nSIM configuration is defined in :ref:`props and args files `. +Generally they are identical to the values from corresponding ``.tcf`` configuration with few +exceptions: + +* The UART model is added +* CLINT model is added + +GNU & MWDT toolchain compiler options +===================================== + +The hardware-specific compiler options are set in corresponding SoC cmake file. For ``nsim_arc_v`` board +it is :zephyr_file:`soc/snps/nsim_arc_v/CMakeLists.txt`. + +For the GNU toolchain the basic configuration is set via ``-mcpu`` which is defined in generic code +and based on the selected CPU model via Kconfig. It still can be forcefully set to required value +on SoC level. + +.. note:: + The non hardware-specific compiler options like optimizations, library selections, C / C++ + language options are still set in Zephyr generic code. It could be observed by + :ref:`running build in verbose mode `. + +References +********** + +.. _Designware ARC nSIM: https://www.synopsys.com/dw/ipdir.php?ds=sim_nsim +.. _DesignWare ARC Free nSIM: https://www.synopsys.com/cgi-bin/dwarcnsim/req1.cgi +.. _HAPS: https://www.synopsys.com/verification/prototyping/haps.html +.. _ARC MWDT: https://www.synopsys.com/dw/ipdir.php?ds=sw_metaware diff --git a/boards/snps/nsim/arc_v/nsim_arc_v_rmx500.dts b/boards/snps/nsim/arc_v/nsim_arc_v_rmx500.dts new file mode 100644 index 000000000000000..ad13b64d31d0416 --- /dev/null +++ b/boards/snps/nsim/arc_v/nsim_arc_v_rmx500.dts @@ -0,0 +1,24 @@ +/dts-v1/; + +#include "rmx500.dtsi" + +/ { + model = "Synpsys Rmx500"; + compatible = "snps,rmx500"; + + aliases { + uart-0 = &uart0; + }; + + chosen { + zephyr,sram = &ddr0; + zephyr,console = &uart0; + zephyr,shell-uart = &uart0; + }; + +}; + +&uart0 { + status = "okay"; + current-speed = <115200>; +}; diff --git a/boards/snps/nsim/arc_v/nsim_arc_v_rmx500.yaml b/boards/snps/nsim/arc_v/nsim_arc_v_rmx500.yaml new file mode 100644 index 000000000000000..526b96d14050d73 --- /dev/null +++ b/boards/snps/nsim/arc_v/nsim_arc_v_rmx500.yaml @@ -0,0 +1,14 @@ +identifier: nsim_arc_v/rmx500 +name: Synopsys rmx500 +simulation: nsim +simulation_exec: nsimdrv +type: sim +arch: riscv +toolchain: + - zephyr + - cross-compile +testing: + ignore_tags: + - net + - bluetooth +vendor: snps diff --git a/boards/snps/nsim/arc_v/nsim_arc_v_rmx500_defconfig b/boards/snps/nsim/arc_v/nsim_arc_v_rmx500_defconfig new file mode 100644 index 000000000000000..65114298702e73d --- /dev/null +++ b/boards/snps/nsim/arc_v/nsim_arc_v_rmx500_defconfig @@ -0,0 +1,11 @@ +# Copyright (c) 2024 Synopsys, Inc. +# SPDX-License-Identifier: Apache-2.0 + +CONFIG_XIP=n +CONFIG_CONSOLE=y +CONFIG_SERIAL=y +CONFIG_UART_CONSOLE=y +CONFIG_BUILD_OUTPUT_HEX=y +CONFIG_DEBUG_OPTIMIZATIONS=y +CONFIG_INCLUDE_RESET_VECTOR=y +CONFIG_LOG=y diff --git a/boards/snps/nsim/arc_v/rmx500.dtsi b/boards/snps/nsim/arc_v/rmx500.dtsi new file mode 100644 index 000000000000000..11730608964e718 --- /dev/null +++ b/boards/snps/nsim/arc_v/rmx500.dtsi @@ -0,0 +1,8 @@ +#include "rmx5xx.dtsi" + +/ { + ddr0: memory@80000000 { + device_type = "memory"; + reg = <0x80000000 0x10000000>; /* 256 MB */ + }; +}; diff --git a/boards/snps/nsim/arc_v/rmx5xx.dtsi b/boards/snps/nsim/arc_v/rmx5xx.dtsi new file mode 100644 index 000000000000000..38998cf3580cd32 --- /dev/null +++ b/boards/snps/nsim/arc_v/rmx5xx.dtsi @@ -0,0 +1,50 @@ +/ { + #address-cells = <1>; + #size-cells = <1>; + + cpus { + timebase-frequency = <5000000>; + #address-cells = <1>; + #size-cells = <0>; + + cpu0: cpu@0 { + compatible = "snps,av5rmx", "riscv"; + device_type = "cpu"; + reg = <0>; + clock-frequency = <5000000>; + riscv,isa = "rv64imafdc"; + #cooling-cells = <2>; + + cpu0_intc: interrupt-controller { + compatible = "riscv,cpu-intc"; + interrupt-controller; + #address-cells = <0>; + #interrupt-cells = <1>; + }; + }; + }; + + soc { + compatible = "simple-bus"; + ranges; + interrupt-parent = <&clint>; + dma-noncoherent; + #address-cells = <1>; + #size-cells = <1>; + + clint: clint@2000000 { + compatible = "sifive,clint0"; + reg = <0x2000000 0x1000>; + interrupts-extended = <&cpu0_intc 3 &cpu0_intc 7>; + interrupt-names = "soft0", "timer0"; + }; + + uart0: serial@10000000{ + compatible = "ns16550", "snps,dw-apb-uart"; + reg = <0x10000000 0x400>; + reg-shift = <2>; + clock-frequency = <50000000>; + status = "disabled"; + }; + }; +}; diff --git a/boards/snps/nsim/arc_v/support/rmx500.props b/boards/snps/nsim/arc_v/support/rmx500.props new file mode 100644 index 000000000000000..d06418535b3e22f --- /dev/null +++ b/boards/snps/nsim/arc_v/support/rmx500.props @@ -0,0 +1,9 @@ + nsim_isa_family=rv32 + nsim_isa_ext=+Zicsr.+Zifencei +# nsim_isa_ext=-all.i.zicsr.zifencei.zihintpause.a.m.zba.zbb.zbs.zca.zcb.zcmp.zcmt.zicbom + nsim_isa_big_endian=0 +# nsim_isa_host_timer=0 +# nsim_isa_host_timer_mhz=50 + nsim_mem-dev=clint,base=0x2000000,size=4096 + nsim_mem-dev=uart0,kind=16550,base=0x10000000,irq=24 + nsim_mem-dev=plic,base=0xc000000,size=0x04000000,interrupts=128,priorities=16 diff --git a/samples/boards/arc_secure_services/nsim_sem_normal_defconfig b/samples/boards/arc_secure_services/nsim_sem_normal_defconfig index 91b9775a7dd6be2..80e70c38a35ed09 100644 --- a/samples/boards/arc_secure_services/nsim_sem_normal_defconfig +++ b/samples/boards/arc_secure_services/nsim_sem_normal_defconfig @@ -1,4 +1,4 @@ -CONFIG_SOC_NSIM=y +CONFIG_SOC_FAMILY_NSIM_ARC_CLASSIC=y CONFIG_SOC_NSIM_SEM=y CONFIG_BOARD_NSIM=y CONFIG_SYS_CLOCK_TICKS_PER_SEC=100 diff --git a/soc/snps/nsim/CMakeLists.txt b/soc/snps/nsim/CMakeLists.txt deleted file mode 100644 index 094aed08cee63c9..000000000000000 --- a/soc/snps/nsim/CMakeLists.txt +++ /dev/null @@ -1,109 +0,0 @@ -# SPDX-License-Identifier: Apache-2.0 - -if(COMPILER STREQUAL gcc) - # GNU compiler options - zephyr_compile_options(-mcpu=${GCC_M_CPU}) - if(CONFIG_ISA_ARCV2) - # ISA_ARCV2 & 32BIT - zephyr_compile_options(-mno-sdata) - zephyr_compile_options_ifdef(CONFIG_CPU_ARCEM -mmpy-option=wlh1) - zephyr_compile_options_ifdef(CONFIG_CPU_ARCHS -mmpy-option=plus_qmacw) - if(CONFIG_CPU_ARCHS) - zephyr_compile_options_ifdef(CONFIG_FPU -mfpu=fpud_all) - else() - zephyr_compile_options_ifdef(CONFIG_FPU -mfpu=fpuda_all) - endif() - endif() - - if(CONFIG_SOC_NSIM_VPX5) - message(FATAL_ERROR "ARC VPX targets can be built with ARC MWDT toolchain only") - endif() -else() - # MWDT compiler options - zephyr_compile_options_ifdef(CONFIG_SOC_NSIM_EM -arcv2em -core3 -Xdiv_rem=radix2 - -Xmpy_option=mpyd -Xbitscan -Xswap -Xbarrel_shifter - -Xshift_assist -Xdsp2 -Xdsp_complex - -Xdsp_divsqrt=radix2 -Xdsp_itu -Xdsp_accshift=full - -Xfpus_div -Xfpu_mac -Xfpuda -Xfpus_mpy_slow - -Xfpus_div_slow -Xbitstream -Xtimer0 -Xtimer1) - - zephyr_compile_options_ifdef(CONFIG_SOC_NSIM_EM11D -arcv2em -core3 -Xdiv_rem=radix2 - -Xbitscan -Xswap -Xbarrel_shifter - -Xshift_assist -Xfpus_div -Xfpu_mac -Xfpuda -Xfpus_mpy_slow - -Xfpus_div_slow -Xbitstream -Xtimer0 -Xtimer1) - - zephyr_ld_option_ifdef(CONFIG_SOC_NSIM_EM11D -Hlib=em9d_nrg_fpusp -Hdsplib) - - if(CONFIG_SOC_NSIM_EM11D) - set_property(GLOBAL PROPERTY z_arc_dsp_options -Xxy -Xagu_large -Hfxapi -Xdsp2 - -Xdsp_accshift=full -Xdsp_divsqrt=radix2 -Xdsp_complex -Xdsp_itu - -Xdsp_ctrl=postshift,noguard,convergent -Xmpy_option=mpyd) - endif() - - zephyr_compile_options_ifdef(CONFIG_SOC_NSIM_SEM -arcv2em -core3 -Xcode_density - -Xdiv_rem=radix2 -Xswap -Xbitscan -Xmpy_option=mpyd - -Xshift_assist -Xbarrel_shifter -Xdsp2 - -Xdsp_complex -Xdsp_divsqrt=radix2 - -Xdsp_accshift=limited -Xtimer0 -Xtimer1 - -Xsec_timer0 -Xstack_check -Xsec_modes -Xdmac) - - zephyr_compile_options_ifdef(CONFIG_SOC_NSIM_HS -arcv2hs -core2 -Xatomic - -Xll64 -Xdiv_rem=radix4 -Xunaligned -Xcode_density - -Xswap -Xbitscan -Xmpy_option=qmpyh -Xshift_assist - -Xbarrel_shifter -Xfpud_div -Xfpu_mac -Xrtc - -Xtimer0 -Xtimer1) - - zephyr_ld_option_ifdef(CONFIG_SOC_NSIM_HS -Hlib=hs38_full) - - zephyr_compile_options_ifdef(CONFIG_SOC_NSIM_HS_SMP -arcv2hs -core2 -Xatomic - -Xll64 -Xdiv_rem=radix4 -Xunaligned -Xcode_density - -Xswap -Xbitscan -Xmpy_option=qmpyh -Xshift_assist - -Xbarrel_shifter -Xfpud_div -Xfpu_mac -Xrtc - -Xtimer0 -Xtimer1) - - zephyr_ld_option_ifdef(CONFIG_SOC_NSIM_HS_SMP -Hlib=hs38_full) - - zephyr_compile_options_ifdef(CONFIG_SOC_NSIM_HS_MPUV6 -arcv2hs -core2 -Xatomic - -Xll64 -Xdiv_rem=radix4 -Xunaligned -Xcode_density - -Xswap -Xbitscan -Xmpy_option=qmpyh -Xshift_assist - -Xbarrel_shifter -Xfpud_div -Xfpu_mac -Xrtc - -Xtimer0 -Xtimer1) - - zephyr_ld_option_ifdef(CONFIG_SOC_NSIM_HS_MPUV6 -Hlib=hs38_full) - - zephyr_compile_options_ifdef(CONFIG_SOC_NSIM_VPX5 -arcv2hs -core4 -uarch_rev=1:4 -Xcode_density - -HL -Xatomic -Xll64 -Xunaligned -Xdiv_rem=radix4 -Xswap -Xbitscan -Xmpy_option=qmpyh - -Xshift_assist -Xbarrel_shifter -Xtimer0 -Xtimer1 -Xrtc -dcache=32768,64,2,a - -Hld_cycles=1 -DDCCM_SYSTEM_BASE_CORE0=0x80000000 -Hccm - -DICCM0_SYSTEM_BASE_CORE0=0x0000000 -Xstu=4 -Xvdsp4 -Xvec_unit_rev_minor=1 - -Xvec_width=512 -Xvec_mem_size=256k -Xvec_mem_bank_width=16 -Xvec_max_fetch_size=16 - -Xvec_num_slots=3 -Xvec_super_with_scalar -Xvec_regs=40 -Xvec_num_rd_ports=6 - -Xvec_num_acc=8 -Xvec_num_mpy=2 -Xvec_mpy32 -Xvec_num_alu=3 -Xvec_guard_bit_option=2 - -Xvec_stack_check -DVEC_MEM_SYS_BASE_CORE0=0xb4000000) - - zephyr_ld_option_ifdef(CONFIG_SOC_NSIM_VPX5 -Hlib=vpx5_integer_full) - - zephyr_compile_options_ifdef(CONFIG_SOC_NSIM_HS5X -arcv3hs -core0 -Xdual_issue -uarch_rev=0:0 - -HL -Hlpc_width=0 -Xatomic=2 -Xll64 -Xunaligned -Xdiv_rem=radix4 -Xmpy_option=qmpyh - -Xtimer0 -Xtimer1 -Xrtc -dcache=32768,64,2,a -Hld_cycles=1) - - zephyr_ld_option_ifdef(CONFIG_SOC_NSIM_HS5X -Hlib=hs58_full) - - zephyr_compile_options_ifdef(CONFIG_SOC_NSIM_HS5X_SMP -arcv3hs -core0 -Xdual_issue -uarch_rev=0:0 - -HL -Hlpc_width=0 -Xatomic=2 -Xll64 -Xunaligned -Xdiv_rem=radix4 -Xmpy_option=qmpyh - -Xtimer0 -Xtimer1 -Xrtc -dcache=32768,64,2,a -Hld_cycles=1) - - zephyr_ld_option_ifdef(CONFIG_SOC_NSIM_HS5X_SMP -Hlib=hs58_full) - - zephyr_compile_options_ifdef(CONFIG_SOC_NSIM_HS6X -arc64 -core0 -uarch_rev=0:0 -HL -Xatomic=2 - -Xunaligned -Xmpy_cycles=3 -Xtimer0 -Xtimer1 -Xrtc -dcache=32768,64,2,a -Hld_cycles=1) - - zephyr_ld_option_ifdef(CONFIG_SOC_NSIM_HS6X -Hlib=hs68_full_zephyr) - - zephyr_compile_options_ifdef(CONFIG_SOC_NSIM_HS6X_SMP -arc64 -core0 -uarch_rev=0:0 -HL -Xatomic=2 - -Xunaligned -Xmpy_cycles=3 -Xtimer0 -Xtimer1 -Xrtc -dcache=32768,64,2,a -Hld_cycles=1) - - zephyr_ld_option_ifdef(CONFIG_SOC_NSIM_HS6X_SMP -Hlib=hs68_full_zephyr) -endif() - -set(SOC_LINKER_SCRIPT ${CMAKE_CURRENT_SOURCE_DIR}/linker.ld CACHE INTERNAL "") diff --git a/soc/snps/nsim/Kconfig b/soc/snps/nsim/Kconfig deleted file mode 100644 index c307711526568b7..000000000000000 --- a/soc/snps/nsim/Kconfig +++ /dev/null @@ -1,32 +0,0 @@ -# Copyright (c) 2018 Synopsys, Inc. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 - -config SOC_NSIM - select ARC - -config SOC_NSIM_EM - select CPU_HAS_MPU - -config SOC_NSIM_EM7D_V22 - select CPU_HAS_MPU - select CPU_HAS_FPU - -config SOC_NSIM_EM11D - select CPU_HAS_MPU - select CPU_HAS_DSP - -config SOC_NSIM_SEM - select CPU_HAS_MPU - select CPU_HAS_FPU - select ARC_HAS_SECURE - -config SOC_NSIM_HS - select CPU_HAS_FPU - select CPU_HAS_MPU - -config SOC_NSIM_HS_SMP - select CPU_HAS_FPU - -config SOC_NSIM_HS_MPUV6 - select CPU_HAS_MPU - select CPU_HAS_FPU diff --git a/soc/snps/nsim/Kconfig.defconfig b/soc/snps/nsim/Kconfig.defconfig deleted file mode 100644 index 3121966114259d5..000000000000000 --- a/soc/snps/nsim/Kconfig.defconfig +++ /dev/null @@ -1,11 +0,0 @@ -# Copyright (c) 2018 Synopsys, Inc. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 - -if SOC_NSIM - -config XIP - default n - -rsource "Kconfig.defconfig.*" - -endif # SOC_NSIM diff --git a/soc/snps/nsim/Kconfig.soc b/soc/snps/nsim/Kconfig.soc deleted file mode 100644 index f12b143a871eaac..000000000000000 --- a/soc/snps/nsim/Kconfig.soc +++ /dev/null @@ -1,94 +0,0 @@ -# Copyright (c) 2018 Synopsys, Inc. All rights reserved. -# SPDX-License-Identifier: Apache-2.0 - -config SOC_NSIM - bool - -config SOC_NSIM_EM - bool - select SOC_NSIM - help - Synopsys ARC EM4 in nSIM - -config SOC_NSIM_EM7D_V22 - bool - select SOC_NSIM - help - Synopsys ARC EM7D_V22 in nSIM - -config SOC_NSIM_EM11D - bool - select SOC_NSIM - help - Synopsys ARC EM11D in nSIM - -config SOC_NSIM_SEM - bool - select SOC_NSIM - help - Synopsys ARC SEM in nSIM - -config SOC_NSIM_HS - bool - select SOC_NSIM - help - Synopsys ARC HS3X in nSIM - -config SOC_NSIM_HS_SMP - bool - select SOC_NSIM - help - Multi-core Synopsys ARC HS3X in nSIM - -config SOC_NSIM_HS_MPUV6 - bool - select SOC_NSIM - help - Synopsys ARC HS3X with MPU v6 in nSIM - -config SOC_NSIM_VPX5 - bool - select SOC_NSIM - help - Synopsys ARC VPX5 in nSIM - -config SOC_NSIM_HS5X - bool - select SOC_NSIM - help - Synopsys ARC HS5x in nSIM - -config SOC_NSIM_HS5X_SMP - bool - select SOC_NSIM - help - Multi-core Synopsys ARC HS5x in nSIM - -config SOC_NSIM_HS6X - bool - select SOC_NSIM - help - Synopsys ARC HS6x in nSIM - -config SOC_NSIM_HS6X_SMP - bool - select SOC_NSIM - help - Multi-core Synopsys ARC HS6x in nSIM - -config SOC - default "nsim_em" if SOC_NSIM_EM - default "nsim_em7d_v22" if SOC_NSIM_EM7D_V22 - default "nsim_em11d" if SOC_NSIM_EM11D - default "nsim_sem" if SOC_NSIM_SEM - default "nsim_hs" if SOC_NSIM_HS - default "nsim_hs_smp" if SOC_NSIM_HS_SMP - default "nsim_hs_mpuv6" if SOC_NSIM_HS_MPUV6 - default "nsim_vpx5" if SOC_NSIM_VPX5 - default "nsim_hs5x" if SOC_NSIM_HS5X - default "nsim_hs5x_smp" if SOC_NSIM_HS5X_SMP - default "nsim_hs6x" if SOC_NSIM_HS6X - default "nsim_hs6x_smp" if SOC_NSIM_HS6X_SMP - -config SOC_SERIES - default "nsim" if SOC_NSIM diff --git a/soc/snps/nsim/arc_classic/CMakeLists.txt b/soc/snps/nsim/arc_classic/CMakeLists.txt new file mode 100644 index 000000000000000..778b01b6caead69 --- /dev/null +++ b/soc/snps/nsim/arc_classic/CMakeLists.txt @@ -0,0 +1,6 @@ +# SPDX-License-Identifier: Apache-2.0 + +string(REPLACE "nsim_" "" NSIM_ARC_CLASSIC_SER "${SOC_SERIES}") +add_subdirectory(${NSIM_ARC_CLASSIC_SER}) + +set(SOC_LINKER_SCRIPT ${CMAKE_CURRENT_SOURCE_DIR}/linker.ld CACHE INTERNAL "") diff --git a/soc/snps/nsim/arc_classic/Kconfig b/soc/snps/nsim/arc_classic/Kconfig new file mode 100644 index 000000000000000..6f760b99ff7111a --- /dev/null +++ b/soc/snps/nsim/arc_classic/Kconfig @@ -0,0 +1,8 @@ +# Copyright (c) 2024 Synopsys, Inc. +# SPDX-License-Identifier: Apache-2.0 + +if SOC_FAMILY_NSIM_ARC_CLASSIC + +rsource "*/Kconfig" + +endif # SOC_FAMILY_NSIM_ARC_CLASSIC diff --git a/soc/snps/nsim/arc_classic/Kconfig.defconfig b/soc/snps/nsim/arc_classic/Kconfig.defconfig new file mode 100644 index 000000000000000..c1dd6b4731e4857 --- /dev/null +++ b/soc/snps/nsim/arc_classic/Kconfig.defconfig @@ -0,0 +1,11 @@ +# Copyright (c) 2024 Synopsys, Inc. +# SPDX-License-Identifier: Apache-2.0 + +if SOC_FAMILY_NSIM_ARC_CLASSIC + +config XIP + default n + +rsource "*/Kconfig.defconfig" + +endif # SOC_FAMILY_NSIM_ARC_CLASSIC diff --git a/soc/snps/nsim/arc_classic/Kconfig.soc b/soc/snps/nsim/arc_classic/Kconfig.soc new file mode 100644 index 000000000000000..56cb74c14e5222b --- /dev/null +++ b/soc/snps/nsim/arc_classic/Kconfig.soc @@ -0,0 +1,10 @@ +# Copyright (c) 2024 Synopsys, Inc. +# SPDX-License-Identifier: Apache-2.0 + +config SOC_FAMILY_NSIM_ARC_CLASSIC + bool + +config SOC_FAMILY + default "nsim_arc_classic" if SOC_FAMILY_NSIM_ARC_CLASSIC + +rsource "*/Kconfig.soc" diff --git a/soc/snps/nsim/arc_classic/em/CMakeLists.txt b/soc/snps/nsim/arc_classic/em/CMakeLists.txt new file mode 100644 index 000000000000000..3cc80e1cfc0d864 --- /dev/null +++ b/soc/snps/nsim/arc_classic/em/CMakeLists.txt @@ -0,0 +1,34 @@ +# SPDX-License-Identifier: Apache-2.0 + +if(COMPILER STREQUAL gcc) + # GNU compiler options + zephyr_compile_options(-mcpu=${GCC_M_CPU}) + + zephyr_compile_options(-mno-sdata) + zephyr_compile_options_ifdef(CONFIG_CPU_ARCEM -mmpy-option=wlh1) + zephyr_compile_options_ifdef(CONFIG_FPU -mfpu=fpuda_all) + +else() + # MWDT compiler options + zephyr_compile_options_ifdef(CONFIG_SOC_NSIM_EM -arcv2em -core3 -Xdiv_rem=radix2 + -Xmpy_option=mpyd -Xbitscan -Xswap -Xbarrel_shifter + -Xshift_assist -Xdsp2 -Xdsp_complex + -Xdsp_divsqrt=radix2 -Xdsp_itu -Xdsp_accshift=full + -Xfpus_div -Xfpu_mac -Xfpuda -Xfpus_mpy_slow + -Xfpus_div_slow -Xbitstream -Xtimer0 -Xtimer1) + + #FIXME: CONFIG_SOC_NSIM_EM7D_v22 ? + + zephyr_compile_options_ifdef(CONFIG_SOC_NSIM_EM11D -arcv2em -core3 -Xdiv_rem=radix2 + -Xbitscan -Xswap -Xbarrel_shifter + -Xshift_assist -Xfpus_div -Xfpu_mac -Xfpuda -Xfpus_mpy_slow + -Xfpus_div_slow -Xbitstream -Xtimer0 -Xtimer1) + + zephyr_ld_option_ifdef(CONFIG_SOC_NSIM_EM11D -Hlib=em9d_nrg_fpusp -Hdsplib) + + if(CONFIG_SOC_NSIM_EM11D) + set_property(GLOBAL PROPERTY z_arc_dsp_options -Xxy -Xagu_large -Hfxapi -Xdsp2 + -Xdsp_accshift=full -Xdsp_divsqrt=radix2 -Xdsp_complex -Xdsp_itu + -Xdsp_ctrl=postshift,noguard,convergent -Xmpy_option=mpyd) + endif() +endif() diff --git a/soc/snps/nsim/arc_classic/em/Kconfig b/soc/snps/nsim/arc_classic/em/Kconfig new file mode 100644 index 000000000000000..56a8992a3297e09 --- /dev/null +++ b/soc/snps/nsim/arc_classic/em/Kconfig @@ -0,0 +1,6 @@ +# Copyright (c) 2024 Synopsys, Inc. +# SPDX-License-Identifier: Apache-2.0 + +config SOC_SERIES_NSIM_EM + select ARC + select CPU_HAS_MPU diff --git a/soc/snps/nsim/arc_classic/em/Kconfig.defconfig b/soc/snps/nsim/arc_classic/em/Kconfig.defconfig new file mode 100644 index 000000000000000..55a9c9b4fa0179d --- /dev/null +++ b/soc/snps/nsim/arc_classic/em/Kconfig.defconfig @@ -0,0 +1,8 @@ +# Copyright (c) 2024 Synopsys, Inc. +# SPDX-License-Identifier: Apache-2.0 + +if SOC_SERIES_NSIM_EM + +rsource "Kconfig.defconfig.em*" + +endif # SOC_SERIES_NSIM_EM diff --git a/soc/snps/nsim/Kconfig.defconfig.em b/soc/snps/nsim/arc_classic/em/Kconfig.defconfig.em similarity index 100% rename from soc/snps/nsim/Kconfig.defconfig.em rename to soc/snps/nsim/arc_classic/em/Kconfig.defconfig.em diff --git a/soc/snps/nsim/Kconfig.defconfig.em11d b/soc/snps/nsim/arc_classic/em/Kconfig.defconfig.em11d similarity index 100% rename from soc/snps/nsim/Kconfig.defconfig.em11d rename to soc/snps/nsim/arc_classic/em/Kconfig.defconfig.em11d diff --git a/soc/snps/nsim/Kconfig.defconfig.em7d_v22 b/soc/snps/nsim/arc_classic/em/Kconfig.defconfig.em7d_v22 similarity index 100% rename from soc/snps/nsim/Kconfig.defconfig.em7d_v22 rename to soc/snps/nsim/arc_classic/em/Kconfig.defconfig.em7d_v22 diff --git a/soc/snps/nsim/arc_classic/em/Kconfig.soc b/soc/snps/nsim/arc_classic/em/Kconfig.soc new file mode 100644 index 000000000000000..dbbf60ce5709651 --- /dev/null +++ b/soc/snps/nsim/arc_classic/em/Kconfig.soc @@ -0,0 +1,26 @@ +# Copyright (c) 2024 Synopsys, Inc. +# SPDX-License-Identifier: Apache-2.0 + +config SOC_SERIES_NSIM_EM + bool + select SOC_FAMILY_NSIM_ARC_CLASSIC + +config SOC_SERIES + default "nsim_em" if SOC_SERIES_NSIM_EM + +config SOC_NSIM_EM + bool + select SOC_SERIES_NSIM_EM + +config SOC_NSIM_EM7D_V22 + bool + select SOC_SERIES_NSIM_EM + +config SOC_NSIM_EM11D + bool + select SOC_SERIES_NSIM_EM + +config SOC + default "nsim_em" if SOC_NSIM_EM + default "nsim_em7d_v22" if SOC_NSIM_EM7D_V22 + default "nsim_em11d" if SOC_NSIM_EM11D diff --git a/soc/snps/nsim/arc_classic/hs/CMakeLists.txt b/soc/snps/nsim/arc_classic/hs/CMakeLists.txt new file mode 100644 index 000000000000000..fb91e232a1fe6aa --- /dev/null +++ b/soc/snps/nsim/arc_classic/hs/CMakeLists.txt @@ -0,0 +1,63 @@ +# SPDX-License-Identifier: Apache-2.0 + +if(COMPILER STREQUAL gcc) + # GNU compiler options + zephyr_compile_options(-mcpu=${GCC_M_CPU}) + + # ISA_ARCV2 & 32BIT + zephyr_compile_options(-mno-sdata) + zephyr_compile_options_ifdef(CONFIG_CPU_ARCHS -mmpy-option=plus_qmacw) + zephyr_compile_options_ifdef(CONFIG_FPU -mfpu=fpud_all) + + +else() + # MWDT compiler options + + zephyr_compile_options_ifdef(CONFIG_SOC_NSIM_HS -arcv2hs -core2 -Xatomic + -Xll64 -Xdiv_rem=radix4 -Xunaligned -Xcode_density + -Xswap -Xbitscan -Xmpy_option=qmpyh -Xshift_assist + -Xbarrel_shifter -Xfpud_div -Xfpu_mac -Xrtc + -Xtimer0 -Xtimer1) + + zephyr_ld_option_ifdef(CONFIG_SOC_NSIM_HS -Hlib=hs38_full) + + zephyr_compile_options_ifdef(CONFIG_SOC_NSIM_HS_SMP -arcv2hs -core2 -Xatomic + -Xll64 -Xdiv_rem=radix4 -Xunaligned -Xcode_density + -Xswap -Xbitscan -Xmpy_option=qmpyh -Xshift_assist + -Xbarrel_shifter -Xfpud_div -Xfpu_mac -Xrtc + -Xtimer0 -Xtimer1) + + zephyr_ld_option_ifdef(CONFIG_SOC_NSIM_HS_SMP -Hlib=hs38_full) + + zephyr_compile_options_ifdef(CONFIG_SOC_NSIM_HS_MPUV6 -arcv2hs -core2 -Xatomic + -Xll64 -Xdiv_rem=radix4 -Xunaligned -Xcode_density + -Xswap -Xbitscan -Xmpy_option=qmpyh -Xshift_assist + -Xbarrel_shifter -Xfpud_div -Xfpu_mac -Xrtc + -Xtimer0 -Xtimer1) + + zephyr_ld_option_ifdef(CONFIG_SOC_NSIM_HS_MPUV6 -Hlib=hs38_full) + + zephyr_compile_options_ifdef(CONFIG_SOC_NSIM_HS5X -arcv3hs -core0 -Xdual_issue -uarch_rev=0:0 + -HL -Hlpc_width=0 -Xatomic=2 -Xll64 -Xunaligned -Xdiv_rem=radix4 -Xmpy_option=qmpyh + -Xtimer0 -Xtimer1 -Xrtc -dcache=32768,64,2,a -Hld_cycles=1) + + zephyr_ld_option_ifdef(CONFIG_SOC_NSIM_HS5X -Hlib=hs58_full) + + zephyr_compile_options_ifdef(CONFIG_SOC_NSIM_HS5X_SMP -arcv3hs -core0 -Xdual_issue -uarch_rev=0:0 + -HL -Hlpc_width=0 -Xatomic=2 -Xll64 -Xunaligned -Xdiv_rem=radix4 -Xmpy_option=qmpyh + -Xtimer0 -Xtimer1 -Xrtc -dcache=32768,64,2,a -Hld_cycles=1) + + zephyr_ld_option_ifdef(CONFIG_SOC_NSIM_HS5X_SMP -Hlib=hs58_full) + + zephyr_compile_options_ifdef(CONFIG_SOC_NSIM_HS6X -arc64 -core0 -uarch_rev=0:0 -HL -Xatomic=2 + -Xunaligned -Xmpy_cycles=3 -Xtimer0 -Xtimer1 -Xrtc -dcache=32768,64,2,a -Hld_cycles=1) + + zephyr_ld_option_ifdef(CONFIG_SOC_NSIM_HS6X -Hlib=hs68_full_zephyr) + + zephyr_compile_options_ifdef(CONFIG_SOC_NSIM_HS6X_SMP -arc64 -core0 -uarch_rev=0:0 -HL -Xatomic=2 + -Xunaligned -Xmpy_cycles=3 -Xtimer0 -Xtimer1 -Xrtc -dcache=32768,64,2,a -Hld_cycles=1) + + zephyr_ld_option_ifdef(CONFIG_SOC_NSIM_HS6X_SMP -Hlib=hs68_full_zephyr) +endif() + +# set(SOC_LINKER_SCRIPT ${CMAKE_CURRENT_SOURCE_DIR}/linker.ld CACHE INTERNAL "") diff --git a/soc/snps/nsim/arc_classic/hs/Kconfig b/soc/snps/nsim/arc_classic/hs/Kconfig new file mode 100644 index 000000000000000..c66dea4530587ed --- /dev/null +++ b/soc/snps/nsim/arc_classic/hs/Kconfig @@ -0,0 +1,7 @@ +# Copyright (c) 2024 Synopsys, Inc. +# SPDX-License-Identifier: Apache-2.0 + +config SOC_SERIES_NSIM_HS + select ARC + select CPU_HAS_FPU + select CPU_HAS_MPU if !SMP diff --git a/soc/snps/nsim/arc_classic/hs/Kconfig.defconfig b/soc/snps/nsim/arc_classic/hs/Kconfig.defconfig new file mode 100644 index 000000000000000..282f9ed7c7a7d52 --- /dev/null +++ b/soc/snps/nsim/arc_classic/hs/Kconfig.defconfig @@ -0,0 +1,8 @@ +# Copyright (c) 2024 Synopsys, Inc. +# SPDX-License-Identifier: Apache-2.0 + +if SOC_SERIES_NSIM_HS + +rsource "Kconfig.defconfig.hs*" + +endif # SOC_SERIES_NSIM_HS diff --git a/soc/snps/nsim/Kconfig.defconfig.hs b/soc/snps/nsim/arc_classic/hs/Kconfig.defconfig.hs similarity index 100% rename from soc/snps/nsim/Kconfig.defconfig.hs rename to soc/snps/nsim/arc_classic/hs/Kconfig.defconfig.hs diff --git a/soc/snps/nsim/Kconfig.defconfig.hs5x b/soc/snps/nsim/arc_classic/hs/Kconfig.defconfig.hs5x similarity index 100% rename from soc/snps/nsim/Kconfig.defconfig.hs5x rename to soc/snps/nsim/arc_classic/hs/Kconfig.defconfig.hs5x diff --git a/soc/snps/nsim/Kconfig.defconfig.hs5x_smp b/soc/snps/nsim/arc_classic/hs/Kconfig.defconfig.hs5x_smp similarity index 100% rename from soc/snps/nsim/Kconfig.defconfig.hs5x_smp rename to soc/snps/nsim/arc_classic/hs/Kconfig.defconfig.hs5x_smp diff --git a/soc/snps/nsim/Kconfig.defconfig.hs6x b/soc/snps/nsim/arc_classic/hs/Kconfig.defconfig.hs6x similarity index 100% rename from soc/snps/nsim/Kconfig.defconfig.hs6x rename to soc/snps/nsim/arc_classic/hs/Kconfig.defconfig.hs6x diff --git a/soc/snps/nsim/Kconfig.defconfig.hs6x_smp b/soc/snps/nsim/arc_classic/hs/Kconfig.defconfig.hs6x_smp similarity index 100% rename from soc/snps/nsim/Kconfig.defconfig.hs6x_smp rename to soc/snps/nsim/arc_classic/hs/Kconfig.defconfig.hs6x_smp diff --git a/soc/snps/nsim/Kconfig.defconfig.hs_mpuv6 b/soc/snps/nsim/arc_classic/hs/Kconfig.defconfig.hs_mpuv6 similarity index 100% rename from soc/snps/nsim/Kconfig.defconfig.hs_mpuv6 rename to soc/snps/nsim/arc_classic/hs/Kconfig.defconfig.hs_mpuv6 diff --git a/soc/snps/nsim/Kconfig.defconfig.hs_smp b/soc/snps/nsim/arc_classic/hs/Kconfig.defconfig.hs_smp similarity index 100% rename from soc/snps/nsim/Kconfig.defconfig.hs_smp rename to soc/snps/nsim/arc_classic/hs/Kconfig.defconfig.hs_smp diff --git a/soc/snps/nsim/arc_classic/hs/Kconfig.soc b/soc/snps/nsim/arc_classic/hs/Kconfig.soc new file mode 100644 index 000000000000000..60241506aaef851 --- /dev/null +++ b/soc/snps/nsim/arc_classic/hs/Kconfig.soc @@ -0,0 +1,46 @@ +# Copyright (c) 2024 Synopsys, Inc. +# SPDX-License-Identifier: Apache-2.0 + +config SOC_SERIES_NSIM_HS + bool + select SOC_FAMILY_NSIM_ARC_CLASSIC + +config SOC_SERIES + default "nsim_hs" if SOC_SERIES_NSIM_HS + +config SOC_NSIM_HS + bool + select SOC_SERIES_NSIM_HS + +config SOC_NSIM_HS_SMP + bool + select SOC_SERIES_NSIM_HS + +config SOC_NSIM_HS_MPUV6 + bool + select SOC_SERIES_NSIM_HS + +config SOC_NSIM_HS5X + bool + select SOC_SERIES_NSIM_HS + +config SOC_NSIM_HS5X_SMP + bool + select SOC_SERIES_NSIM_HS + +config SOC_NSIM_HS6X + bool + select SOC_SERIES_NSIM_HS + +config SOC_NSIM_HS6X_SMP + bool + select SOC_SERIES_NSIM_HS + +config SOC + default "nsim_hs" if SOC_NSIM_HS + default "nsim_hs_smp" if SOC_NSIM_HS_SMP + default "nsim_hs_mpuv6" if SOC_NSIM_HS_MPUV6 + default "nsim_hs5x" if SOC_NSIM_HS5X + default "nsim_hs5x_smp" if SOC_NSIM_HS5X_SMP + default "nsim_hs6x" if SOC_NSIM_HS6X + default "nsim_hs6x_smp" if SOC_NSIM_HS6X_SMP diff --git a/soc/snps/nsim/linker.ld b/soc/snps/nsim/arc_classic/linker.ld similarity index 100% rename from soc/snps/nsim/linker.ld rename to soc/snps/nsim/arc_classic/linker.ld diff --git a/soc/snps/nsim/arc_classic/sem/CMakeLists.txt b/soc/snps/nsim/arc_classic/sem/CMakeLists.txt new file mode 100644 index 000000000000000..c1a6f6dd21b4325 --- /dev/null +++ b/soc/snps/nsim/arc_classic/sem/CMakeLists.txt @@ -0,0 +1,24 @@ +# SPDX-License-Identifier: Apache-2.0 + +if(COMPILER STREQUAL gcc) + # GNU compiler options + zephyr_compile_options(-mcpu=${GCC_M_CPU}) + + # ISA_ARCV2 & 32BIT + zephyr_compile_options(-mno-sdata) +# zephyr_compile_options_ifdef(CONFIG_CPU_ARCEM -mmpy-option=wlh1) + zephyr_compile_options_ifdef(CONFIG_FPU -mfpu=fpuda_all) + +else() + # MWDT compiler options + + zephyr_compile_options_ifdef(CONFIG_SOC_NSIM_SEM -arcv2em -core3 -Xcode_density + -Xdiv_rem=radix2 -Xswap -Xbitscan -Xmpy_option=mpyd + -Xshift_assist -Xbarrel_shifter -Xdsp2 + -Xdsp_complex -Xdsp_divsqrt=radix2 + -Xdsp_accshift=limited -Xtimer0 -Xtimer1 + -Xsec_timer0 -Xstack_check -Xsec_modes -Xdmac) + +endif() + +# set(SOC_LINKER_SCRIPT ${CMAKE_CURRENT_SOURCE_DIR}/linker.ld CACHE INTERNAL "") diff --git a/soc/snps/nsim/arc_classic/sem/Kconfig b/soc/snps/nsim/arc_classic/sem/Kconfig new file mode 100644 index 000000000000000..bd67bb3757d51f5 --- /dev/null +++ b/soc/snps/nsim/arc_classic/sem/Kconfig @@ -0,0 +1,8 @@ +# Copyright (c) 2024 Synopsys, Inc. +# SPDX-License-Identifier: Apache-2.0 + +config SOC_SERIES_NSIM_SEM + select ARC + select CPU_HAS_MPU + select CPU_HAS_FPU + select ARC_HAS_SECURE diff --git a/soc/snps/nsim/Kconfig.defconfig.sem b/soc/snps/nsim/arc_classic/sem/Kconfig.defconfig similarity index 100% rename from soc/snps/nsim/Kconfig.defconfig.sem rename to soc/snps/nsim/arc_classic/sem/Kconfig.defconfig diff --git a/soc/snps/nsim/arc_classic/sem/Kconfig.soc b/soc/snps/nsim/arc_classic/sem/Kconfig.soc new file mode 100644 index 000000000000000..466e702db51de51 --- /dev/null +++ b/soc/snps/nsim/arc_classic/sem/Kconfig.soc @@ -0,0 +1,16 @@ +# Copyright (c) 2024 Synopsys, Inc. +# SPDX-License-Identifier: Apache-2.0 + +config SOC_SERIES_NSIM_SEM + bool + select SOC_FAMILY_NSIM_ARC_CLASSIC + +config SOC_SERIES + default "nsim_sem" if SOC_SERIES_NSIM_SEM + +config SOC_NSIM_SEM + bool + select SOC_SERIES_NSIM_SEM + +config SOC + default "nsim_sem" if SOC_NSIM_SEM diff --git a/soc/snps/nsim/arc_classic/soc.yml b/soc/snps/nsim/arc_classic/soc.yml new file mode 100644 index 000000000000000..7d671ed36ad453a --- /dev/null +++ b/soc/snps/nsim/arc_classic/soc.yml @@ -0,0 +1,23 @@ +family: + - name: nsim_arc_classic + series: + - name: nsim_em + socs: + - name: nsim_em + - name: nsim_em7d_v22 + - name: nsim_em11d + - name: nsim_hs + socs: + - name: nsim_hs + - name: nsim_hs_smp + - name: nsim_hs_mpuv6 + - name: nsim_hs5x + - name: nsim_hs5x_smp + - name: nsim_hs6x + - name: nsim_hs6x_smp + - name: nsim_vpx + socs: + - name: nsim_vpx5 + - name: nsim_sem + socs: + - name: nsim_sem diff --git a/soc/snps/nsim/arc_classic/vpx5/CMakeLists.txt b/soc/snps/nsim/arc_classic/vpx5/CMakeLists.txt new file mode 100644 index 000000000000000..26f43b967936475 --- /dev/null +++ b/soc/snps/nsim/arc_classic/vpx5/CMakeLists.txt @@ -0,0 +1,23 @@ +# SPDX-License-Identifier: Apache-2.0 + +if(COMPILER STREQUAL gcc) + # GNU compiler options + + message(FATAL_ERROR "ARC VPX targets can be built with ARC MWDT toolchain only") + +else() + # MWDT compiler options + + zephyr_compile_options_ifdef(CONFIG_SOC_NSIM_VPX5 -arcv2hs -core4 -uarch_rev=1:4 -Xcode_density + -HL -Xatomic -Xll64 -Xunaligned -Xdiv_rem=radix4 -Xswap -Xbitscan -Xmpy_option=qmpyh + -Xshift_assist -Xbarrel_shifter -Xtimer0 -Xtimer1 -Xrtc -dcache=32768,64,2,a + -Hld_cycles=1 -DDCCM_SYSTEM_BASE_CORE0=0x80000000 -Hccm + -DICCM0_SYSTEM_BASE_CORE0=0x0000000 -Xstu=4 -Xvdsp4 -Xvec_unit_rev_minor=1 + -Xvec_width=512 -Xvec_mem_size=256k -Xvec_mem_bank_width=16 -Xvec_max_fetch_size=16 + -Xvec_num_slots=3 -Xvec_super_with_scalar -Xvec_regs=40 -Xvec_num_rd_ports=6 + -Xvec_num_acc=8 -Xvec_num_mpy=2 -Xvec_mpy32 -Xvec_num_alu=3 -Xvec_guard_bit_option=2 + -Xvec_stack_check -DVEC_MEM_SYS_BASE_CORE0=0xb4000000) + + zephyr_ld_option_ifdef(CONFIG_SOC_NSIM_VPX5 -Hlib=vpx5_integer_full) + +endif() diff --git a/soc/snps/nsim/arc_classic/vpx5/Kconfig b/soc/snps/nsim/arc_classic/vpx5/Kconfig new file mode 100644 index 000000000000000..616c05c311ebd86 --- /dev/null +++ b/soc/snps/nsim/arc_classic/vpx5/Kconfig @@ -0,0 +1,2 @@ +# Copyright (c) 2024 Synopsys, Inc. +# SPDX-License-Identifier: Apache-2.0 diff --git a/soc/snps/nsim/Kconfig.defconfig.vpx5 b/soc/snps/nsim/arc_classic/vpx5/Kconfig.defconfig similarity index 100% rename from soc/snps/nsim/Kconfig.defconfig.vpx5 rename to soc/snps/nsim/arc_classic/vpx5/Kconfig.defconfig diff --git a/soc/snps/nsim/arc_classic/vpx5/Kconfig.soc b/soc/snps/nsim/arc_classic/vpx5/Kconfig.soc new file mode 100644 index 000000000000000..734443efaf23577 --- /dev/null +++ b/soc/snps/nsim/arc_classic/vpx5/Kconfig.soc @@ -0,0 +1,18 @@ +# Copyright (c) 2024 Synopsys, Inc. +# SPDX-License-Identifier: Apache-2.0 + +config SOC_SERIES_NSIM_VPX5 + bool + select SOC_FAMILY_NSIM_ARC_CLASSIC + +config SOC_SERIES + default "nsim_vpx5" if SOC_SERIES_NSIM_VPX5 + +config SOC_NSIM_VPX5 + bool + select SOC_SERIES_NSIM_VPX5 + help + Synopsys ARC VPX5 in nSIM + +config SOC + default "nsim_vpx5" if SOC_NSIM_VPX5 diff --git a/soc/snps/nsim/arc_v/CMakeLists.txt b/soc/snps/nsim/arc_v/CMakeLists.txt new file mode 100644 index 000000000000000..226f3bd626f6119 --- /dev/null +++ b/soc/snps/nsim/arc_v/CMakeLists.txt @@ -0,0 +1,3 @@ +# SPDX-License-Identifier: Apache-2.0 + +add_subdirectory(${SOC_SERIES}) diff --git a/soc/snps/nsim/arc_v/Kconfig b/soc/snps/nsim/arc_v/Kconfig new file mode 100644 index 000000000000000..2837d5c76102347 --- /dev/null +++ b/soc/snps/nsim/arc_v/Kconfig @@ -0,0 +1,8 @@ +# Copyright (c) 2024 Synopsys, Inc. +# SPDX-License-Identifier: Apache-2.0 + +if SOC_FAMILY_NSIM_ARC_V + +rsource "*/Kconfig" + +endif # SOC_FAMILY_NSIM_ARC_V diff --git a/soc/snps/nsim/arc_v/Kconfig.defconfig b/soc/snps/nsim/arc_v/Kconfig.defconfig new file mode 100644 index 000000000000000..5ec7de98f9bfb5f --- /dev/null +++ b/soc/snps/nsim/arc_v/Kconfig.defconfig @@ -0,0 +1,8 @@ +# Copyright (c) 2024 Synopsys, Inc. +# SPDX-License-Identifier: Apache-2.0 + +if SOC_FAMILY_NSIM_ARC_V + +rsource "*/Kconfig.defconfig" + +endif # SOC_FAMILY_NSIM_ARC_V diff --git a/soc/snps/nsim/arc_v/Kconfig.soc b/soc/snps/nsim/arc_v/Kconfig.soc new file mode 100644 index 000000000000000..d1d6f15bcfdc54d --- /dev/null +++ b/soc/snps/nsim/arc_v/Kconfig.soc @@ -0,0 +1,10 @@ +# Copyright (c) 2024 Synopsys, Inc. +# SPDX-License-Identifier: Apache-2.0 + +config SOC_FAMILY_NSIM_ARC_V + bool + +config SOC_FAMILY + default "nsim_arc_v" if SOC_FAMILY_NSIM_ARC_V + +rsource "*/Kconfig.soc" diff --git a/soc/snps/nsim/arc_v/rmx5xx/CMakeLists.txt b/soc/snps/nsim/arc_v/rmx5xx/CMakeLists.txt new file mode 100644 index 000000000000000..1c54041bb67ed41 --- /dev/null +++ b/soc/snps/nsim/arc_v/rmx5xx/CMakeLists.txt @@ -0,0 +1,17 @@ +# SPDX-License-Identifier: Apache-2.0 + +if(COMPILER STREQUAL gcc) +# GCC: + +else () +# CCAC: + zephyr_compile_options_ifdef(CONFIG_SOC_SERIES_RMX5XX + -av5rmx -Zicsr -Zifencei -Zihintpause -Zba -Zbb + -Zbs -Zca -Zcb -Zcmp -Zcmt -Za -Zm -Zicbom) + + zephyr_compile_options(-D__MW_ASM_RV_MACRO__) + + zephyr_ld_options(-Hlib=rmx500) +endif() + +set(SOC_LINKER_SCRIPT ${ZEPHYR_BASE}/include/zephyr/arch/riscv/common/linker.ld CACHE INTERNAL "") diff --git a/soc/snps/nsim/arc_v/rmx5xx/Kconfig b/soc/snps/nsim/arc_v/rmx5xx/Kconfig new file mode 100644 index 000000000000000..458ac59fa2f1ef1 --- /dev/null +++ b/soc/snps/nsim/arc_v/rmx5xx/Kconfig @@ -0,0 +1,21 @@ +# Copyright (c) 2024 Synopsys, Inc. +# SPDX-License-Identifier: Apache-2.0 + +config SOC_SERIES_RMX5XX + bool + + select RISCV + select RISCV_PRIVILEGED + select RISCV_ISA_RV32I + select RISCV_ISA_EXT_G + #G by-default includes the following: + # - RISCV_ISA_EXT_M + # - RISCV_ISA_EXT_A + # - RISCV_ISA_EXT_F + # - RISCV_ISA_EXT_D + # - RISCV_ISA_EXT_ZICSR + # - RISCV_ISA_EXT_ZIFENCEI + select RISCV_ISA_EXT_C +# select RISCV_ISA_EXT_V # V is not supported by zephyr + select ATOMIC_OPERATIONS_BUILTIN + select INCLUDE_RESET_VECTOR diff --git a/soc/snps/nsim/arc_v/rmx5xx/Kconfig.defconfig b/soc/snps/nsim/arc_v/rmx5xx/Kconfig.defconfig new file mode 100644 index 000000000000000..edd58cb82037602 --- /dev/null +++ b/soc/snps/nsim/arc_v/rmx5xx/Kconfig.defconfig @@ -0,0 +1,27 @@ +# Copyright (c) 2024 Synopsys, Inc. +# SPDX-License-Identifier: Apache-2.0 + +if SOC_SERIES_RMX5XX + +config RISCV_SOC_INTERRUPT_INIT + default y + +config RISCV_GP + default y + +config MULTI_LEVEL_INTERRUPTS + default n + +config 2ND_LVL_ISR_TBL_OFFSET + default 12 + +config 2ND_LVL_INTR_00_OFFSET + default 11 + +config MAX_IRQ_PER_AGGREGATOR + default 52 + +config NUM_IRQS + default 64 + +endif # SOC_SERIES_RMX5XX diff --git a/soc/snps/nsim/arc_v/rmx5xx/Kconfig.soc b/soc/snps/nsim/arc_v/rmx5xx/Kconfig.soc new file mode 100644 index 000000000000000..c34cda791a35cee --- /dev/null +++ b/soc/snps/nsim/arc_v/rmx5xx/Kconfig.soc @@ -0,0 +1,16 @@ +# Copyright (c) 2024 Synopsys, Inc. +# SPDX-License-Identifier: Apache-2.0 + +config SOC_SERIES_RMX5XX + bool + select SOC_FAMILY_NSIM_ARC_V + +config SOC_SERIES + default "rmx5xx" if SOC_SERIES_RMX5XX + +config SOC_RMX500 + bool + select SOC_SERIES_RMX5XX + +config SOC + default "rmx500" if SOC_RMX500 diff --git a/soc/snps/nsim/arc_v/soc.yml b/soc/snps/nsim/arc_v/soc.yml new file mode 100644 index 000000000000000..6d010f9c57dcbaa --- /dev/null +++ b/soc/snps/nsim/arc_v/soc.yml @@ -0,0 +1,6 @@ +family: + - name: nsim_arc_v + series: + - name: rmx5xx + socs: + - name: rmx500 diff --git a/soc/snps/nsim/soc.yml b/soc/snps/nsim/soc.yml deleted file mode 100644 index a3a427ca006f1dd..000000000000000 --- a/soc/snps/nsim/soc.yml +++ /dev/null @@ -1,15 +0,0 @@ -series: -- name: nsim - socs: - - name: nsim_em - - name: nsim_em7d_v22 - - name: nsim_em11d - - name: nsim_hs - - name: nsim_hs_smp - - name: nsim_hs_mpuv6 - - name: nsim_hs5x - - name: nsim_hs5x_smp - - name: nsim_hs6x - - name: nsim_hs6x_smp - - name: nsim_vpx5 - - name: nsim_sem diff --git a/tests/lib/heap/testcase.yaml b/tests/lib/heap/testcase.yaml index 8ed06a7431ed175..727ac6cfebfccef 100644 --- a/tests/lib/heap/testcase.yaml +++ b/tests/lib/heap/testcase.yaml @@ -13,7 +13,7 @@ tests: - qemu_xtensa - esp32s2_saola - esp32s2_lolin_mini - filter: not CONFIG_SOC_NSIM + filter: not SOC_FAMILY_NSIM_ARC_CLASSIC timeout: 480 integration_platforms: - native_sim diff --git a/tests/ztest/error_hook/src/main.c b/tests/ztest/error_hook/src/main.c index dfa998e0075d881..6113b46de43c44a 100644 --- a/tests/ztest/error_hook/src/main.c +++ b/tests/ztest/error_hook/src/main.c @@ -60,7 +60,7 @@ __no_optimization static void trigger_fault_illegal_instruction(void) */ __no_optimization static void trigger_fault_access(void) { -#if defined(CONFIG_SOC_ARC_IOT) || defined(CONFIG_SOC_NSIM) || defined(CONFIG_SOC_EMSK) +#if defined(CONFIG_SOC_ARC_IOT) || defined(SOC_FAMILY_NSIM_ARC_CLASSIC) || defined(CONFIG_SOC_EMSK) /* For iotdk, em_starterkit and ARC/nSIM, nSIM simulates full address space of * memory, iotdk has eflash at 0x0 address, em_starterkit has ICCM at 0x0 address, * access to 0x0 address doesn't generate any exception. So we access to 0XFFFFFFFF