AMD SimNow Simulator 4.4.5 User Manual
AMD SimNow Simulator 4.4.5 User Manual

AMD SimNow Simulator 4.4.5 User Manual

Amd simnow simulator user's manual
Table of Contents

Advertisement

Quick Links

AMD SimNow™ Simulator
Advanced Micro Devices, Inc.
One AMD Place
Sunnyvale, CA 94088
simnow@amd.com
4.4.5
User's Manual
Revision
2.01
Date
November 2008

Advertisement

Table of Contents
loading

Summary of Contents for AMD SimNow Simulator 4.4.5

  • Page 1 AMD SimNow™ Simulator User’s Manual Revision 2.01 Advanced Micro Devices, Inc. One AMD Place Sunnyvale, CA 94088 simnow@amd.com 4.4.5 Date November 2008...
  • Page 2 No license, whether express, implied, arising by estoppels or otherwise, to any intellectual property rights is granted by this publication. Except as set forth in AMD‟s Standard Terms and Conditions of Sale, AMD assumes no liability whatsoever, and disclaims any...
  • Page 3: Table Of Contents

    SimStats and Diagnostic Ports ... 29 3.4.2 CPU-Statistics Graphs ... 30 3.4.2.1 Translation Graph... 30 3.4.2.2 Real MIPS Graph ... 30 3.4.2.3 Invalidation Rate Graph ... 31 3.4.2.4 Exception Rate Graph ... 31 Contents AMD Confidential November 21 , 2008...
  • Page 4 Super IO Devices: Winbond W83627HF SIO / ITE 8712 SIO ... 78 Memory Device ... 81 PCA9548 SMB Device ... 84 PCA9556 SMB Device ... 85 7.10 AMD 8th Generation Integrated Northbridge Device ... 86 AMD-8111™ Southbridge Devices – IO Hubs ... 90 7.11 7.12 PCI BUS Device ... 96 AMD-8131™...
  • Page 5 ATI SB400/SB600/SB700 Southbridge Devices... 132 7.27 ATI RS480/RS780/RD790/RD890 Northbridge Devices ... 134 AMD “Istanbul” Device ... 135 7.28 AMD “Sao Paulo” Device ... 136 7.29 AMD “Magny-Cours” Device ... 137 7.30 PCI Configuration Viewer ... 139 Scanning PCI Buses ... 140 Modifying the PCI Configuration contents...
  • Page 6 Supported Guest Operating Systems ... 181 CPUID... 182 A.4.1 CPUID Standard Feature Support (Standard Function 0x01) ... 182 A.4.2 CPUID AMD Feature Support (Extended Function 0x80000001)... 183 Known Issues ... 184 A.5.1 FSAVE/FRSTOR and FSTENV/FLDENV ... 184 A.5.2 Triple Faulting ... 184 A.5.3...
  • Page 7 USB ... 233 A.7.4 CMOS ... 234 A.7.5 ACPI ... 234 A.7.6 Floppy ... 234 A.7.7 Debug ... 234 AMD-8151™ AGP Bridge ... 235 A.7.8 A.7.9 VGA ... 235 A.7.10 Serial ... 235 HyperTransport™ Technology Configuration ... 237 A.7.11 A.7.12 Generation Northbridge ...
  • Page 8 AMD Confidential User Manual November 21 , 2008 viii Contents...
  • Page 9: Figures

    Figure 7-1: AweSim Processor-Type Properties ... 56 Figure 7-2: AweSim Processor Logging Properties Dialog ... 57 Figure 7-3: AMD Opteron™ Processor Virtual Bank-Select Line Configuration ... 60 Figure 7-4: AMD Athlon™ 64 Processor Bank-Select Line Configuration ... 60 Figure 7-5: DIMM-Bank Options Properties Dialog ... 62 Figure 7-6: DIMM Module Properties Dialog ...
  • Page 10 Figure 7-20: USB Properties Dialog (AMD-8111™ Southbridge) ... 91 Figure 7-21: CMOS Properties Dialog (AMD-8111™ Southbridge) ... 92 Figure 7-22: HDD Primary Channel Properties Dialog (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 ...
  • Page 11 AMD Confidential User Manual November 21 , 2008 Tables Table 1-1: Feature Overview Public Release versus Full Release ... 2 Table 2-1: Software and Hardware Requirements ... 3 Table 3-1: Cheetah_1p.bsd Devices ... 15 Table 3-2: Device Window - Quick Reference ... 15 Table 3-3: Image Types ...
  • Page 12 AMD Confidential User Manual November 21 , 2008 Figures...
  • Page 13: Overview

    The AMD SimNow™ simulator is an AMD64 technology-compatible x86 platform simulator for AMD's family of processors. It is designed to provide an accurate model of a computer system from the program, OS, and programmer's point of view. It allows fast simulation of an entire computer system, plus standard debugging features such as break- pointing, memory-viewing, and single-stepping.
  • Page 14 The graphics device supplied with the simulator is a 2D and 3D graphics card with linear frame buffer and DirectX 6 support. AMD currently plans to provide a graphics model with the simulator which will also have modern 3D hardware acceleration, including Microsoft®...
  • Page 15: Installation

    User Manual 2 Installation 2.1 System Requirements The AMD SimNow™ simulator runs on both Linux 64 for AMD systems and Windows® for 64-bit AMD systems. The requirements for each system are as follows: Linux 64 for AMD64 Any of the following 64-Bit Linux distributions for AMD64.
  • Page 16: Directory Structure And Executable

    This untouched memory will not be backed by DRAM or swap, but Linux counts it against SimNows process memory limit when it comes to resource limits. AMD Confidential November 21 , 2008...
  • Page 17: Configuration File

    The string to the left of the equal sign is the path including the file name of the icon that will be placed in the toolbar menu. To the right of the equal sign is the string that Chapter 2: Installation AMD Confidential November 21 , 2008...
  • Page 18: Updates And Questions

    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 ...
  • Page 19: Graphical User Interface

    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 ( ). Chapter 3: Graphical User Interface AMD Confidential Numeric Display Tool Bar Components...
  • Page 20 AMD Confidential User Manual November 21 , 2008 The power-management “Soft Power” button ( ) and “Soft Sleep” button ( ) are available only on simulated systems that have an Advanced Configuration and Power Interface (ACPI) BIOS. Clicking on the “Soft Power” button puts the simulated system in a very low power consumption mode.
  • Page 21: Device Window

    Section 6, “Create a Simulated Computer”, on page 49. Represents Message Routing Device List Chapter 3: Graphical User Interface AMD Confidential button. In this window, you can create a simulated Figure 3-2: Device Window November 21 , 2008...
  • Page 22: Add A New Device

    AMD Confidential User Manual November 21 , 2008 The Device Window, shown in Figure 3-2 with the “cheetah1_p.bsd” computer simulation loaded, graphically depicts a simulated computer system. In the simulator, a computer system is defined as a collection of device models that communicate with each other by exchanging messages.
  • Page 23: Add Connection

    Generally, you shouldn't connect different types of interfaces. For example, interface Type A of Device 1 should only be connected to interface Type A of Device 2. Chapter 3: Graphical User Interface AMD Confidential Please note that these features are not supported...
  • Page 24: Configure Device

    AMD Confidential User Manual November 21 , 2008 Figure 3-4: Add Connection Dialog of Device Properties Window A device's connection appears in the “Connections” tab of the Device Properties window for each device, as shown in Figure 3-4. When you add a connection, the simulator shell sends a reset message to all of the devices in the workspace.
  • Page 25: Delete Device

    In this section we describe the major components of the computer simulation contained in the “cheetah_1p.bsd” file. Figure 3-5: Computer Simulation in “cheetah_1p.bsd” File This computer is a single-processor AMD 8 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.
  • Page 26 Southbridge supporting Hard drives, DVD-/CD-ROM drives, Floppy drives, USB ports, CMOS, and POST ports. 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 depending on the platform.
  • Page 27: Device Groups

    Device groups are a particular class of devices. They have the same properties and characteristics as traditional devices, but also allow the user to extend and tailor specific Chapter 3: Graphical User Interface AMD Confidential Short Description The JumpDrive device allows easy...
  • Page 28: Terms

    AMD Confidential User Manual November 21 , 2008 device(s) to meet a particular hardware implementation or configuration. Device groups provide a method that allows the user to group or collect one or more devices, libraries or groups into one composite device. To the user, the composite device will look and feel no different than a normal device library and, for the most part, the two should be indistinguishable.
  • Page 29: Concept Diagrams

    Any device can also connect to its sibling devices (Figure 3-6 does not depict any port connections). Figure 3-7 depicts the same example device tree, but with a different conceptual view - devices are inside groups; arrows represent possible port connections between sibling devices: Chapter 3: Graphical User Interface AMD Confidential Machine Group Library Library...
  • Page 30: Working With Device Groups

    Right-click the device icon and select "Modify Group (Show Devices)" from the popup menu. If "Modify Group (Show Devices)" is not present, then the device the user has clicked on is not a group. AMD Confidential Library Machine...
  • Page 31: Shell Automation Commands For Device Groups

    Cpu:1 "AweSim Processor #1" Cpu:2 "AweSim Processor #2" Cpu:3 "AweSim Processor #3" sledgenb:0 "AMD 8th Generation Integrated Northbridge #4" 1 simnow> shell.createddevices "-> Machine #1 -> 4 core Node #1" Cpu:4 "AweSim Processor #0" Cpu:5 "AweSim Processor #1" Cpu:6 "AweSim Processor #2"...
  • Page 32: Enabled Vs. Disabled Vs. Mixed

    GETMEMPTR: Disabled In this example, all other child devices of " options. 1 simnow> shell.GetLogIO "4 core Node #0" PCI: Disabled Disabled AMD Confidential ". Also notice that our default 4 core Node #0 ” or “ shell.Location shell.AddDevice shell.GetFastPath...
  • Page 33: Device Group Examples

    “Dimm DDR2 1GBx2 #0” with a child device “Dimm Bank #0” that is already configured (as DDR2, 2 dimm, 1GB each). Our resulting main device GUI would look like this: Chapter 3: Graphical User Interface AMD Confidential Configured as DDR2, 2 dimm (1GB each) November 21...
  • Page 34: Example: Quad-Core Node

    Building a processor node in SimNow has traditionally been a multi-step process. First the user would add the "AMD 8th Generation Northbridge Device", and then add one "AweSim Processor" device for each processing core in the node. These devices then need to be connected together along the respective "CPU Bus"...
  • Page 35 A device group with five children could specify archive data for 0, 1, 2, 3, 4, or all 5 children. We could have an “AMD 4-core CPU xxxx” that specifies archive data for all five of its children (configured with the (theoretical) product ID file “amd-xxxx.id”).
  • Page 36: Example: Superio Device

    User Manual This is not the only way we could create a (theoretical) “AMD 4-core CPU xxxx”. A cleaner idea would be to reuse the non-configured abstract and generic “4 core Node”. This device group would (externally) be functionally the same as our previous “AMD 4- core CPU xxxx”...
  • Page 37 For each child device, we can specify internal to external port mappings. This maps an internal port name to an external port name (a port for the device group). Since existing Chapter 3: Graphical User Interface AMD Confidential Figure ? November 21...
  • Page 38 AMD Confidential User Manual November 21 , 2008 external connections are maintained, we automatically require an internal to external port mapping for an existing external connection. To finish, the wizard requires that the external port names are unique to the device group, since a device must have unique port names.
  • Page 39: Creating A Device Group (Automation Commands)

    “Unnamed Group”. Then we can customize our “Unnamed Group”, by specifying device group options. Next we export it to a file as a known device Chapter 3: Graphical User Interface AMD Confidential Internal Port Names Figure ?
  • Page 40 By doing this, we give our device a new device identity: shell.SwapDevice [created device] [known device] AMD Confidential Chapter 3: Graphical User Interface November 21...
  • Page 41: Ungrouping A Created Device Group

    [created device group] 3.4 Main Window The AMD SimNow™ Main Window, shown in Figure 3-1, is the main application window. It contains a Menu Bar with a set 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.
  • Page 42: Cpu-Statistics Graphs

    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. AMD Confidential Chapter 3: Graphical User Interface November 21...
  • Page 43: Invalidation Rate Graph

    A rate of zero will appear as a horizontal line one pixel high. Full scale represents one PIO per ten simulated Chapter 3: Graphical User Interface AMD Confidential November 21 , 2008...
  • Page 44: Mmio Rate Graph

    3.4.4 Hard Disk and Floppy Display The IDE Primary byte counts, IDE Secondary byte counts, and Floppy disk byte counts displays appear when a Southbridge device is added to the workspace. AMD Confidential Chapter 3: Graphical User Interface November 21 , 2008 Write PIO’s.
  • Page 45: Using Hard Drive, Dvd-/Cd-Rom And Floppy Images

    For example, the Instructions per Microsecond and System Bus Frequency both show the frequency values the simulator uses for its simulated processors. Chapter 3: Graphical User Interface AMD Confidential File Extension *.hdd *.fdd *.iso...
  • Page 46: Help, Problems And Bug Reports

    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. Chapter 3: Graphical User Interface...
  • Page 47: Disk Images

    To create a hard-drive image use DiskTool. You can start DiskTool by launching "disktool.exe" in your install directory. For convenience, you can create a desktop shortcut to launch DiskTool. When you run DiskTool, you will see the DiskTool dialog Chapter 4: Disk Images AMD Confidential November 21 , 2008...
  • Page 48 AMD Confidential User Manual November 21 , 2008 window, as shown in Figure 4-1. It will also open a shell window, as shown in Figure 4-2, that is used to inform the user about all physical drives which DiskTool has detected.
  • Page 49 AMD Confidential User Manual November 21 , 2008 To create a blank disk image click on the "Create Blank Disk Image" button on the right side of the DiskTool dialog window (see Figure 4-1). A "Save As" dialog will ask you for the location and image filename that will be created.
  • Page 50 AMD Confidential User Manual November 21 , 2008 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). Chapter 4: Disk Images...
  • Page 51: Running The Simulator

    User Manual 5 Running the Simulator You can start AMD SimNow™ by launching "SimNow.exe" in your install directory. For convenience, you can create a desktop shortcut to launch the simulator. When you run the simulator, you will see the simulator's Main Window as shown in Figure 5-1. It will also open a console window (shown in Figure 3-15) that is used for text interaction.
  • Page 52: Open A Simulation Definition File

    Click on ".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 graphs if selected (see Section 3.4.2, “CPU-Statistics Graphs”, on page 30), the top row...
  • Page 53 Figure 5-2: Main Window (BSD Loaded) You can view the configuration of the simulated machine by clicking on appears with a graphical representation of the simulated machine, as shown in Figure 5-3. Chapter 5: Running the Simulator AMD Confidential Main Window CPU Graph Area...
  • Page 54: Installing An Operating System

    AMD Confidential User Manual November 21 , 2008 Figure 5-3: Device Window 5.2 Installing an Operating System This section describes the steps that are necessary to install Windows or Linux using the simulator. Before you can start installing an operating system make sure you have a blank hard-drive image available.
  • Page 55 Device View Window, then the AMD-8111™ Southbridge, then the configuration for the hard disk in question on either the Primary or Secondary IDE controller. Here you can either commit the contents of the journal to the hard-disk image or turn off journaling for the hard disk image in question.
  • Page 56: Run The Simulation

    5.2.2 Run The Simulation Once the disk-images are assigned, the simulation may be started by clicking on the Play on the Main Window‟s Tool Bar. button Figure 5-4: Installing WindowsXP AMD Confidential Chapter 5: Running the Simulator November 21 , 2008...
  • Page 57: Interaction With The Simulated Machine

    AMD Confidential User Manual November 21 , 2008 5.2.3 Interaction with the Simulated Machine The simulator will boot and the simulated output screen appears in the bottom right portion of the Main Window, which is the Simulation Display Area. When the focus is on this portion of the window, most keystrokes and mouse operations are passed through to the simulated machine.
  • Page 58 „n‟. All subsequent automation commands typed into the console window are directed to the given machine „n‟. 2 simnow> switchmachine 1 1 simnow> The „listmachines‟ command lists all machines that currently exist. AMD Confidential Description Disable Graphical User Interface (GUI). Enable Graphical User Interface (GUI). Enable console mode.
  • Page 59 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‟. Chapter 5: Running the Simulator AMD Confidential +d: Mouse and Keyboard inputs enabled. -d: Mouse and keyboard inputs are disabled.
  • Page 60 AMD Confidential User Manual November 21 , 2008 This page is intentionally blank. Chapter 5: Running the Simulator...
  • Page 61: Create A Simulated Computer

    AMD Confidential User Manual November 21 , 2008 6 Create a Simulated Computer This section describes how to create a simulated computer from scratch. We will build a computer identical to the “solo.bsd” computer. Please note that this only works if you are not using the public release version of the simulator.
  • Page 62 Properties Window. Figure 6-2: Connections Tab of Device Properties Window 8. Add the DIMM Device. Connect it to the AMD 8th Generation Integrated Northbridge, using the Northbridge's Memory Bus and the DIMM‟s Generic Bus. 9. Add the AMD-8151™ AGP Tunnel. This is a HyperTransport™ tunnel and AGP bridge.
  • Page 63: Solo.bsd Device Configuration

    Connect it to Southbridge using Winbond's Generic Bus and Southbridge's LPC Bus. 13. Add the PCI Bus. Connect it to AMD-8111 Southbridge using both devices' PCI Bus 0. 14. Add the Memory Device. This will contain the System BIOS image. Connect it to AMD-8111 Southbridge device using AMD-8111 LPC Bus and the Memory Device's Generic Bus.
  • Page 64: Save And Run

    All that remains is to set up disk images (see Section 4.1, “Creating A Blank Hard-Drive Image”, on page 35, Section 5.2.1, “Assigning Disk-Images”, on page 42, and Section 13, “DiskTool”, on page 161) and run the simulation. AMD Confidential Chapter 6: Create a Simulated Computer November 21...
  • Page 65: Device Configuration

    ® PCI-X device, PCI-X test device, AMD-8132™ PCI-X2 device, Raid device, SMB Hub device, EXDI server and the USB keyboard and mouse devices. These sections should be considered as a reference for how to configure a device model and are not intended to document how to use the model within the simulator.
  • Page 66 XTR Device ITE 8712 SIO ATI SB400/SB600/SB700 ATI RS480/RD790/RS780/RD890 AMD “Istanbul”/AMD “Sao Paulo”/AMD “Magny-Cours” 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: Awesim Processor Device

    The Device Properties Window is used to set various processor identification and behavior options. Figure 7-1 shows the Processor Type tab for the AweSim processor device. Here you can specify which member of the AMD microprocessor family should be simulated. The default is a standard AMD microprocessor. See Section A.2.3, Product Files (*.ID), on page 179.
  • Page 68 AMD Confidential User Manual November 21 , 2008 Figure 7-1: AweSim Processor-Type Properties Figure 7-2 shows the Logging tab for the AweSim processor device. Here you can specify the following configuration options: Check the Log Disassembly check box to log the disassembly of the instructions executed by the processor model.
  • Page 69 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.
  • Page 70: Debugger Device

    To use the CPU Debugger, please refer to Section 10.1, “Using the CPU Debugger”, on page 147. Log Messages This device does not create log messages. AMD Confidential Chapter 7: Device Configuration November 21 , 2008...
  • Page 71: Dimm Device

    PDL per byte of width (eight total PDLs). DIMMs that use 4-bit devices use one PDL per nibble (16 total PDLs). The memory controller in the AMD Opteron™ processor includes two DDR channels that are ganged into a single effective 128-bit interface. Each access to memory hits a pair of 64-bit DIMMs, where one DIMM supplies the lower 64 bits while the other DIMM supplies the upper 64 bits.
  • Page 72 DIMM. The number of DIMMs supported in the DIMM Device model is dependent on the type 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.
  • Page 73 AMD Confidential User Manual November 21 , 2008 Once the simulation is started, the DIMM Device allocates memory arrays to hold the DRAM data. One array is allocated for each bank or virtual bank. In the case of 64-bit memory interfaces, memory arrays are allocated to match the size of the physical banks on each DIMM.
  • Page 74 AMD Confidential User Manual November 21 , 2008 Figure 7-5: DIMM-Bank Options Properties Dialog Figure 7-5 shows the dialog for configuring DIMM-bank options. The PDL Error Simulation Control section specifies the type of error that the DIMM device will generate, when a memory read is attempted and when a Northbridge PDL is set outside the valid response range.
  • Page 75 AMD Confidential User Manual November 21 , 2008 Figure 7-6: DIMM Module Properties Dialog The two DIMM module configuration dialogs, shown 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.
  • Page 76 AMD Confidential User Manual November 21 , 2008 The upper part of the dialog lists some summary information. This information, which is derived from the SPD data, gives a quick indication of the type of device being simulated. The center section of the dialog lists all 256 bytes of data held in the simulated SPD ROM.
  • Page 77: Emerald Graphics Device

    AMD Confidential User Manual November 21 , 2008 7.4 Emerald Graphics Device The Emerald graphics device provides an industry-standard PCI/AGP VGA-compatible video device. The device provides a fully functional set of PCI configuration registers. The AGP interface is currently somewhat minimal, and is not capable of generating AGP cycles nor AGP-specific modes at this time.
  • Page 78 AMD Confidential User Manual November 21 , 2008 Figure 7-7: Graphics-Device VGA Sub Device Properties Dialog In Figure 7-7, the BIOS File option enables you to load different VGA BIOS ROMs into the device. The VGA ROM is assumed to be a maximum of 32-Kbytes, and is assigned to ISA bus address 0x000C0000 - 0x000C7FFF, which is the industry-standard location.
  • Page 79 Table 7-2 shows the subset of "standard" VESA mode numbers supported. Mode Number 10Eh 111h 114h 117h 11Ah Table 7-2: Supported Standard VESA Modes Table 7-3 shows the supported custom VESA mode numbers. Chapter 7: Device Configuration AMD Confidential Resolution Color depth 320x200 16-bit 640x480 16-bit 800x600 16-bit 1024x768...
  • Page 80 1. Click Start, point to Settings, and then click Control Panel. 2. Double-click Display. 3. Click Effects, clear the Use the following transition effects for menus and tooltips check box, click ok, and then close Control Panel. AMD Confidential Resolution Color depth 320x200...
  • Page 81: Matrox Mga-G400 Pci/Agp

    32bit VGA CRTC 128-bit Frame Buffer Memory SGRAM or SDRAM Local Frame Buffer Memory Figure 7-9: Matrox G400 Block Diagram Chapter 7: Device Configuration AMD Confidential Not Supported! Programmable VIP/VMI Port Second CRTC CODEC Port Floating Point Setup Engine Advanced 3D Texturing and...
  • Page 82 The Graphics Memory section shows information about the current memory configuration of the graphics device. Currently supported memory configurations are:  32/16 MB SGRAM with 300 MHz RAMDAC  32/16 MB SDRAM with 300 MHz RAMDAC AMD Confidential Chapter 7: Device Configuration November 21 , 2008...
  • Page 83 AMD Confidential User Manual November 21 , 2008 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 AMD Confidential User Manual November 21 , 2008 Figure 7-11: Matrox G400 Configuration Properties The BIOS ROM File input field gives you the ability to load different Matrox G400 BIOS ROMs into the device. This is in particular useful if Matrox releases a new BIOS ROM file which has improvements or bug fixes.
  • Page 85 16-Color Palletized Cursor  Bitblts a. Two-Operand b. Transparent Two-Operand c. With Expansion (Character Drawing) 1bpp  Image Load (ILOAD) a. Two-operand b. With Expansion (Character Drawing) 1bpp  Rectangles Chapter 7: Device Configuration AMD Confidential November 21 , 2008...
  • Page 86 0x0E Multi-plane 4 bpp 0x0F Multi-plane 1 bpp 0x10 Multi-plane 4 bpp 0x11 Multi-plane 1 bpp 0x12 Multi-plane 4 bpp 0x13 Packed-pixel 8 bpp AMD Confidential Resolution No. of colors 360x400 360x400 720x400 720x400 320x200 320x200 640x200 720x400 320x200 640x200...
  • Page 87 640x480 720x480 800x600 1024x768 1152x864 1280x1024 1600x1200 1920x1080 1800x1440 1920x1200 2048x1536 Table 7-5: Supported Resolutions in Power Graphics Mode Chapter 7: Device Configuration AMD Confidential Resolution No. of colors 640x480 1056x400 1056x350 1056x400 1056x480 640x400 640x480 640x480 640x480 640x480 800x600...
  • Page 88 2. Click the Settings tab, and then click on Advanced. 3. Click the Troubleshoot tab. 4. Move the Hardware Acceleration slider across to full (see Figure 7-12). 5. Click Ok, and then click Close. AMD Confidential Device Driver Version 5.93.009 5.93.009/1.11.00.114SE 5.93.009/1.11.00.114SE...
  • Page 89 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” Chapter 7: Device Configuration AMD Confidential November 21 , 2008...
  • Page 90: Super Io Devices: Winbond W83627Hf Sio / Ite 8712 Sio

    These registers are initialized and reset to the values specified in the Super I/O specification:  IR  GPIO  MIDI  Joystick  Fan Contents of a BSD  Keyboard and Mouse AMD Confidential Chapter 7: Device Configuration November 21 , 2008...
  • Page 91 The other option is to set breakpoints to trigger whenever any of the device configuration registers are accessed. Figure 7-13: Super IO Properties Dialog: Winbond W83627HF Chapter 7: Device Configuration AMD Confidential November 21 , 2008...
  • Page 92 AMD Confidential User Manual November 21 , 2008 Floppy Configuration Options The floppy is capable of reading disk images of real floppies created with the DiskTool Utility, described in Section 13, on page 161. To use an image, first create an image file with DiskTool and then specify the floppy image file in the Super I/O configuration dialog page.
  • Page 93: Memory Device

    AMD Confidential User Manual November 21 , 2008 7.7 Memory Device The memory device enables you to add memory devices to the system. You can configure the memory device for emulation of ROM or dynamic memory. You specify the total memory size and the beginning address to which the device should respond.
  • Page 94 AMD Confidential User Manual November 21 , 2008 Selecting the System BIOS ROM option tells the memory device it is the system BIOS. The memory device only responds to memory address ranges accompanied by a chip- select that is generated by the Southbridge device.
  • Page 95 AMD Confidential User Manual November 21 , 2008 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: Pca9548 Smb Device

    AMD Confidential User Manual November 21 , 2008 7.8 PCA9548 SMB Device The PCA9548 is an 8-channel System Management Bus (SMB) switch. Interface The PCA9548 has one input port and eight output ports, as well as a programmable interface that directs the switch which output port to forward messages to.
  • Page 97: Pca9556 Smb Device

    AMD Confidential User Manual November 21 , 2008 7.9 PCA9556 SMB Device The PCA9556 is a registered System Management Bus (SMB) interface. When queried from its SMB base address, it returns the value of its input pins. Interfaces The PCA9556 has one output port.
  • Page 98: Amd 8Th Generation Integrated Northbridge Device

    Interface The Northbridge device has several connection points. It has multiple HyperTransport bus ports that connects to the other AMD 8th Generation Integrated Northbridge devices, or to HyperTransport link-capable devices (e.g., AMD-8131 PCI-X device). These ports are mutually exclusive, and should be connected to only one other device. The Northbridge also has a memory bus to the DIMM devices.
  • Page 99 AMD Confidential User Manual November 21 , 2008 Figure 7-17: Northbridge Logging Capabilities Properties Dialog If Log PCI Configuration Cycles is selected, 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.
  • Page 100 User Manual Each HyperTransport link can be enabled separately. Each link can be 8- or 16-bits wide. Only the 940-pin AMD Opteron processor can have three links; a 754-pin AMD Athlon 64 has one HyperTransport port. Figure 7-19: Northbridge DDR2 Training Properties Dialog When the DDR2 DRAM Controller is selected and DDR2 DRAM is being used you can manually modify these values to verify the correctness of the DDR2 training algorithmn.
  • Page 101 Registers that deal with items outside of the testing of transfer protocols at the register level are not functional (buffer count registers, etc.). They are present and read/write able, but do not effect the simulation. Chapter 7: Device Configuration AMD Confidential November 21 , 2008...
  • Page 102: Amd-8111™ Southbridge Devices - Io Hubs

    ISA and HyperTransport ports depending on the device type. The PCI bus acts as a host bus (AMD-8111). The SMB connects to devices such as the DIMM or the SMB hub. The LPC bus provides connectivity to devices such as Super IO's and BIOS ROMs. A HyperTransport port is used for main connectivity for the AMD-8111 device to the reset of the system.
  • Page 103 November 21 , 2008 Figure 7-20: USB Properties Dialog (AMD-8111™ Southbridge) The CMOS dialogue window, shown in Figure 7-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.
  • Page 104 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 the hard disk in question on either the Primary or Secondary IDE controller. Here you can either commit the contents of the journal to the hard-disk image or turn off journaling for the hard disk image in question.
  • Page 105 Figure 7-22: HDD Primary Channel Properties Dialog (AMD-8111 Southbridge) 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.
  • Page 106 Figure 7-23: Device 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 Figure 7-24: Logging Options Properties Dialog (AMD-8111 chipset) Differences from Real Hardware The AMD-8111 Southbridge device differs from other devices mainly in those items that deal with real-time operation. Those items cannot be modeled in the current simulator. The model does not include any of the power-management registers. The functionality of the USB 2.0 controller is also absent (PCI registers and memory-mapped registers are the...
  • Page 108: Pci Bus Device

    Northbridge. Each PCI-slot interface is capable of connecting to a PCI device, such as a PCI video controller. The PCI bus behaves somewhat differently than other AMD SimNow devices. First, the connection points are not all centered in the middle of the icon; instead each connection point has a discrete location around the perimeter of the icon to provide a visual indication that each PCI device is connected to a different PCI slot.
  • Page 109 AMD Confidential User Manual November 21 , 2008 Figure 7-25: PCI Bus Properties Dialog The first field is the Device ID of the slot. This value may range from zero to 31. The second field is the Base IRQ Pin for the slot. You can choose from pin A, B, C, or D.
  • Page 110: Amd-8131™ Pci-X ® Controller

    PCI bus device, which provides the Slot interfaces with which to connect devices 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.
  • Page 111: Amd-8132™ Pci-X ® Controller

    BSD. Configuration Options The Hot Plug tab options for AMD-8132 are to enable or disable hot-plug for each of its PCI-X bridges, as shown in Figure 7-27. You cannot enable or disable hot-plug after a simulation has already begun.
  • Page 112 AMD Confidential User Manual November 21 , 2008 Figure 7-28: AMD-8132 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: Pci-X Test Device

    BIOS programmers with a tool to test the PCI-X configuration cycle. This device is implemented as a single-function device. Interface The interface varies from system to system. In the AMD Athlon 64 or AMD Opteron processor-based system configurations, it can be connected to AMD-8131 PCI-X or AMD-8111 Southbridge devices.
  • Page 114: Amd-8151™ Agp Bridge Device

    AGP bus to the Southbridge. Initialization and Reset State When first initialized or reset, the AMD-8151 registers are set to their default state. This is described in detail in the AMD-8151 datasheet. Contents of a BSD The current state of all PCI configuration registers and any internal state variables are saved in the BSD.
  • Page 115 AMD Confidential User Manual November 21 , 2008 Differences from Real Hardware Clock-sensitive functionality, like setting bus speeds, is not supported. The HyperTransport bus protocol is not simulated. Chapter 7: Device Configuration...
  • Page 116: Raid Device: Compaq Smartarray 5304

    Block Cache and Last Sector Hit, which can be viewed at any time using the “raid.status –v” command. AMD tested the RAID device both on SUSE Linux-64 and a 32-bit version of Windows 2003 Enterprise Server, using stock drivers to drive this model. This model emulates devices at the volume level, so that the files used to represent the data correspond to logical volumes, not disks.
  • Page 117: Smb Hub Device

    AMD Confidential User Manual November 21 , 2008 7.18 SMB Hub Device The SMB hub device is used to connect one SMBus to any of four SMBus branches. The device is programmed via read-byte and write-byte commands on the SMBus where the 7-bit address field is 0x18.
  • Page 118 AMD Confidential User Manual November 21 , 2008 Figure 7-30: SMB Hub Properties Dialog Differences from Real Hardware 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.
  • Page 119: At24C Device

    AMD Confidential User Manual November 21 , 2008 7.19 AT24C Device The AT24C device is a Serial EEPROM device. It can be configured to store 16, 32, or 64Kb of EEPROM. The device has an SMB bus interface for access to its internal registers.
  • Page 120: Exdi Server Device

    When running the Windows kernel debugger, you must provide command line information that tells the debugger how to attach to the EXDI Server. The command line for this is: kd -kx exdi:clsid={F65E71B3-FEDC-4FA7-A818-5959CD30DD41} AMD Confidential Chapter 7: Device Configuration November 21 , 2008...
  • Page 121: Usb Keyboard And Usb Mouse Devices

    AMD Confidential User Manual November 21 , 2008 7.21 USB Keyboard and USB Mouse Devices USB legacy emulation is not yet supported by the simulator model. USB 2.0 support is very limited, only basic PCI configuration and memory read and write functionality is available.
  • Page 122: Xtr Device

    DMAW, EOT are examples of Active events. XTR Instructions are commands that are injected in the XTR trace to give special instructions during XTR playback. FJMP (Force Jump) is an XTR Instruction. AMD Confidential Chapter 7: Device Configuration November 21...
  • Page 123: Using Xtr

    AMD Confidential User Manual November 21 , 2008 7.22.1 Using XTR No special setup for XTR Record is required; XTR can be recorded by using the appropriate automation commands as described in Section A.7.28, “XTR”, on page 250. The XTR XML file can easily exceed five Gbytes in size. Please make sure you have enough physical storage before you start XTR Record.
  • Page 124: Stop Xtr Playback

    DIMM image and internal states of the XTRNB. Complete XTR Playback setup also includes AweSim and optionally the AMD Debugger. Please refer to the documentation of AweSim and AMD Debugger for their respective contents in the BSD file.
  • Page 125 AMD Confidential User Manual November 21 , 2008 XTRNB: Attempting to allocate large buffer of size 1074503680 Logged during XTR initialization phase just before XTR tries to allocate memory to simulate DIMM. XTRNB: Sending APIC initialization data to CPU0 Logged during XTR initialization phase just before APIC memory is initialized.
  • Page 126: Xtr Structure

    AMD Confidential User Manual November 21 , 2008 XTRNB: Setting event trigger delay for CPU0[DMAW] to 1205 Logged during execution. DMAW event is setup to be triggered at a later point. 1205 is the difference between NOW and event time.
  • Page 127 <Event Device="XTR" Type="EOT" ICount="400001" /> Defines an End of Trace (EOT) event. <Event Device="CPU0" Type="RDMSR" ICount="1404861740" Address="00000010" Data="0000000053BC7D2C" /> Defines a RDMSR event. <Event Device="CPU0" Type="MEMR" ICount="3133971257" Address="00000000000A88B2" Size="1"> <Data Length="1" Value="FF" /> </Event> Chapter 7: Device Configuration AMD Confidential November 21 , 2008...
  • Page 128: Xtr Binary File Contents

    Table 7-7: Execution Control Flags Table 7-8 shows other internal execution control flags. Some flags may be AweSim specific. Execution Control Flag ECF_SMCRESTART 0x00001000 ECF_GENEXCEPTION 0x00002000 ECF_VINTR 0x00004000 AMD Confidential Value Description 0x00000001 Bus is locked 0x00000002 Processor RESET pin. 0x00000004 INIT pin 0x00000008...
  • Page 129: Limitations

    <Init Device="CPU0" Type="CPU" Item="R12" Data="0000000000000000" /> <Init Device="CPU0" Type="CPU" Item="R13" Data="0000000000000000" /> <Init Device="CPU0" Type="CPU" Item="R14" Data="0000000000000000" /> Chapter 7: Device Configuration AMD Confidential Value Description Unused We are in a HALT We are in a SHUTDOWN FPU freeze APIC freeze Ignore INTR for one instruction EFlags.TF bit...
  • Page 130 <Init Device="CPU0" Type="CPU" Item="FTW" Data="0000FFFF" /> <Init Device="CPU0" Type="CPU" Item="FDS" Data="00000000" /> <Init Device="CPU0" Type="CPU" Item="FCS" Data="00000000" /> <Init Device="CPU0" Type="CPU" Item="FIP" Data="0000000000000000" /> <Init Device="CPU0" Type="CPU" Item="FOP" Data="00000000" /> AMD Confidential Chapter 7: Device Configuration November 21 , 2008...
  • Page 131 <Init Device="CPU0" Type="CPU" Item="XMM00" Data="00000000000000000000000000000000" /> <Init Device="CPU0" Type="CPU" Item="XMM00" Data="00000000000000000000000000000000" /> <Init Device="CPU0" Type="CPU" Item="XMM01" Data="00000000000000000000000000000000" /> <Init Device="CPU0" Type="CPU" Item="XMM02" Data="00000000000000000000000000000000" /> <Init Device="CPU0" Type="CPU" Item="XMM03" Data="00000000000000000000000000000000" /> Chapter 7: Device Configuration AMD Confidential November 21 , 2008...
  • Page 132 Length="16" Value="00000000000000000000000000000000" /> <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" /> AMD Confidential Chapter 7: Device Configuration November 21 , 2008...
  • Page 133 Device="CPU0" Type="FJMP" ICount="7081" JMP="1" RIP="f86b0317" /> <INSTR Device="CPU0" Type="FJMP" ICount="7099" JMP="1" RIP="f86b0317" /> <Event Device="CPU0" Type="IOR" ICount="7110" Address="a037" Size="1"> <Data Length="1" Value="0d" /> </Event> <Event Device="CPU0" Type="IOR" ICount="7121" Address="a037" Size="1"> Chapter 7: Device Configuration AMD Confidential November 21 , 2008...
  • Page 134 Length="1" Value="c0" /> </Event> <Event Device="CPU0" Type="IOW" ICount="326541" Address="70" Size="1"> <Data Length="1" Value="0c" /> </Event> <Event Device="CPU0" Type="IOR" ICount="326545" Address="71" Size="1"> <Data Length="1" Value="00" /> </Event> <Event Device="XTR" Type="EOT" ICount="400967" /> </AmdEventTrace> AMD Confidential Chapter 7: Device Configuration November 21 , 2008...
  • Page 135: Jumpdrive Device

    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.
  • Page 136: E1000 Network Adapter Device

    MAC address that is used for the simulated NIC model. Figure 7-32 shows depicts four simulator sessions communicating via a mediator. Host: “theclient1” Simulator Simulator Figure 7-32: Communication via Mediator AMD Confidential HostName: “thehost” Simulator 4 Mediator Host: “theclient2” Chapter 7: Device Configuration November 21...
  • Page 137: Simulated Link Negotiation

    When neither of the above conditions is met, the link appears disconnected in the guest. It may be necessary to re-start link negotiation via “linkConnect auto”. This will cause Chapter 7: Device Configuration AMD Confidential Simulator Process BSD #2 (Machine 2) 04:00:00:00:0:04 10.0.0.2...
  • Page 138: The Mediator Daemon

    Lists possible host adapters that the mediator can use to snoop real network traffic. Tells the mediator to snoop real network traffic. Requires supervisor privileges. -d DeviceNum Tells the mediator which host adapter to use when snooping real AMD Confidential Description Chapter 7: Device Configuration November 21 , 2008...
  • Page 139: Mac Addresses For Use With The Adapter

    MAC Address. This provides maximum visibility for the simulator session. Example MAC: FA:CD:00:00:00:01 IP Address: Any. Can be a static IP address assigned by your sys admin, or a Chapter 7: Device Configuration AMD Confidential November 21 , 2008...
  • Page 140: Client-Server Simulated Network

    Can only communicate with BSD‟s in the same simulator process Visibility: using multiple machines. Mediator String: Table 7-13: Isolated Client-Server: Simulator Server Example MAC: 02:00::00:00:00:02 IP Address: Static IP address 192.168.0.2 AMD Confidential Chapter 7: Device Configuration November 21 , 2008...
  • Page 141: Visibility Diagram

    (NAT) for each BSD in each domain to make sure that there are no collisions between the two domains. Chapter 7: Device Configuration AMD Confidential Figure 7-34: Visibility Diagram November 21...
  • Page 142: Plug And Play Monitor Device

    AMD Confidential User Manual November 21 , 2008 7.25 Plug and Play Monitor Device The Plug and Play Monitor device (PnP Monitor) conforms to the VESA Plug and Play Monitor specification and therefore supports the DDC2B standard. DDC (Display Data Channel) is the Plug and Play standard for monitors.
  • Page 143 AMD Confidential User Manual November 21 , 2008 Figure 7-35: Plug and Play Monitor Device Configuration Chapter 7: Device Configuration...
  • Page 144: Ati Sb400/Sb600/Sb700 Southbridge Devices

    BSD file is read in, all buffers are filled with past data, and all states are restored to their saved states. Configuration Options These Southbridge devices share many configuration properties with the AMD-8111 Southbridge. For more information please refer to Section 7.11, “AMD-8111™ Southbridge Devices – IO Hubs”, on page 90.
  • Page 145 AMD Confidential User Manual November 21 , 2008 Figure 7-36: ATI SB600 SATA Configuration Dialog Log Messages These SouthBridge devices have the ability to log messages to the Message Log Window as specified by the options in the Logging Option tab. These devices can log I/O-mapped Transactions, Memory-mapped Transactions, and SMI and SCI assertions.
  • Page 146: Ati Rs480/Rs780/Rd790/Rd890 Northbridge Devices

    AMD Confidential User Manual November 21 , 2008 7.27 ATI RS480/RS780/RD790/RD890 Northbridge Devices The ATI RS480/RD790/RS780 feature set includes an upstream HyperTransport CPU interface, a PCI-E interface, and an A-Link PCI-E dowstream interface to the SouthBridge. Depending on the part and the platform, each device may have some number of available PCI-E slots to connect with endpoint devices.
  • Page 147: Amd "Istanbul" Device

    User Manual 7.28 AMD “Istanbul” Device The AMD "Istnabul" device is a 6 core processor node, suitable for an L1 socket. It emulates a planned product that derives from a revision of the AMD Family10h product line. The device iteself is composed of 6 individual AweSim Processor Devices that are connected to a single “AMD 8th Generation Integrated Northbridge Device”.
  • Page 148: Amd "Sao Paulo" Device

    User Manual 7.29 AMD “Sao Paulo” Device The AMD "Sao Paulo" device is a 8 core processor node, suitable for a G34 socket. It emulates a planned product that derives from a revision of the AMD Family10h product line. The device iteself is composed of 8 individual AweSim Processor Devices that are connected to a single “AMD 8th Generation Integrated Northbridge Device”.
  • Page 149: Amd "Magny-Cours" Device

    User Manual 7.30 AMD “Magny-Cours” Device The AMD "Magny-Cours" device is a 12 core processor node, suitable for a G34 socket. It emulates a planned product that derives from a revision of the AMD Family10h product line. The device iteself is composed of 12 individual AweSim Processor Devices that are connected to dual AMD 8th Generation Integrated Northbridge Devices.
  • Page 150 AMD Confidential User Manual November 21 , 2008 This page is intentionally blank. Chapter 7: Device Configuration...
  • Page 151: Pci Configuration Viewer

    (0-Fh) configuration- space register rows show the high nibble (00- F0h) of the configuration- space register Figure 8-1: PCI Configuration Viewer Chapter 8: PCI Configuration Viewer AMD Confidential November 21 , 2008 List of all PCI devices configuration- space...
  • Page 152: Scanning Pci Buses

    AMD Confidential User Manual November 21 , 2008 8.1 Scanning PCI Buses To view the PCI Config Viewer Dialog select the "View→Show PCI Config Viewer” entry from the Main Window menu. To scan a PCI bus, you must first load a bsd file that contains a CPU device.
  • Page 153: Logging

    The informational log is controlled via the "Message Log Window" dialog box. To view this dialog, select the "View→Message Log" entry from the Main Window shell menu. A sample of this dialog is shown in Figure 9-1: Chapter 9: Logging AMD Confidential November 21 , 2008...
  • Page 154 The top-right window contains 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"...
  • Page 155: Error Log

    AMD Confidential User Manual November 21 , 2008 9.2 Error Log The simulator provides an interface that loaded modules may use to report critical errors or unexpected conditions. The messages are always written to a file, and the most-recent messages may be displayed in a window. The error log may not be disabled.
  • Page 156: I/O Logging

    Checking this will log Memory Space accesses made to the device. These are the accesses corresponding to standard x86 move, read and write instructions to memory. Disable Fastpath Memory when Logging AMD Confidential Figure 9-3: I/O Logging Dialog November 21...
  • Page 157 AMD Confidential User Manual November 21 , 2008 This item, checked by default, disables the Fastpath Memory mechanism when Memory Space Accesses logging is enabled. If this is unchecked, accesses may not appear in the log. WARNING: Un-checking this item may lead to significantly compromised performance of SimNow if large numbers of accesses are being made to the device in question.
  • Page 158 AMD Confidential User Manual November 21 , 2008 This page is intentionally blank. Chapter 9: Logging...
  • Page 159: Cpu Debugger

    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 these commands requires an Chapter 10: CPU Debugger AMD Confidential CPU Attach Button November 21 , 2008...
  • Page 160: Single Stepping The Simulation

    The debugger Pretty Trace command will execute, causing the CPU device to execute up to the next instruction in linear order (i.e., step over calls, interrupts, repeated instructions, and loops). This is distinguished from the T command, AMD Confidential Description Break on the next execution of the instruction located at linear address, 0x1234ABCD.
  • Page 161: Skipping An Instruction

    Command DB 010,p DW abcd1234,L DQ c001c0de,L Chapter 10: CPU Debugger AMD Confidential Description Dump memory in byte format, starting at physical address, 0x00000010. Dump memory in word format, starting at linear address, 0xABCD1234.
  • Page 162: Reading Pci Configuration Registers

    32-bit address (in hex) of the MSR. All leading zeros must be typed in the address. Examples of MSR reads are shown in Table 10-4: Command R M00000250 R MC001001A AMD Confidential Description Dump the SVM host linear memory starting at address 0xC001C0DE. Dump the last SVM guest linear memory starting at address 0xC001C0DE.
  • Page 163: Find Pattern In Memory

    D command. The next area is a general message window where messages and information are displayed. The bottom area is the command area, where debugger commands are entered. Chapter 10: CPU Debugger AMD Confidential Table 10-4: MSR Read Examples Description Assigns 0x0000000004000000 to the MSR with an address of 0xC001001A.
  • Page 164 <vector> <Pass count> bh <vector> <Pass count> bi <address> [r | w] <Pass count> [v[b|w|d] <data>] bl [* | list] AMD Confidential Definition Displays an abbreviated list of the available commands and their syntax. Repeat of previous command. Execute an automation command.
  • Page 165 [on | off | clear | <value>] i[b|w|d] <port> o[b|w|d] <port> <data> Chapter 10: CPU Debugger AMD Confidential Definition Creates and enables a breakpoint for the indicated memory address. Sets the pass count to [count], or 0 if not specified. Defaults to read or write, but can be set to read-only or write- only using the [r] or [w] options.
  • Page 166 Address values may be suffixed by „,L‟ to specify a linear address (the default) or „,P‟ to specify a physical address. Addresses may also be specified by their symbol name. Precede the symbol name with a # character to distinguish it from a hex constant. AMD Confidential Definition Similar to the t command, single steps the...
  • Page 167: Debug Interface

    The simulator will program the appropriate COM port (COM1 in the above example) to use the named-pipe “\\.\pipe\SimNow.Com1” on the host to transfer data between host and the simulated machine. Chapter 11: Debug Interface AMD Confidential ® based debugging. It is recommended to use ®...
  • Page 168: Gdb Interface

    11.2.1 Simple Approach This assumes you are running the simulator and gdb on the same machine.  Start the simualtor AMD Confidential Tools Windows Chapter 11: Debug Interface...
  • Page 169: Alternate Approach

    When running the simulator on a Linux host, the serial port is able to communicate with external host applications via either a named-pipe or the host serial port. If the user has configuired named-pipe communication, the simualtor will set up an input pipe and an Chapter 11: Debug Interface AMD Confidential November 21 , 2008...
  • Page 170 AMD Confidential User Manual November 21 , 2008 "~./simnow/comX/simnow_in output pipe " ~./simnow/comX/simnow_out " ". External applications should read data from the simulation using the simnow_out named-pipe. Conversely, external applications should send serial data to the simulation using the simnow_in pipe.
  • Page 171: Command Api

    An input string buffer, in which SimNow will place the last error that was recorded from the automation interface. The Perl code in Example 12-1 shows how to instantiate a SimNow.Command object and how to interact with the SimNow™ CMDAPI interface. #!perl -w Chapter 12: Command API AMD Confidential November 21 , 2008...
  • Page 172 "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 AMD Confidential Chapter 12: Command API November 21 , 2008...
  • Page 173: Disktool

    P = Put the image file <ImageName> to physical device <DeviceName>. Syntax: {/P|-P} <DeviceName> <ImageName> Example: disktool –p /dev/hd0 image.hdd This command reads image file image.hdd and writes data to physical device /dev/hd0. Chapter 13: DiskTool AMD Confidential November 21 , 2008...
  • Page 174: Gui Mode

    DiskTool to display information about that device in the lower Drive Information list box. DiskTool also displays information about all identified devices in a shell window. The DiskTool shell window is shown in Figure 13-1. AMD Confidential November 21 , 2008 Chapter 13: DiskTool...
  • Page 175 AMD Confidential User Manual November 21 , 2008 Figure 13-1: DiskTool Shell Window DiskTool will only copy drives - not partitions, although it does have the ability to stop copying at the end of a given partition. So, for example, you can copy the contents of a drive starting at the beginning of the drive and ending at the end of the 2nd partition, but you can not copy only the 2nd partition.
  • Page 176 AMD Confidential User Manual November 21 , 2008 Figure 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!
  • Page 177 AMD Confidential User Manual November 21 , 2008 When a drive is selected, you have the option to get an image from the drive, put an image onto the drive, or erase the contents of the drive. If you erase the contents of the drive, a dialog will ask for confirmation that you actually wish to permanently destroy the contents of that hard disk.
  • Page 178 AMD Confidential User Manual November 21 , 2008 This page is intentionally blank. Chapter 13: DiskTool...
  • Page 179: Bios Developer"S Quick Start Guide

    Please be advised that memory configurations that are too large will slow down the simulation significantly and may also confuse some BIOS's. Note: The public release of the simulator supports only up to four GB of simulated memory. Chapter 14: BIOS Developer‟s Quick Start Guide AMD Confidential November 21 , 2008...
  • Page 180: Changing Spd Data

    2. Right-click on the DIMM Memory device icon in the Device Window and select the “Configure Device” option on the Workspace Popup Menu (Figure 3-3 on page 11). AMD Confidential Chapter 14: BIOS Developer‟s Quick Start Guide November 21 , 2008...
  • Page 181: Clearing Cmos

    2. Select "View→Log Window" from the Main Window Menu. This will bring up a Message Log dialog box similar to the one shown in Figure 14-3. Chapter 14: BIOS Developer‟s Quick Start Guide AMD Confidential Figure 14-2: Diagnostics Display November 21...
  • Page 182: Logging Cpu Cycles

    3. Log messages will only be captured from devices that have a check beside their name. If the CPU device does not have a check, then check it by clicking its check box. 4. Repeat the steps here. AMD Confidential Chapter 14: BIOS Developer‟s Quick Start Guide November 21 , 2008...
  • Page 183: Creating A Floppy-Disk Image

    AMD Confidential User Manual November 21 , 2008 14.7 Creating a Floppy-Disk Image Use the DiskTool utility 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.
  • Page 184 AMD Confidential User Manual November 21 , 2008 This page is intentionally blank. Chapter 14: BIOS Developer‟s Quick Start Guide...
  • Page 185: Frequently Asked Questions (Faq)

    AMD Confidential User Manual November 21 , 2008 15 Frequently Asked Questions (FAQ) Why is the mouse cursor very difficult to control inside the simulated display area? The mouse on the Host and in the Guest do not track each other very well in general. We provide another mouse mode to help with this.
  • Page 186 AMD Confidential User Manual November 21 , 2008 What devices are supported? See Section 7, “Device Configuration”, on page 53. What about graphics/video adapter? See Section 1, “Overview”, on page 1 and Section 7.4, “Emerald Graphics Device on page 65.
  • Page 187 AMD Confidential User Manual November 21 , 2008 How do I change the amount of system RAM installed in a BSD? See Section 7.3, “DIMM Device”, on page 59. How do I change the processor type of a processor in a BSD? See Section 7.1, “AweSim Processor Device - Configuration Options”, on page 55.
  • Page 188 AMD Confidential User Manual November 21 , 2008 1 simnow> usb:0.Port enable 0 Chapter 15: Frequently Asked Questions (FAQ)
  • Page 189: A.1 Format Of Floppy And Hard-Drive Images

    The address value may be an absolute address or a module-relative address. For the latter case, the load address may be specified when the symbols are loaded into the debugger with the "load_symbols" command (see Section 10.2, “Debugger Command Reference”, on page 151). Appendix A AMD Confidential November 21 , 2008...
  • Page 190: Bill Of Material

    A.2.1 Computer Platform Files (BSD) This section gives a brief description of the computer platform description (BSD) files, devices, and disk- and ROM-image files that come with AMD SimNow™ Platform Simulator. Note: The public release version of the simulator comes only with the following computer...
  • Page 191: Product Files (*.Id)

    A.2.3 Product Files (*.ID) A product file configures the CPU and Northbridge to represent and behave as an actual AMD product. A product file will set the CPUID Family Model and Stepping, the BrandID, the MANID, and fuses. Note: The public release version of the simulator doesn't contain any product files! Product File Athlon64-754_SH-C0_(800MHz).id...
  • Page 192: Memory Spd Files

    IBM_512_Reg.spd Smart_DDR_128_2_133.spd AMD Confidential Description 4-GB bare hard disk image. 8-GB bare hard disk image. Table 15-3: Hard-Disk Images Description 32MB DDR memory 64MB DDR memory 128MB DDR memory 256MB DDR memory...
  • Page 193: Supported Guest Operating Systems

    TPC-C on a simulated RAID device.  Successfully completed Sysmark® 2004's Office Productivity section and parts of Internet Content Creation. Appendix A AMD Confidential Known Issues No known issues. No known issues. No known issues.
  • Page 194: Cpuid

    Feature Floating-Point Unit Virtual Mode Extensions Debugging Extensions 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...
  • Page 195: Cpuid Amd Feature Support (Extended Function 0X80000001)

    User Manual Table 15-6: CPUID Standard Feature implementation A.4.2 CPUID AMD Feature Support (Extended Function 0x80000001) Table 15-7 shows the extended feature bits returned by the AweSim CPU processor model and which features are fully ( ) or only partially ( ) implemented and supported.
  • Page 196: Known Issues

    4. We execute code from page B 5. We store again to A, modifying some of the x86 code that we executed in step 4 6. We execute the code from step 4 again AMD Confidential November 21 , 2008...
  • Page 197 AMD Confidential User Manual November 21 , 2008 The code we execute in step 6 will probably be the old code because 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: Instruction Reference

    A.6 Instruction Reference This section specifies the hexadecimal and/or binary encodings for the opcodes that SimNow does ( ), does not ( ) or does partially ( ) simulate when simulating an AMD 8 Generation CPU, Rev. F. A.6.1 Notation A.6.1.1 Mnemonic Syntax...
  • Page 199  reg/mem8 – Byte (8-bit) operand in a GPR register or memory.  reg/mem16 – Word (16-bit) operand in a GPR register or memory.  reg/mem32 – Doubleword (32-bit) operand in a GPR register or memory. Appendix A AMD Confidential November 21 , 2008...
  • Page 200: Opcode Syntax

    The result is an instruction that operates on the register specified by the register code. Valid register-code values are shown in “AMD x86-64 Architecture: Programmer‟s Manual, Volume 3”.  m64 – Specifies a quadword (64-bit) operand in memory.
  • Page 201: General Purpose Instructions

    ADD reg/mem64,imm32 ADD reg/mem16,imm8 ADD reg/mem32,imm8 ADD reg/mem64,imm8 ADD reg/mem8,reg8 ADD reg/mem16,reg16 Appendix A AMD Confidential Instruction Opcode Description Create an unpacked BCD number. Adjust two BCD digits in AL and AH. Create a pair of unpacked BCD values in AH and AL.
  • Page 202 AND reg/mem64,reg64 AND reg8,reg/mem8 AND reg16,reg/mem16 AND reg32,reg/mem32 AND reg64,reg/mem64 BOUND reg16,mem16&mem16 BOUND reg32,mem32&mem32 BSF reg16,reg/mmem8 BSF reg32,reg/mmem32 AMD Confidential Instruction Opcode Description 01 /r Add reg32 to reg/mem32. 01 /r Add reg64 to reg/mem64. 02 /r Add reg/mem8 to reg8.
  • Page 203 BTR reg/mem64,reg64 BTR reg/mem16,imm8 BTR reg/mem32,imm8 BTR reg/mem64,imm64 BTS reg/mem16,reg16 BTS reg/mem32,reg32 BTS reg/mem64,reg64 Appendix A AMD Confidential Instruction Opcode Description Bit scan forward on the contents of 0F BC /r reg/mem64. Bit scan reverse on the contents of 0F BD /r reg/mem16.
  • Page 204 CMOVC reg32,reg/mem32 CMOVC reg64,reg/mem64 CMOVNAE reg16,reg/mem16 CMOVNAE reg32,reg/mem32 CMOVNAE reg64,reg/mem64 CMOVNB reg16,reg/mem16 CMOVNB reg32,reg/mem32 CMOVNB reg64,reg/mem64 CMOVNC reg16,reg/mem16 AMD Confidential Instruction Opcode Description Copy the value of the selected bit to 0F BA /5 ib carry flag, selected bit. Copy the value of the selected bit to...
  • Page 205 CMOVNP reg32,reg/mem32 CMOVNP reg64,reg/mem64 CMOVPO reg16,reg/mem16 CMOVPO reg32,reg/mem32 CMOVPO reg64,reg/mem64 CMOVL reg16,reg/mem16 CMOVL reg32,reg/mem32 Appendix A AMD Confidential Instruction Opcode Description 0F 43 /r Move if not carry (CF = 0). 0F 43 /r Move if not carry (CF = 0).
  • Page 206 CMP RAX,imm32 CMP reg/mem8,imm8 CMP reg/mem16,imm16 CMP reg/mem32,imm32 CMP reg/mem64,imm32 CMP reg/mem16,imm8 CMP reg/mem32,imm8 CMP reg/mem64,imm8 AMD Confidential Instruction Opcode Description 0F 4C /r Move if less (SF <> OF). Move if not greater or equal (SF <> 0F 4C /r OF).
  • Page 207 CMPS mem32,mem32 CMPS mem64,mem64 CMPSB CMPSW CMPSD CMPSQ CMPXCHG reg/mem8,reg8 CMPXCHG reg/mem16,reg16 CMPXCHG reg/mem32,reg32 CMPXCHG reg/mem64,reg64 Appendix A AMD Confidential Instruction Opcode Description Compare contents 38 /r register or memory operand with the contents of an 8-bit register. Compare contents...
  • Page 208 DIV reg/mem32 DIV reg/mem64 ENTER imm16,0 ENTER imm16,1 ENTER imm16,imm8 IDIV reg/mem8 IDIV reg/mem16 IDIV reg/mem32 AMD Confidential Instruction Opcode Description Compare EDX:EAX memory location. If equal, set the zero flag (ZF) to 1 and copy the 0F C7 /1 m64...
  • Page 209 IMUL reg32,reg/mem32 IMUL reg64,reg/mem64 IMUL reg16,reg/mem16,imm8 IMUL reg32,reg/mem32,imm8 IMUL reg64,reg/mem64,imm8 IMUL reg16,reg/mem16,imm16 IMUL reg32,reg/mem32,imm32 IMUL reg64,reg/mem64,imm32 Appendix A AMD Confidential Instruction Opcode Description Perform signed division of RDX:RAX by the contents of a 64-bit register or F7 /7 memory location quotient in RAX and the remainder in RDX.
  • Page 210 INT imm8 INTO JO rel8off JO rel16off JO rel32off JNO rel8off JNO rel16off JNO rel32off AMD Confidential Instruction Opcode Description Input a byte from the port at the E4 ib address specified by imm8 and put it into the AL register.
  • Page 211 JS rel8off JS rel16off JS rel32off JNS rel8off JNS rel16off JNS rel32off JP rel8off Appendix A AMD Confidential Instruction Opcode Description 72 cb Jump if below (CF = 1). 0F 82 cw Jump if below (CF = 1). 0F 82 cd Jump if below (CF = 1).
  • Page 212 JG rel16off JG rel32off JCXZ rel8off JCXZ rel16off JCXZ rel32off JMP rel8off JMP rel16off JMP rel32off AMD Confidential Instruction Opcode Description 0F 8A cw Jump if parity (PF = 1). 0F 8A cd Jump if parity (PF = 1). 7A cb Jump if parity even (PF = 1).
  • Page 213 LEAVE LEAVE LFENCE LODS mem8 LODS mem16 LODS mem32 LODS mem64 LODSB LODSW Appendix A AMD Confidential Instruction Opcode Description Near jump with the target specified FF /4 reg/mem16. Near jump with the target specified FF /4 reg/mem32. Near jump with the target specified FF /4 reg/mem64.
  • Page 214 MOV RAX,moffset64 MOV moffset8,AL MOV moffset16,AX MOV moffset32,EAX MOV moffset64,RAX MOV reg8,imm8 MOV reg16,imm16 AMD Confidential Instruction Opcode Description Load doubleword at DS:rSI into EAX and then increment or decrement rSI. Load quadword at DS:rSI into RAX and then increment or decrement rSI.
  • Page 215 MOVNTI mem32,reg32 MOVNTI mem64,reg64 MOVS mem8,mem8 MOVS mem16,mem16 MOVS mem32,mem32 MOVS mem64,mem64 MOVSB MOVSW Appendix A AMD Confidential Instruction Opcode Description Move a 32-bit immediate value into a B8 +rd 32-bit register. Move a 64-bit immediate value into a B8 +rq 64-bit register.
  • Page 216 MUL reg/mem8 MUL reg/mem16 MUL reg/mem32 MUL reg/mem64 NEG reg/mem8 NEG reg/mem16 NEG reg/mem32 NEG reg/mem64 AMD Confidential Instruction Opcode Description Move doubleword at DS:rSI to ES:rDI, and then increment or decrement rSI and rDI. Move quadword at DS:rSI to ES:rDI, and then increment or decrement rSI and rDI.
  • Page 217 OR reg/mem8,reg8 OR reg/mem16,reg16 OR reg/mem32,reg32 OR reg/mem64,reg64 OR reg8,reg/mem8 OR reg16,reg/mem16 OR reg32,reg/mem32 OR reg64,reg/mem64 OUT imm8,AL Appendix A AMD Confidential Instruction Opcode Description Performs no operation. Complements F6 /2 register or memory operand. Complements F7 /2 register or memory operand.
  • Page 218 POP ES POP SS POP FS POP GS POPA POPAD POPF POPFD POPFQ PREFETCH mem8 PREFETCHW mem8 AMD Confidential Instruction Opcode Description Output the word in the AX register to E7 ib port specified immediate value. Output doubleword E7 ib register to the port specified by an 8-bit immediate value.
  • Page 219 PUSH FS PUSH GS PUSHF PUSHFD PUSHFQ RCL reg/mem8,1 RCL reg/mem8,CL RCL reg/mem8,imm8 RCL reg/mem16,1 RCL reg/mem16,CL RCL reg/mem16,imm8 Appendix A AMD Confidential Instruction Opcode Description Move data closer 0F 18 /0 using the NTA reference. Move data closer 0F 18 /1 using the T0 reference.
  • Page 220 RCR reg/mem16,CL RCR reg/mem16,imm8 RCR reg/mem32,1 RCR reg/mem32,CL RCR reg/mem32,imm8 RCL reg/mem64,1 RCR reg/mem64,CL AMD Confidential Instruction Opcode Description Rotate the 33 bits consisting of the D1 /2 carry flag and a 32-bit register or memory location left 1 bit.
  • Page 221 ROR reg/imm8,1 ROR reg/mem8,CL ROR reg/mem8,imm8 ROR reg/imm16,1 ROR reg/mem16,CL ROR reg/mem16,imm8 Appendix A AMD Confidential Instruction Opcode Description Rotate the 65 bits consisting of the carry flag and a 64-bit register or C1 /3 ib memory location right the number of bits specified by an 8-bit immediate value.
  • Page 222 SAL reg/mem32,CL SAL reg/mem32,imm8 SAL reg/mem64,1 SAL reg/mem64,CL SAL reg/mem64,imm8 SHL reg/mem8,1 SHL reg/mem8,CL SHL reg/mem8,imm8 AMD Confidential Instruction Opcode Description Rotate a 32-bit register or memory D1 /0 operand left 1 bit. Rotate a 32-bit register or memory D3 /0...
  • Page 223 SAR reg/mem16,CL SAR reg/mem16,imm8 SAR reg/mem32,1 SAR reg/mem32,CL SAR reg/mem32,imm8 SAR reg/mem64,1 SAR reg/mem64,CL SAR reg/mem64,imm8 SBB AL,imm8 SBB AX,imm16 Appendix A AMD Confidential Instruction Opcode Description Shift 16-bit D1 /4 location left 1 bit. Shift 16-bit D3 /4 location left specified in the CL register.
  • Page 224 SBB reg/mem8,reg8 SBB reg/mem16,reg16 SBB reg/mem32,reg32 SBB reg/mem64,reg64 SBB reg8,reg/mem8 SBB reg16,reg/mem16 SBB reg32,reg/mem32 SBB reg64,reg/mem64 SCAS mem8 SCAS mem16 SCAS mem32 AMD Confidential Instruction Opcode Description Subtract immediate 1D id from the EAX register with borrow. Subtract immediate 1D id from the RAX register with borrow.
  • Page 225 SETNGE reg/mem8 SETNL reg/mem8 SETGE reg/mem8 SETLE reg/mem8 SETNG reg/mem8 SETNLE reg/mem8 SETG reg/mem8 SFENCE SHL reg/mem8,1 Appendix A AMD Confidential Instruction Opcode Description Compare contents register with the quadword at ES:rDI, and then increment or decrement rDI. Compare contents register with the byte at ES:rDI, and then increment or decrement rDI.
  • Page 226 SHL reg/mem32,CL SHL reg/mem32,imm8 SHL reg/mem64,1 SHL reg/mem64,CL SHL reg/mem64,imm8 SHLD reg/mem16,reg16,imm8 SHLD reg/mem16,reg16,CL SHLD reg/mem32,reg32,imm8 SHLD reg/me326,reg32,CL SHLD reg/mem64,reg64,imm8 SHLD reg/mem16,reg16,CL AMD Confidential Instruction Opcode Description Shift 8-bit D2 /4 location left specified in the CL register. Shift 8-bit...
  • Page 227 SHR reg/mem32,CL SHR reg/mem32,imm8 SHR reg/mem64,1 SHR reg/mem64,CL SHR reg/mem64,imm8 SHRD reg/mem16,reg16,imm8 SHRD reg/mem16,reg16,CL SHRD reg/mem32,reg32,imm8 SHRD reg/me326,reg32,CL SHRD reg/mem64,reg64,imm8 Appendix A AMD Confidential Instruction Opcode Description Shift 8-bit D0 /5 operand right 1 bit. Shift 8-bit D2 /5 operand right specified in the CL register.
  • Page 228 SUB EAX,imm32 SUB RAX,imm32 SUB reg/mem8,imm8 SUB reg/mem16,imm16 SUB reg/mem32,imm32 SUB reg/mem64,imm32 SUB reg/mem16,imm8 SUB reg/mem32,imm8 SUB reg/mem64,imm8 AMD Confidential Instruction Opcode Description Shift bits of a 64-bit destination register memory 0F AD /r right the number of bits specified in the CL register, while shifting in bits from the second operand.
  • Page 229 TEST AL,imm8 TEST AX,imm16 TEST EAX,imm32 TEST RAX,imm32 TEST reg/mem8,imm8 TEST reg/mem16,imm16 TEST reg/mem32,imm32 TEST reg/mem64,imm32 TEST reg/mem8,reg8 TEST reg/mem16,reg16 TEST reg/mem32,reg32 Appendix A AMD Confidential Instruction Opcode Description Subtract contents 28 /r register from register or memory location. Subtract contents...
  • Page 230 XCHG reg/mem8,reg8 XCHG reg8,reg/mem8 XCHG reg/mem16,reg16 XCHG reg16,reg/mem16 XCHG reg/mem32,reg32 XCHG reg32,reg/mem32 XCHG reg/mem64,reg64 XCHG reg64,reg/mem64 XLAT mem8 AMD Confidential Instruction Opcode Description AND the contents of a 64-bit register with contents 85 /r register or memory operand and set rFLAGS to reflect the result.
  • Page 231 XOR reg/mem64,imm32 XOR reg/mem16,imm8 XOR reg/mem32,imm8 XOR reg/mem64,imm8 XOR reg/mem8,reg8 XOR reg/mem16,reg16 XOR reg/mem32,reg32 Appendix A AMD Confidential Instruction Opcode Description Set AL to the contents of DS:[rBX + unsigned AL]. contents 34 ib immediate 8-bit operand and store the result in AL.
  • Page 232: System Instructions

    INVD 0F 08 INVLPG mem8 0F 01 /7 IRET In 64-bit mode, this opcode (0x63) is used for the MOVSXD instruction. See Section A.6.3.1, “INT – Interrupt to Vector”, on page 225. AMD Confidential Instruction Opcode Description contents destination register...
  • Page 233 RDTSC 0F 31 0F AA See Section A.6.3.2, “IRET – Return from Interrupt”, on page 225. Appendix A AMD Confidential Instruction Description Return from interrupt (32-bit operand size). Return from interrupt (64-bit operand size). Reads the GDT/LDT descriptor referenced by...
  • Page 234: Int - Interrupt To Vector

    WRMSR 0F 30 Table 15-9: System Instruction Reference A.6.3.1 INT – Interrupt to Vector Opcode Instruction INT imm8 INT 3 AMD Confidential Instruction Description Store global descriptor table register to memory. Store global descriptor table register to memory. Store interrupt descriptor table register to memory.
  • Page 235: Iret - Return From Interrupt

    Most of the instructions operate in parallel on sets of packed elements called vectors, although some operate on scalars. The instructions define both integer and floating-point operations, and include the legacy MMX instructions and the AMD extensions to the MMX instruction set.
  • Page 236: 3Dnow!™ Instruction Set

    PFRCP mmreg1,mmreg2/m64 PFRCPIT1 mmreg1,mmreg2/m64 PFRCPIT2 mmreg1,mmreg2/m64 PFRSQIT1 mmreg1,mmreg2/m64 PFRSQRT mmreg1,mmreg2/m64 PFSUB mmreg1,mmreg2/m64 PFSUBR mmreg1,mmreg2/m64 PI2FD mmreg1,mmreg2/m64 PMULHRW mmreg1,mmreg2/m64 PREFETCH/PREFETCHW Table 15-10: 3DNow!™ Instruction Reference AMD Confidential Instruction Description Converts packed floating-point values register or 128-bit memory location to packed doubleword integers the destination MMX™...
  • Page 237: Extension To The 3Dnow! Instruction Set

    F2 0F 7C /r HSUBPD xmm1,xmm2/m128 66 0F 7D /r HSUBPS xmm1,xmm2/m128 F2 0F 7D /r LDDQU xmm,m128 F2 0F F0 /r Appendix A AMD Confidential Instruction Opcode Description Packed floating-point 0F 0F /1C word conversion with sign extend. Packed...
  • Page 238: Monitor - Setup Monitor Address

    The simulator does not recognize this instruction. Therefore the simulator generates an invalid-opcode exception. See Section A.6.8.1, “MONITOR – Setup Monitor Address”, on page 228. See Section A.6.8.2, “MWAIT – Monitor Wait”, on page 229. AMD Confidential Instruction Opcode Description...
  • Page 239: Automation Commands

    DVDROMStatus command to the second IDE controller, you would use: 1 simnow> ide:1.DVDROMStatus 0 Omitting the colon and the device number causes the simulator to assume device 0. The following two commands are equivalent: Appendix A AMD Confidential Figure 15-1: Console Window November 21 , 2008...
  • Page 240: Shell

    A.7.1 Shell To list all registered shell commands enter 1 simnow> shell.usage Automation Command ECHO <Value> Exit AMD Confidential Description Execute automation commands in [file]. List shell automation commands, same as “shell.usage”. Create a new SimNow machine, and make that machine the “current”...
  • Page 241 LoggingEnabled <Device Name> ErrorLogFile SetErrorLogFile <filename> ErrorLogFileEnabled SetErrorLogFileEnabled <0|1> Appendix A AMD Confidential Description See Exit. Starts the simulation, see also Section 3.1, “Tool Bar Buttons”, on page 7. Stops the simulation, see also Section 3.1, “Tool Bar Buttons”, on page 7. The Stop command does not return until the simulation has in fact stopped or the stop has failed.
  • Page 242 MoveDevice <Device Name> <x> <y> Location DumpRegistry SetMPQuantum <time (nanoseconds)> GetMPQuantum GDB -d [[udp|tcp][::] [<port>]] AMD Confidential Description Set the memory dump file name. Resets the simulation, see also Section 3.1, “Tool Bar Buttons”, on page 7. Lists all created devices.
  • Page 243 ForceSingleStep <0 | 1> XTRInstDmpFile <FileName> LogIO <device> | <all> <feature> | reset <0 | 1> Appendix A AMD Confidential Description Switches CPU model from X86Sim to AweSim or the other way around. Returns „true‟ if module is present; otherwise it returns „false‟.
  • Page 244: Ide

    SetSyncQuantum <time (nanoseconds)> GetSyncQuantum A.7.2 IDE 1 simnow> ide.usage Automation Command Image {master|slave|0|1} <filename> GetImage {master|slave|0|1} Journal {master|slave|0|1} {off|on|0|1} AMD Confidential Description Returns IO logging status of <device>. For example, GetLogIO "USB Jumpdrive" returns the following information: PCI: Disabled Disabled...
  • Page 245: Usb

    A.7.3 USB 1 simnow> usb.usage Automation Command log (enable|disable) {mifsopt} Appendix A AMD Confidential Description Returns enabled or disabled if journaling is enabled or disabled for specified drive. Returns the journal size for specified dirve. Saves the contents of the primary or slave disk journal to a file.
  • Page 246: Cmos

    1 simnow> debug.usage Automation Command Enables the Debugger and opens a debug dialog window, if GUI Enable is enabled. AMD Confidential Description Loads CMOS data stored at „filepath‟. For example „cmos.load c:\cmos.dat‟. Saves CMOS data to „filepath‟, e.g. „cmos.save c:\cmos.dat‟...
  • Page 247: Amd-8151™ Agp Bridge

    Displays the current configuration. A.7.8 AMD-8151™ AGP Bridge 1 simnow> amd8151.usage Automation Command Sets the internal Chip revision number of the AMD-8151 AGP SetRev <Rev> device, value must be between 1 and 255. Gets the internal Chip revision number of the AMD-8151 AGP GetRev device.
  • Page 248 Returns information regarding how the simulated serial port is configured. The result will be either: GetCommPort This only applies to the Windows® version of the simulator and not to the Linux version. AMD Confidential Description  \\.\pipe\SimNow.COMn This indicates that data is being transported through a named-pipe with the given name.
  • Page 249: Hypertransport™ Technology Configuration

    Link (0|1|2) (0|1) LinkStatus (0|1|2) LinkWidth (0|1|2) (8|16) GetLinkWidth (0|1|2) GetConfig LogDMA (0|1) Appendix A AMD Confidential Description  pipe Tells the simulator to use a named-pipe as the method of transport for serial data to/from the simulated machine. pipe...
  • Page 250: Generation Northbridge

    LogHT (0|1) HTLogStatus LogPCIConfig (0|1) PCILogStatus GetConfig ProductFile <FileName> A.7.13 1 simnow> dbc.usage Automation Command GetParam SetParam <size> <depth> <bits> AMD-8111™ Device A.7.14 1 simnow> 8111.usage Automation Command BaseID (00|01) GetBaseID HtInterrupts (0|1) HtIntStatus IoLog (0|1) IoLogStatus MemLog (0|1) MemLogStatus...
  • Page 251: Ehc

    DumpProfile [<blocks-to-dump>] A.7.17.1 Profiling in SimNow™ Technology Here is an example use of the profiling command and its output: Appendix A AMD Confidential Displays the current AMD-8111 configuration. Description Enables or disables Memory (m) and PCI Configuration (p) logging. Description Returns „Super Block Size‟, „Index Block Size‟, „Index...
  • Page 252 The sense of time that the simulator uses is quite simple, each instruction takes one "instruction count", with REP instructions taking one extra count per iteration. Therefore, profiles from the simulator can differ substantially from those obtained from other tools. AMD Confidential eip=00000000000041de eip=000000000000fd99 eip=00000000000074b2...
  • Page 253: Cpu Code Generator Commands

    A.7.18 Emerald Graphics 1 simnow> emerald.usage Automation Command FrameBufSize <size> FrameBufGetSize Accel (0|1) GetAccel VBE (0|1) Appendix A AMD Confidential Description Displays overview commands. Displays current configurable code generator parameters. Displays the current value of <parameter>, e.g., “cpu.codegen param FastFloat”.
  • Page 254: Matrox Mga-G400 Graphics

    BreakOnLock (0|1) GetLockStatus BreakOnRead (0|1) GetReadStatus BreakOnWrite (0|1) GetWriteStatus GetConfig AMD Confidential Description Returns true if VESA BIOS Extensions is enabled; otherwise it returns false. Description Enables (1) or disables (0) the texture units. By default the texture units are disabled.
  • Page 255: Memory Device

    GetSystemBios MemAddrMask <0|1> GetAddrMask InitValEnable <0|1> InitVal <hex value> Appendix A AMD Confidential Description Creates file „filename‟ and saves the contents of the currently loaded ROM „to filename‟. Loads the specified MemDevice „filename‟ to defined address „BaseAddress‟. „Value‟ is the base address of the device in hex.
  • Page 256: Raid

    DeleteVolume <Vol #> Sync Type {5304|5312} Image <Vol #> <Image file> GetImage <Vol #> AMD Confidential Description Displays information if the initializer is used and if the memory initialization is activated. Sets memory region to cacheable (0) or non-cacheable (1).
  • Page 257: Dimm

    GetOutOfRangeResp SMBBaseAddr <addr> GetSMBBase ImportSPD <DimmNo> <fullpath> Appendix A AMD Confidential Description Enables (1) or disables journaling for specified volume. Creates a journal for the given volume number (For file- based journal: raid.addjournal 0 i:\c0d0j1.jrn; for in- memory journal: raid.addjournal 0).
  • Page 258: Keyboard And Mouse

    USB keyboard rather than the old keyboard. 1 simnow> keyboard.usage Automation Command Key <XX> [XX...] AMD Confidential Description ExportSPD provides the option of saving SPD ROM data from DimmNo to the file specified by “fullpath”. The file format is an unformatted binary image, with an extension of ”.spd”.
  • Page 259: Jumpdrive

    Automation Command LoadImage <HostFileName> SaveImage <HostFileName> ImportFile <HostFileName> <ImageFileName> ExportFile <ImageFileName> <HostFileName> Appendix A AMD Confidential Moves the mouse cursor to relative position DeltaX and DeltaY. Generates a left-mouse-button-down event. Generates a right-mouse-button-down event. Generates a left-mouse-button-up event. Generates a right-mouse-button-up event.
  • Page 260 “\tmp“ directory. If the “\tmp“ directory does not exits on the JumpDrive, it is created automatically. 1 simnow>jumpdrive.importfile c:\test.bin \tmp\test.bin 62.99 Mbytes Available AMD Confidential Description Initialize the jump drive image with a single partition of the requested size specified by <SizeInMB>. The JumpDrive supports image-sizes from 64-Mbytes to 8192-Mbytes (8-Gbytes).
  • Page 261 To save the contents of the JumpDrive to the image file “C:\test.img” on the host‟s hard- disk, enter 1 simnow>jumpdrive.saveimage c:\test.img This example shows how to load the saved JumpDrive image “C:\test.img” from the host‟s hard-disk into the JumpDrive Appendix A AMD Confidential November 21 , 2008...
  • Page 262: E1000

    A.7.28 XTR 1 simnow> xtrnb.usage Automation Command xtrfile <filename.xml> debug <0|1> AMD Confidential Description Enables or disables message logging for PCI Config (c), MMIO (m), I/O (o), Unmasked Interrupts (i), MDI (d), Frame Transfers (t), or Frame Receptions (r).
  • Page 263: Ati Sb400/Sb600/Sb700

    GetPciIrqMap {BasePciIrq(0-3)} GetPciIrqTotal A.7.30 ATI RS480 1 simnow> rs780.usage Appendix A AMD Confidential Description Sets name of the log file where XTR messages should be logged. This is optional and if not used the log is directed to the simulators log.
  • Page 264: Ati Rs780

    Automation Command SetRev <rev > GetRev Version SetPackageType <RD890S | RD890 | RD870S | RX880> GetPackageType AMD Confidential Description Sets the internal chip revision number of RS480 device to <rev>. Displays the internal chip revision number of the RS480 device. Description Sets the internal chip revision number of RS780 device to <rev>.
  • Page 265 AMD Confidential User Manual November 21 , 2008 Appendix A...
  • Page 266: Index

    AMD Confidential User Manual November 21 , 2008 This page is intentionally blank. Appendix A...
  • Page 267 ACPI ... 8 Address-Translation Cache... 30 AGP ... 65, 69 AMD 3DNow!™ Technology ... 220 AMD 8th Generation Integrated Northbridge .. 86 AMD-8111™ Device ... 90 AMD-8132™ PCI-X® Controller ... 14, 99 AMD-8151™ Device ... 102 AT24C Device ... 14, 107 Base Address ...
  • Page 268 Performance-Monitoring Counter ... 219 Physical Drives ... 162 Play ... 7 PnP Monitor ... 130 DDC ... 130 VESA ... 130 POST ... 29 AMD Confidential Prescott New Instruction ...221 PS/2 mouse ...78 RAID ...104 Memory Device ...81 Size ...168 RDPMC ...184 Reset ...7, 45...
  • Page 269 User Manual XTR ... 110 Playback... 111 Index AMD Confidential Recording ...111 Stop Recording ...111 XVGA ... 65, 69 November 21 , 2008...

Table of Contents