Copyright (C) 2007-2008 by the ES40 Emulator Project
Website: http://sourceforge.net/projects/es40 E-mail : camiel@camicom.com
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Although this is not required, the author would appreciate being notified of, and receiving any modifications you may make to the source code that might serve the general public.
Contains the definitions for the emulated Typhoon Chipset devices.
X-1.34 Camiel Vanderhoeven 26-MAR-2008 Fix compiler warnings.
X-1.33 Camiel Vanderhoeven 14-MAR-2008 Formatting.
X-1.32 Camiel Vanderhoeven 14-MAR-2008 1. More meaningful exceptions replace throwing (int) 1. 2. U64 macro replaces X64 macro.
X-1.31 Camiel Vanderhoeven 13-MAR-2008 Create init(), start_threads() and stop_threads() functions.
X-1.30 Camiel Vanderhoeven 11-MAR-2008 Named, debuggable mutexes.
X-1.29 Camiel Vanderhoeven 05-MAR-2008 Multi-threading version.
X-1.28 Camiel Vanderhoeven 04-MAR-2008 Support some basic MP features. (CPUID read from C-Chip MISC register, inter-processor interrupts)
X-1.27 Camiel Vanderhoeven 26-FEB-2008 Added CF8/CFC method for getting at PCI config space.
X-1.26 Camiel Vanderhoeven 08-FEB-2008 Show originating device name on memory errors.
X-1.25 Camiel Vanderhoeven 04-FEB-2008 Corrected a typo in the definition of PTE_SHIFT (2 should be 12) that caused an OpenVMS procgone bugcheck.
X-1.24 Camiel Vanderhoeven 01-FEB-2008 Avoid unnecessary shift-operations to calculate constant values.
X-1.23 Camiel Vanderhoeven 08-JAN-2008 Layout of comments.
X-1.22 Camiel Vanderhoeven 08-JAN-2008 Split out chipset registers.
X-1.21 Camiel Vanderhoeven 07-JAN-2008 DMA scatter/gather access. Split out some things.
X-1.20 Camiel Vanderhoeven 02-JAN-2008 Comments.
X-1.19 Camiel Vanderhoeven 10-DEC-2007 Added get_cpu
X-1.18 Camiel Vanderhoeven 10-DEC-2007 Use configurator.
X-1.17 Camiel Vanderhoeven 2-DEC-2007 Added support for code profiling, and for direct operations on the Tsunami/Typhoon's interrupt registers.
X-1.16 Brian Wheeler 1-DEC-2007 Added panic.
X-1.15 Camiel Vanderhoeven 16-NOV-2007 Replaced PCI_ReadMem and PCI_WriteMem with PCI_Phys.
X-1.14 Camiel Vanderhoeven 18-APR-2007 Faster lockstep mechanism (send info 50 cpu cycles at a time)
X-1.13 Camiel Vanderhoeven 11-APR-2007 Moved all data that should be saved to a state file to a structure "state".
X-1.12 Camiel Vanderhoeven 10-APR-2007 Replaced LoadROM(...) and SelectROM() calls with a single LoadROM() call. (See System.cpp, X-1.23).
X-1.11 Camiel Vanderhoeven 10-APR-2007 Removed obsolete ROM-handling code.
X-1.10 Camiel Vanderhoeven 30-MAR-2007 Added old changelog comments.
X-1.9 Camiel Vanderhoeven 1-MAR-2007 Removes $-sign from variable names. The Sun C-compiler can't handle these.
X-1.8 Camiel Vanderhoeven 18-FEB-2007 Added iSSCycles variable to handle cycle-counting/slow-clocking in single-step mode.
X-1.7 Camiel Vanderhoeven 16-FEB-2007 a) Replaced DoClock with run and single_step. b) Added support for slow-clocked devices.
X-1.6 Camiel Vanderhoeven 12-FEB-2007 Added comments.
X-1.5 Brian Wheeler 7-FEB-2007 CSystem constructor takes filename of configuration file as an argument.
X-1.4 Camiel Vanderhoeven 7-FEB-2007 Added trace (pointer to CTraceEngine)
X-1.3 Brian Wheeler 3-FEB-2007 Formatting.
X-1.2 Brian Wheeler 3-FEB-2007 Add support for configuration file.
X-1.1 Camiel Vanderhoeven 19-JAN-2007 Initial version in CVS.
Definition in file System.h.
#include "SystemComponent.h"
#include "TraceEngine.h"
Go to the source code of this file.
Data Structures | |
| struct | SMemoryUser |
| Structure used for mapping memory ranges to devices. More... | |
| struct | SConfig |
| Structure used for configuration values. More... | |
| class | CSystem |
| Emulated Typhoon 21272 chipset. More... | |
| struct | CSystem::SSys_state |
| The state structure contains all elements that need to be saved to the statefile. More... | |
| struct | CSystem::SSys_state::SSys_tig |
| TIGbus state data. More... | |
| struct | CSystem::SSys_state::SSys_cchip |
| CCHIP state data. More... | |
| struct | CSystem::SSys_state::SSys_dchip |
| DCHIP state data. More... | |
| struct | CSystem::SSys_state::SSys_pchip |
| PCHIP state data. More... | |
Defines | |
| #define | INCLUDED_SYSTEM_H |
| #define | MAX_COMPONENTS 100 |
| #define | PANIC_NOSHUTDOWN 0 |
| #define | PANIC_SHUTDOWN 1 |
| #define | PANIC_ASKSHUTDOWN 2 |
| #define | PANIC_LISTING 4 |
| #define | PCI_PCTL_HOLE U64(0x0000000000000020) |
| #define | PCI_PCTL_HOLE_START 0x00080000 |
| #define | PCI_PCTL_HOLE_END 0x000fffff |
| #define | PCI_WSM_MASK U64(0x00000000fff00000) |
| #define | PCI_ADD_MASK U64(0x00000000000fffff) |
| #define | PCI_TBA_MASK U64(0x00000007fff00000) |
| #define | PCI_PTE_ADD_MASK U64(0x00000000000fe000) |
| #define | PCI_PTE_ADD_SHIFT 10 |
| #define | PCI_PTE_TBA_MASK U64(0x00000007fffffc00) |
| #define | PCI_PTE_MASK U64(0x00000007ffffe000) |
| #define | PCI_PTE_SHIFT 12 |
| #define | PCI_PTE_ADD2_MASK U64(0x0000000000001fff) |
| #define | PCI_PTE_PEER_BIT U64(0x0000000090000000) |
| #define | PHYS_PIO_ACCESS U64(0x0000080000000000) |
Variables | |
| char * | dbg_strptr |
| CSystem * | theSystem |
| #define PANIC_ASKSHUTDOWN 2 |
| #define PANIC_LISTING 4 |
| #define PANIC_SHUTDOWN 1 |
| #define PCI_ADD_MASK U64(0x00000000000fffff) |
| #define PCI_PCTL_HOLE U64(0x0000000000000020) |
| #define PCI_PCTL_HOLE_END 0x000fffff |
| #define PCI_PCTL_HOLE_START 0x00080000 |
| #define PCI_PTE_ADD2_MASK U64(0x0000000000001fff) |
| #define PCI_PTE_ADD_MASK U64(0x00000000000fe000) |
| #define PCI_PTE_ADD_SHIFT 10 |
| #define PCI_PTE_MASK U64(0x00000007ffffe000) |
| #define PCI_PTE_PEER_BIT U64(0x0000000090000000) |
| #define PCI_PTE_SHIFT 12 |
| #define PCI_PTE_TBA_MASK U64(0x00000007fffffc00) |
| #define PCI_TBA_MASK U64(0x00000007fff00000) |
| #define PCI_WSM_MASK U64(0x00000000fff00000) |
Definition at line 514 of file System.h.
Referenced by CSystem::PCI_Phys_direct_mapped(), and CSystem::PCI_Phys_scatter_gather().
| #define PHYS_PIO_ACCESS U64(0x0000080000000000) |
| char* dbg_strptr |
Definition at line 315 of file System.cpp.
Referenced by CAlphaCPU::execute(), handle_debug_string(), and CSystem::SingleStep().
Definition at line 2645 of file System.cpp.
Referenced by CSystem::CSystem(), CConfigurator::initialize(), CTraceEngine::list_all(), main(), CTraceEngine::parse(), and CTraceEngine::run_script().