background image

 

 
 
 
 

AMD SimNow™ Simulator 

4.4.5 

 
 

User’s Manual 

 

 

 
 

 
 

Revision 

Date 

2.01 

November 2008 

 
 
 
 
 
 
 
 

Advanced Micro Devices, Inc. 
One AMD Place 
Sunnyvale, CA 94088 
 
[email protected] 

Summary of Contents for SimNow Simulator 4.4.5

Page 1: ...AMD SimNow Simulator 4 4 5 User s Manual Revision Date 2 01 November 2008 Advanced Micro Devices Inc One AMD Place Sunnyvale CA 94088 simnow amd com ...

Page 2: ...e not designed intended authorized or warranted for use as components in systems intended for surgical implant into the body or in other applications intended to support or sustain life or in any other application in which the failure of AMD s product could create a situation where personal injury death or severe property or environmental damage may occur AMD reserves the right to discontinue or m...

Page 3: ...ple Computer Description 13 3 2 4 Device Window Quick Reference 15 3 3 Device Groups 15 3 3 1 Terms 16 3 3 2 Concept Diagrams 17 3 3 3 Working with Device Groups 18 3 3 4 Shell Automation Commands for Device Groups 19 3 3 4 1 Device Tree 19 3 3 4 2 Enabled vs Disabled vs Mixed 20 3 3 5 Device Group Examples 21 3 3 5 1 Example 1GB DDR2 memory 21 3 3 5 2 Example Quad Core Node 22 3 3 5 3 Example Sup...

Page 4: ...reate a Simulated Computer 49 6 1 BSD Files 49 6 2 Device Placement 49 6 3 Solo bsd Device Configuration 51 6 4 Save and Run 52 7 Device Configuration 53 7 1 AweSim Processor Device 55 7 2 Debugger Device 58 7 3 DIMM Device 59 7 4 Emerald Graphics Device 65 7 5 Matrox MGA G400 PCI AGP 69 7 6 Super IO Devices Winbond W83627HF SIO ITE 8712 SIO 78 7 7 Memory Device 81 7 8 PCA9548 SMB Device 84 7 9 PC...

Page 5: ...ulated network Same process 128 7 24 5 Visibility Diagram 129 7 25 Plug and Play Monitor Device 130 7 26 ATI SB400 SB600 SB700 Southbridge Devices 132 7 27 ATI RS480 RS780 RD790 RD890 Northbridge Devices 134 7 28 AMD Istanbul Device 135 7 29 AMD Sao Paulo Device 136 7 30 AMD Magny Cours Device 137 8 PCI Configuration Viewer 139 8 1 Scanning PCI Buses 140 8 2 Modifying the PCI Configuration content...

Page 6: ...A Appendix 177 A 1 Format of Floppy and Hard Drive Images 177 A 2 Bill of Material 178 A 2 1 Computer Platform Files BSD 178 A 2 2 Device Files BSL 178 A 2 3 Product Files ID 179 A 2 4 Image Files HDD FDD ROM SPD BIN 179 A 2 4 1 Hard Disk Image Files 179 A 2 4 2 Memory SPD Files 180 A 3 Supported Guest Operating Systems 181 A 4 CPUID 182 A 4 1 CPUID Standard Feature Support Standard Function 0x01 ...

Page 7: ...7 8 AMD 8151 AGP Bridge 235 A 7 9 VGA 235 A 7 10 Serial 235 A 7 11 HyperTransport Technology Configuration 237 A 7 12 8th Generation Northbridge 238 A 7 13 DBC 238 A 7 14 AMD 8111 Device 238 A 7 15 EHC 239 A 7 16 Journal 239 A 7 17 CPU 239 A 7 17 1 Profiling in SimNow Technology 239 A 7 17 2 CPU Code Generator Commands 241 A 7 18 Emerald Graphics 241 A 7 19 Matrox MGA G400 Graphics 242 A 7 20 PCI ...

Page 8: ...AMD Confidential User Manual November 21st 2008 viii Contents ...

Page 9: ...gure 3 19 CPU Invalidation Graph 31 Figure 3 20 CPU Exception Rate Graph 31 Figure 3 21 CPU PIO Rate Graph 32 Figure 3 22 CPU MMIO Rate Graph 32 Figure 3 23 Primary Secondary and Floppy Displays 33 Figure 3 24 Registry Window 34 Figure 4 1 DiskTool Dialogue Window 36 Figure 4 2 DiskTool Shell Window 36 Figure 4 3 New Image Size 37 Figure 4 4 Create Blank Image 37 Figure 4 5 DiskTool Operation Succ...

Page 10: ...AMD 8111 Southbridge 93 Figure 7 23 Device Options Properties Dialog AMD 8111 chipset 94 Figure 7 24 Logging Options Properties Dialog AMD 8111 chipset 95 Figure 7 25 PCI Bus Properties Dialog 97 Figure 7 26 AMD 8131 Device Hot Plug Configuration 98 Figure 7 27 AMD 8132 Device Hot Plug Configuration 99 Figure 7 28 AMD 8132 Properties Dialog 100 Figure 7 29 AMD 8151 Device Properties Dialog 102 Fig...

Page 11: ...ient 1 128 Table 7 13 Isolated Client Server Simulator Server 128 Table 7 14 Isolated Client Server Simulator Client 1 129 Table 10 1 Debugger Breakpoint Command Examples 148 Table 10 2 Debugger Memory Dump Command Examples 150 Table 10 3 Debugger Pacifica Memory Dump Command Examples 150 Table 10 4 MSR Read Examples 151 Table 10 5 MSR Write Example 151 Table 10 6 Find Pattern Example 151 Table 10...

Page 12: ...AMD Confidential User Manual November 21st 2008 xii Figures ...

Page 13: ...rate simulator The basic timing mechanism is an instruction all instructions execute in the same amount of time and are one tick in length This tick time is scaled and used by the rest of the system Long latency events like disk or floppy access have some minimum latency built in because we found legacy software that relied on the physical latency of these peripherals The simulator contains all th...

Page 14: ... Full Release Table 1 1 shows the detailed feature matrix Feature Public Release Full Release DIMM configuration Limited No 4 Gb limitation of simulated memory Available devices Limited Available platform definition files BSDs Limited Devices can be added and removed from platform definition files Connecting and disconnecting devices Ships with a variety of different CPU cores Product Files Full p...

Page 15: ...ppy drive CD ROM Drive Table 2 1 Software and Hardware Requirements Running the simulator on a Linux kernel prior to version 2 6 10 may cause the simulator to malfunction The bug is in the 64 bit path only and the symptom is in signals that are not associated with system calls still being treated as system calls as they go back to user space i e in certain cases it tries to restart the system call...

Page 16: ...ap_count 1048576 This line doesn t need to be here for newer Linux kernels but some early AMD64 Linux kernels would log SEGVs even if a process had a handler for them which is what SimNow does debug exception trace 0 Example 2 1 Setting up Linux for the Simulator Then run sysctl p or make sure the boot sequence does this if you don t want to run it at each reboot Newer Linux distributions may set ...

Page 17: ...le enclosed in square brackets This particular example includes three sections named General UserKeys and UserBottons All user key definitions are stored in the UserKeys section Each user key definition is defined by a single line This example defines two user keys The string to the left of the equal sign is the string that will be placed in the menu To the right of the equal sign are two strings ...

Page 18: ...a 2 6 Updates and Questions Please refer to the Release Notes located at SimNow docs to obtain the latest information about the simulator If you have any question regarding the simulator please refer to Section 15 Frequently Asked Questions FAQ on page 173 or contact your AMD account representative Appendixes are provided that describe Format of Floppy and Hard Drive Images page 177 Bill of Materi...

Page 19: ... contains up to eleven control buttons The simulation can be started by clicking on the Play button The simulation can be stopped by clicking on the Stop button To reset the entire simulator stop the simulation first by clicking on the Stop button and then click on the Reset button Numeric Display Components Simulation Display Area Main Window Menu Bar Simulator status Tool Bar 2D Engine Color Spa...

Page 20: ...inition BSD file has been loaded or created To save your current system definition click on the Save BSD button or click on the File menu item and select Save BSD To open a system definition file BSD file click on the Open BSD button and select the desired BSD file from the Open File Dialog Window The Open BSD button is only enabled active when no other system definition file has been open yet To ...

Page 21: ...t button again 3 2 Device Window The Devices Window shown in Figure 3 2 is opened by selecting View Show Devices or clicking on the button In this window you can create a simulated computer and modify its properties BIOS images memory characteristics and attached components This section describes the main components of the Device Window and shows how to build up and configure a simulated computer ...

Page 22: ...deprecated devices this checkbox must be checked The Show Deprecated Devices checkbox does not disable the ability to connect or create deprecated devices Also the automation interface of deprecated devices and loading BSDs which contain deprecated devices are both unaffected 3 2 1 Add a New Device You can add devices to the workspace by dragging a new device from the Device List on the left side ...

Page 23: ... level message exchanges between the connected devices All connections enable bidirectional message transfers Some devices contain more than one interface to which a connection can be made A multi interface device routes messages out different interfaces based on the type of message being sent When you make a connection with a multi interface device an interface list dialog appears which enables y...

Page 24: ...ling the simulated computer system 3 2 2 2 Configure Device Most devices provide configuration options Selecting Configure Device from the workspace popup menu produces a dialog window containing options for the specified device Selecting the Connections tab in the Device Properties window will display a list of all connections between the specified device and any other devices in the workspace 3 ...

Page 25: ...in the cheetah_1p bsd file Figure 3 5 Computer Simulation in cheetah_1p bsd File This computer is a single processor AMD 8th Generation machine with 256 MB of memory a Southbridge that supports two IDE chains VGA output and a SuperIO that supports a keyboard mouse and floppy drive This computer also comes with a USB JumpDrive and NIC device Right clicking on any icon brings up a Workspace Popup me...

Page 26: ...11 Southbridge Southbridge supporting Hard drives DVD CD ROM drives Floppy drives USB ports CMOS and POST ports AMD 8132 PCI X Controller The AMD 8132 PCI X Controller is a HyperTransport tunnel that provides two PCI X buses and two IOAPICs These PCI X buses may or may not be configured as hot plug capable depending on the platform Emerald Graphics Device Simulated VGA device Matrox G400 Graphics ...

Page 27: ...ation Display Window File Set IDE Primary Secondary Master Slave Image as shown in Figure 7 22 on page 93 Or Go to the Southbridge Properties page HDD Primary Secondary Channel If using a DVD CD ROM image check the DVD ROM checkbox as shown in Figure 7 22 on page 93 Change a floppy drive image Go to the Main Window File Menu Set Floppy Image Or Go to the SIO properties page Super IO tab see Figure...

Page 28: ...n of device functionality has no child devices associated with a bsl Windows or bsl Linux file Device Group Grouping of one or more devices libraries and groups into a single device gets its functionality through aggregation of its children and from its group specific properties aspects associated with a bsg file Known Device A device that the shell knows about i e the shell has all the necessary ...

Page 29: ...hild device s port and the parent device s port 3 3 2 Concept Diagrams A device group is a device with its own identity name description icon help file etc But it is also like a BSD in fact every BSD has a single created device group called the Machine device Tthe default user s view into SimNow is from the context of looking inside the Machine device This encapsulation of devices inside device gr...

Page 30: ... the devices Figure 3 8 Device Group 2 group devices 1 library device 3 3 3 Working with Device Groups From the main SimNow window View Show Devices opens a device viewer GUI window for the machine device group We can also open a device viewer GUI window that views any device group s children Right click the device icon and select Modify Group Show Devices from the popup menu If Modify Group Show ...

Page 31: ...and shell Connect etc work with a device regardless of whether it s a group or a library 3 3 4 1 Device Tree You can optionally reference a device in the parent and child grouping device tree using the syntax separator between device parent and child and Machine 1 as the root device Here are some examples using a machine and platform that just has two 4 core Node devices 1 simnow shell createddevi...

Page 32: ...xed Shell device commands like shell Location or shell AddDevice have generic meanings regardless of whether the device is a group or library But some are defined from an aggregation of the children For example shell GetFastPath can return Enabled Disabled or Mixed means some children are Enabled and some are Disabled 1 simnow shell GetLogIO 4 core Node 0 AweSim Processor 0 PCI Disabled IO Disable...

Page 33: ...neral options such as max number of dimm s and to configure each dimm such as by importing an SPD You could configure it for example to emulate a dimm bank with 2 DDR2 dimm s 1GB each Device groups offer us a potentially simpler alternative for the user to instantiate a preconfigured device group For example we could have a device group Dimm DDR2 1GBx2 which has inside it only one child and defaul...

Page 34: ...give it an identity as a particular hardware implementation such as an already configured Dimm DDR2 1GBx2 More generally any device can be wrapped by a device group to give an alternate default configuration for the device s state archive data 3 3 5 2 Example Quad Core Node Next we will consider examples relevant to the ability of a device group to have multiple child devices default archive data ...

Page 35: ...o specify archive data for its child devices When such a known device group is instantiated as a created device it simply lets its children use their own default and initial configuration state We can create an abstract or generic 4 core Node device group that does not represent a particular hardware implementation just like a non configured Dimm Bank does not represent a particular hardware imple...

Page 36: ...lable SuperIO devices were written as device libraries It is cleaner to implement SuperIO device models with device groups Typically SuperIO devices consist of multiple functional blocks such as a UART LPT PS2 controller Floppy controller etc Device groups provide a way to develop each functional block as discrete devices that can later be grouped to represent a particular SuperIO controller 3 3 6...

Page 37: ...evice icon name number and internal device connections Figure In the second step we specify options relative to each child device For each child s device state the resulting known device group can either save the child device s current state or it can specify no default device state and thus inherit the default device state for the particular child device For example if a child device is an AweSim...

Page 38: ...vice state page shows you all the internal to external port mappings which are currently specified for the device group You can also click the Add Remove Ports button for a particular child device to open a sub page that allows you to add and remove particular port mappings for the child device In a child device sub page each checkbox turns a particular port mapping on or off If a checkbox is gray...

Page 39: ...aced with a created device instance of your new device group Its internal connections and device state come from the known device External connections from the devices you grouped are recreated as connections to your new created device group All of this is done automatically by the wizard when you click Finish 3 3 7 Creating a Device Group Automation Commands Although it is simpler to create a dev...

Page 40: ...hild device for if when the group is exported as a known device shell SetDeviceGroupOption device ExportDeviceState optional child device 0 1 There is also a shell command to get the options ie to print them to the console stdout This can print the values for either options ExternalPortMap or ExportDeviceState shell GetDeviceGroupOption device group ExternalPortMap ExportDeviceState variable args ...

Page 41: ...t of pull down menus and a Tool Bar both of which control many aspects of the simulation environment The console window shown in Figure 3 15 provides a textual interface for status information and command line style control see Section A 7 Automation Commands on page 227 Figure 3 15 Console Window 3 4 1 SimStats and Diagnostic Ports The SimStats and Diagnostic Ports numeric displays appear in the ...

Page 42: ...raph The Real MIPS Graph updates once a second If this value exceeds what can be displayed on this graph the graph line turns red It shows the instantaneous MIPS i e how many millions of instructions per host CPU second at which the simulator is running A value of zero will appear as a one pixel high horizontal line Full scale represents 100 MIPS Meta Data that describes the Translations Percent o...

Page 43: ...ears as a horizontal line one pixel high Full vertical scale represents a rate of one exception taken by the simulator per ten simulated instructions These exceptions may be internal to the simulator and not turn into exceptions in the simulated machine The lower darker color represents all such exceptions other than segmentation violation SEGV exceptions The upper lighter color represents all the...

Page 44: ...t screen that appears when a VGA device is added to the workspace When the mouse focus is over the video area the simulator captures host keyboard input enabling you to type most keyboard entries on your real keyboard This is a convenience and may not accurately position the mouse or grab all keys correctly For more accurate mouse and keyboard capture see Grab the mouse and keyboard in Section 5 2...

Page 45: ...hdd Floppy Drive Image fdd DVD CD ROM Image iso Generic Image img Table 3 3 Image Types After an image is selected any changes to the image are stored in journal form in the BSD file unless journaling is disabled in the Southbridge for hard drive images or SuperIO for floppy drive images device If journaling is disabled changes are stored to the image file see also Section 5 2 1 Assigning Disk Ima...

Page 46: ...r has HTML on line help and documentation with Help menu entries or buttons on the dialogs In the device view every device has a context menu right click with Help documentation links and What s this floater text In addition to any other support channel you may have we encourage feedback on any problems encountered Please send an email to simnow support amd com ...

Page 47: ...on a Linux host type dev cdrom in the Master Drive Image Filename field Check the DVD ROM check box below the Filename field The simulator can access media via the following mechanisms IDE Hard Disk DiskTool IDE hard disk image is a flat file consisting of a 512 byte header the IDE probe sector and a raw image of data from the hard disk if the raw data is cut off before the end of the disk the dis...

Page 48: ... shown in Figure 4 2 that is used to inform the user about all physical drives which DiskTool has detected Figure 4 1 DiskTool Dialogue Window For information about supported options and modes that DiskTool supports please refer to Section 13 DiskTool on page 161 Figure 4 2 shows the DiskTool shell window Figure 4 2 DiskTool Shell Window ...

Page 49: ...3 is presented that allows you to select how large the blank image file should be Figure 4 3 New Image Size Before you start creating a new blank disk image make sure that the image will be large enough to install Windows or Linux on it You can enter the image size in MB or in number of sectors We recommend an image size of 4 GB Increase the value of Image Size MB to 4096 and then click on the Ok ...

Page 50: ...idential User Manual November 21st 2008 38 Chapter 4 Disk Images Figure 4 5 DiskTool Operation Successful To exit DiskTool click on the Exit button on the right side of the DiskTool dialog window see Figure 4 1 ...

Page 51: ...5 1 It will also open a console window shown in Figure 3 15 that is used for text interaction Figure 5 1 Main Window No BSD Loaded 5 1 Command Line Arguments This section describes the command line arguments supported by the simulator Table 5 1 shows the command line arguments Argument Description l path Directory to load devices from If used it must be first f file Open the bsd file file e file E...

Page 52: ...and select one of the bsd files located in the SimNow directory The bsd files contain pre configured simulation definitions designed to model a specific AMD processor based computer system For this example load the cheetah_1p bsd file from in the SimNow directory Upon loading the BSD file the Main Window shown in Figure 5 2 will be filled with three sections The left column contains informational ...

Page 53: ... Window BSD Loaded You can view the configuration of the simulated machine by clicking on A window appears with a graphical representation of the simulated machine as shown in Figure 5 3 Simulation Display Area Tool Bar Main Window Menu Bar Simulator status CPU Graph Area Numeric Display Components ...

Page 54: ...ges Assign a blank hard drive image by selecting File Set IDE Primary Master Image Open the directory that contains your hard drive images and choose a blank hard drive image that you created earlier see Section 4 1 Creating A Blank Hard Drive Image on page 35 or use one of the hard disk images which come with the simulator see Section A 2 4 1 Hard Disk Image Files on page 179 and un check the Jou...

Page 55: ... This is useful for being able to kill a simulation in the middle for multiple copies of the simulator running at the same time etc Journal contents are saved in BSD checkpoint files but lost if you don t save a checkpoint before exiting To change journal settings or commit journal contents to the hard disk image go to the Device View Window then the AMD 8111 Southbridge then the configuration for...

Page 56: ...to the simulator and out of the simulator see Section A 7 26 JumpDrive on page 247 Copying files out of the simulator corresponds to putting some data into some media in the guest which will then be extracted on the host To do this mount a hard drive image on the host after placing the data on it in the guest On a Linux host you can use the loopback device 5 2 2 Run The Simulation Once the disk im...

Page 57: ...sition of the host mouse You can also allow the simulator to take complete control of the mouse and keyboard by selecting Special Keyboard Grab Mouse and Keyboard To return from this mode press and hold Ctrl then Alt and then release them in reverse order Figure 5 5 Special Keys Generator 5 2 4 Simulation Reset To reset the entire simulator stop the simulation with the Stop button then press the R...

Page 58: ...VGA Window vga Enable VGA Window n Disable VGA Window d Disable mouse and keyboard inputs to simulator d Enable mouse and keyboard inputs to simulator i path Image search path for loading image files m path Mediator connection string for network adapters to use l path Directory to load devices from If used it must be first Table 5 2 Newmachine Command Arguments Usage newmachine nogui c gui novga n...

Page 59: ...on page 39 for further information regarding available command line arguments To exit a created simulated machine enter exit as shown in the following example 1 simnow exit 2 simnow This example exits the simulated machine 1 d Mouse and Keyboard inputs are enabled d Mouse and keyboard inputs are disabled VGA Window is enabled GUI is enabled console mode Specifies current Machine ID ...

Page 60: ...AMD Confidential User Manual November 21st 2008 48 Chapter 5 Running the Simulator This page is intentionally blank ...

Page 61: ...ing solo bsd Device Window The device position is not important because the connections between devices are completely represented by the lines between devices Figure 6 1 Solo bsd Configuration The thickness of the connection between devices represents the number of existing connections 6 1 BSD Files A BSD file contains the configuration of a computer system how models are connected together and t...

Page 62: ...ted Northbridge by shift click dragging from one to the other When the Connections tab of Device Properties Window appears shown in Figure 6 2 choose the CPU Bus 0 for both devices and click on Ok The connection appears as a line between the two devices on the Device Window Then create an additional connection between the two devices using the Interrupt IOAPIC Bus on each device The Device Window ...

Page 63: ...ill contain the System BIOS image Connect it to AMD 8111 Southbridge device using AMD 8111 LPC Bus and the Memory Device s Generic Bus 6 3 Solo bsd Device Configuration To configure each device right click on the device and choose Configure Device from the workspace popup menu see also Section 7 Device Configuration on page 53 1 Configure the Matrox Millenium G400 Graphics Device Go to its Configu...

Page 64: ...ocessor Type tab Choose the Ahtlon64 754_SH C0_ 800MHz id product file as shown in Figure 7 1 on page 56 6 4 Save and Run The created simulated computer is identical to the solo bsd computer You can close the Device Window and save the file from the File Save BSD or by clicking on the button All that remains is to set up disk images see Section 4 1 Creating A Blank Hard Drive Image on page 35 Sect...

Page 65: ...ence for how to configure a device model and are not intended to document how to use the model within the simulator The full release version of the simulator ships with more devices then the public release version Table 7 1 gives an overview of supported devices depending on the simulators version Symbol Device Public Release Full Release AMD Debugger AweSim Processor DIMM Bank AMD 8th Generation ...

Page 66: ...ice ITE 8712 SIO ATI SB400 SB600 SB700 ATI RS480 RD790 RS780 RD890 AMD Istanbul AMD Sao Paulo AMD Magny Cours Table 7 1 Supported Devices To open a Device Property dialog window open the Device View window View Show Devices or click on the button Then Open the workspace popup menu right click on a device in the workspace area and select Configure Device ...

Page 67: ...s equivalent to an industry standard x86 processor at initialization The L1 cache and APIC interfaces are disabled the debugger is off and the L1 cache is configured as two 2 way 512 line and 64 byte caches When the processor device receives a reset the device resets its internal state in a manner consistent with a standard x86 processor No configuration information is modified Contents of a BSD T...

Page 68: ...Register State Changes check box to log all the processor model register state changes Check the Log I O Read Writes check box to log all real I O not memory I O generated by the processor model Check the Log Linear Memory Accesses check box to log all memory accesses based on linear memory This logs all data memory accesses generated by the processor model This does not log code fetch memory acce...

Page 69: ...ce from Real Hardware While the processor device is a faithful simulation of the software visible portion of an AMD microprocessor it is not a model of the specific AMD microprocessor hardware Because of this the processor device is not equivalent in certain areas Any issues related to timing such as the time to execute a given instruction will be different The TLB models do not exactly match any ...

Page 70: ...ck and drag the Debugger Device icon from the device list on the left side into the workspace area on the right side of the Device Window 3 Add an additional debugger for each processor you wish to debug Initialization and Reset State The debugger initially is disabled and attached to processor 0 Configuration Options In the Main Window select View Show Debugger Click the Attach button to configur...

Page 71: ...s Programmable Delay Lines PDLs that are used to delay the Data Qualification Signal DQS signals so that the edges are centered on the valid data window BIOS algorithms are used to locate the valid data window and adjust the PDLs accordingly Physical DIMMs provide 8 bytes of data per access On the module the 8 bytes of data are stored across several memory devices The data width of the memory devi...

Page 72: ...e of CPU used in the system If the CPU type is an AMD Opteron processor then the DIMM Device will assume a 128 bit memory interface and therefore allow configuration of up to eight individual DIMMs If the CPU type is something other than AMD Opteron then the DIMM device assumes a 64 bit memory interface and accepts configuration for only four DIMMs It isn t until the simulation is started that the...

Page 73: ...sical bank Memory read and write messages sent to the DIMM Device use the same structure for both 128 bit and 64 bit interfaces Each message includes a bank select field an address field and a data size field The bank select field implements the CS7 0 lines while the address field specifies the beginning offset within the bank virtual bank and the data size field specifies the size of the datum In...

Page 74: ...when a Northbridge PDL is set outside the valid response range These settings apply to all four simulated DIMMs If Enable PDL Error Simulation is selected then the DIMM device monitors PDL settings for all RAM reads The 0xFF option specifies that the return data should be forced to all ones The Invert option specifies that the return data should be a bitwise inversion of the valid data The SMB Bas...

Page 75: ...wn in Figure 7 6 DIMM0 DIMM1 provide module specific setup options for each simulated DIMM The two DIMM module configuration dialogs share the same format Note The public release of the simulator does not support any of the options shown in Figure 7 6 To change the simulated memory size please use the Memory Configurator see Section 14 2 Changing DRAM Size on page 167 ...

Page 76: ...rmat is an unformatted binary image with an extension of spd The bottom section of the dialog is used to configure DDR PDL Response ranges for the simulated DIMM PDL response ranges can be individually set for each of 16 PDLs Adjusting the Low and High value modifies the response range for a particular PDL When an appropriate response range is set for one PDL the same range can be applied to all 1...

Page 77: ...d graphics device has both a PCI slot and an AGP bus connection only one of which can be used at any time to connect to PCI slots or AGP bus ports in other devices Initialization and Reset State Upon initial creation this device initializes the internal registers to VGA standard reset state and creates a display window that acts as the VGA display The Configuration options are initialized to enabl...

Page 78: ...dy incorporated The VGA enabled checkbox enables or disables the VGA registers If it is not checked the VGA registers are not updated and the display window will not display from the VGA frame buffer Frame Buffer Sub Device Configuration In Figure 7 8 the Frame Buffer Size Mbytes sets the size of the frame buffer in megabytes The value placed in this option is only read at reset The frame buffer s...

Page 79: ...gh the simulators I O subsystem The keyboard or mouse device accepts these messages and simulates key presses and key releases to match the keys While certain key combinations do not result in the generation of keyboard messages by the OS this does enable you to use the real keyboard to interact with the simulation in many cases Supported VESA BIOS Graphics Modes Only supports flat and linear fram...

Page 80: ... 14Ch 1920x1080 32 bit 14Dh 1920x1200 16 bit 14Eh 1920x1200 32 bit 14Fh 2048x1536 16 bit 150h 2048x1536 32 bit Table 7 3 Supported Custom VESA Modes Improve Graphics Performance When you run Windows in simulation and you open a menu list box tool tips or other screen element the object may open very slow To disable this option use the following steps 1 Click Start point to Settings and then click ...

Page 81: ...rts full acceleration of all GDI and DirectDraw functions Figure 7 9 shows the integrated components of the Matrox G400 graphics device Features and components which are currently not supported by the Matrox G400 graphics device model have a symbol in the following block diagram Figure 7 9 Matrox G400 Block Diagram CPU Graph Area Floating Point Setup Engine Ultra pipelined Programmable Unit MAFC P...

Page 82: ...s a copy of the 256 Kbyte VGA frame buffer and all configuration information If the graphics controller was in Matrox Power Graphics Mode non VGA in Windows the linear frame buffer Power Graphics registers and PCI configuration registers are saved in the BSD When the BSD file is reloaded all registers and the frame buffer are restored and a display image is captured and displayed in the display wi...

Page 83: ...Configuration 71 Figure 7 10 Matrox G400 Information Property Dialog The Configuration tab displays details about the active configuration of the Matrox G400 graphics device If you want to change the active configuration click on the Configuration Tab see Figure 7 11 ...

Page 84: ...tion The Configuration tab lets you choose from six different Matrox G400 graphics adapters For instance if you prefer to use a Matrox Millennium G400 SingleHead 16 Mbytes of SDRAM with a 300 MHz RAMDAC instead of the default adapter then select this adapter from the Millennium G400 Adapters list To apply the new configuration click on the Ok button Note if you make any changes in the Configuratio...

Page 85: ...With Depth c Polyline Polysegment using Vector Pseudo DMA Mode Image Load ILOAD a Linear Color Expansion Character Drawing 1 bpp b Loading the Texture Color Palette Loading any accelerator registers through the Pseudo DMA Window ZBuffer Direct Access Procedure when ZBuffer is in AGP Space Table Fog Video Scaler Texture Unit blending Texture Staging Supported 2D Features Bus Mastering PCI AGP Raste...

Page 86: ...2 15 16 and 32 bit UV Texture Coordinate support DMA Vertex Engine Supported Graphics Modes The Matrox G400 provides three different display modes text VGA or SVGA VGA graphics and SVGA graphics Table 7 4 list all of the display modes which are available through BIOS calls Mode Number Type Organization Resolution No of colors Supported 0x00 VGA 40x25 Text 360x400 16 0x01 VGA 40x25 Text 360x400 16 ...

Page 87: ...1A SVGA Packed pixel 16 bpp 1280x1024 64K 0x011B SVGA Packed pixel 32 bpp 1280x1024 16M 0x011C SVGA Packed pixel 8 bpp 1600x1200 256 0x011D SVGA Packed pixel 16 bpp 1600x1200 32K 0x011E SVGA Packed pixel 16 bpp 1600x1200 64K Table 7 4 Matrox G400 VESA Modes Memory Interface The Matrox G400 supports a total of 32 megabytes of SGRAM SDRAM memory comprised of one or two banks of 8 16 or 32 Mbytes eac...

Page 88: ...en click Control Panel 2 Double click Display 3 Click Effects clear the Use the following transition effects for menus and tool tips check box click ok and then close Control Panel Or 1 Right click on My Computer and select Properties 2 Click on Advanced Performance and then on Settings 3 Select the Adjust For Best Performance option 4 Click on Apply Also make sure you have installed the Matrox G4...

Page 89: ...ling Hardware Cursor Support Please follow the following steps to enable native hardware cursor support on Windows platforms 1 Install latest Matrox G400 drivers 2 Reboot computer 3 Right click on My Computer and select Properties 4 Click on Advanced Performance and then on Settings 5 Uncheck Show shadows under mouse pointer checkbox 6 Click on Apply ...

Page 90: ...uring initialization and reset state A20 and reset released Mouse scaling set to 1 Mouse resolution set to 4 Stream mode off Mouse sample rate set to 100 All sticky keys released Keyboard output port set to 0xDF The floppy is initialized with no drive image present Reset clears the controller to an idle state If an image is loaded reset does not unload the image COM1 and COM2 are initialized with ...

Page 91: ...iguration Options The Super I Os have the capability of setting device breakpoints on an event basis In this case the event is the sequence of writes to access the Super I O s device configuration registers Selecting the PNP Lock Unlock Registers option in Figure 7 13 activates the breakpoint anytime the lock and unlock sequence is hit The other option is to set breakpoints to trigger whenever any...

Page 92: ... with DiskTool and then specify the floppy image file in the Super I O configuration dialog page Difference from Real Hardware Keyboard Mouse Floppy COM1 and COM2 differ from real hardware Baud rate parity and stop bits are ignored Communication is always available Baud rate timing is approximate Modem status and line status always show the device is ready The default values of the control registe...

Page 93: ... a RAM memory device that is at a base address of 0x00000000 and a size of 4 Gigabytes The memory has no default content When an initialization file is specified the memory device s contents contain the data from that binary file After a reset the memory device reverts back to the initialization file contents Contents of a BSD The contents of memory as well as all configuration information are sto...

Page 94: ...ting the Memory Address Masking option indicates that the address received by the memory device is masked by a bit mask with the same number of bits as the size of the memory device e g a 256 Kbyte ROM uses an 18 bit mask or it is masked by 0x003FFFF This enables the ROM to be remapped dynamically into different memory address ranges in conjunction with the aforementioned chip select Selecting the...

Page 95: ...vice Configuration 83 Difference from Real Hardware The memory device differs in that it is a generic memory model When configured as a BIOS ROM it does not contain flash specific information that a modern flash ROM contains for programming information purposes ...

Page 96: ...ut ports as well as a programmable interface that directs the switch which output port to forward messages to Initialization and Reset State The PCA9548 has the input value specified in its configuration dialog window Contents of a BSD The PCA9548 saves its SMB base address and input pin value Configuration Options Figure 7 15 PCA9548 SMB Configuration Properties Dialog The PCA9548 allows you to s...

Page 97: ...returns the value of its input pins Interfaces The PCA9556 has one output port Initialization and Reset State The PCA9556 has the input value specified in its configuration dialog window Contents of a BSD The PCA9556 saves its SMB base address and input pin value Configuration Options Figure 7 16 PCA9556 SMB Configuration Properties Dialog The PCA9556 allows you to set its SMB base address and inp...

Page 98: ...usive and should be connected to only one other device The Northbridge also has a memory bus to the DIMM devices The CPU bus gives connection points for the CPU The final port is a system message bus port for connection with a Log device A 940 pin 8th generation processor part AMD Opteron has three HyperTransport ports a 754 pin 8th generation processor part AMD Athlon 64 has one HyperTransport po...

Page 99: ...elected the device will produce log messages whenever PCI configuration registers are accessed If Log HyperTransport Message Routing is selected the device will log HyperTransport messages Figure 7 18 Northbridge HT Link Configuration Properties Dialog If the DDR DRAM Controller is selected the device will support DDR DRAM In order to use DDR2 DRAM select the DDR2 DRAM Controller ...

Page 100: ...into these registers While these registers are programmed out of bounds DRAM access will be corrupted Note the DDR2 Training Properties Dialog is only useful for BIOS developer and the values should only be modified and used by BIOS developers Log Messages If Log PCI Configuration Cycles is selected the device produces log messages whenever the PCI configuration data register 0xCFC is accessed Log...

Page 101: ...FIG READ Bus 0 Device 7 Function 1 Register 42 Data 22 PCI CONFIG READ Bus 0 Device 7 Function 1 Register 43 Data 11 Differences from Real Hardware The Northbridge device differs from the real hardware in that the simulator does not support the debug hardware registers The device also does not support memory interleaving by node though this will change in the near future The device will differ in ...

Page 102: ... IO s and BIOS ROMs A HyperTransport port is used for main connectivity for the AMD 8111 device to the reset of the system Initialization and Reset State When first initialized the Southbridge devices are in the default state This is described in detail in the respective datasheets The legacy CMOS sub device initializes to all zeroes When reset a Southbridge device takes on all default register va...

Page 103: ... 21 gives the user the ability to change the contents of CMOS When first created the CMOS contains all zeroes to force a CMOS checksum error resulting in the default settings being loaded by BIOS The alternative to this is loading a binary file containing the CMOS desired data The user can create this file by entering changes and using the save feature to create the binary file ...

Page 104: ...indow is activated by pressing the right most button All disk devices Primary Master etc by default have the disk journaling feature turned on which allows simulations to write to the disk image during normal operation and not affect the contents of the real disk image This is useful for being able to kill a simulation in the middle for multiple copies of the simulator running at the same time etc...

Page 105: ...outhbridge Device Options The AMD 8111 device has specific configuration requirements that relate to device option type and HyperTransport information The Default Base Unit ID is a way of telling the device of the strapping option for ID selection The Generate HT Messages for Interrupts selection specifies whether interrupts go out the HyperTransport port in a HyperTransport format or out the INT ...

Page 106: ...ice Options Properties Dialog AMD 8111 chipset Log Messages The AMD 8111 device produces log messages to the Message Log Window as specified by the options in the Logging Option tab shown in Figure 7 24 The device can log I O mapped Transactions Memory mapped Transactions and SMI and SCI assertions ...

Page 107: ...8111 Southbridge device supports an optional IOMMU based on IOMMU spec 1 2 that can be enabled and disabled via the automation command 8111 SetIOMMU 0 1 The addition of this block to the device model does not reflect any real or planned hardware When enabled the AMD 8111 device s IOMMU PCI registers live in a capability block of the PCI Bridge When enabled the AMD 8111 device s IOMMU delivers inte...

Page 108: ...n around the perimeter of the icon to provide a visual indication that each PCI device is connected to a different PCI slot Second the connection points are exclusive that is only one device can connect to each connection point on the PCI bus because in a real system one cannot install two PCI cards into a single PCI slot It is planned that these new behaviors will be used in other devices when re...

Page 109: ...ase IRQ Pin for the slot You can choose from pin A B C or D The third field is an Enable Slot By default all slots are disabled One cannot disable a slot that has a device connected to it Differences from Real Hardware The PCI Bus device differs from other devices in that it is a generic model We do not simulate PCI down to a clock accurate level so devices do not arbitrate for bus ownership or in...

Page 110: ...for simulation Initialization and Reset State When first initialized the AMD 8131 tunnel is in its default state This is described in detail in the AMD 8131 datasheets Each bridge defaults with hot plug functionality disabled When reset the AMD 8131 takes on all default register values Contents of a BSD The entire configuration of the AMD 8131 device including all state and registers for its sub d...

Page 111: ...o a PCI Bus device which provides the Slot interfaces with which to connect devices for simulation Initialization and Reset State When first initialized AMD 8132 device is in its default state This is described in detail in the AMD 8132 datasheet Each bridge defaults with hot plug functionality disabled When reset AMD 8132 takes on all default register values Contents of a BSD The entire configura...

Page 112: ...32 Properties Dialog The Upstream HyperTransport Link selection shown in Figure 7 28 specifies the HyperTransport Bus that will be used as a upstream link Differences from Real Hardware Clock sensitive functionality like setting bus speed is not supported Neither are system errors nor power management ...

Page 113: ...es By default the PCI X device is set to have no I O memory space and interrupt capability The PCI X device has a default Device ID and Vendor ID At reset the device configuration does not change and the values from the device configuration will be eventually read into the PCI X registers when the configured system is restarted Contents of a BSD PCI X register and interrupt signals are saved in th...

Page 114: ... be connected to the upstream link the one closest to the host bridge and HyperTransport1 should be connected to the downstream link The AGP interface should be connected to an AGP graphics device The INT_IOAPIC bus should be connected to the Southbridge it routes interrupt signals from the AGP bus to the Southbridge Initialization and Reset State When first initialized or reset the AMD 8151 regis...

Page 115: ... User Manual November 21st 2008 Chapter 7 Device Configuration 103 Differences from Real Hardware Clock sensitive functionality like setting bus speeds is not supported The HyperTransport bus protocol is not simulated ...

Page 116: ...urnal command RAID device supports multi level journaling i e for a created volume the user can add multiple journals however one cannot add a journal after an in memory journal Conceptually the disk image is equivalent to the image and fixed journal pair Journals grow in size as the volumes associated with them are accessed writes of data blocks which haven t been written before File based journa...

Page 117: ...as shown in Figure 7 30 Interface The SMB hub has five SMBus interfaces SMB0 can be connected within the SMB hub to any of the four other SMBuses SMB 1 3 Typically SMB0 is connected to a SMBus connection on a Southbridge device and the other SMBus ports are connected to other devices in the system Initialization and Reset State When first initialized or reset the SMB hub registers are set to their...

Page 118: ... This device model is the combination of two physical devices connected in a specific way The model attempts to match the functionality of the physical devices from a programmer s perspective The SMBus protocol is not modeled Also the SMBus address of the PCA9556 is programmable based on pin strapping whereas this model has a fixed SMBus base address ...

Page 119: ...onfiguration data Interface The AT24C device has a SMB interface For example this device can be connected to a PCA9548 or PCA9556 device see Section 7 8 PCA9548 SMB Device on page 84 or Section 7 9 PCA9556 SMB Device on page 85 Contents of a BSD The current state of all internal registers and any internal state variables are saved in the BSD Configuration Options The AT24C device can be configure ...

Page 120: ...as if it were a real hardware platform The installation of the simulator should provide all the COM registration hooks that are required If it does not here are the steps to manually register the EXDI server 1 Open a command window run cmd exe 2 Change the current directory to the location where the simulator was installed 3 Execute the command Regsvr32 exdi64ps dll You should get a message box in...

Page 121: ...ow the simulator sends the internal command keyboard key 0x10 0x80 to its command interpreter If the user has a USB keyboard or mouse in his simulation he can redirect the simulator to use these USB devices for keyboard and mouse input He does this by modifying the following simulator registry keys Gui_Key_Device usbkey and Gui_Mouse_Device usbmouse from the top level View Registry With these chan...

Page 122: ...ucture of both binary file and XML file is discussed below XTR can be used both in uni processor XTR UP and multi processor XTR MP configurations However currently only XTR UP is supported while XTR MP is under development There are two modes of XTR XTR Record and XTR Playback The simulator supports both modes and one mode does not necessitate the other The simulator could be used to record XTR tr...

Page 123: ... 0 7 22 1 3 XTR Playback For XTR Playback XTR Northbridge XTRNB replaces all the devices including any other Northbridge in the system Hence for UP XTR Playback only AweSim and XTRNB are required Please refer to Section 7 22 1 3 XTR Playback on page 111 on how to connect AweSim and the XTRNB device It is recommended to also include the Debugger device for debugging or logging needs To playback XTR...

Page 124: ...ts are flushed Simulated DIMM memory is flushed and unallocated Contents of a BSD XTR Record contains xtrsvc which is described below in addition to modules in the simulation For XTR Playback the BSD is composed of following modules shell 0 The shell under which a simulation is executed xtrsvc 0 XTR service which facilitates execution of XTR Playback Debug 0 The SimNow Debugger Cpu 0 AweSim CPU Mo...

Page 125: ...0C DEVMC_WRITEMEM 400000007F294FD4 523 A9 17 53 80 Logged during XTR execution phase 800000007F1CAD00 is the address 296 is the instruction count The data following the is the data that returned and received to and from the CPU This message is logged for a READ WRITE MEMORY request but no record is present in XTR XML file for this read The data is hence served and written from and to backing store...

Page 126: ...lements are explained below Please refer to Section 7 22 5 Example XTR XML File on page 117 or the exact and complete structure of the XTR XML All values in the XML are in hexadecimal except for ICount and Length values which are always in decimal Exceptions will be stated as necessary Init Device DIMM Type MEMI Size 536870912 Memory initialization MEMI information from and for the DIMM device The...

Page 127: ...9090909090909090 Event Defines a DMAW event Event Device CPU0 Type PIN ICount 325496 Name INTR Level A Defines an INTR PIN event Level A for Asserted or D for Deasserted Name could be INTR RESET A20M NMI PAUSE SMI and Unknown Event Device TO_DO_IN_NB Type APIC ICount 325496 Name EXTINT DestinationMode F DeliveryMode 07 Level F TriggerMode F Vector 00 Destination 00 Defines an APIC Event Name could...

Page 128: ...t for execution The upper 32 bits store the Execution Control flags e g HLT and ignore interrupts for 1 instruction when we change stack segment The lower 32 bits is redundant from other initialization values in the XTR initialization but is there to maintain code consistency Table 7 7 shows the Execution Control Flags upper 32 bit Execution Control Flag Value Description BIUI_LOCK 0x00000001 Bus ...

Page 129: ...t the values are not XTR cannot be used to playback BIOS bring ups Currently XTR does not support Pacifica platform Currently XTR traces recorded off SimNow cannot be played back in other XTR playback environments Although not needed XTR traces recorded by SimNow might contain data written by the CPU e g IOW 7 22 5 Example XTR XML File xml version 1 0 encoding utf 8 AmdEventTrace version 1 0 Init ...

Page 130: ...00 Init Device CPU0 Type CPU Item TR Data 00000028 Init Device CPU0 Type CPU Item TSSBase Data 0000000080042000 Init Device CPU0 Type CPU Item TSSLimit Data 00000000000020AB Init Device CPU0 Type CPU Item TSSFlags Data 00000089 Init Device CPU0 Type CPU Item IDTBase Data 000000008003F400 Init Device CPU0 Type CPU Item IDTLimit Data 00000000000007FF Init Device CPU0 Type CPU Item GDTBase Data 00000...

Page 131: ...SREG Item M00000250 Data 1E1E1E1E1E1E1E1E Init Device CPU0 Type SREG Item M00000258 Data 1E1E1E1E1E1E1E1E Init Device CPU0 Type SREG Item M00000259 Data 0000000000000000 Init Device CPU0 Type SREG Item M00000268 Data 1515151515151515 Init Device CPU0 Type SREG Item M00000269 Data 1010101010101010 Init Device CPU0 Type SREG Item M0000026A Data 0000000000000000 Init Device CPU0 Type SREG Item M00000...

Page 132: ...000000000000000 Init Device CPU0 Type SREG Item MC0010032 Data 0000000000000000 Init Device CPU0 Type SREG Item MC0010033 Data 0000000000000000 Init Device CPU0 Type SREG Item MC0010034 Data 0000000000000000 Init Device CPU0 Type SREG Item MC0010035 Data 0000000000000000 Init Device CPU0 Type SREG Item MC0010112 Data 0000000000000000 Init Device CPU0 Type SREG Item MC0010113 Data 0000000000000001 ...

Page 133: ...000100 Data Length 16 Value 00000100000001000000010000000100 Data Length 16 Value 00000100000001000000010000000100 Data Length 16 Value 00000100000001000000010000000100 Data Length 16 Value 00000100000001000000010000000100 Data Length 16 Value 00000100000001000000010000000100 Data Length 16 Value 00000100000001000000010000000100 Data Length 16 Value 00000100000001000000010000000100 Data Length 16 ...

Page 134: ...t Device CPU0 Type DMAW ICount 23921 Address 000000000c254340 Length 64 Data Length 64 Value 6d00005f5e5bc3909ac04600b7c04600d4c04600eec0460008c1460022c146003cc14600 2fc2460067c2460085c24600a3c24600909090909090909090909090 Event Event Device CPU0 Type PIN ICount 326462 Name INTR Level A Event Device TO_DO_IN_NB Type APIC ICount 326462 Name EXTINT DestinationMode F DeliveryMode 07 Level F TriggerMo...

Page 135: ...ribes the JumpDrives automation commands Interface The JumpDrive device has an USB interface that can connect to any USB controller e g you can connect the JumpDrive device to the AMD 8111 I O Hub Initialization and Reset State The JumpDrives initialized state is all zero There is no partition table or any other structure defined It is totally blank The default size is 64 Mbytes The JumpDrive is n...

Page 136: ...pter model see Section A 7 Automation Commands on page 227 To model network workloads the following are typically required 1 One or more BSDs with a NIC device included in each BSD 2 A mediator process running remotely or locally The mediator is a background daemon task whose purpose is to bridge the NIC model to the real network or other SimNow BSDs The level of network visibility for each simula...

Page 137: ...as been established There is at least one other NIC BSD running in the same process and are aware of each other When a new mediator connection string has been specified a one shot link negotiation will take place within the simulator Depending on whether a connection was made with the mediator the link will appear to be connected or disconnected on the guest If the mediator was killed and has sinc...

Page 138: ...ng certain simulator sessions into domains Domains isolate groups of simulator sessions from each other This can be useful when the user wants to run replicated groups of BSD s simultaneously The user need to ensure that each group of BSD s are using unique domains in the mediator by passing an appropriate connect string to the mediator or supplying it on the command line using the m option see Se...

Page 139: ...running via the mediator In addition all broadcast traffic including ARP s are routed to this class of MAC addresses Allocations of absolute MAC addresses need to be coordinated such that they are not replicated on the same host subnet MAC addresses beginning with FA CD and having a third byte between 0x21 and 0x80 are classified as fixed The simulator adapters using this class of MAC address can ...

Page 140: ...tic IP address 192 168 0 3 Visibility Accesses the real network via the mediator s gateway External network hosts can not directly communicate with this client Mediator String mydomain hostname Table 7 12 Client Server Simulator Client 1 The BSD s that contain the server and client can be run simultaneously on the same network without any collisions They will require the user to input different do...

Page 141: ...dress and therefore is globally visible This session is no different than any other machine running on the external network All simulator sessions connected to any mediator will be able to see this machine Notice also that domains one and two are using identical BSDs that are running simultaneously To prevent collisions on the external network the mediator will not route broadcast packets to these...

Page 142: ...d DVI interface connection Connections can be only made to the VGA or DVI interface It can be connected to the VGA or DVI connection of a video card device Contents of a BSD The current state of all internal registers and any internal state variables are saved in the BSD Initialization and Reset State When first initialized or reset the Plug and Play Monitors DDC registers are set to their default...

Page 143: ...AMD Confidential User Manual November 21st 2008 Chapter 7 Device Configuration 131 Figure 7 35 Plug and Play Monitor Device Configuration ...

Page 144: ...Super IO chips and BIOS ROMs The PCI E port is used for connectivity upstream to a compatible Northbridge Device See Section 7 27 ATI RS480 RS780 RD790 RD890 Northbridge Devices on page 134 for more information Initialization and Reset State When first initialized the Southbridge devices are in the default state This is described in detail in the respective datasheets The legacy CMOS sub device in...

Page 145: ... These devices can log I O mapped Transactions Memory mapped Transactions and SMI and SCI assertions Difference from Real Hardware These Southbridge devices differ from other devices mainly in those items that deal with real time operation Those items cannot be modeled in the current simulator The functionality of the USB 2 0 controller is also absent PCI registers and memory mapped registers are ...

Page 146: ...the Host The Downstream link is a 2x or 4x PCI E link used for communication with a SouthBridge device Several PCI E slot interfaces are also available The number of slots varies by part and platform specifications Contents of a BSD The current state of all PCI configuration registers and any internal state variables are saved in the BSD Configuration Options No configuration options currently Log...

Page 147: ...rt device such as AMD 8131 PCI X Controller These ports are mutually exclusive and should be connected to only one other device AMD Istanbul Device also exposes two DRAM channel interfaces DCT0 and DCT1 to interface with system memory Contents of a BSD See the following sections Section 7 1 AweSim Processor Device on page 55 Section 7 10 AMD 8th Generation Integrated Northbridge Device on page 86 ...

Page 148: ...ort device such as AMD 8131 PCI X Controller These ports are mutually exclusive and should be connected to only one other device Sao Paulo also exposes two DRAM channel interfaces DCT0 and DCT1 to interface with system memory Contents of a BSD See the following sections Section 7 1 AweSim Processor Device on page 55 Section 7 10 AMD 8th Generation Integrated Northbridge Device on page 86 Configura...

Page 149: ...device such as AMD 8131 PCI X Controller These ports are mutually exclusive and should be connected to only one other device Magny Cours also exposes four DRAM channel interfaces DCT0 DCT1 DCT2 and DCT3 to interface with system memory Contents of a BSD See the following sections Section 7 1 AweSim Processor Device on page 55 Section 7 10 AMD 8th Generation Integrated Northbridge Device on page 86 ...

Page 150: ...AMD Confidential User Manual November 21st 2008 138 Chapter 7 Device Configuration This page is intentionally blank ...

Page 151: ...d report information about the configuration space settings for each PCI device Figure 8 1 PCI Configuration Viewer PCI bus number PCI configuration space The columns show the low nibble 0 Fh of the PCI configuration space register The rows show the high nibble 00 F0h of the PCI configuration space register PCI device number PCI function number List of all PCI devices ...

Page 152: ... device listed in the PCI Config Viewers list box The PCI Config Viewer shows the contents of all PCI configuration registers of the selected device To modify a certain byte of a PCI configuration register click on the desired hex value and enter a new hex value To apply the changes click on the Apply Register Modifications button Read only bits cannot be modified using the PCI Config Viewer Modif...

Page 153: ...d information about PCI Configuration I O and Memory Space accesses 9 1 Message Log The simulator shell provides an interface that loaded modules devices and extensions may use to report status and events The messages may be displayed in a window written to a file or both The information log may be enabled and disabled on a module specific basis The informational log is controlled via the Message ...

Page 154: ...ains three checkboxes which allow the user to control whether messages are displayed in the log window written to a file or logged to the AMD SimNow console The bottom right window is used to display the informational message if the Log to Window option is selected To open the log file the first time a simulation is started check the Log To File box is checked The log file will remain open until o...

Page 155: ... log may not be disabled The most recent error log entries may be viewed by selecting the View Error Log entry from the Main Window menu shown in Figure 9 2 The error log file is enabled by checking the Log to File check box in the Message log dialog Figure 9 2 and setting a filename for the error log This file is created or truncated to zero length if it already exists and opened whenever a BSD f...

Page 156: ...ll likely log everything that is behind them Figure 9 3 I O Logging Dialog Log PCI Config Space Accesses Checking this will log PCI Config Space accesses made to the device Log I O Space Accesses Checking this will log I O Space accesses made to the device These are the accesses made with the x86 IO read write instructions Disable Fastpath I O when Logging This item checked by default disables the...

Page 157: ...ow if large numbers of accesses are being made to the device in question For example logging all accesses to the DIMM device would make SimNow extremely slow Log Fastpath Memory Requests when Logging This item when combined with un checking Disable Fastpath Memory when Logging will log both memory space accesses and Fastpath Memory requests themselves What is then logged are slow path Memory Space...

Page 158: ...AMD Confidential User Manual November 21st 2008 146 Chapter 9 Logging This page is intentionally blank ...

Page 159: ...uttons on page 7 2 Open the Debugger Window View Show Debugger or click on The simulation will pause and the Debugger Window will appear 3 The bottom pane in the CPU Debugger Window is the debugger command line Enter a BX BM or BI on the debugger command line to setup and enable a breakpoint The BX BM and BI commands specify breakpoints on execution data access or I O access respectively Each of t...

Page 160: ...to I O address 0x80 Table 10 1 Debugger Breakpoint Command Examples 10 1 2 Single Stepping the Simulation 1 Stop the simulation as described in Section 3 1 Tool Bar Buttons on page 7 2 Open the Debugger Window View Show Debugger or click on The simulation will pause and the Debugger Window will appear 3 The bottom pane in the Debugger Window is the debugger command line When the Debugger Window ha...

Page 161: ...struction that follows the one that you want to skip 5 Enter G on the debugger command line This will execute the debugger s Go command CPU execution will resume 10 1 5 Viewing a Memory Region 1 Stop the simulation as described in Section 3 1 Tool Bar Buttons on page 7 2 Open the Debugger Window View Show Debugger or click on The simulation will pause and the Debugger Window will appear 3 When the...

Page 162: ...6 Reading PCI Configuration Registers 1 Stop the simulation as described in Section 3 1 Tool Bar Buttons on page 7 2 Open the Debugger Window View Show Debugger or click on The simulation will pause and the Debugger Window will appear 3 Use the debugger s S command to view the PCI configuration register contents for a particular PCI function The S command takes three hex parameters bus device func...

Page 163: ...le 10 7 Debugger Commands and Definitions on page 154 can be used to match any character Command Description q1 0x1000 L 0x2000 PCI Finds the first occurrence of ASCII pattern PCI in the given memory range 0x1000 0x2000 qa noncase 0x1000 L 0x2000 PCI Same as above but finds all occurrence of the ASCII pattern PCI using the none case sensitive search algorithm qa 0xF0000 P 0xFFFF 0x55 0xAA Finds al...

Page 164: ...and Symbol Displays all symbols that contain the given string Address Displays the symbol that most closes matches the given address bc list Clears one or all breakpoints bd list Disables one or all breakpoints be list Enables one or all breakpoints bf vector Pass count Creates and enables a breakpoint for the indicated CPU exception Sets the pass count to count or 0 if not specified bh vector Pas...

Page 165: ...PCI configuration r ead or w rite d b w d q address range l p Displays the contents of p hysical default or l inear memory as b ytes w ords d ouble words or q uad words or in the previous format if not specified e b w d q address data l p Allows the modification of p hysical default or l inear memory in b ytes w ords d ouble words or q uad words or in the previous format if not specified Data valu...

Page 166: ...Displays the PCI configuration registers associated with the given Bus Device and Function number t count Executes count instructions The default value for count is 1 u address range Disassembles instructions starting at the given address and continuing for length instructions Instructions are disassembled using the current CPU execution mode v Displays the version number information for the attac...

Page 167: ...are used for this purpose see Section A 7 10 Serial on page 235 Use the serial ports SetCommPort command to set the simulated serial port to use a specific COM port For example to set the second serial port in the simulation to use COM4 for its communication you would type Serial 1 SetCommPort COM4 57600 The simulator will program the appropriate COM port COM4 in the above example to 57600 baud 8 ...

Page 168: ...The user may set it in the range 1 to 100 When set to 1 the modeled rate is 100 times faster than the baud rate so the system delays will be that much shorter See also Section A 7 10 Serial on page 235 The following command will connect the kernel debugger to the simulator using a pipe as communication channel C Program Files Debugging Tools for Windows 64 bit kd k com pipe port pipe SimNow Com1 W...

Page 169: ... simualtor defaults to using port 2222 but can be directed to use another port Start the simulator Run the following automation command 1 simnow shell gdb 2233 ENTER Start gdb gdb set architecture i386 x86 64 ENTER gdb target remote 2233 ENTER 11 2 4 Using Two Separate Machines Start the simualtor on simnow host Run the following automation command 1 simnow shell gdb ENTER Start gdb on gdb host gd...

Page 170: ...mualtor sessions to communicate with each other on the same host using named pipes This is an issue that will be fixed in a future version of the simulator When the simaultor serial port has been configuired to use the host serial port the simualtor will open dev ttyS0 or dev ttyS1 depending on wether it is COM1 or COM2 Note that the user will need to be running the simulator with root privelages ...

Page 171: ...ecute automation commands and retrieve status Exec The Exec method executes the automation command that arg1 contains bool Exec arg1 arg2 Parameters arg1 A string that contains the SimNow automation command to execute For example debug 0 execcmd t arg2 An input string buffer in which SimNow is to place the response from the command in arg1 Return Value Returns true if command completed successfull...

Page 172: ...in32 OLE new SimNow Command or die Cannot open SimNow Command n MyResponse Variant VT_BSTR VT_BYREF do print simnow CmdLine chomp CmdLine if CmdLine if cmd Exec CmdLine MyResponse print MyResponse n else cmd GetLastError MyResponse print Cannot Exec MyResponse n while CmdLine print ndone n Example 12 1 Perl Sample CMDAPI Source Code ...

Page 173: ...e functions recognized by the DiskTool command line include Option G Copy a physical device to the given image file Syntax G G DeviceName ImageName ImageSize ImageSize of sectors of data to copy from the device to the image file 0 All sectors this is the default value 1 All data to the end of physical partition 1 2 All data to the end of physical partition 2 3 All data to the end of physical parti...

Page 174: ... only display floppy drives and DVD CD and HDD drives that are connected to either the primary or the secondary IDE controller It will not display external USB or firewire drives drives attached to SCSI controllers etc DiskTool displays the names of these devices in the Physical Drives list box using names appropriate for the host operating system When running under Windows the Physical Drives lis...

Page 175: ...s device DiskTool only recognizes device names dev hda through dev hdz In addition it looks for the file proc ide hd media and uses the information in that file to determine whether the device is a hard drive or a DVD CD drive If the file does not exist or if its contents cannot be parsed the device will not be listed The buttons on the right side of the DiskTool Window correspond to the four comm...

Page 176: ...gure 13 2 DiskTool GUI Window You may select any physical drive in your system including floppy drives Selecting a drive updates the Drive Information list box as shown in Figure 13 3 Note DiskTool does not support Serial ATA SATA drives Figure 13 3 DiskTool Drive Information ...

Page 177: ...ve For example if the drive that DiskTool is trying to access has partitions for C and D and an explorer window is open on any path within D then DiskTool won t be able to lock or unlock that drive and DiskTool will display an Operation failed message box If you put an image onto the drive a dialog will again ask for confirmation that you actually wish to permanently destroy the contents of that h...

Page 178: ...AMD Confidential User Manual November 21st 2008 166 Chapter 13 DiskTool This page is intentionally blank ...

Page 179: ... filename extension 7 Select the read only option unless the BIOS code will modify its image within the device 8 For most BIOS ROM select the system BIOS ROM memory address masking and memory is non cacheable options 9 Click OK to close the configuration dialog and accept the changes 14 2Changing DRAM Size There are two ways to configure the simulated memory size For generic memory size configurat...

Page 180: ...IMM slot that you wish to alter 4 Click the Import SPD button and browse for an appropriate SPD file The SPD files should be stored in the Images directory The SPD filename should give an indication of the size of the DIMM that it represents 5 A DIMM can be eliminated from the system by changing the contents of SPD byte 0 Number of SPD Bytes Used to zero 6 Click OK to close the configuration prope...

Page 181: ...xFF do not include the h character in the file Save the file These first three steps are needed only once 3 Reload the file into the simulator whenever you wish to clear CMOS 4 View the Diagnostic Port Output in the Main Window as shown in Figure 14 2 Figure 14 2 Diagnostics Display The Diagnostic Display displays data written to three I O address ranges 0x80 0x83 0x84 0x87 0xE0 0xE3 Currently the...

Page 182: ...iled in Section 14 5 Logging PCI Configuration Cycles However in this case the messages from the CPU are captured The steps are 1 Open the Device Window View Show Devices Double click on the CPU device This will bring up the device Properties Window that will list available logging options Select the desired logging options Click OK to accept the configuration See Section 7 1 AweSim Processor Devi...

Page 183: ...tility to create a floppy disk image file suitable for loading into the simulator DiskTool is located in the SimNow Tools directory To create an image of a physical floppy disk see Section 13 DiskTool on page 161 When the image has been created it can be loaded into the simulation as described in Section 5 1 1 Open a Simulation Definition on page 40 ...

Page 184: ...AMD Confidential User Manual November 21st 2008 172 Chapter 14 BIOS Developer s Quick Start Guide This page is intentionally blank ...

Page 185: ... before clicking on the on line help menu items or buttons in the simulator What is SimNow software See Section 1 Overview on page 1 Is SimNow faster than my old Vax 780 See Section 1 Overview on page 1 What is a BSD file See Section 6 1 BSD Files on page 49 What do you need to run the simulator See Section 2 Installation on page 3 What generic BSD files are provided with the simulator See Section...

Page 186: ...64 Hosts with our DiskTool program provided in the simulator release package The usage is relatively self explanatory from its GUI and it can also be run from the command line Check out the command line options via DiskTool h So this file allows you to save a running simulation to a file At any later time you can open this file in SimNow to restore the simulation to the same point where you left o...

Page 187: ...ormance in simulation so slow See Section 7 4 Emerald Graphics Device Improve Graphics Performance on page 68 Why doesn t the simulated Operating System correctly recognize the DVD CD after I changed the DVD CD image When changing DVD CD images clear the old image allow the simulation to run for a couple of seconds and then set the new image This gives the Operating System a chance to see that the...

Page 188: ...AMD Confidential User Manual November 21st 2008 176 Chapter 15 Frequently Asked Questions FAQ 1 simnow usb 0 Port enable 0 ...

Page 189: ... the first cylinder on the first head Unlike floppies however the image file may end before the last sector of the last cylinder on the last head If an attempt is made by the simulator to access data on the drive image that is beyond the end of the available data but still within the bounds defined by the geometry of the device the simulator will extend the image file dynamically The BSD file cont...

Page 190: ...HF PCI Melody_2p_jh 2 2 4 AMD 8111 W83627HF PCI Quartet 4 1 4 AMD 8111 W83627HF PCI Serenade_1p ami 1 1 3 AMD 8111 W83627HF PCI Serenade ami 2 2 3 AMD 8111 W83627HF PCI Family10h_1p 1 4 3 AMD 8111 W83627HF PCI Family10h_2p 2 4 3 AMD 8111 W83627HF PCI Warthog2_Family10h 4 4 2 AMD 8111 W83627HF PCI Cat2_Family11h 2 1 1 SB600 SMSC KBC 1100 PCI Warthog2 4 1 1 AMD 8111 W83627HF PCI Cheetah_1p_emerald 1...

Page 191: ...0 Opteron 940_JH E0_ 800MHz x2 id AMD Opteron 2 940 E0 Opteron 940_SH B3_ 800MHz id AMD Opteron 1 940 B3 Opteron 940_SH C0_ 800MHz id AMD Opteron 1 940 C0 Opteron 940_SH CG_ 800MHz id AMD Opteron 1 940 CG Opteron 940_SH D0_ 800MHz id AMD Opteron 1 940 D0 Opteron 940_SH E0_ 800MHz id AMD Opteron 1 940 E0 Opteron L1_JH F0_ 800Mhz x2 id AMD Opteron 2 L1 F0 Opteron L1_JH F2G_ 800Mhz x2 id AMD Opteron ...

Page 192: ...istered DDR memory simnow_DDR_128M_Reg spd 128MB registered DDR memory simnow_DDR_256M_Reg spd 256MB registered DDR memory simnow_DDR_512M_Reg spd 512MB registered DDR memory simnow_DDR_1G_Reg spd 1024MB registered DDR memory simnow_DDR_2G_Reg spd 2048MB registered DDR memory simnow_DDR_4G_Reg spd 4096MB registered DDR memory simnow_DDR2_128M spd 128MB DDR2 memory simnow_DDR2_256M spd 256MB DDR2 m...

Page 193: ... 64 bit RedHat SuSE UP MP Kernel versions 2 4 and 2 6 are all known to work SUSE LiveCD 9 1 Hangs during PCMCIA probe when the VESA BIOS Extension is enabled and the active VESA Mode is not 1024x768 SUSE LiveCD 9 2 No known issues SUSE LiveCD 9 3 No support for initial graphical setup screen Setup screen will appear in text mode SUSE 10 1 No known issues Red Hat Enterprise Linux 4 No known issues ...

Page 194: ...d not supported Feature 7th Generation 8th Generation Base 8th Generation Pre Rev F 8th Generation Rev F Floating Point Unit Virtual Mode Extensions Debugging Extensions1 Page Size Extension Time Stamp Counter AMD Model Specific Registers Physical Address Extensions Machine Check Exception CMPXCHG8B Instruction APIC SYSENTER and SYSEXIT Memory Type Range Registers Page Global Extension Machine Che...

Page 195: ...Point Unit Virtual Mode Extensions Debugging Extensions1 Page Size Extension Time Stamp Counter AMD Model Specific Registers Page Address Extensions Machine Check Exception CMPXCHG8B Instruction APIC SYSCALL and SYSRET Memory Type Range Registers Page Global Extension Machine Check Architecture Conditional Move Instruction Page Attribute Table Page Size Extensions PSE 36 No execute page protection...

Page 196: ... until a reset is asserted but the simulation state can be inspected with the simulator s debugger A 5 3 Performance Monitoring Counter Extensions Setting CR4 PCE bit 8 to 1 allows software running at any privilege level to use the RDPMC instruction Software uses the RDPMC instruction to read the four performance monitoring MSRs PerfCTR 3 0 Clearing PCE to 0 allows only the most privileged softwar...

Page 197: ...ause our page based coherency mechanism depends on the software TLB to write protect pages which have x86 code that has been translated However this mechanism protects physical pages through the virtual mapping mechanism and this mechanism only knows about one virtual address mapping not all possible mappings of any code page ...

Page 198: ...notation is used to denote the size and type of source and destination operands cReg Control Register dReg Debug register imm8 Byte 8 Bit immediate imm16 Word 16 Bit immediate imm16 32 Word 16 bit or doubleword 32 bit immediate imm32 Doubleword 32 bit immediate imm32 64 Doubleword 32 bit or quadword 64 bit immediate imm64 Quadword 64 bit immediate mem An operand of unspecified size in memory mem8 ...

Page 199: ...word 32 bit operand in an MMX register or memory mmx mem64 Quadword 64 bit operand in an MMX register or memory mmx1 mem64 Quadword 64 bit operand in an MMX register or memory specified as the left most first operand in the instruction syntax mmx2 mem64 Quadword 64 bit operand in an MMX register or memory specified as the right most second operand in the instruction syntax moffset Memory offset of...

Page 200: ...r or memory specified as the right most second operand in the instruction syntax A 6 1 2 Opcode Syntax In addition to the notation shown in above in Mnemonic Syntax on page 186 the following notation indicates the size and type of operands in the syntax of instruction syntax digit Indicates that the ModRM byte specifies only one register or memory r m operand The digit is specified by the ModRM re...

Page 201: ...m8 80 2 ib Add imm8 to reg mem8 CF ADC reg mem16 imm16 81 2 iw Add imm16 to reg mem16 CF ADC reg mem32 imm32 81 2 id Add imm32 to reg mem32 CF ADC reg mem64 imm32 81 2 id Add sign ext imm32 to reg mem64 CF ADC reg mem16 imm8 83 2 ib Add sign ext imm8 to reg mem16 CF ADC reg mem32 imm8 83 2 ib Add sign ext imm8 to reg mem32 CF ADC reg mem64 imm8 83 2 ib Add sign ext imm8 to reg mem64 CF ADC reg mem...

Page 202: ... value AND reg mem64 imm8 83 4 ib AND the contents of reg mem64 with a sign extended 8 bit value AND reg mem8 reg8 20 r AND the contents of an 8 bit register or memory location with the contents of an 8 bit register AND reg mem16 reg16 21 r AND the contents of a 16 bit register or memory location with the contents of a 16 bit register AND reg mem32 reg32 21 r AND the contents of a 32 bit register ...

Page 203: ... Copy the value of the selected bit to the carry flag and then complement the selected bit BTC reg mem16 imm8 0F BA 7 ib Copy the value of the selected bit to the carry flag and then complement the selected bit BTC reg mem32 imm8 0F BA 7 ib Copy the value of the selected bit to the carry flag and then complement the selected bit BTC reg mem64 imm8 0F BA 7 ib Copy the value of the selected bit to t...

Page 204: ... by a far pointer in memory CBW 98 Sign extend AL into AX CWDE 98 Sign extend AX into EAX CDQE 98 Sign extend EAX into RAX CWD 99 Sign extend AX into DX AX CDQ 99 Sign extend EAX into EDX EAX CQO 99 Sign extend RAX into RDX RAX CLC F8 Clear the carry flag CF to zero CLD FC Clear the direction flag DF to zero CFLUSH mem8 0F AE 7 Flush cache line containing mem8 CMC F5 Complement the carry flag CF C...

Page 205: ... above CF 1 or ZF 1 CMOVNA reg64 reg mem64 0F 46 r Move if not above CF 1 or ZF 1 CMOVNBE reg16 reg mem16 0F 47 r Move if not below or equal CF 0 or ZF 0 CMOVNBE reg32 reg mem32 0F 47 r Move if not below or equal CF 0 or ZF 0 CMOVNBE reg64 reg mem64 0F 47 r Move if not below or equal CF 0 or ZF 0 CMOVA reg16 reg mem16 0F 47 r Move if above CF 1 or ZF 0 CMOVA reg32 reg mem32 0F 47 r Move if above C...

Page 206: ...qual ZF 0 or SF OF CMOVNLE reg64 reg mem64 0F 4F r Move if not less or equal ZF 0 or SF OF CMOVG reg16 reg mem16 0F 4F r Move if greater ZF 0 or SF OF CMOVG reg32 reg mem32 0F 4F r Move if greater ZF 0 or SF OF CMOVG reg64 reg mem64 0F 4F r Move if greater ZF 0 or SF OF CMP AL imm8 3C ib Compare an 8 bit immediate value with the contents of the AL register CMP AX imm16 3D iw Compare a 16 bit immed...

Page 207: ...rDI and then increment or decrement rSI and rDI CMPS mem32 mem32 A7 Compare the doubleword at DS rSI with the doubleword at ES rDI and then increment or decrement rSI and rDI CMPS mem64 mem64 A7 Compare the quadword at DS rSI with the quadword at ES rDI and then increment or decrement rSI and rDI CMPSB A6 Compare the byte at DS rSI with the byte at ES rDI and then increment or decrement rSI and rD...

Page 208: ...ster or memory location and store the quotient in AL and the remainder in AH DIV reg mem16 F7 6 Perform unsigned division of DX AX by the contents of a 16 bit register or memory location and store the quotient in AX and the remainder in DX DIV reg mem32 F7 6 Perform unsigned division of EDX EAX by the contents of a 32 bit register or memory location and store the quotient in EAX and the remainder ...

Page 209: ...ned result the 32 bit destination register IMUL reg64 reg mem64 OF AF r Multiply the contents of a 64 bit destination register by the contents of a 64 bit register or memory operand and put the signed result the 64 bit destination register IMUL reg16 reg mem16 imm8 6B r ib Multiply the contents of a 16 bit register or memory operand by a sign extended immediate byte and put the signed result in th...

Page 210: ...he contents of a 16 bit register by 1 INC reg32 40 rd Increment the contents of a 32 bit register by 1 INS mem8 DX 6C Input a byte from the port specified by DX put it into the memory location specified in ES rDI and then increment or decrement rDI INS mem16 DX 6D Input a word from the port specified by DX put it into the memory location specified in ES rDI and then increment or decrement rDI INS ...

Page 211: ...E rel16off 0F 84 cw Jump if equal ZF 1 JE rel32off 0F 84 cd Jump if equal ZF 1 JNZ rel8off 75 cb Jump if not zero ZF 0 JNZ rel16off 0F 85 cw Jump if not zero ZF 0 JNZ rel32off 0F 85 cd Jump if not zero ZF 0 JNE rel8off 75 cb Jump if not equal ZF 0 JNE rel16off 0F 85 cw Jump if not equal ZF 0 JNE rel32off 0F 85 cd Jump if not equal ZF 0 JBE rel8off 76 cb Jump if below or equal CF 1 or ZF 1 JBE rel1...

Page 212: ...al SF OF JGE rel16off 0F 8D cw Jump if greater or equal SF OF JGE rel32off 0F 8D cd Jump if greater or equal SF OF JLE rel8off 7E cb Jump if less or equal ZF 1 or SF OF JLE rel16off 0F 8R cw Jump if less or equal ZF 1 or SF OF JLE rel32off 0F 8R cd Jump if less or equal ZF 1 or SF OF JNG rel8off 7E cb Jump if not greater ZF 1 or SF OF JNG rel16off 0F 8E cw Jump if not greater ZF 1 or SF OF JNG rel...

Page 213: ...ry LFS reg32 mem16 32 0F B4 r Load FS reg32 with a far pointer from memory LGS reg16 mem16 16 0F B5 r Load GS reg16 with a far pointer from memory LGS reg32 mem16 32 0F B5 r Load GS reg32 with a far pointer from memory LSS reg16 mem16 16 0F B2 r Load SS reg16 with a far pointer from memory LSS reg32 mem16 32 0F B2 r Load SS reg32 with a far pointer from memory LEA reg16 mem 8D r Store effective ad...

Page 214: ...mory operand to an 8 bit destination register MOV reg16 reg mem16 8B r Move the contents of a 16 bit register or memory operand to a 16 bit destination register MOV reg32 reg mem32 8B r Move the contents of a 32 bit register or memory operand to a 32 bit destination register MOV reg64 reg mem64 8B r Move the contents of a 64 bit register or memory operand to a 64 bit destination register MOV reg16...

Page 215: ...y location to an MMX register MOVD mmx reg mem64 0F 6E r Move 64 bit value from a general purpose register or 64 bit memory location to an MMX register MOVD reg mem32 mmx 0F 7E r Move 32 bit value from an MMX register to a 32 bit general purpose register or memory location MOVD reg mem64 mmx 0F 7E r Move 64 bit value from an MMX register to a 64 bit general purpose register or memory location MOVM...

Page 216: ...ents of an 8 bit register or memory operand to a 32 bit register with zero extension MOVZX reg64 reg mem8 0F B6 r Move the contents of an 8 bit register or memory operand to a 64 bit register with zero extension MOVZX reg32 reg mem16 0F B7 r Move the contents of a 16 bit register or memory operand to a 32 bit register with zero extension MOVZX reg64 reg mem16 0F B7 r Move the contents of a 16 bit ...

Page 217: ...eg mem16 imm8 83 1 ib OR the contents of a 16 bit register or memory operand and a sign extended immediate 8 bit value OR reg mem32 imm8 83 1 ib OR the contents of a 32 bit register or memory operand and a sign extended immediate 8 bit value OR reg mem64 imm8 83 1 ib OR the contents of a 64 bit register or memory operand and a sign extended immediate 8 bit value OR reg mem8 reg8 08 r OR the conten...

Page 218: ...OUTSD 6F Output the doubleword in DS rSI to the port specified in DX and then increment or decrement rSI POP reg mem16 8F 0 Pop the top of the stack into a 16 bit register or memory location POP reg mem32 8F 0 Pop the top of the stack into a 32 bit register or memory location POP reg mem64 8F 0 Pop the top of the stack into a 64 bit register or memory location POP reg16 58 rw Pop the top of the st...

Page 219: ... of a 64 bit register onto the stack PUSH CS 0E Push the CS selector onto the stack PUSH SS 16 Push the SS selector onto the stack PUSH DS 1E Push the DS selector onto the stack PUSH ES 06 Push the ES selector onto the stack PUSH FS 0F A0 Push the FS selector onto the stack PUSH GS 0F A8 Push the GS selector onto the stack PUSHF 9C Push the FLAGS word onto the stack PUSHFD 9C Push the EFLAGS word ...

Page 220: ...ocation right the number of bits specified in the CL register RCR reg mem8 imm8 C0 3 ib Rotate the 9 bits consisting of the carry flag and an 8 bit register or memory location right the number of bits specified by an 8 bit immediate value RCR reg mem16 1 D1 3 Rotate the 17 bits consisting of the carry flag and a 16 bit register or memory location right 1 bit RCR reg mem16 CL D3 3 Rotate the 17 bit...

Page 221: ... memory operand left the number of bits specified by an 8 bit immediate value ROL reg imm32 1 D1 0 Rotate a 32 bit register or memory operand left 1 bit ROL reg mem32 CL D3 0 Rotate a 32 bit register or memory operand left the number of bits specified in the CL register ROL reg mem32 imm8 C1 0 ib Rotate a 32 bit register or memory operand left the number of bits specified by an 8 bit immediate val...

Page 222: ... memory location left the number of bits specified by an 8 bit immediate value SAL reg mem16 1 D1 4 Shift a 16 bit register or memory location left 1 bit SAL reg mem16 CL D3 4 Shift a 16 bit register or memory location left the number of bits specified in the CL register SAL reg mem16 imm8 C1 4 ib Shift a 16 bit register or memory location left the number of bits specified by an 8 bit immediate va...

Page 223: ...or memory operand right the number of bits specified in the CL register SAR reg mem8 imm8 C0 7 ib Shift a signed 8 bit register or memory location right the number of bits specified by an 8 bit immediate value SAR reg mem16 1 D1 7 Shift a signed 16 bit register or memory operand right 1 bit SAR reg mem16 CL D3 7 Shift a signed 16 bit register or memory operand right the number of bits specified in...

Page 224: ...eg8 18 r Subtract the contents of an 8 bit register from an 8 bit register or memory location with borrow SBB reg mem16 reg16 19 r Subtract the contents of a 16 bit register from a 16 bit register or memory location with borrow SBB reg mem32 reg32 19 r Subtract the contents of a 32 bit register from a 32 bit register or memory location with borrow SBB reg mem64 reg64 19 r Subtract the contents of ...

Page 225: ...mem8 0F 94 Set byte if zero ZF 1 SETE reg mem8 0F 94 Set byte if equal ZF 1 SETNZ reg mem8 0F 95 Set byte if not zero ZF 0 SETNE reg mem8 0F 95 Set byte if not equal ZF 0 SETBE reg mem8 0F 96 Set byte if below or equal CF 1 or ZF 1 SETNA reg mem8 0F 96 Set byte if not above CF 1 or ZF 1 SETNBE reg mem8 0F 97 Set byte if not below or equal CF 0 and ZF 0 SETA reg mem8 0F 97 Set byte if above CF 0 an...

Page 226: ... CL register SHL reg mem64 imm8 C1 4 ib Shift a 64 bit register or memory location left the number of bits specified by an 8 bit immediate value SHLD reg mem16 reg16 imm8 0F A4 r ib Shift bits of a 16 bit destination register or memory operand to the left the number of bits specified in an 8 bit immediate value while shifting in bits from the second operand SHLD reg mem16 reg16 CL 0F A5 r Shift bi...

Page 227: ... or memory operand left 1 bit SHR reg mem64 CL D3 5 Shift a 64 bit register or memory operand right the number of bits specified in the CL register SHR reg mem64 imm8 C1 5 ib Shift a 64 bit register or memory operand right the number of bits specified by an 8 bit immediate value SHRD reg mem16 reg16 imm8 0F AC r ib Shift bits of a 16 bit destination register or memory operand to the right the numb...

Page 228: ...gister to ES rDI and then increment or decrement rDI SUB AL imm8 2C ib Subtract an immediate 8 bit value from the AL register and store the result in AL SUB AX imm16 2D iw Subtract an immediate 16 bit value from the AX register and store the result in AX SUB EAX imm32 2D id Subtract an immediate 32 bit value from the EAX register and store the result in EAX SUB RAX imm32 2D id Subtract a sign exte...

Page 229: ...6 bit value with the contents of the AX register and set rFLAGS to reflect the result TEST EAX imm32 A9 id AND an immediate 32 bit value with the contents of the EAX register and set rFLAGS to reflect the result TEST RAX imm32 A9 id AND a sign extened immediate 32 bit value with the contents of the RAX register and set rFLAGS to reflect the result TEST reg mem8 imm8 F6 0 ib AND an immediate 8 bit ...

Page 230: ...ts of EAX register with the contents of a 32 bit register XCHG reg32 AX 90 rd Exchange the contents of a 32 bit register with the contents of the EAX register XCHG RAX reg64 90 rq Exchange the contents of RAX register with the contents of a 64 bit register XCHG reg64 RAX 90 rq Exchange the contents of a 64 bit register with the contents of the RAX register XCHG reg mem8 reg8 86 r Exchange the cont...

Page 231: ... the result in the destination XOR reg mem64 imm32 81 6 id XOR the contents of a 64 bit destination register or memory operand with a sign extended 32 bit immediate value and store the result in the destination XOR reg mem16 imm8 83 6 ib XOR the contents of a 16 bit destination register or memory operand with a sign extended 8 bit immediate value and store the result in the destination XOR reg mem...

Page 232: ...bes the function mnemonic syntax and opcodes that the simulator simulates The system instructions are used to establish the operating mode access processor resources handle program and system errors and manage memory Many of these instructions can only be executed by privileged software such as the operating system kernel and interrupt handlers that run at the highest privilege level Only system i...

Page 233: ...lower 4 bits of the source into the lower 4 bits of CR0 LSL reg16 reg mem16 0F 03 r Loads a 16 bit general purpose register with the segment limit or a selector specified in a 16 bit memory or register operand LSL reg32 reg mem16 0F 03 r Loads a 32 bit general purpose register with the segment limit or a selector specified in a 16 bit memory or register operand LSL reg64 reg mem16 0F 03 r Loads a ...

Page 234: ...mem16 0F 01 4 Store the low 16 bits of CR0 to memory STI FB Set interrupt flag IF to 1 STR reg16 0F 00 1 Store the segment selector from the task register to a 16 bit general purpose register STR reg32 0F 00 1 Store the segment selector from the task register to a 32 bit general purpose register STR reg64 0F 00 1 Store the segment selector from the task register to a 64 bit general purpose registe...

Page 235: ...Mnemonic Opcode Description CLGI 0F 01 DD Clear Global Interrupt Flag INVLPGA 0F 01 DF Invalidates the TLB mapping for the virtual page specified in rAX and the ASID specified in ECX MOV reg32 CR8 F0 20 r Alternate notation for move from CR8 to register MOV reg64 CR8 F0 20 r Alternate notation for move register to CR8 MOV CR8 reg32 F0 22 r Alternate notation for move from CR8 to register MOV CR8 r...

Page 236: ...FACC mmreg1 mmreg2 m64 0F 0F AE Floating point accumulate PFADD mmreg1 mmreg2 m64 0F 0F 9E Packed floating point addition PFCMPEQ mmreg1 mmreg2 m64 0F 0F B0 Packed floating point comparison equal to PFCMPPGE mmreg1 mmreg2 m64 0F 0F 90 Packed floating point comparison greater than or equal to PFCMPGT mmreg1 mmreg2 m64 0F 0F A0 Packed floating point comparison greater than PFMAX mmreg1 mmreg2 m64 0F...

Page 237: ...ithout modification The thirteen new instructions are summarized in the following section For detailed information on each instruction refer to a complete Instruction Set Reference Instruction Supported Mnemonic Opcode Description ADDSUBPD xmm1 xmm2 m128 66 0F D0 r Add Subtract packed double precision floating point number from XMM2 Mem to XMM1 ADDSUBPS xmm1 xmm2 m128 F2 0F D0 r Add Subtract packe...

Page 238: ...ng packed single precision data elements from XMM2 Mem to XMM1 register and duplicate low MWAIT EAX ECX 0F 01 C9 A hint that allows the processor to stop instruction execution and enter an implementation dependent optimized state until occurrence of a class events 2 Table 15 12 Prescott New Instruction Reference A 6 8 1 MONITOR Setup Monitor Address Opcode Instruction Description 0F 01 C8 MONITOR ...

Page 239: ...mation commands can be send from the Console Window to the simulators automation interface as explained in the following sections Figure 15 1 Console Window The automation commands are sent to a specific device by starting the command with the name of the device followed by a period For example to send the Modules command to the shell device you would use 1 simnow shell modules If more than one de...

Page 240: ... are not attached to any specific device enter 1 simnow help Automation Command Description exec file Execute automation commands in file usage List shell automation commands same as shell usage newmachine Create a new SimNow machine and make that machine the current machine for subsequent commands switchmachine n Switches the current machine to the machine identified by n the given number listmac...

Page 241: ...ng is disabled otherwise it returns enabled SetLogConsoleEnabled 0 1 Enables or disables logging Shell SetLogConsoleEnabled 1 enables logging and Shell SetLogConsoleEnabled 0 disables logging LogWndEnabled Returns the Log Window status The status is enabled or disabled SetLogWndEnabled 0 1 Sets the Log Window status to enabled or disabled LogFile Returns the current Log file name Default is simnow...

Page 242: ... the specified device Device Name to x y coordinates in device window This command only work when GUI mode is active New Creates a new BSD file Location Returns the location postion x y of the device Device Name in the device window x and y are pixel coordinates inside the device window For example Location USB JumpDrive returns USB JumpDrive 152 382 where 152 is the x coordinate and 382 is the y ...

Page 243: ... of 0 means that a screen shot from display 0 will be taken Filename is the name of the snapshot file The file name includes the full pathname for the file any valid path drive names C or server names servername can be used If a pathname is not given the current default path is used Format must be one of the formats that GetScreenShotFormats returns e g BMP or PNG GetScreenShotFormats This command...

Page 244: ...s GetVGAQuantum Returns the quantum value for the VGA signature mechanism GenerateVGASignature index Returns the VGA signature for the present screenshot It is an MD5 sum generated from the contes of the present screen SetGoldenVGASignature index Sets golden signature s needed for comparision by the VGA signature mechanism EnableVGASignature 0 1 Enables 1 or disables 0 the VGA signature mechansim ...

Page 245: ... Sets master or slave to DVD ROM device Eject master slave 0 1 off filename This command is valid only for drives configured as ATAPI The command will set the Media Ejected flag to true and will optionally set a new image file to File Us the special name off without the quotes if you want to leave the drive without an image file i e empty after the eject DMADelay master slave 0 1 usec delay Sets t...

Page 246: ...addr data Sets byte in CMOS at address addr to value stored in data GetData Dumps complete CMOS GetRamSize Returns the CMOS RAM size in bytes ClearTo value Sets entire CMOS to specified value value A 7 5 ACPI 1 simnow acpi usage Automation Command Description PowerButton Triggers PowerButton ACPI message SleepButton Triggers SleepButton ACPI message A 7 6 Floppy 1 simnow floppy usage Automation Co...

Page 247: ... Chip revision number of the AMD 8151 AGP device value must be between 1 and 255 GetRev Gets the internal Chip revision number of the AMD 8151 AGP device A 7 9 VGA 1 simnow vga usage Automation Command Description Bios filename Loads the specified BIOS file GetBios Returns the active BIOS file name VGA 0 1 1 enables the VGA 0 disables it GetVGA Returns current status of the VGA registers true if e...

Page 248: ...ll be either pipe SimNow COMn This indicates that data is being transported through a named pipe with the given name The n will be either 1 for the first serial port or 2 for the second serial port COMn 57600 This indicates that data is being transported through the given serial port on the host machine using a baud rate of 57600 none This indicates that data written to the simulated serial port i...

Page 249: ...00 56000 57600 or 115200 See also Section 11 1 Kernel Debugger on page 155 none Tells the simulator to discard any written data and always return receiver empty on reads SetMultiplier nMultiplier Use the SetMultiplier automation command to specify the baud rate delay time used to make the serial based communication to Microsoft s kernel debugger in some cases much more stable A valid nMultiplier v...

Page 250: ...aram size depth bits Sets disk block cache parameters A 7 14 AMD 8111 Device 1 simnow 8111 usage Automation Command Description BaseID 00 01 This specifies the HyperTransport protocol base unit ID The IC s logic uses this value to determine the unit IDs for HyperTransport request and response packets The Base ID must be 00 or 01 GetBaseID Returns the HyperTransport base unit ID BUID HtInterrupts 0...

Page 251: ...ers Shows all loaded analyzers EnableAnalyzer num 0 1 Enables 1 or disables 0 analyzer specified by num UnloadAnalyzer num Unloads analyzer specified by num MCAFault bank GenerateMCAFault 0 1 Status Reg Address Reg Causes a generic MCA fault if GenerateMCAFault is true 1 at specified Bank AddressReg and status ProductFile FileName Use product file to set fuses and configure CPU and Northbridge Cod...

Page 252: ... execution since the beginning of the last epoch see the last paragraph for an explanation of an epoch is measured The feature which is most unusual is that the user can ask for a profile at any time there is no profiling mechanism that needs to be enabled before execution takes place Another feature is that all code in the system is profiled even code executed with interrupts off and code in all ...

Page 253: ...lays the current value of parameter e g cpu codegen param FastFloat param parameter value Sets the current value of parameter to value For example cpu codegen param FastFloat 0 disables FastFloat enable Boolean Parameter Changes the current value of one boolean parameter to true For example cpu codegen enable FastFloat enables FastFloat disable Boolean Parameter Changes the current value of one bo...

Page 254: ... GetBaseIRQ SlotID Returns the Base IRQ of slot SlotID Slot SlotID 0 1 Enables 1 or disables 0 slot wit specified SlotID SlotStatus SlotID Returns enabled if slot SlotID is enabled otherwise it returns disabled GetConfig Displays PCI Bus configuration information A 7 21 SIO 1 simnow sio usage Automation Command Description BreakOnLock 0 1 The Lock 1 or Unlock 0 Registers option activates the break...

Page 255: ...nitialized GetInitFile Returns the path and name of the init file see above InitFile ReadOnly 0 1 Turns 1 the memory device into a ROM Writes to the device are ignored when the read only option is selected GetReadOnly Returns true if memory is read only otherwise it returns false SystemBios 0 1 Tells 1 the memory device that it is the system BIOS GetSystemBios Returns true if memory is used as a S...

Page 256: ...which of the two command sequences the flash device is programmed to CommandSequence 0 1 0 SST 1 ATMEL Allows to set the command sequence to SST or ATMEL GetFlashMode Tells you if the device is configured to act as a flash memory FlashMode 0 1 Allows the user to set the memory device as flash memory A 7 23 Raid 1 simnow raid usage Automation Command Description Noise enable disable Enable to print...

Page 257: ...er Block Size Index Block Size Index Levels DiskBlock Size Set the Journal Parameters For e g raid setjournalparameters 8192 512 3 512 GetJournalParameters Displays the Journal parameters A 7 24 DIMM 1 simnow dimm usage Automation Command Description PdlErrorSim 0 1 Enables 1 or disables 0 the PDL Error Simulation If enabled then the DIMM device monitors PDL settings for all RAM reads GetPdlErrorS...

Page 258: ...ype total size number of banks and device data width in bits GetDimmType DimmNo Returns the DIMM type of memory module DimmNo GetDimmSize DimmNo Returns the DIMM size of memory module DimmNo GetDimmBanks DimmNo Returns the DIMM banks of memory module DimmNo GetDimmWidth DimmNo Returns the DIMM width of memory module DimmNo GetSpdData DimmNo Returns SPD data of memory module DimmNo DeleteDimm DimmN...

Page 259: ...FUNCTION KEY 8 t TAB f9 FUNCTION KEY 9 BACKSLASH f10 FUNCTION KEY 10 DOUBLE QUOTE tab TAB SINGLE QUOTE del DELETE esc ESCAPE up UP ARROW f1 FUNCTION KEY 1 down DOWN ARROW f2 FUNCTION KEY 2 left LEFT ARROW f3 FUNCTION KEY 3 right RIGHT ARROW f4 FUNCTION KEY 4 ctrl m CONTROL make f5 FUNCTION KEY 5 ctrl b CONTROL BRAKE f6 FUNCTION KEY 6 alt m ALT MAKE f7 FUNCTION KEY 7 alt b ALT BRAKE Table 15 14 Pre...

Page 260: ...st element If the last element of the ImagePathName does not contain wildcards and points to a directory then is assumed The host path name HostPathName must be the name of a directory If it does not exist it will be created Dir ImagePathName Shows the contents of the directory path given by ImagePathName Free Shows the amount of free space on the JumpDrive device Size Size in MB This command is i...

Page 261: ...ile from the root of the JumpDrive into C tmp on the host 1 simnow jumpdrive exportfile app1 exe c tmp Exporting app1 exe c tmp app1 exe To find out what is already stored in the root of the JumpDrive device enter the following 1 simnow jumpdrive dir Directory of DIR tmp 103936 test bin 103936 app1 exe 103936 app2 exe 62 60 Mbytes Available To get information about how much space is left on the Ju...

Page 262: ... connect string setMACAddress XX XX XX XX XX XX Sets the MAC Address to be used by the adapter getMACAddress Retrieves the MAC Address being used by the adapter linkConnect auto down Restarts link negotiation auto for the adapter or forces a link disconnect down tune intthrtl rxdelay txdelay value Sets certain synthetic delay and throttle values which gives the user the opportunity to change the d...

Page 263: ...tIntStatus Returns enabled if HyperTransport interrupts are enabled otherwise it returns disabled IoLog 0 1 Enables 1 or disables 0 IO logging IoLogStatus Returns enabled if IO Logging is enabled otherwise it returns disabled MemLog 0 1 Enables 1 or disables 0 IO logging MemLogStatus Returns enabled if Memory Logging is enabled otherwise it returns disabled SmiSciLog 0 1 Enables 1 or disables 0 IO...

Page 264: ...780 1 simnow rd790 usage Automation Command Description SetRev rev Sets the internal chip revision number of RD790 device to rev GetRev Displays the internal chip revision number of the RD790 device Version Displays the binary revision of the RD790 model SetPackageType RD790 RX780 Sets package type to RD790 or RX780 GetPackageType Displays current package type A 7 33 ATI RD890S RD890 RD780S RX880 ...

Page 265: ...AMD Confidential User Manual November 21st 2008 Appendix A 253 ...

Page 266: ...AMD Confidential User Manual November 21st 2008 254 Appendix A This page is intentionally blank ...

Page 267: ... Accurate 1 D Debug Find Pattern 151 Read Write MSRs 150 Reading CPU MSRs 150 Reading PCI Configuration Registers 150 Set Breakpoint 147 Single Stepping 148 Skip Instruction 149 Stepping Over 148 View Memory 149 Deprecated Devices 10 Device ID 97 Device List 10 Devices Window 9 DHCP 126 Diagnostic Ports 29 DIMM 59 Disable USB Port 90 Disk Journaling 43 92 DiskTool 161 Double Fault 184 DVD CD ROM 3...

Page 268: ...ogy 150 Partition 163 PCI X 98 PCI X Configuration Cycle 101 PDL 59 Enable Error Simulation 62 Error Simulation Control 62 Reset 64 Performance Monitoring Counter 219 Physical Drives 162 Play 7 PnP Monitor 130 DDC 130 VESA 130 POST 29 Prescott New Instruction 221 PS 2 mouse 78 R RAID 104 RAM Memory Device 81 Size 168 RDPMC 184 Reset 7 45 ROM 81 S Scripting 224 SEGV 4 31 SEM 183 Shell 224 SimStats ...

Page 269: ...AMD Confidential User Manual November 21st 2008 Index 257 X XTR 110 Playback 111 Recording 111 Stop Recording 111 XVGA 65 69 ...

Reviews: