--- tme/ic/sparc/cy7c601.c 2018/04/24 16:42:00 1.1 +++ tme/ic/sparc/cy7c601.c 2018/04/24 16:43:53 1.1.1.2 @@ -1,4 +1,4 @@ -/* $Id: cy7c601.c,v 1.1 2018/04/24 16:42:00 root Exp $ */ +/* $Id: cy7c601.c,v 1.1.1.2 2018/04/24 16:43:53 root Exp $ */ /* ic/m68k/cy7c601.c - implementation of Cypress SPARC CY7C601 emulation: */ @@ -34,7 +34,7 @@ */ #include -_TME_RCSID("$Id: cy7c601.c,v 1.1 2018/04/24 16:42:00 root Exp $"); +_TME_RCSID("$Id: cy7c601.c,v 1.1.1.2 2018/04/24 16:43:53 root Exp $"); /* includes: */ #include "sparc-impl.h" @@ -231,6 +231,9 @@ TME_ELEMENT_X_NEW_DECL(tme_ic_,sparc,cy7 ic = tme_new0(struct tme_sparc, 1); ic->tme_sparc_element = element; + /* initialize the synchronization parts of the structure: */ + tme_sparc_sync_init(ic); + /* fill in the cy7c601-specific parts of the structure: */ psr = 0; TME_FIELD_MASK_DEPOSITU(psr, TME_SPARC32_PSR_IMPL, 1); @@ -238,10 +241,19 @@ TME_ELEMENT_X_NEW_DECL(tme_ic_,sparc,cy7 ic->tme_sparc32_ireg_psr = psr; ic->tme_sparc_version = TME_SPARC_VERSION(ic); ic->tme_sparc_nwindows = TME_SPARC_NWINDOWS(ic); + ic->_tme_sparc32_execute_opmap = _TME_SPARC_EXECUTE_OPMAP; ic->_tme_sparc_execute = _tme_sparc_execute_cy7c601; ic->_tme_sparc_fpu_ver = _tme_sparc_fpu_ver_cy7c601; - ic->_tme_sparc_bus_fault = tme_sparc32_bus_fault; - ic->_tme_sparc_fetch_slow = tme_sparc32_fetch_slow; + ic->_tme_sparc_external_check = tme_sparc32_external_check; + ic->_tme_sparc_ls_address_map = tme_sparc32_ls_address_map; + ic->_tme_sparc_ls_bus_cycle = tme_sparc32_ls_bus_cycle; + ic->_tme_sparc_ls_bus_fault = tme_sparc_ls_bus_fault; + ic->_tme_sparc_ls_trap = tme_sparc32_ls_trap; + ic->tme_sparc_timing_loop_cycles_each = (1 + 1); +#ifdef _TME_SPARC_RECODE_VERIFY + ic->tme_sparc_recode_verify_ic_size = sizeof(struct tme_sparc); + ic->tme_sparc_recode_verify_ic_size_total = sizeof(struct tme_sparc); +#endif /* _TME_SPARC_RECODE_VERIFY */ /* call the common sparc new function: */ return (tme_sparc_new(ic, args, extra, _output));