AMD SimNow Simulator 4.4.4 User Manual
AMD SimNow Simulator 4.4.4 User Manual

AMD SimNow Simulator 4.4.4 User Manual

Amd simnow simulator user 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.4
User's Manual
Revision
2.00
Date
September 2008

Advertisement

Table of Contents
loading

Summary of Contents for AMD SimNow Simulator 4.4.4

  • Page 1 AMD SimNow™ Simulator User’s Manual Revision 2.00 Advanced Micro Devices, Inc. One AMD Place Sunnyvale, CA 94088 simnow@amd.com 4.4.4 Date September 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

    Translation Graph... 25 3.4.2.2 Real MIPS Graph ... 25 3.4.2.3 Invalidation Rate Graph ... 26 3.4.2.4 Exception Rate Graph ... 26 3.4.2.5 PIO Rate Graph ... 26 3.4.2.6 MMIO Rate Graph ... 27 Contents AMD Confidential September 12 , 2008...
  • Page 4 Super IO Devices: Winbond W83627HF SIO / ITE 8712 SIO ... 74 Memory Device ... 77 PCA9548 SMB Device ... 80 PCA9556 SMB Device ... 81 7.10 AMD 8th Generation Integrated Northbridge Device ... 82 AMD-8111™ Southbridge Devices – IO Hubs ... 86 7.11 7.12 PCI BUS Device ... 92 AMD-8131™...
  • Page 5 ATI SB400/SB600/SB700 Southbridge Devices... 128 7.27 ATI RS480/RS780/RD790/RD890 Northbridge Devices ... 130 AMD “Istanbul” Device ... 131 7.28 AMD “Sao Paulo” Device ... 132 7.29 AMD “Magny-Cours” Device ... 133 7.30 PCI Configuration Viewer ... 135 Scanning PCI Buses ... 136 Modifying the PCI Configuration contents...
  • Page 6 Supported Guest Operating Systems ... 187 CPUID... 188 A.4.1 CPUID Standard Feature Support (Standard Function 0x01) ... 188 A.4.2 CPUID AMD Feature Support (Extended Function 0x80000001)... 189 Known Issues ... 190 A.5.1 FSAVE/FRSTOR and FSTENV/FLDENV ... 190 A.5.2 Triple Faulting ... 190 A.5.3...
  • Page 7 USB ... 236 A.7.4 CMOS ... 237 A.7.5 ACPI ... 237 A.7.6 Floppy ... 237 A.7.7 Debug ... 237 AMD-8151™ AGP Bridge ... 238 A.7.8 A.7.9 VGA ... 238 A.7.10 Serial ... 238 HyperTransport™ Technology Configuration ... 240 A.7.11 A.7.12 Generation Northbridge ...
  • Page 9: Figures

    Figure 7-4: AweSim Processor-Type Properties ... 52 Figure 7-5: AweSim Processor Logging Properties Dialog ... 53 Figure 7-6: AMD Opteron™ Processor Virtual Bank-Select Line Configuration ... 56 Figure 7-7: AMD Athlon™ 64 Processor Bank-Select Line Configuration ... 56 Figure 7-8: DIMM-Bank Options Properties Dialog ... 58 Figure 7-9: DIMM Module Properties Dialog ...
  • Page 10 Figure 7-23: USB Properties Dialog (AMD-8111™ Southbridge) ... 87 Figure 7-24: CMOS Properties Dialog (AMD-8111™ Southbridge) ... 88 Figure 7-25: HDD Primary Channel Properties Dialog (AMD-8111 Southbridge) ... 89 Figure 7-26: Device Options Properties Dialog (AMD-8111 chipset) ... 90 Figure 7-27: Logging Options Properties Dialog (AMD-8111 chipset) ... 91 Figure 7-28: PCI Bus Properties Dialog ...
  • Page 11 AMD Confidential User Manual September 12 , 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 September 12 , 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 September 12 , 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 represents the automation command (please refer to Section A.7, “Automation Chapter 2: Installation AMD Confidential September 12 , 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 169 or contact your AMD account representative. Appendixes are provided that describe:  Format of Floppy and Hard-Drive Images, page 183 ...
  • 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 September 12 , 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 45. 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 September 12 , 2008...
  • Page 22: Add A New Device

    AMD Confidential User Manual September 12 , 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 September 12 , 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 September 12 , 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

    - devices are inside groups; arrows represent possible port connections between sibling devices: Machine Group Group Library Library Library Figure 3-7: Device group (different conceptual view – devices are inside groups) Chapter 3: Graphical User Interface AMD Confidential Machine Group Library Library Library Group Library Library September 12...
  • Page 30: Working With Device Groups

    AMD Confidential User Manual September 12 , 2008 The previous diagrams show child devices inside device groups. On the standard top level view (the context of inside the machine device), we would more simply just see three devices, see Figure 3-8 (arrows represent possible port connections between the devices).
  • 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

    Device groups can be a powerful building block for SimNow users. These next examples should help give further understanding about device groups, and demonstrate some practical uses. AMD Confidential ". Also notice that our default 4 core Node #0 ” or “...
  • Page 33: Example: 1Gb Ddr2 Memory

    GUI would look like this: Figure 3-12: Created DIMM Device Group The device GUI for the children of “Dimm DDR2 1GBx2 #0” would look like this: Chapter 3: Graphical User Interface AMD Confidential Configured as DDR2, 2 dimm (1GB each) September 12...
  • 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

    In this release of SimNow, the ability to create a device group is not yet exposed. 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.
  • Page 37: Cpu-Statistics Graphs

    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. Chapter 3: Graphical User Interface AMD Confidential September 12 , 2008 These three lines of...
  • Page 38: Invalidation Rate Graph

    A rate of zero will appear as a horizontal line one pixel high. Full scale represents one PIO per ten simulated AMD Confidential Chapter 3: Graphical User Interface September 12...
  • Page 39: 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. Chapter 3: Graphical User Interface AMD Confidential September 12 , 2008 Write PIO’s.
  • Page 40: 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. AMD Confidential File Extension *.hdd *.fdd *.iso...
  • Page 41: 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 42 AMD Confidential User Manual September 12 , 2008 Chapter 3: Graphical User Interface...
  • Page 43: 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 September 12 , 2008...
  • Page 44 AMD Confidential User Manual September 12 , 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 45 AMD Confidential User Manual September 12 , 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 46 AMD Confidential User Manual September 12 , 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 47: 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-14) that is used for text interaction.
  • Page 48: 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 25), the top row...
  • Page 49 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 50: Installing An Operating System

    AMD Confidential User Manual September 12 , 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 51 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 52: 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 September 12 , 2008...
  • Page 53: Interaction With The Simulated Machine

    Table 5-2 describes the arguments provided by the newmachine command. Argument --nogui --gui --novga --vga Chapter 5: Running the Simulator AMD Confidential Description Disable Graphical User Interface (GUI). Enable Graphical User Interface (GUI). Enable console mode. Disable VGA Window. Enable VGA Window.
  • Page 54 See also Section 5.1, “Command-Line Arguments”, on page 35 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 AMD Confidential Description simulator. Enable mouse and keyboard inputs to simulator.
  • Page 55 AMD Confidential User Manual September 12 , 2008 2 simnow> This example exits the simulated machine „1‟. Chapter 5: Running the Simulator...
  • Page 56 AMD Confidential User Manual September 12 , 2008 This page is intentionally blank. Chapter 5: Running the Simulator...
  • Page 57: Create A Simulated Computer

    AMD Confidential User Manual September 12 , 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 58 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 59: 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 60: Save And Run

    All that remains is to set up disk images (see Section 4.1, “Creating A Blank Hard-Drive Image”, on page 31, Section 5.2.1, “Assigning Disk-Images”, on page 38, and Section 13, “DiskTool”, on page 157) and run the simulation. AMD Confidential Chapter 6: Create a Simulated Computer September 12...
  • Page 61: 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 62 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 63: 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 185.
  • Page 64 AMD Confidential User Manual September 12 , 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 65 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 66: Debugger Device

    To use the CPU Debugger, please refer to Section 10.1, “Using the CPU Debugger”, on page 143. Log Messages This device does not create log messages. AMD Confidential Chapter 7: Device Configuration September 12 , 2008...
  • Page 67: 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 68 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 69 AMD Confidential User Manual September 12 , 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 70 AMD Confidential User Manual September 12 , 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 71 AMD Confidential User Manual September 12 , 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 72 AMD Confidential User Manual September 12 , 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 73: Emerald Graphics Device

    AMD Confidential User Manual September 12 , 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 74 AMD Confidential User Manual September 12 , 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 75 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 76 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 77: 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 78 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 September 12 , 2008...
  • Page 79 AMD Confidential User Manual September 12 , 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 80 AMD Confidential User Manual September 12 , 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 81 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 September 12 , 2008...
  • Page 82 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 83 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 84 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 85 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 September 12 , 2008...
  • Page 86: 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 September 12 , 2008...
  • Page 87 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 September 12 , 2008...
  • Page 88 AMD Confidential User Manual September 12 , 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 157. 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 89: Memory Device

    AMD Confidential User Manual September 12 , 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 90 AMD Confidential User Manual September 12 , 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 91 AMD Confidential User Manual September 12 , 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 92: Pca9548 Smb Device

    AMD Confidential User Manual September 12 , 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 93: Pca9556 Smb Device

    AMD Confidential User Manual September 12 , 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 94: 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 95 AMD Confidential User Manual September 12 , 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 96 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 97 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 September 12 , 2008...
  • Page 98: 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 99 September 12 , 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 100 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 101 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 102 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 103 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 104: 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 105 AMD Confidential User Manual September 12 , 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 106: 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 107: 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 108 AMD Confidential User Manual September 12 , 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 109: 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 110: 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 111 AMD Confidential User Manual September 12 , 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 112: 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 113: Smb Hub Device

    AMD Confidential User Manual September 12 , 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 114 AMD Confidential User Manual September 12 , 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 115: At24C Device

    AMD Confidential User Manual September 12 , 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 116: 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 September 12 , 2008...
  • Page 117: Usb Keyboard And Usb Mouse Devices

    AMD Confidential User Manual September 12 , 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 118: 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 September 12...
  • Page 119: Using Xtr

    AMD Confidential User Manual September 12 , 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 253. 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 120: 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 121 AMD Confidential User Manual September 12 , 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 122: Xtr Structure

    AMD Confidential User Manual September 12 , 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 123 <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 September 12 , 2008...
  • Page 124: 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 125: 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 126 <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 September 12 , 2008...
  • Page 127 <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 September 12 , 2008...
  • Page 128 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 September 12 , 2008...
  • Page 129 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 September 12 , 2008...
  • Page 130 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 September 12 , 2008...
  • Page 131: 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 132: 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 September 12...
  • Page 133: 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 134: 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 September 12 , 2008...
  • Page 135: 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 September 12 , 2008...
  • Page 136: 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 September 12 , 2008...
  • Page 137: 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 September 12...
  • Page 138: Plug And Play Monitor Device

    AMD Confidential User Manual September 12 , 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 139 AMD Confidential User Manual September 12 , 2008 Figure 7-35: Plug and Play Monitor Device Configuration Chapter 7: Device Configuration...
  • Page 140: 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 86.
  • Page 141 AMD Confidential User Manual September 12 , 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 142: Ati Rs480/Rs780/Rd790/Rd890 Northbridge Devices

    AMD Confidential User Manual September 12 , 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 143: 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 144: 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 145: 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 146 AMD Confidential User Manual September 12 , 2008 This page is intentionally blank. Chapter 7: Device Configuration...
  • Page 147: 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 September 12 , 2008 List of all PCI devices configuration- space...
  • Page 148: Scanning Pci Buses

    AMD Confidential User Manual September 12 , 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 149: 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 September 12 , 2008...
  • Page 150 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 151: Error Log

    AMD Confidential User Manual September 12 , 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 152: 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 September 12...
  • Page 153 AMD Confidential User Manual September 12 , 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 154 AMD Confidential User Manual September 12 , 2008 This page is intentionally blank. Chapter 9: Logging...
  • Page 155: 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 September 12 , 2008...
  • Page 156: 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 157: 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 158: 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 159: 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 160 <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 161 [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 162 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 163: 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 164: 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 165: 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 September 12 , 2008...
  • Page 166 AMD Confidential User Manual September 12 , 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 167: 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 September 12 , 2008...
  • Page 168 "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 September 12 , 2008...
  • Page 169: 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 September 12 , 2008...
  • Page 170: 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 September 12 , 2008 Chapter 13: DiskTool...
  • Page 171 AMD Confidential User Manual September 12 , 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 172 AMD Confidential User Manual September 12 , 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 173 AMD Confidential User Manual September 12 , 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 174 AMD Confidential User Manual September 12 , 2008 This page is intentionally blank. Chapter 13: DiskTool...
  • Page 175: 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 September 12 , 2008...
  • Page 176: 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 September 12 , 2008...
  • Page 177: 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 September 12...
  • Page 178: 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 September 12 , 2008...
  • Page 179: Creating A Floppy-Disk Image

    AMD Confidential User Manual September 12 , 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 157.
  • Page 180 AMD Confidential User Manual September 12 , 2008 This page is intentionally blank. Chapter 14: BIOS Developer‟s Quick Start Guide...
  • Page 181: Frequently Asked Questions (Faq)

    AMD Confidential User Manual September 12 , 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 182 AMD Confidential User Manual September 12 , 2008 Device grouping tree node relationships: Because of device grouping, created devices in a BSD are nodes in a tree, with parents and children, siblings, and end/root tree node relationships. Device connection relationships: Because of device connections, a sibling device can be connected to another sibling device at a connection port of each device.
  • Page 183 AMD Confidential User Manual September 12 , 2008 Figure 3-7: Device group (different conceptual view – devices are inside groups) The previous diagrams show child devices inside device groups. On the standard top level view (the context of inside the machine device), we would more simply just see three devices, see Figure 3-8 (arrows represent possible port connections between the devices).
  • Page 184 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 185 In this example, all other child devices of " options. 1 simnow> shell.GetLogIO "4 core Node #0" PCI: Disabled Disabled Chapter 15: Frequently Asked Questions (FAQ) AMD Confidential ". Also notice that our default 4 core Node #0 ” or “ shell.Location shell.AddDevice shell.GetFastPath...
  • Page 186 “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: AMD Confidential Chapter 15: Frequently Asked Questions (FAQ) September 12...
  • Page 187 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 188 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 189 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 190 AMD Confidential User Manual September 12 , 2008 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 A.2.1, “Computer Platform Files”, on page 184.
  • Page 191 AMD Confidential User Manual September 12 , 2008 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 off.
  • Page 192 AMD Confidential User Manual September 12 , 2008 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 DVD-/CD-ROM is "not ready", and it more correctly detects that the...
  • Page 193: A Appendix

    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 147). Appendix A AMD Confidential September 12 , 2008...
  • Page 194: 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 195: 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 196: A.2.4.2 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 197: A.3 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 198: 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 199: 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 200: 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 September 12 , 2008...
  • Page 201 AMD Confidential User Manual September 12 , 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 202: 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 203  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 September 12 , 2008...
  • Page 204: 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 205: General Purpose Instructions

    ADD reg/mem16,imm8 ADD reg/mem32,imm8 ADD reg/mem64,imm8 ADD reg/mem8,reg8 ADD reg/mem16,reg16 ADD reg/mem32,reg32 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 206 AND reg64,reg/mem64 BOUND reg16,mem16&mem16 BOUND reg32,mem32&mem32 BSF reg16,reg/mmem8 BSF reg32,reg/mmem32 BSF reg64,reg/mmem64 BSR reg16,reg/mmem8 BSR reg32,reg/mmem32 BSR reg64,reg/mmem64 AMD Confidential Instruction Opcode Description 01 /r Add reg64 to reg/mem64. 02 /r Add reg/mem8 to reg8. 03 /r Add reg/mem16 to reg16.
  • Page 207 BTS reg/mem64,reg64 BTS reg/mem16,imm8 BTS reg/mem32,imm8 BTS reg/mem64,imm8 CALL rel16off CALL rel32off CALL reg/mem16 Appendix A AMD Confidential Instruction Opcode Description 0F C8 +rd Reverse the byte order of reg32. 0F C8 +rd Reverse the byte order of reg64. Copy the value of the selected bit to 0F A3 /r the carry flag.
  • Page 208 CMOVAE reg64,reg/mem64 CMOVZ reg16,reg/mem16 CMOVZ reg32,reg/mem32 CMOVZ reg64,reg/mem64 CMOVE reg16,reg/mem16 CMOVE reg32,reg/mem32 CMOVE reg64,reg/mem64 CMOVNZ reg16,reg/mem16 CMOVNZ reg32,reg/mem32 AMD Confidential Instruction Opcode Description Near call with the target specified FF /2 by reg/mem32. Near call with the target specified FF /2 by reg/mem64.
  • Page 209 CMOVNL reg32,reg/mem32 CMOVNL reg64,reg/mem64 CMOVGE reg16,reg/mem16 CMOVGE reg32,reg/mem32 CMOVGE reg64,reg/mem64 CMOVLE reg16,reg/mem16 CMOVLE reg32,reg/mem32 Appendix A AMD Confidential Instruction Opcode Description 0F 45 /r Move if not zero (ZF = 0). 0F 45 /r Move if not equal (ZF = 0).
  • Page 210 CMP reg/mem32,reg32 CMP reg/mem64,reg64 CMP reg8,reg/mem8 CMP reg16,reg/mem16 CMP reg32,reg/mem32 CMP reg64,reg/mem64 CMPS mem8,mem8 AMD Confidential Instruction Opcode Description Move if less or equal (ZF = 1 or SF 0F 4E /r <> OF). Move if less not greater (ZF = 1 or 0F 4E /r SF <>...
  • Page 211 DEC reg/mem32 DEC reg/mem64 DEC reg16 DEC reg32 DIV reg/mem8 DIV reg/mem16 Appendix A AMD Confidential Instruction Opcode Description Compare the word at DS:rSI with the word at ES:rDI and then increment or decrement rSI and rDI. Compare the doubleword at DS:rSI with doubleword increment or decrement rSI and rDI.
  • Page 212 IMUL reg/mem8 IMUL reg/mem16 IMUL reg/mem32 IMUL reg/mem64 IMUL reg16,reg/mem16 IMUL reg32,reg/mem32 IMUL reg64,reg/mem64 IMUL reg16,reg/mem16,imm8 IMUL reg32,reg/mem32,imm8 AMD Confidential Instruction Opcode Description Perform unsigned division of EDX:EAX by the contents of a 32-bit register F7 /6 memory location quotient in EAX and the remainder in EDX.
  • Page 213 INC reg16 INC reg32 INS mem8,DX INS mem16,DX INS mem32,DX INSB INSW INSD INT imm8 Appendix A AMD Confidential Instruction Opcode Description Multiply contents register or memory operand by a sign- 6B /r ib extended immediate byte and put the signed result destination register.
  • Page 214 JNA rel8off JNA rel16off JNA rel32off JNBE rel8off JNBE rel16off JNBE rel32off JA rel8off JA rel16off JA rel32off AMD Confidential Instruction Opcode Description Calls overflow overflow flag is set. 80 cb Jump if overflow (OF = 1). 0F 80 cw Jump if overflow (OF = 1).
  • Page 215 JG rel8off JG rel16off JG rel32off JCXZ rel8off JCXZ rel16off JCXZ rel32off JMP rel8off Appendix A AMD Confidential Instruction Opcode Description 78 cb Jump if sign (SF = 1). 0F 88 cw Jump if sign (SF = 1). 0F 88 cd Jump if sign (SF = 1).
  • Page 216 LODS mem8 LODS mem16 LODS mem32 LODS mem64 LODSB LODSW LODSD LODSQ LOOP rel8off AMD Confidential Instruction Opcode Description Short jump with the target specified E9 cw by a 16-bit signed displacement. Short jump with the target specified E9 cd by a 32-bit signed displacement.
  • Page 217 MOV reg64,imm64 MOV reg/mem8,imm8 MOV reg/mem16,imm16 MOV reg/mem32,imm32 MOV reg/mem64,imm64 MOVD xmm,reg/mem32 Appendix A AMD Confidential Instruction Opcode Description Decrement rCX and then jump short if E1 cb rCX is not 0 and ZF is 1. Decrement rCX and then jump short if E0 cb rCX is not 0 and ZF is 0.
  • Page 218 MOVS mem32,mem32 MOVS mem64,mem64 MOVSB MOVSW MOVSD MOVSQ MOVSX reg16,reg/mem8 MOVSX reg32,reg/mem8 MOVSX reg64,reg/mem8 MOVSX reg32,reg/mem16 MOVSX reg64,reg/mem16 MOVSXD reg64,reg/mem32 AMD Confidential Instruction Opcode Description Move 64-bit value 66 0F 6E /r purpose register location to an XMM register. Move...
  • Page 219 OR AX,imm16 OR EAX,imm32 OR RAX,imm64 OR reg/mem8,imm8 OR reg/mem16,imm16 OR reg/mem32,imm32 OR reg/mem64,imm32 OR reg/mem16,imm8 Appendix A AMD Confidential Instruction Opcode Description Move contents 0F B6 /r register or memory operand to a 16- bit register with zero-extension. Move...
  • Page 220 OUTSW OUTSD POP reg/mem16 POP reg/mem32 POP reg/mem64 POP reg16 POP reg32 POP reg64 AMD Confidential Instruction Opcode Description OR the contents of a 32-bit register 83 /1 ib or memory operand and a sign-extended immediate 8-bit value. OR the contents of a 64-bit register...
  • Page 221 PUSH FS PUSH GS PUSHF PUSHFD PUSHFQ RCL reg/mem8,1 RCL reg/mem8,CL Appendix A AMD Confidential Instruction Opcode Description Pop the top of the stack into the DS register. Pop the top of the stack into the ES register. Pop the top of the stack into the SS register.
  • Page 222 RCR reg/mem8,imm8 RCR reg/mem16,1 RCR reg/mem16,CL RCR reg/mem16,imm8 RCR reg/mem32,1 RCR reg/mem32,CL RCR reg/mem32,imm8 AMD Confidential Instruction Opcode Description Rotate the 9 bits consisting of the carry flag and an 8-bit register or C0 /2 ib memory location left the number of bits specified by an 8-bit immediate value.
  • Page 223 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 D1 /3 carry flag and a 64-bit register or memory location right 1 bit.
  • Page 224 SAL reg/mem64,1 SAL reg/mem64,CL SAL reg/mem64,imm8 SHL reg/mem8,1 SHL reg/mem8,CL SHL reg/mem8,imm8 SHL reg/mem16,1 SHL reg/mem16,CL 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 225 SAR reg/mem32,imm8 SAR reg/mem64,1 SAR reg/mem64,CL SAR reg/mem64,imm8 SBB AL,imm8 SBB AX,imm16 SBB EAX,imm32 SBB RAX,imm32 SBB reg/mem8,imm8 SBB reg/mem16,imm16 SBB reg/mem32,imm32 Appendix A AMD Confidential Instruction Opcode Description Shift 16-bit location left C1 /4 ib specified value. Shift 32-bit D1 /4 location left 1 bit.
  • Page 226 SCAS mem32 SCAS mem64 SCASB SCASW SCASD SCASQ SETO reg/mem8 SETNO reg/mem8 SETB reg/mem8 SETC reg/mem8 SETNAE reg/mem8 AMD Confidential Instruction Opcode Description Subtract sign-extended 81 /3 id 32-bit value from a 64-bit register or memory location with borrow. Subtract immediate...
  • Page 227 SHL reg/mem16,CL SHL reg/mem16,imm8 SHL reg/mem32,1 SHL reg/mem32,CL SHL reg/mem32,imm8 SHL reg/mem64,1 SHL reg/mem64,CL Appendix A AMD Confidential Instruction Opcode Description 0F 93 Set byte if not below (CF = 0). 0F 93 Set byte if not carry (CF = 0).
  • Page 228 SHR reg/mem8,CL SHR reg/mem8,imm8 SHR reg/mem16,1 SHR reg/mem16,CL SHR reg/mem16,imm8 SHR reg/mem32,1 SHR reg/mem32,CL SHR reg/mem32,imm8 SHR reg/mem64,1 SHR reg/mem64,CL SHR reg/mem64,imm8 AMD Confidential Instruction Opcode Description Shift 64-bit location left C1 /4 ib specified value. Shift bits of a 16-bit destination...
  • Page 229 STOSW STOSD STOSQ SUB AL,imm8 SUB AX,imm16 SUB EAX,imm32 SUB RAX,imm32 SUB reg/mem8,imm8 Appendix A AMD Confidential Instruction Opcode Description Shift bits of a 16-bit destination register memory right the number of bits specified in 0F AC /r ib 8-bit...
  • Page 230 SUB reg64,reg/mem64 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 AMD Confidential Instruction Opcode Description Subtract immediate 81 /5 iw from a 16-bit destination register or memory location. Subtract immediate...
  • Page 231 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 Appendix A AMD Confidential Instruction Opcode Description AND the contents of a 16-bit register with contents 85 /r register or memory operand and set rFLAGS to reflect the result.
  • Page 232 XOR reg/mem16,imm8 XOR reg/mem32,imm8 XOR reg/mem64,imm8 XOR reg/mem8,reg8 XOR reg/mem16,reg16 XOR reg/mem32,reg32 XOR reg/mem64,reg64 XOR reg8,reg/mem8 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 233: A.6.3 System Instructions

    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 203. See Section A.6.3.2, “IRET – Return from Interrupt”, on page 203. Appendix A AMD Confidential Instruction Opcode Description...
  • Page 234 SLDT reg32 0F 00 /0 SLDT reg64 0F 00 /0 SLDT mem16 0F 00 /0 SMSW reg16 0F 01 /4 SMSW reg32 0F 01 /4 AMD Confidential Instruction Description Reads the GDT/LDT descriptor referenced by 16-bit source operand, attributes with 00FFFF00h result in the 64-bit destination register.
  • Page 235: Int - Interrupt To Vector

    (NT) and the TSS back-link field. An interrupt return (IRET) to the previous task (nested- task) will result in a „FeatureNotImplemented‟ exception and the simulation will be stopped. Appendix A AMD Confidential Instruction Description Store the entire 64 bits of CR0 to a 64-bit register.
  • Page 236: Virtualization Instruction Reference

    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 237: Extension To The 3Dnow! Instruction Set

    The thirteen new instructions are summarized in the following section. For detailed information on each instruction refer to a complete Instruction Set Reference. Appendix A AMD Confidential Instruction Opcode Description...
  • Page 238 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 206. See Section A.6.8.2, “MWAIT – Monitor Wait”, on page 207. AMD Confidential Instruction Opcode Description...
  • Page 239: Mwait - Monitor Wait

    User Manual A.6.8.2 MWAIT – Monitor Wait Opcode Instruction 0F 01 C9 MWAIT The simulator does not recognize this instruction. Therefore the simulator generates an invalid-opcode exception. Appendix A AMD Confidential Description Monitor Wait. September 12 , 2008...
  • Page 240: 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: AMD Confidential Figure 15-1: Console Window September 12 , 2008...
  • Page 241: Shell

    To list all registered shell commands enter 1 simnow> shell.usage Automation Command ECHO <Value> Exit Appendix A 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 242 LogDevice <Device Name> <0 | 1> LoggingEnabled <Device Name> ErrorLogFile SetErrorLogFile <filename> ErrorLogFileEnabled SetErrorLogFileEnabled <0|1> 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.
  • Page 243 Location DumpRegistry SetMPQuantum <time (nanoseconds)> GetMPQuantum GDB -d [[udp|tcp][::] [<port>]] Appendix A 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. Creates a device and adds the device to the device window at position (x, y).
  • Page 244 SetLogConsoleStdErr <0 | 1> ForceSingleStep <0 | 1> XTRInstDmpFile <FileName> LogIO <device> | <all> <feature> | reset <0 | 1> 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 245: Ide

    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} Appendix A AMD Confidential Description Returns IO logging status of <device>. For example, GetLogIO "USB Jumpdrive" returns the following information: PCI: Disabled Disabled IOfpdis:...
  • Page 246: Usb

    GetImageType {master|slave|0|1} A.7.3 USB 1 simnow> usb.usage Automation Command log (enable|disable) {mifsopt} 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 247: Cmos

    1 simnow> debug.usage Automation Command Enables the Debugger and opens a debug dialog window, if GUI Enable is enabled. Appendix A 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 248: 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 249 The result will be either: GetCommPort This only applies to the Windows® version of the simulator and not to the Linux version. Appendix A AMD Confidential Description  \\.\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.
  • Page 250: Hypertransport™ Technology Configuration

    Automation Command Link (0|1|2) (0|1) LinkStatus (0|1|2) LinkWidth (0|1|2) (8|16) GetLinkWidth (0|1|2) GetConfig LogDMA (0|1) 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 251: 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 252: Ehc

    CodeGen <command> <args> DumpProfile [<blocks-to-dump>] A.7.17.1 Profiling in SimNow™ Technology Here is an example use of the profiling command and its output: 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 253 "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. Appendix A AMD Confidential eip=00000000000041de eip=000000000000fd99 eip=00000000000074b2...
  • Page 254: Cpu Code Generator Commands

    Table 15-13: CodeGen Command Overview A.7.18 Emerald Graphics 1 simnow> emerald.usage Automation Command FrameBufSize <size> FrameBufGetSize Accel (0|1) GetAccel VBE (0|1) 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 255: Matrox Mga-G400 Graphics

    BreakOnRead (0|1) GetReadStatus BreakOnWrite (0|1) GetWriteStatus GetConfig Appendix A 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 256: Memory Device

    SystemBios <0|1> GetSystemBios MemAddrMask <0|1> GetAddrMask InitValEnable <0|1> InitVal <hex value> 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 257: Raid

    DeleteVolume <Vol #> Sync Type {5304|5312} Image <Vol #> <Image file> GetImage <Vol #> Appendix A 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 258: Dimm

    OutOfRangeResp (0xFF | invert) GetOutOfRangeResp SMBBaseAddr <addr> GetSMBBase ImportSPD <DimmNo> <fullpath> 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 259: Keyboard And Mouse

    1 simnow> keyboard.usage Automation Command Key <XX> [XX...] Appendix A 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 260: Jumpdrive

    1 simnow> jumpdrive.usage Automation Command LoadImage <HostFileName> SaveImage <HostFileName> ImportFile <HostFileName> <ImageFileName> ExportFile <ImageFileName> <HostFileName> 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 261 “\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 Appendix A 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 262 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 1 simnow>jumpdrive.loadimage c:\test.img AMD Confidential September 12 , 2008 Appendix A...
  • Page 263: E1000

    A.7.28 XTR 1 simnow> xtrnb.usage Automation Command xtrfile <filename.xml> debug <0|1> Appendix A 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 264: Ati Sb400/Sb600/Sb700

    {ChipPciIrq(0-7)} GetPciIrqMap {BasePciIrq(0-3)} GetPciIrqTotal A.7.30 ATI RS480 1 simnow> rs780.usage 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 265: Ati Rs780

    SetRev <rev > GetRev Version SetPackageType <RD890S | RD890 | RD870S | RX880> GetPackageType Appendix A 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 266 AMD Confidential User Manual September 12 , 2008 Appendix A...
  • Page 267: Index

    ACPI ... 8 Address-Translation Cache... 25 AGP ... 61, 65 AMD 3DNow!™ Technology ... 226 AMD 8th Generation Integrated Northbridge .. 82 AMD-8111™ Device ... 86 AMD-8132™ PCI-X® Controller ... 14, 95 AMD-8151™ Device ... 98 AT24C Device ... 14, 103 Base Address ...
  • Page 268 Performance-Monitoring Counter ... 225 Physical Drives ... 158 Play ... 7 PnP Monitor ... 126 DDC ... 126 VESA ... 126 POST ... 24 AMD Confidential Prescott New Instruction ...227 PS/2 mouse ...74 RAID ...100 Memory Device ...77 Size ...164 RDPMC ...190 Reset ...7, 41...
  • Page 269 User Manual XTR ... 106 Playback... 107 Index AMD Confidential Recording ...107 Stop Recording ...107 XVGA ... 61, 65 September 12 , 2008...

Table of Contents