From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) by sourceware.org (Postfix) with ESMTP id 5F36138582AB for ; Fri, 23 Dec 2022 06:07:59 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 5F36138582AB Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gentoo.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gentoo.org Received: by smtp.gentoo.org (Postfix, from userid 559) id 2792B3411D4; Fri, 23 Dec 2022 06:07:59 +0000 (UTC) From: Mike Frysinger To: gdb-patches@sourceware.org Subject: [PATCH 19/20] sim: bfin: move arch-specific settings to internal header Date: Fri, 23 Dec 2022 01:07:12 -0500 Message-Id: <20221223060713.28821-20-vapier@gentoo.org> X-Mailer: git-send-email 2.39.0 In-Reply-To: <20221223060713.28821-1-vapier@gentoo.org> References: <20221223060713.28821-1-vapier@gentoo.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-1.1 required=5.0 tests=BAYES_00,GIT_PATCH_0,JMQ_SPF_NEUTRAL,KAM_DMARC_STATUS,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,SPF_PASS,TXREP,UNWANTED_LANGUAGE_BODY autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: There's no need for these settings to be in sim-main.h which is shared with common/ sim code, so drop the bfin.h include and move the remaining bfin-specific settings into it. --- sim/bfin/bfin-sim.c | 2 ++ sim/bfin/bfin-sim.h | 29 +++++++++++++++++++++++++++++ sim/bfin/devices.h | 2 ++ sim/bfin/dv-bfin_pll.c | 1 - sim/bfin/interp.c | 3 +++ sim/bfin/machs.c | 3 +++ sim/bfin/sim-main.h | 36 ------------------------------------ 7 files changed, 39 insertions(+), 37 deletions(-) diff --git a/sim/bfin/bfin-sim.c b/sim/bfin/bfin-sim.c index 37ac5ce5d6f0..75c6e7c9f1b2 100644 --- a/sim/bfin/bfin-sim.c +++ b/sim/bfin/bfin-sim.c @@ -29,6 +29,8 @@ #include "ansidecl.h" #include "opcode/bfin.h" #include "sim-main.h" +#include "arch.h" +#include "bfin-sim.h" #include "dv-bfin_cec.h" #include "dv-bfin_mmu.h" diff --git a/sim/bfin/bfin-sim.h b/sim/bfin/bfin-sim.h index 36b9e0235b64..b6573c946dac 100644 --- a/sim/bfin/bfin-sim.h +++ b/sim/bfin/bfin-sim.h @@ -35,6 +35,8 @@ typedef int32_t bs32; typedef int64_t bs40; typedef int64_t bs64; +#include "machs.h" + /* For dealing with parallel instructions, we must avoid changing our register file until all parallel insns have been simulated. This queue of stores can be used to delay a modification. @@ -359,4 +361,31 @@ extern bu32 hwloop_get_next_pc (SIM_CPU *, bu32, bu32); #define BFIN_L1_CACHE_BYTES 32 +#define BFIN_CPU_STATE (*(struct bfin_cpu_state *) CPU_ARCH_DATA (cpu)) +#define STATE_BOARD_DATA(sd) ((struct bfin_board_data *) STATE_ARCH_DATA (sd)) + +#include "dv-bfin_trace.h" + +#undef CLAMP +#define CLAMP(a, b, c) min (max (a, b), c) + +/* TODO: Move all this trace logic to the common code. */ +#define BFIN_TRACE_CORE(cpu, addr, size, map, val) \ + do { \ + TRACE_CORE (cpu, "%cBUS %s %i bytes @ 0x%08x: 0x%0*x", \ + map == exec_map ? 'I' : 'D', \ + map == write_map ? "STORE" : "FETCH", \ + size, addr, size * 2, val); \ + PROFILE_COUNT_CORE (cpu, addr, size, map); \ + } while (0) +#define BFIN_TRACE_BRANCH(cpu, oldpc, newpc, hwloop, fmt, ...) \ + do { \ + TRACE_BRANCH (cpu, fmt " to %#x", ## __VA_ARGS__, newpc); \ + if (STATE_ENVIRONMENT (CPU_STATE (cpu)) == OPERATING_ENVIRONMENT) \ + bfin_trace_queue (cpu, oldpc, newpc, hwloop); \ + } while (0) + +/* Default memory size. */ +#define BFIN_DEFAULT_MEM_SIZE (128 * 1024 * 1024) + #endif diff --git a/sim/bfin/devices.h b/sim/bfin/devices.h index b772aa2e2583..348df3ce148c 100644 --- a/sim/bfin/devices.h +++ b/sim/bfin/devices.h @@ -26,6 +26,8 @@ #include "hw-device.h" #include "hw-tree.h" +#include "bfin-sim.h" + /* We keep the same inital structure layout with DMA enabled devices. */ struct dv_bfin { bu32 base; diff --git a/sim/bfin/dv-bfin_pll.c b/sim/bfin/dv-bfin_pll.c index 97b9dc1e259f..dc6627ae77ba 100644 --- a/sim/bfin/dv-bfin_pll.c +++ b/sim/bfin/dv-bfin_pll.c @@ -22,7 +22,6 @@ #include "defs.h" #include "sim-main.h" -#include "machs.h" #include "devices.h" #include "dv-bfin_pll.h" diff --git a/sim/bfin/interp.c b/sim/bfin/interp.c index 493c3b62ffb8..04c1773eaf42 100644 --- a/sim/bfin/interp.c +++ b/sim/bfin/interp.c @@ -34,9 +34,12 @@ #include "sim/callback.h" #include "gdb/signals.h" #include "sim-main.h" +#include "sim-options.h" #include "sim-syscall.h" #include "sim-hw.h" +#include "bfin-sim.h" + /* The numbers here do not matter. They just need to be unique. They also need not be static across releases -- they're used internally only. The mapping from the Linux ABI to the CB values is in linux-targ-map.h. */ diff --git a/sim/bfin/machs.c b/sim/bfin/machs.c index adc0eb355319..acb2613b4e5e 100644 --- a/sim/bfin/machs.c +++ b/sim/bfin/machs.c @@ -28,7 +28,10 @@ #include "bfd.h" #include "sim-hw.h" +#include "sim-options.h" + #include "devices.h" +#include "arch.h" #include "dv-bfin_cec.h" #include "dv-bfin_dmac.h" diff --git a/sim/bfin/sim-main.h b/sim/bfin/sim-main.h index a3855f3ded63..65ba92582c3f 100644 --- a/sim/bfin/sim-main.h +++ b/sim/bfin/sim-main.h @@ -22,42 +22,6 @@ #define _BFIN_MAIN_SIM_H_ #include "sim-basics.h" -#include "arch.h" #include "sim-base.h" -#include "bfin-sim.h" - -#include "machs.h" - -#define BFIN_CPU_STATE (*(struct bfin_cpu_state *) CPU_ARCH_DATA (cpu)) -#define STATE_BOARD_DATA(sd) ((struct bfin_board_data *) STATE_ARCH_DATA (sd)) - -#include "sim-config.h" -#include "sim-types.h" -#include "sim-engine.h" -#include "sim-options.h" -#include "dv-bfin_trace.h" - -#undef CLAMP -#define CLAMP(a, b, c) min (max (a, b), c) - -/* TODO: Move all this trace logic to the common code. */ -#define BFIN_TRACE_CORE(cpu, addr, size, map, val) \ - do { \ - TRACE_CORE (cpu, "%cBUS %s %i bytes @ 0x%08x: 0x%0*x", \ - map == exec_map ? 'I' : 'D', \ - map == write_map ? "STORE" : "FETCH", \ - size, addr, size * 2, val); \ - PROFILE_COUNT_CORE (cpu, addr, size, map); \ - } while (0) -#define BFIN_TRACE_BRANCH(cpu, oldpc, newpc, hwloop, fmt, ...) \ - do { \ - TRACE_BRANCH (cpu, fmt " to %#x", ## __VA_ARGS__, newpc); \ - if (STATE_ENVIRONMENT (CPU_STATE (cpu)) == OPERATING_ENVIRONMENT) \ - bfin_trace_queue (cpu, oldpc, newpc, hwloop); \ - } while (0) - -/* Default memory size. */ -#define BFIN_DEFAULT_MEM_SIZE (128 * 1024 * 1024) - #endif -- 2.39.0