--- tme/machine/sun2/sun2-impl.h 2018/04/24 16:37:52 1.1 +++ tme/machine/sun2/sun2-impl.h 2018/04/24 16:41:33 1.1.1.4 @@ -1,4 +1,4 @@ -/* $Id: sun2-impl.h,v 1.1 2018/04/24 16:37:52 root Exp $ */ +/* $Id: sun2-impl.h,v 1.1.1.4 2018/04/24 16:41:33 root Exp $ */ /* machine/sun2/sun2-impl.h - implementation header file for Sun 2 emulation: */ @@ -37,7 +37,7 @@ #define _MACHINE_SUN2_IMPL_H #include -_TME_RCSID("$Id: sun2-impl.h,v 1.1 2018/04/24 16:37:52 root Exp $"); +_TME_RCSID("$Id: sun2-impl.h,v 1.1.1.4 2018/04/24 16:41:33 root Exp $"); /* includes: */ #include @@ -100,9 +100,25 @@ _TME_RCSID("$Id: sun2-impl.h,v 1.1 2018/ #define TME_SUN2_BUS_VME (4) #define TME_SUN2_BUS_COUNT (5) +/* the DVMA sizes: */ +#define TME_SUN2_DVMA_SIZE_MBMEM (0x00040000) +#define TME_SUN2_DVMA_SIZE_VME (0x000F8000) + #define TME_SUN2_LOG_HANDLE(sun2) (&(sun2)->tme_sun2_element->tme_element_log_handle) -/* structures: */ +/* types: */ + +/* a sun2 mainbus connection: */ +struct tme_sun2_bus_connection { + + /* the generic bus connection: */ + struct tme_bus_connection tme_sun2_bus_connection; + + /* which bus this is: */ + unsigned int tme_sun2_bus_connection_which; +}; + +/* a sun2: */ struct tme_sun2 { /* our IC data structure, containing our various registers: */ @@ -153,7 +169,8 @@ int _tme_sun2_bus_tlb_fill _TME_P((struc tme_uint32_t, unsigned int)); int _tme_sun2_mmu_tlb_set_allocate _TME_P((struct tme_bus_connection *, unsigned int, unsigned int, - TME_ATOMIC_POINTER_TYPE(struct tme_bus_tlb **))); + struct tme_bus_tlb * tme_shared *, + tme_rwlock_t *)); int _tme_sun2_mmu_pte_get _TME_P((struct tme_sun2 *, tme_uint32_t, tme_uint32_t *)); int _tme_sun2_mmu_pte_set _TME_P((struct tme_sun2 *, tme_uint32_t, tme_uint32_t)); void _tme_sun2_mmu_context_system_set _TME_P((struct tme_sun2 *));