reduce scope of stuff with different definitions across CPUs (nw)

This commit is contained in:
Vas Crabb 2018-03-20 18:05:59 +11:00
parent 1235cf9fd2
commit 2608228e81
2 changed files with 50 additions and 35 deletions

View File

@ -34,18 +34,6 @@
#define MAPVAR_PC M0 #define MAPVAR_PC M0
#define MAPVAR_CYCLES M1 #define MAPVAR_CYCLES M1
/* compilation boundaries -- how far back/forward does the analysis extend? */
#define COMPILE_BACKWARDS_BYTES 128
#define COMPILE_FORWARDS_BYTES 512
#define COMPILE_MAX_INSTRUCTIONS ((COMPILE_BACKWARDS_BYTES/4) + (COMPILE_FORWARDS_BYTES/4))
#define COMPILE_MAX_SEQUENCE 64
/* exit codes */
#define EXECUTE_OUT_OF_CYCLES 0
#define EXECUTE_MISSING_CODE 1
#define EXECUTE_UNMAPPED_CODE 2
#define EXECUTE_RESET_CACHE 3
#define E132XS_STRICT_VERIFY 0x0001 /* verify all instructions */ #define E132XS_STRICT_VERIFY 0x0001 /* verify all instructions */
#define SINGLE_INSTRUCTION_MODE (1) #define SINGLE_INSTRUCTION_MODE (1)
@ -144,7 +132,26 @@ public:
void e132_16k_iram_map(address_map &map); void e132_16k_iram_map(address_map &map);
void e132_4k_iram_map(address_map &map); void e132_4k_iram_map(address_map &map);
void e132_8k_iram_map(address_map &map); void e132_8k_iram_map(address_map &map);
protected: protected:
// compilation boundaries -- how far back/forward does the analysis extend?
enum : u32
{
COMPILE_BACKWARDS_BYTES = 128,
COMPILE_FORWARDS_BYTES = 512,
COMPILE_MAX_INSTRUCTIONS = (COMPILE_BACKWARDS_BYTES / 4) + (COMPILE_FORWARDS_BYTES / 4),
COMPILE_MAX_SEQUENCE = 64
};
// exit codes
enum : int
{
EXECUTE_OUT_OF_CYCLES = 0,
EXECUTE_MISSING_CODE = 1,
EXECUTE_UNMAPPED_CODE = 2,
EXECUTE_RESET_CACHE = 3
};
struct internal_hyperstone_state struct internal_hyperstone_state
{ {
// CPU registers // CPU registers

View File

@ -32,12 +32,6 @@
/* speed up delay loops, bail out of tight loops (can cause timer issues) */ /* speed up delay loops, bail out of tight loops (can cause timer issues) */
#define BUSY_LOOP_HACKS 0 #define BUSY_LOOP_HACKS 0
/* compilation boundaries -- how far back/forward does the analysis extend? */
#define COMPILE_BACKWARDS_BYTES 64
#define COMPILE_FORWARDS_BYTES 256
#define COMPILE_MAX_INSTRUCTIONS ((COMPILE_BACKWARDS_BYTES/2) + (COMPILE_FORWARDS_BYTES/2))
#define COMPILE_MAX_SEQUENCE 64
#define SH2DRC_STRICT_VERIFY 0x0001 /* verify all instructions */ #define SH2DRC_STRICT_VERIFY 0x0001 /* verify all instructions */
#define SH2DRC_FLUSH_PC 0x0002 /* flush the PC value before each memory access */ #define SH2DRC_FLUSH_PC 0x0002 /* flush the PC value before each memory access */
#define SH2DRC_STRICT_PCREL 0x0004 /* do actual loads on MOVLI/MOVWI instead of collapsing to immediates */ #define SH2DRC_STRICT_PCREL 0x0004 /* do actual loads on MOVLI/MOVWI instead of collapsing to immediates */
@ -45,21 +39,12 @@
#define SH2DRC_COMPATIBLE_OPTIONS (SH2DRC_STRICT_VERIFY | SH2DRC_FLUSH_PC | SH2DRC_STRICT_PCREL) #define SH2DRC_COMPATIBLE_OPTIONS (SH2DRC_STRICT_VERIFY | SH2DRC_FLUSH_PC | SH2DRC_STRICT_PCREL)
#define SH2DRC_FASTEST_OPTIONS (0) #define SH2DRC_FASTEST_OPTIONS (0)
/* size of the execution code cache */
#define CACHE_SIZE (32 * 1024 * 1024)
#define SH2_MAX_FASTRAM 4 #define SH2_MAX_FASTRAM 4
/* map variables */ /* map variables */
#define MAPVAR_PC M0 #define MAPVAR_PC M0
#define MAPVAR_CYCLES M1 #define MAPVAR_CYCLES M1
/* exit codes */
#define EXECUTE_OUT_OF_CYCLES 0
#define EXECUTE_MISSING_CODE 1
#define EXECUTE_UNMAPPED_CODE 2
#define EXECUTE_RESET_CACHE 3
#define PROBE_ADDRESS ~0 #define PROBE_ADDRESS ~0
#define CPU_TYPE_SH1 (0) #define CPU_TYPE_SH1 (0)
@ -167,6 +152,29 @@ public:
virtual void WL(offs_t A, uint32_t V) = 0; virtual void WL(offs_t A, uint32_t V) = 0;
protected: protected:
// compilation boundaries -- how far back/forward does the analysis extend?
enum : u32
{
COMPILE_BACKWARDS_BYTES = 64,
COMPILE_FORWARDS_BYTES = 256,
COMPILE_MAX_INSTRUCTIONS = (COMPILE_BACKWARDS_BYTES / 2) + (COMPILE_FORWARDS_BYTES / 2),
COMPILE_MAX_SEQUENCE = 64
};
// size of the execution code cache
enum : size_t
{
CACHE_SIZE = 32 * 1024 * 1024
};
// exit codes
enum : int
{
EXECUTE_OUT_OF_CYCLES = 0,
EXECUTE_MISSING_CODE = 1,
EXECUTE_UNMAPPED_CODE = 2,
EXECUTE_RESET_CACHE = 3
};
void ADD(uint32_t m, uint32_t n); void ADD(uint32_t m, uint32_t n);
void ADDI(uint32_t i, uint32_t n); void ADDI(uint32_t i, uint32_t n);