System.h File Reference


Detailed Description

ES40 emulator.

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.

Id
System.h,v 1.34 2008/03/26 19:16:33 iamcamiel Exp

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.

Author:
Camiel Vanderhoeven (camiel@camicom.com / http://www.camicom.com)

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
CSystemtheSystem


Define Documentation

#define INCLUDED_SYSTEM_H

Definition at line 150 of file System.h.

#define MAX_COMPONENTS   100

Definition at line 152 of file System.h.

#define PANIC_ASKSHUTDOWN   2

Definition at line 258 of file System.h.

Referenced by CSystem::panic().

#define PANIC_LISTING   4

Definition at line 259 of file System.h.

Referenced by CSystem::panic().

#define PANIC_NOSHUTDOWN   0

Definition at line 256 of file System.h.

#define PANIC_SHUTDOWN   1

Definition at line 257 of file System.h.

Referenced by CSystem::panic().

#define PCI_ADD_MASK   U64(0x00000000000fffff)

Definition at line 515 of file System.h.

Referenced by CSystem::PCI_Phys_direct_mapped().

#define PCI_PCTL_HOLE   U64(0x0000000000000020)

Definition at line 509 of file System.h.

Referenced by CSystem::PCI_Phys().

#define PCI_PCTL_HOLE_END   0x000fffff

Definition at line 511 of file System.h.

Referenced by CSystem::PCI_Phys().

#define PCI_PCTL_HOLE_START   0x00080000

Definition at line 510 of file System.h.

Referenced by CSystem::PCI_Phys().

#define PCI_PTE_ADD2_MASK   U64(0x0000000000001fff)

Definition at line 522 of file System.h.

Referenced by CSystem::PCI_Phys_scatter_gather().

#define PCI_PTE_ADD_MASK   U64(0x00000000000fe000)

Definition at line 517 of file System.h.

Referenced by CSystem::PCI_Phys_scatter_gather().

#define PCI_PTE_ADD_SHIFT   10

Definition at line 518 of file System.h.

Referenced by CSystem::PCI_Phys_scatter_gather().

#define PCI_PTE_MASK   U64(0x00000007ffffe000)

Definition at line 520 of file System.h.

Referenced by CSystem::PCI_Phys_scatter_gather().

#define PCI_PTE_PEER_BIT   U64(0x0000000090000000)

Definition at line 523 of file System.h.

Referenced by CSystem::PCI_Phys_scatter_gather().

#define PCI_PTE_SHIFT   12

Definition at line 521 of file System.h.

Referenced by CSystem::PCI_Phys_scatter_gather().

#define PCI_PTE_TBA_MASK   U64(0x00000007fffffc00)

Definition at line 519 of file System.h.

Referenced by CSystem::PCI_Phys_scatter_gather().

#define PCI_TBA_MASK   U64(0x00000007fff00000)

Definition at line 516 of file System.h.

Referenced by CSystem::PCI_Phys_direct_mapped().

#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)

Definition at line 525 of file System.h.

Referenced by CSystem::PCI_Phys_scatter_gather().


Variable Documentation

char* dbg_strptr

Definition at line 315 of file System.cpp.

Referenced by CAlphaCPU::execute(), handle_debug_string(), and CSystem::SingleStep().


SourceForge.net Logo
Project space on SourceForge.net