Home
SimNow User Manual
Contents
1. 2 Table 2 1 Software and Hardware Reourements 3 lettre eene Ee 14 Table 3 2 Device Window Quick Reterence 15 Table 3 Ima DES a is 19 Table o iC ominand Line ATC UMEN is 26 Table 5 2 Newmachine Command Arguments sse 32 Table Jal engen E WAT 40 Table 7 2 Supported Standard VESA Modes seen 53 Table 7 3 Supported Custom VESA Mode 54 Table 7 4 Matrox G400 V BS AX MOSES a i e n p hU pe Hh oio b e here ec iot us 61 Table 7 5 Supported Resolutions in Power Graphics Mode 62 Table 7 6 Supported Guest Operating Systems sss 62 Table 757 Execution Control Pao 101 Table 7 8 Internal Execution Control Flags tdi 102 Table 7 9 Mediator Command Line Swtches ccccccccccsssssssseseseeeeeeeeeeeeeeeeeeeeeeaaaaas 112 Table 7 10 MAC Address ASSISTHTIETIES 26 x ote o tes 113 Table 7 11 Client Server Simulator Server 113 Table 7 12 Client Servet Simulator Client ld 113 Table 7 13 Isolated Client Server Simulator Server 113 Table 7 14 Isolated Client Server Simulator Client 1 114 Table 10 1 Debugger Breakpoint Command Examples nnnnnnnnnosss0sooooeteeeeesessssss 124 Table 10 2 Debugger Memory Dump Command Examples 126 Table 10 3 Debugger Pacifica Memory Dump Command Examples 126 Table 0 4 MSR Read ue 127 Table TOF MSR Write Exat lple cese dI Re Rete ida 127 Table 10 67 Find Pater Ree 127 Table 10 7 Debugger Commands and Defin
2. seen eee 82 Figure 7 26 AMD 8131 Device Hot Plug Configuration eee 83 Figure 7 27 AMD 8132 Device Hot Plug Configuration eene 84 Figure 7 28 AMD 8132 Properties Dualog en0n00000000soooooeeeeeneennnsnnssssssssssseereenssssssssss 85 Figure 7 29 AMD 8151 Device Properties Didlog ui 87 Figure 7 30 SMB H b Properties Dialog ias 91 Figure 7 21 AT24C Device Configuration uie iei lili ida 92 Figure 7 32 Communication via Mediator ere 109 Figure 7 33 Multi Machine Communication without a Mediator oooonnnnnnnnnnnnininnninnnnn 110 Pigute Eet DIAS e ds 114 Ficure 5 DI PCI CONASUCACOR Viewer ii 115 Pietire Ol Message LOS iii did 118 Foure Del Osea ceosrancas sass sansa E sues can aasaaacusesaae 119 Ligure 9 32 VO TEogeme DIOS asia 120 Figure TO I CPU Debugser WII Wise 123 Figure 13412 Disk 1 Ook Shell WIN dd Wa itd tua flatu oe dee 139 Figure 13 2 DiskTool GUI Wmdow eene eene eene eene nene 140 Figure 13 32 DiskT 001 Drive Informa uie aN 140 Fig re 13 4 Disk Tool Progress WindOw las 141 Figure 1412 Memory CON SUTTON asocio ev eue a a qut vada Dou aaa Reaves 144 Preure 14 2 Diagnostics Display Less ts Re EPI a tim E TP 145 Figure 14 5 Message Los Window reet is 146 Figure 15 1 Console WIN 201 X Figures AMD Confidential User Manual August 22 2006 Tables Table 1 1 Feature Overview Public Release versus Full Release
3. Overview on page l Is SimNow faster than my old Vax 780 See Section 1 Overview on page l What is a BSD file See Section 6 1 BSD Files on page 33 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 154 How do I load a BSD file See Section 5 1 1 Open a Simulation Definition File on page 26 How do I Start Stop Reset Press Soft Sleep or Press Soft Power for simulations See Section 3 1 Tool Bar Buttons on page 7 What kind of hardware does the simulator require See Section 2 1 System Requirements on page 3 What host operating systems can the simulator be run on See Section 2 1 System Requirements on page 3 What Guest operating systems are supported See Section A 3 Supported Guest Operating Systems on page 156 Chapter 15 Frequently Asked Questions FAQ 149 AMD Confidential User Manual August 22 2006 What devices are supported See Section 7 Device Configuration on page 39 What about graphics video adapter See Section 1 Overview on page 1 and Section 7 4 Emerald Graphics Device on page 51 What about networking See Section 7 24 EI000 Network Adapter Device on page 109 How does the simulator access media What are Hard Disk DVD CD ROM Disk or Floppy Disk images See Section 4 Di
4. Quick Reference oocccccccnnocccnnnncnnnoccnnnnnnnoconnnananoconnnos 15 3 3 Mati ele RT c 15 3 3 1 SimStats and Diagnostic Porte 16 3 92 CPU Statistics E EE 17 e A Ee E EE 17 Li IS Or EE 17 3923 Imyalidauon Rate Gral dais 17 3 9 24 EXCEPUON Rale Grap adidas 18 Soo PIO Rate rap 18 2 07 MMIO Rato A nieto sa 18 3 3 3 Simulated AIMENT ad 19 3 3 4 Hard Disk and Floppy Display cate petet e tas 19 3 3 5 Using Hard Drive DVD CD ROM and Floppy Images 19 3 3 6 A A a fete eed Sete esed eege 20 E Help Problems and Bue Reports a 20 A AS E laos 21 4 1 Cramme A Blank Hard Dive mir dado 21 5 Runtime the Simulator esee ao le dats 25 5 1 Command Line en vecindad 25 5 1 1 Opena Simulation rett Gieres ege A 26 5 2 Installing An Operation Ta 28 3 2 1 Assigning Disk MATES A 28 Contents iii AMD Confidential User Manual August 22 2006 3 2 2 Rum De oo TE er EE 30 3 2 3 Interaction With The Simulated Machne 3l 524 SA A von INE 3l 5 3 Me Ee TE Oe den inotltede vio aod epu a dee idola p edat 31 G Create RI Ke Mi EE 35 6 1 eebe 35 6 2 D v1cePlace iet suo id 35 6 3 polo DsdDevice CONAM aia 37 6 4 Save ANO RUN EE 38 T EEGENEN 39 7 1 AMNESIA Processor De VICE oii abend teu ae a eut ubuntu es 4 71 2 ADE DMC CSR DEVICE E 44 7 3 EK DCV Pr TE 45 Ju Emerald Graphics DEVICE An 51 NS Matrox MGA G400 PCT AGP cesses eene eene eene nennen ene 55 7 6 super IO Devi
5. 1 DO 4 location Left 1 bit LES i amp A s Shift an 8 bit register or Beer SHL reg mem CL D2 4 location left the number bits Specified in the CL iersch Shift an 8 bit register or memory location left the number of bits SHL reg mem8 imm8 co 4 ib Specified by an 8 bit immediate value Shift a 16 bit register or memory REB SHL reg mmi6 1 a D1 4 location left 1 bit Shift a 16 bit register or Eu SHL reg mem16 CL D3 4 location left the number bits Specified in the CL i Shift a 16 bit register or memory location left the number of bits specified by an 8 bit immediate value Shift a 32 bit register or memory ui SHL reg mem32 1 S DL dis location left 1 bit Shift a 32 bit register or memory SHL reg mem32 CL D3 4 location left the number of bits specified in the CL register Shift a 32 bit register or memory location left the number of bits SHL reg mem16 imm8 C1 4 ib SHL reg mem32 imm8 C1 4 ib Specified by an 8 bit immediate value Shift a 64 bit register or memory n SHL reg mem4 1 t GE location left 1 bit Shift a 64 bit register or memory SHL reg mem64 CL D3 4 location left the number of bits v Specified in the CL register 188 Appendix A User Manual AMD Confidential August 22 2006 Mnemonic SHL reg mem64 imm8 reg mem16 reg16 imm8 reg mem16 reg16 CL reg mem32 reg32 imm8 reg me326 reg32 CL reg mem64 reg6 4 imm8 reg me
6. 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 M Platform Simulator Note The public release version of the simulator comes only with two different computer platform description files the Cheetah Ip bsd and Cheetah 1P jh bsd a Cores PCI Graphic AMD 8111 W83627HF ASLCX0 J BIN Fuge 8 1 4 AMDS8III W83627HF PCI PFGDO0 7ROM AMD 8111 W83627HF PCI MSNB00 2 ROM Table 15 1 Computer Platform Files BSD A 2 2 Device Files BSL Please see Section 7 Device Configuration on page 39 for device listings and descriptions 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 CPU Type CPU Cores AMD Product File AMD AMD 2 PINs Rev virtualization Athlon 64 Opteron Athlon64 754_SH C0_ 800MHz id X Athlon64 754_SH CG_ 800MHz id X v Xx X X v Y Tel Ss Athlon64 754 SH DO 800MHz id Athlon64 939 SH CG 800MHZ id Athlon64 939 SH DO0 800MHZ id 1 z lx m o X 754 SH y x m o X Athon64754 SH E0 gun w 3 y X 74 3X 339 y E v Athlon64 939 JH E0 800MHz x2 id This i
7. AMD SimNow M Simulator 4 2 0 User s Manual Advanced Micro Devices Inc One AMD Place sunnyvale CA 94088 simnow amd com AMDA 2004 2006 Advanced Micro Devices Inc The Contents of this document are provided in connection with Advanced Micro Devices Inc AMD products AMD makes no representations or warranties with respect to the accuracy or completeness of the contents of this publication and reserves the right to make changes to specifications and product descriptions at any time without notice No license whether express implied arising by estoppels or otherwise to any intellectual property rights 1s 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 express or implied warranty relating to 1ts products including but not limited to the implied warranty of merchantability fitness for a particular purpose or infringement of any intellectual property right AMD s products are not designed intended authorized or warranted for use as components in systems intended for surgical implant into the body or in other applications intended to support or sustain life or in any other application in which the failure of AMD s product could create a situation where personal injury death or severe property or environmental damage may occur AMD reserves the right to discontinue or make changes to its products at any tim
8. Fast OMA 2 Dimmdevice Bank 2 Simulated Size 10000000 Fast DMA 3 Connected ta pipe 2imbNaow Comi Fast DMA 4 Connected to pipe Simhaw Comz Fast DMA 5 Fast OMA 6 Fast OMA IDE Controller 0 IDE Controller 1 IDE Drive O IDE Drive 1 IDE Drive 2 IDE Drive 3 I0 Logger AMD Sth Generation Integrated Northbridge O IO Logger 440 2111 1 0 Hub O I0 Logger 440 5151 amp GP Tunnel O IO Logger 47240 Device O IO Logger AweSim Processor O 10 Logger Dimm Bank O IO Logger Matro A MG4 G400 Graphics Adapter O 10 Logger Memory Device O IO Logger PCI Bus O IO Logger Winbond wv B3bBz2 HF SIO 0 Journal O Journal 1 Journal 2 Journal 3 Keyboard Controller O Keyboard Controller Scancode Translator O Matro A MG4 G400 Graphics Adapter O Menon Device O PCI Bus 0 SubDley ta O Winbond wWB83527HF SIO 0 Clear Window Save Window Contents C Lag ta Console Figure 9 1 Message Log The left hand window lists all of the currently loaded modules The user may individually enable or disable logging from a given module by using the checkbox next to the module s name In addition the user may configure module specific logging options by double clicking on the module name 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 1s used to display the informational messag
9. IR GPIO MIDI Joystick Fan Contents of a BSD e Keyboard and Mouse 64 Chapter 7 Device Configuration AMD Confidential User Manual August e 2006 Floppy COMI and COM2 LPTI IR GPIO MIDI Joystick Fan All devices store their current state in the BSD files as well as any data that may be buffered at the time of the save Register content is also saved for all devices Configuration Options The Super I Os have the capability of setting device breakpoints on an event basis In this case the event 1s the sequence of writes to access the Super I O s device configuration registers Selecting the PNP Lock Unlock Registers option in Figure 7 13 activates the breakpoint anytime the lock and unlock sequence is hit The other option is to set breakpoints to trigger whenever any of the device configuration registers are accessed D Winbond W83627HF SIO 7 Properties EJE3 Connections 1 0 Logging Super I0 Device Breakpoints PHP Lock Unlock Registers Read Device Registers Write Device Registers weePDmne O A Figure 7 13 Super IO Properties Dialog Winbond W83627HF Chapter 7 Device Configuration 65 AMD Confidential User Manual August 22 2006 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 137 To use an image first create an image file with DiskTool and then specify the flopp
10. ex Crhsimnnowidisktool exe Disk Device found at SCSI Port Bus HB Target HB LUN A Opening WDC WD1I2ZHHRB BADAAL as A APHYSICALDRIVEO Culinders 589 Heads Sectors Bytes Media Type 12 Completed Device has been successfully identified Disk Device found at SCSI Port Bus HB Target 1 LUN A Opening WDC WD12BB6BB BBDAA1 as A APHYSICALDRIVEL Culinders 589 Heads Sectors Bytes Media Type 12 Completed Device has been successfully identified Disk Device found at SCSI Port 1 Bus B Target 1 LUN A Opening IC35LHZBHAHUERH7 H as 454 APHYSICALDREIUVEZ Culinders al Heads Sectors Bytes Media Type 12 Completed Device has been successfully identified Figure 4 2 DiskTool Shell Window 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 22 Chapter 4 Disk Images AMD Confidential User Manual August 2005 2006 the location and image filename that will be created Choose the location where you want to store the blank image file and then enter the image filename Click on the Save button An additional dialog see Figure 4 3 1s presented that allows you to select how large the blank image file should be E New Image Size 2 Ed Options Entire Drive Stop after partition 1 Stop after partition 2 Stop after partition 3 Stop after partition 4 Custom Hof
11. gt lt Event gt Event Device CPUO Type DMAW ICount 8403 Address 000000000c254340 Length 64 gt lt Data Length 64 Value 6d00005f5e5bc3909ac04600b7c04600d4c04600eec0460008c1460022c146003cc14600 2fc2460067c2460085c24600a3c24600909090909090909090909090 gt lt Event gt Event Device CPUO Type DMAW ICount 18228 Address 000000000e67dc00 Length 64 gt lt Data Length 64 Value 00005f5e5d5b64890d0000000081c414040000c218008bff293b47003b3b47003b3b4700 4d3b47004d3b47004d3b4700568bf18b460c85c0c706f4eb5b007406 gt lt Event gt Event Device CPUO Type DMAW ICount 23921 Address 000000000c254340 Length 64 gt lt Data Length 64 Value 6d00005f5e5bc3909ac04600b7c04600d4c04600eec0460008c1460022c146003cc14600 2fc2460067c2460085c24600a3c24600909090909090909090909090 gt lt Event gt Event Device CPUO Type PIN ICount 326462 Name INTR Level A gt Event Device TO_DO_IN_NB Type APIC ICount 326462 Name EXTINT DestinationMode F DeliveryMode 07 Level F TriggerMode F Vector 00 Destination 00 gt Event Device CPUO Type PIN ICount 326462 Name INTR Level D gt Event Device CPUO Type INTACK ICount 326462 Vector 00000000000000d1 gt Event Device CPUO Type IOW ICount 326532 Address 70 Size 1 gt lt Data Length 1 Value 0c gt lt Event gt Event Device CPUO Type IOR ICount 326536 Address 71 Size 1 gt lt Data Length 1 Va
12. incoming traffic 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 network traffic This device number will need to be one listed using the IT command Chapter 7 Device Configuration 111 AMD Confidential User Manual August 22 2006 Turns on verbose output The verbosity level gets noisier with the number of v on the command line Denotes the two high bytes used to classify the simulator s MAC addresses By default these values are FA CD but can be configured to avoid collisions with real hardware Table 7 9 Mediator Command Line Switches 7 24 3 MAC Addresses for use with the Adapter The MAC address that the simulated adapter 1s using determines the level of visibility that the model will have with other simulator sessions and with the real network The mediator routes packets to simulator sessions that have FA CD in the high two bytes of the MAC address The simulator sessions that have anything other than FA CD can only communicate with other simulator sessions in the same process space using a multi machine approach MAC Address beginning with FA CD and having a third byte between 0x00 and 0x20 are classified as absolute Simulated adapters using this class of MAC Address are logically equivalent to plugging a real computer into a real network These sessions c
13. CPU Item LDTLimit Data 000000000000FFFF gt Init Device CPUO Type CPU Item LDTFlags Data 00000000 gt lt Init Device CPUO Type CPU Item TR Data 00000028 gt Init Device CPUO Type CPU Item TSSBase Data 0000000080042000 gt Init Device CPUO Type CPU Item TSSLimit Data 00000000000020AB gt Init Device CPUO Type CPU Item TSSFlags Data 00000089 gt Init Device CPUO Type CPU Item IDTBase Data 000000008003F400 gt Init Device CPUO Type CPU Item IDTLimit Data 00000000000007FF gt Init Device CPUO Type CPU Item GDTBase Data 000000008003F000 gt Init Device CPUO Type CPU Item GDTLimit Data 00000000000003FF gt Init Device CPUO Type CPU Item DRO Data 0000000000000000 gt Init Device CPUO Type CPU Item DR1 Data 0000000000000000 gt Init Device CPUO Type CPU Item DR2 Data 0000000000000000 gt Init Device CPUO Type CPU Item DR3 Data 0000000000000000 gt Init Device CPUO Type CPU Item DR6 Data 00000000FFFFOFFO gt Init Device CPUO Type CPU Item DR7 Data 0000000000000400 gt Init Device CPUO Type CPU Item CRO Data 0000000080010031 gt Init Device CPUO Type CPU Item CR2 Data 000000000000000C Init Device CPUO Type CPU Item CR3 Data 000000000043D000 gt lt Init Device CPUO Type CPU Item CR4 Data 00000000000006D9 gt Init Devic
14. CPU memory Northbridge Southbridge display IDE drives floppy keyboard and mouse support Images hard disk DVD CD ROM and floppy can be created in custom sizes with the DiskTool program Section 13 DiskTool on page 137 that is provided with the simulator A simulation can be saved at any point in the simulation to a media file from which the simulation can be re run at a later time A simple diagnostic port model known as Port80 device displays values written by the BIOS in a pane of the simulator s main window Other panes display guest simulated machine and simulator host processor times The simulator requires several files to be specified Binary files containing the BIOS and disk images are stored in the images directory The simulator home directory stores bsd files which contain the configuration of the system how models are connected together and their settings and the logical state of all the devices in the simulator When starting a simulation from reset the bsd file is rather small and only contains the configuration information When the simulation starts the simulated memory 1s allocated When the simulation is halted and Chapter 1 Overview 1 AMD Confidential User Manual August 22 2006 saved the bsd file will have grown significantly slightly larger than the size of simulated memory The graphics device supplied with the simulator is a 2D and 3D graphics card with linear frame buffer
15. DiskTool Dialogue Window 2 0 ccccccceceeeeeeeeeeeeeeeeeennneeeeeeeeeeeeeeeeeeeeeeenens 22 Figure 4 7 Disk Toob Shell WTDdOW a ios REIS ete d eios 22 Figure 4 3 New Image Ereegnesser tia 23 Ereure d 4 Create Blank Image uos et otia a 23 Figure 4 5 Disk Tool Operation Successful eric E neni 24 Figure 5 1 Main Window No BSD Loaded eese 25 Figure 5 2 Mam Window BSD Load io ott te ont Podio udi a e dius 27 Mete 5 37 Deyace WII Wa 28 Figure 5 4 Installing WindowsXP iiie uiuo o aid 30 Figure e e Cont gurao a 35 Figure 6 2 Connections Tab of Device Properties Wrmdow 36 Figure 6 3 PCI Bus Configuration dialog wmdow snnneneneesssnnnsssssssssssseeerrreeeesssss 38 Figure 7 1 AweSim Processor Type Properties eese 42 Figure 7 2 AweSim Processor Logging Properties Dialog 43 Figure 7 3 AMD Opteron Processor Virtual Bank Select Line Configuration 46 Figure 7 4 AMD Athlon 64 Processor Bank Select Line Configuration 46 Figure 7 5 DIMM Bank Options Properties Dualog 48 Figure 7 6 DIMM Module Properties Dialog ee ii di ii 49 Figure 7 7 Graphics Device VGA Sub Device Properties Dialog 02 Figure 7 8 Graphics Device Frame Buffer SubDevice Properties oocccccccnnnnnnnnnnns 53 Figure 7 9 Matrox G400 Block Diagram seen 55 Figure 7 10 Matrox G400 Information Property Dialog ou c
16. How do I change the amount of system RAM installed in a BSD See Section 7 3 DIMM Device on page 45 How do I change the processor type of a processor in a BSD See Section 7 1 AweSim Processor Device Configuration Options on page 41 How do I enable or disable IDE Hard Disk image journaling See Section 5 2 1 Assigning Disk Image on page 28 or A 7 2 IDE on page 206 Why does Windows Server 2003 crash See Section A 3 Supported Guest Operating Systems on page 156 DiskTool displays an Operation failed message box See Section 13 2 GUI Mode on page 136 Why doesn t the simulator work on Linux kernels prior to version 2 6 10 See Section 2 1 System Requirements on page 3 Why is the graphics performance in simulation so slow See Section 7 4 Emerald Graphics Device Improve Graphics Performance on page 54 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 DVD CD image has changed For example press Stop button gt ISO hoe dina ce OST lt press go button gt lt wait 5 seconds gt lt press Stop button gt Ee The serial connection to Microsoft s KLernel Deb
17. Nido lt FUNCTION KEY 4 gt ctrl m CONTROL make DEB FUNCTION KEY 5 ctrl b CONTROL BRAKE NC 6 FUNCTION KEY 6 alt m lt ALT MAKE gt VET lt FUNCTION KEY 7 gt alt b lt ALT BRAKE gt Table 15 15 Prefix Sequences keyboard text A 7 26 JumpDrive 1 simnow gt jumpdrive usage Automation Command Description LoadImage lt HostFileName gt Savelmage lt HostFileName gt ImportFile lt HostFileName gt lt ImageFileName gt ExportFile lt ImageFileName gt lt HostFileName gt Initialize lt SizeInMB gt Appendix A Loads the contents of the specified image file lt HostFileName gt to the memory Saves the contents of the memory to an image file on the host specified by lt HostFileName gt Imports the requested file into the image lt ImageFileName gt using the given host file name lt HostFileName gt Exports the requested file from the image lt ImageFileName gt to the given host file name lt HostFileName gt Initialize the jump drive image with a single partition of the requested size specified by lt SizelnMB gt The JumpDrive supports image sizes from 64 Mbytes to 8192 Mbytes 8 Gbytes 221 AMD Confidential User Manual August 22 2006 Automation Command Description Imports a directory from the host system into the jump drive The host path name lt HostPathName gt can contain wildcards in the last element If the last element of the lt HostPathName gt does not
18. SI BP and AX registers Pop the EDI ESI EBP ESP EBX EDX ECX and EAX registers Pop a word from the stack into the FLAGS register Pop a doubleword from the stack into the EFLAGS register Pop a quadword from the stack into the RFLAGS register Prefetch processor cache line into L1 data cache Prefetch processor cache line into L1 data cache and mark it modified Move data closer to the processor using the NTA reference Move data closer to the processor using the TO reference Move data closer to the processor using the T1 reference Move data closer to the processor using the T2 reference Push the contents of a 16 bit register or memory operand onto the stack Push the contents of a 32 bit register or memory operand onto the stack Push the contents of a 64 bit register or memory operand onto the stack Push the contents of a 16 bit register onto the stack Push the contents of a 32 bit register onto the stack Push the contents of a 64 bit register onto the stack Push an 8 bit immediate value sign extended to 16 32 or 64 bits onto the stack Push a 16 bit immediate value onto the stack Push the contents of a 32 bit register onto the stack Push the contents of a 64 bit register onto the stack Push the CS selector onto the stack Push the SS selector onto the stack Push the DS selector onto the stack Push the ES selector onto the stack Push the FS selector onto the stack Push
19. creating 7 creating 7 creating 7 creating device device device device device device device device device device device device device i Simnow Opening C imNowrchestah _ip bed HB A 8th Generation Integrated Northbridge Dimm Bank AMD 8111 de Hub Memory Device Winbond U83627HF S10 SME Hub Device PCI Bus Debugger AweSim Processor AMND 8132 PCI amp Controller PCI Bus PCI Bus H12 Emerald Graphics allocate 7 creating creating map memory device 13 device 14 creating device 15 d creating device 16 BSD Load completed PCA9548 Device AT24C Device USE JumpDrive Inte l K gt Pro 1HBH8H MT Desktop Network Adapter Figure 3 6 Console Window 3 3 1 SimStats and Diagnostic Ports The SimStats and Diagnostic Ports numeric displays appear in the Main Window when a Southbridge device is added to the workspace The SimStats display shows host and simulation elapsed time and a simulation MIPS counter that is updated as the simulation runs The simulator effectively has a built in POST card output ports 80h to 87h and e0h to e3h You can see these codes on the right upper part of the Main Window in the 354 00 Host Seconds Diagnostic Ports section Diagnostic Ports DO 02 00 03 85 80 6 70 Sim Seconds DO OU 00 OO 87 84 10 8 Avg MIPS ResetAvg 00 00 00 CA e3 el These three lines of four bytes each show the values writte
20. or when getting an 1mage from a physical device to an image file an additional dialog 1s presented that allows you to select how large the new image file should be The options in this dialog mirrors the Image Size options for the equivalent command line commands After launching DiskTool you are presented with the interface shown in Figure 13 2 Chapter 13 DiskTool 139 AMD Confidential User Manual August 200 2006 El SimNow DiskTool Physical Drives C Create Disk Image From Host Disk H FHYSICALDRIVED C SG E PH YSICALDBRIVE 1 D Copy Disk Image To Host Disk FHYSILALDRIVE E Lreate Blank Disk Image Drive Information Floppy Disk A Erase Host Disk Ma disk present 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 El SimNow DiskToo Physical Drives A H PHrSICALDRIVED C G F PHYSICALDRIVET D Copy Disk Image To Host Disk FHYSICASLBRHIVE Z E Create Disk Image From Host Disk Create Blank Disk Image Drive Information Physical Drive D WDC wD1200BB D0DAAT Erase Host Disk 48Bit LBA LBA Sectors 2435000 Total Capacity 111 8 GB Figure 13 3 DiskTool Drive Information 140 Chapter 13 DiskTool AMD Confidential User Manual August ye 2006 When a drive is selected you have the option to get an image from t
21. 10 Hub Debugger 8 AweSim Pracessor wi 0 e AMD 8132 PEL Controller Debugger E Dimm Bank 82 WF AT2AC Device 2 AmeSim Processor PCI Bus 10 Epi SMB SE Dimm Bank SMB Hub Deviceitg ER Intel Pro 1000 MT Desktop Network Adapter PCI Bus 11 System Emerald Graphics O Config uration USB Winbond W B3627HF Hed ta nue SIO 5 PClBus S Intel R Pro 1000 p MT Desktop Network qut Memory Device E Adapter 16 Le af ef PCA9548 Device Memory Device H4 USB Emerald Graphics o PCI Bus Ea G i USB JumpOrive 15 AMD 8th Generation Integrated Northbridge SL EE PCA9548 Device 13 AT24C Device 14 LLE Winbond WB3627HF SIO v amp A Device List Workspace Figure 3 2 Device Window The Device Window shown in Figure 3 2 with the cheetah p bsd computer simulation loaded graphically depicts a simulated computer system In the simulator a computer system 1s defined as a collection of device models that communicate with each other by exchanging messages The icons in the workspace represent device models the lines connecting the icons represent message routing You can set up and alter the simulated computer system by using the workspace popup menu shown in Figure 3 3 To open the workspace popup menu right click on any icon in the workspace area Chapter 3 Graphical User Interface 9 AMD Confidential User Manual August 22 2006 The Device List located on the left side of the Device Window describes all devices available in the simul
22. 1024 gt lt Data Length 16 Value 00000000000000000000000010000400 gt lt Data Length 16 Value 00000000000000000000000000000000 gt lt Data Length 16 Value 00000000000000000000000000000000 gt lt Data Length 16 Value 0000000000000000ffffffffff000000 gt Data Length 16 Value 00000000000000000000000000000000 gt Data Length 16 Value 00000000000000000000000000000000 gt Data Length 16 Value 00000000000000000000000000000000 gt Data Length 16 Value 00000000000000000000000000000000 gt Data Length 16 Value 00000000000000000000000000000000 gt Data Length 16 Value 00000000000000000000000000000000 gt Data Length 16 Value 00000000000000000000000000000000 gt Data Length 16 Value 00000000000000000000000000000000 gt Data Length 16 Value 00000000000000000000010000000000 gt Data Length 16 Value 00000100000001000000010000000100 gt Data Length 16 Value 00000000000000000000000000000000 gt Data Length 16 Value 00000000000000000000000000000000 gt Data Length 16 Value 00000100000001000000010000000100 gt Data Length 16 Value 00000100000001000000010000000100 gt Data Length 16 Value 00000100000001000000010000000100 gt Data Length 16 Value 00000100000001000000010000000100 gt Data Length 16 Value 00000100000001000000010000000100 gt Data Length 16 Value 0000010000000100000001000
23. 20 r or memory location with the contents y of an 8 bit register AND the contents of a 16 bit register AND reg mem16 reg16 21 r or memory location with the contents v of a 16 bit register AND the contents of a 32 bit register AND reg mem32 reg32 21 Z or memory location with the contents of a 32 bit register AND the contents of a 16 bit register AND reg mem64 reg64 21 r or memory location with the contents of a 16 bit register i AND the contents of an 8 bit register AND reg8 reg mem8 22 r with the contents of an 8 bit memory location or register AND the contents of a 16 bit register AND regil reg memi6 23 FE with the contents of a 16 bit memory ai location or register AND the contents of a 32 bit register AND reg32 reg mem32 23 r with the contents of a 32 bit memory location or register AND the contents of a 64 bit register 23 r with the contents of a 64 bit memory location or register Test whether a 16 bit array index is within the bounds specified by the two 16 bit values in mem16 mem16 Test whether a 32 bit array index is 62 r within the bounds specified by the two 32 bit values in mem32 amp mem32 Bit scan forward on the contents of OF BC r reg meml op BC r Bit scan forward on the contents of reg mem32 op BC r Bit scan forward on the contents of reg mem64 op BD r Bit scan reverse on the contents of reg meml op BD r Bit scan reverse on the contents of reg mem32 Bit scan reverse
24. 2006 begin the installation as follows To install under Windows double click on the self extracting executable To install under Linux extract the zipped tar file as shown below tar So a SS oa 2 3 Directory Structure and Executable After the opening screen and license agreement are displayed you will be prompted to choose an installation directory When you select this the install program will copy the executable files and device models to the selected directory and setup the registry entries necessary to run the simulator The install program will create the following subdirectories under the install directory zd CH Simha Contains the simulator s executable DiskTool libraries and BSD files c analyzers Contains CPU analyzers c devices Contains the simulator s device models L doc Contains the latest versions of the simulator documentation help Contains the simulator s help files c icons Contains icons used by the simulator s GUI components c images Contains image files c productfile Contains processor id files reg Contains register script files used to register simulator components devel Contains the Emerald BIOS changes and analyzer header files tools Contains utilities used to prepare images and register components for the simulation Under Windows each model is a Windows DLL Under Linux each model is a Linux library Each model has a bsl extension 2 4 Setting up Linux for the Simulator Make
25. 43 ByteCount 01 Data 00000030 V Keyboard Controller Scancode Translator 0 PCI CONFIG READ Bus 0 Device 7 Function O Register 43 ByteCount 01 Data 00000030 V Memory Device 0 PCI CONFIG WRITE Bus 0 Device 7 Function 0 Register 43 ByteCount 01 Data 00000030 PCI Bus 0 v SubDev ta D Winbond W83627HF SIO 0 Clear Window Save Window Contents 50000000000 COOC OO OO OH Figure 14 3 Message Log Window 14 6Logging CPU Cycles Setting up the simulator to log CPU cycles requires most of the steps detailed in Section 14 5 Logging PCI Configuration Cycles However in this case the messages from the CPU are captured The steps are l Open the Device Window View Show Devices Double click on the CPU device This will bring up the device Properties Window that will list available logging options Select the desired logging options Click OK to accept the configuration See Section 7 1 AweSim Processor Device on page 41 to obtain detailed information about CPU Loggmg options 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 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 146 Chapter 14 BIOS Developer e Quick Start Guide AMD Confidential Us
26. Configuration Settings BIOS ROM Fle g Millennium G400 Adapters Millennium G400 Max DualHead 32 MB SGRAM 360 MHz RAMDAC Millennium G400 SingleHead 32 MB SGRAM 300 MHz RAMDAC Millennium G400 SingleHead 32 MB SORAM 300 MHz RAMDAC Millennium G400 DualHead 16 MB SGRAM 300 MHz RAMDAC Millennium G400 SingleHead 16 MB SGRAM 300 MHz RAMDAC Millennium G400 SingleHead 16 MB SDRAM 300 MHz RAMDAC Note Restart or reset your simulation For the settings to take effect 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 To check for new Matrox BIOS ROM releases go to http www matrox com mga support drivers bios The Matrox G400 ROM has a maximum size of 32 Kbytes and 1s assigned to ISA bus address 0x000C0000 0x000C7FFF which is the industry standard location The Configuration tab lets you choose from six different Matrox G400 graphics adapters For instance if you prefer to use a Matrox Millennium G400 SingleHead 16 Mbytes of SDRAM with a 300 MHz RAMDAC instead of the default adapter then select this adapter from the Millennium G400 Adapters list To apply the new configuration click on the Ok button Note 1f you make any changes in the Configuration tab you must restart or reset yo
27. D2 0 ROR reg immil 6 1 ROR reg mem16 CL D1 0 D3 0 ROR reg mem16 imm8 184 CO D 2D CI 0 ib EL 70 4b Cl 70 ib co 0 ib Cl J0 ib Rotate the 65 bits consisting of the carry flag and a 64 bit register or memory location right 1 bit Rotate the 65 bits consisting of the carry flag and a 64 bit register or memory location right the number of bits specified in the CL register Rotate the 65 bits consisting of the carry flag and a 64 bit register or memory location right the number of bits specified by an 8 bit immediate value Near return to the calling procedure and then pop of the specified number of bytes from the stack Far return to the calling procedure Far return to the calling procedure and then pop of the specified number of bytes from the stack Rotate an 8 bit register or memory operand left the number of bits specified in the CL register Rotate an 8 bit register or memory operand left the number of bits specified by an 8 bit immediate value Rotate a 16 bit register or memory operand left the number of bits specified in the CL register Rotate a 16 bit register or memory operand left the number of bits Specified by an 8 bit immediate value Rotate a 32 bit register or memory operand left 1 bit Rotate a 32 bit register or memory operand left the number of bits specified in the CL register Rotate a 32 bit register or memory operand left the number of bit
28. Devices La MD Sth Generation Integrated Northbridge O AMD 8111 170 Hub 0 i AMD 8151 AGP Tunnel 0 LegtoFle ee AweSim Processor 0 Debugger 0 Zn st ee a Log to Window 100 Buffer Size it lines v Fast DMA 0 GE v Fast DMA 1 PCI CONFIG WRITE Bus 0 Device 18 Function 1 Y Fast DMA 2 PCI CONFIG WRITE Bus 0 Device 18 Function 1 v Fast DMA 3 PCI CONFIG WRITE Bus 0 Device 18 Function 1 Register 60 ByteCount 04 Data 00000000 IV Fast DMA 4 PCI CONFIG WRITE Bus 0 Device 18 Function 1 Register 64 ByteCount 04 Data 00000004 IV Fast DMA 5 PCI CONFIG WRITE Bus 0 Device 18 Function 1 Register 68 ByteCount 04 Data 00000000 1 1 1 1 1 C Log to Console L ste OD SS T Register ByteCount 04 Data 00000000 Register ByteCount 04 Data 00000003 os PCI CONFIG WRITE Bus 0 Device 18 Function 1 Register 6C ByteCount 04 Data 00000005 V IDE Controller 0 PCI CONFIG WRITE Bus 0 Device 18 Function 1 Register 70 ByteCount 04 Data 00000000 V IDE Controller 1 PCI CONFIG WRITE Bus D Device 18 Function 1 Register 74 ByteCount 04 Data 00000006 V IDE Drive 0 PCI CONFIG WRITE Bus 0 Device 18 Function 1 Register 78 ByteCount 04 Data 00000000 V IDE Drive 1 PCI CONFIG WRITE Bus 0 Device 18 Function 1 Register 7C ByteCount 04 Data 00000007 v IDE Drive 2 PCI CONFIG READ Bus 0 Device 18 Function 0 Register 00 ByteCount 04 Data 00000022 v IDE Drive 3 PCI CONFIG READ Bus 0 Device 1
29. Go to the Simulation Display Window File gt Set IDE Primary Secondary Master Slave Image as shown in Figure 7 22 on page 78 Change a hard drive or DVD Or CD ROM image Go to the Southbridge Properties page gt HDD Primary Secondary Channel If using a DVD CD ROM image check the DVD ROM checkbox as shown in Figure 7 22 on page 78 Go to the Main Window File Menu Set Floppy Image Or Go to the S O properties page Super IO tab see Figure 7 13 on page 65 Go to the System BIOS Properties page Memory Change a BIOS image Configuration tab see Figure 7 14 on page 68 Change the Init File entry Change CPU Type Change a floppy drive image Table 3 2 Device Window Quick Reference 3 3 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 6 provides a textual interface for status information and command line style control see Section A 7 Automation Commands on page 201 Chapter 3 Graphical User Interface 15 AMD Confidential User Manual August 22 2006 X FASimNow4 0 0 NDAtsimnow exe MR mages TT Sdevices Using image path Using library path z creating creating creating creating z creating creating z creating creating 7 creating
30. Logged during execution Trigger for event setup earlier is invoked CPUO and DMAW could have different values depending on which CPU it is MP XTR only and which event 1s processed Interfaces XTRNB has eight CPU interfaces and an IO Interrupt APIC interface to connect to the AweSim s CPU Bus and IO Interrupt APIC interface respectively For XTR UP only one CPU interface may be used 7 22 2 XTR Structure 7 22 2 1 XML Structure XTR is a text file that contains XML elements for initialization elements events and instructions The XML schema or DTD is not formally defined XTR XML contains an Initialization section followed by events and instruction sections Last event in the XML must be an EOT event indicating the end of trace Some XTR elements are explained below Please refer to Section 7 22 5 Example XTR XML File on page 102 or the exact and complete structure of the XTR XML All values in the XML are in hexadecimal except for Count and Length values which are always in decimal Exceptions will be stated as necessary Init Device DIMM Type MEMI Size 536870912 gt Memory initialization MEMI information from and for the DIMM device The value for Size attribute the size of DIMM in bytes in decimal base 10 Note that this does not require that XTR playback to have a DIMM device lt Init Device MEM Type MEMI File c simnow xtr DivergenceAt324303 test_snapshot_3dmarkwof_0 bin gt Memory initialization
31. Move 64 bit value from a general purpose register or 64 bit memory location to an XMM register Move 32 bit value from an XMM register to a 32 bit general purpose register or memory location 66 OF 6E r MOVD xmm reg mem64 MOVD reg mem32 xmm 66 OF 7E r Move 64 bit value from an XMM register to a 64 bit general purpose register or memory location Move 32 bit value from a general purpose register or 32 bit memory location to an MMX register Move 64 bit value from a general MOVD mmx reg mem64 OF 6E r purpose register or 64 bit memory location to an MMX register Move 32 bit value from an MMX register to a 32 bit general purpose register or memory location Move 64 bit value from an MMX register to a 64 bit general purpose register or memory location Move sign bits 127 and 63 in an XMM register t0 a 32 bit general purpose register Move sign bits 127 95 63 31 in an MOVMSKPS reg32 xmm DE 50 Ze XMM register to a 32 bit general purpose register Stores a 32 bit general purpose register value into a 32 bit memory location minimizing cache pollution Stores a 64 bit general purpose register value into a 64 bit memory location minimizing cache pollution Move byte at DS rSI to ES rDI and then increment or decrement rSI and rDI Move word at DS rSI to ES rDI and then increment or decrement rSI and DI Move doubleword at DS rSI to ES rDI and then increment or decrement rSI and rDI Move quadword at DS rS
32. 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 The full release version of the simulator ships with more devices then the public release version Table 7 1 gives an overview of supported devices depending on the simulators Version Symbol Public Release Full Release H AvesimProcesor 0 wv v AMD 8 Generation Integrated Northbridge AMD 8111 Southbridge El j wDGphisDevie X yY Emerald Graphics Device Y Y Q me ls v Q roxmeee CT y d MemoryDeviee Y Y w Pcaoss6 Dovie X sg w ATACD ls Lg USB nie Lg LS Ba EXDISever HL wv X amp S xiu amp XXX eee eee eee Chapter 7 Device Configuration 39 AMD Confidential User Manual August 22 2006 sms Public Release Full Release USB Keyboard Table 7 1 Supported Devices To open a Device Property dialog window open the Device View window View Show Devices or click on the button Then Open the workspace popup menu right click on a device in the workspace area and select Configure Device 40 Chapter 7 Device Configuration AMD Confidential User Manual August 22 2006 7 1 AweSim Processor Device The AweSim processor device provides a simulation of an AMD microprocessor Interfaces Three interfaces
33. SimNow BSDs The level of network visibility for each simulator session depends on the format of the MAC address that is used for the simulated NIC model Figure 7 32 shows depicts four simulator sessions communicating via a mediator HostName thehost Simulator 4 Mediator External Network Host theclient1 Host theclient2 3 Simulator Figure 7 32 Communication via Mediator Chapter 7 Device Configuration 109 AMD Confidential User Manual August 22 2006 Alternatively a multi machine approach can be used in which multiple BSD s are loaded in the same process space This architecture allows the simulator sessions to pass packets back and forth without the need for a mediator Running without a mediator 1solates the simulator sessions from the real network For more information on running multiple simulator instances in the same process see Section 5 3 Multi Machine Support on page 31 Figure 7 33 illustrates multi machine communication of simulator sessions without a mediator Simulator Process BSD 2 Machine 2 04 00 00 00 0 04 10 0 0 2 BSD 1 Machine 1 BSD 3 Machine 3 02 02 02 02 02 02 06 00 00 00 00 06 10 0 0 1 10 0 0 3 Figure 7 33 Multi Machine Communication without a Mediator 7 24 1 Simulated Link Negotiation A link will appear connected in the guest system when one of the following occurs e A mediator connection has been established e There is at least one other NIC BSD r
34. You must choose an interface on either device even if one or both of the devices has only one interface type 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 E AMD 8111 1 0 Hub 4 Properties Connections LO Logging Logging Device Options Primare HDD Chann Local Connection Paint Remote Device Remote Connection Point HyperTransport Bus AMD 8151 AGF Tunnel 2 HyperTransport Bus 1 Interrupt D APIE Bus AMD 8151 AGF Tunnel HZ Interrupt I04PIC Bus LPL Bus LPL Bus Memon Device H8 Genero Bus LPL Bus Winbond Wosbee HF SIO 47 Generic Bus PCI Bus 0 PCI Bus HE PCI Bus 0 System Management Bus U System Management Bus O Dimm Bank H5 Generic Bus System Management Bus 1 USE Part 0 USE Part 1 USE Part 2 USE Port 3 USE Port 4 USE Port 5 Figure 3 4 Add Connection Dialog of Device Properties Window Chapter 3 Graphical User Interface 11 AMD Confidential User Manual August 22 2006 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 The global reset 1s equivalent to power cycling the simulated computer system 3 2 2 2 Configure Device Most devices provide configuration options Selecting Configure Device from t
35. a file etc sysctl conf or add to the existing one This is here to make sure we get enough mmap able virtual address space in 4K pages It defaults to 65536 which is generally too small Vin Max map count EE This line doesn t need to be here for newer Linux kernels but some early AMD64 Linux kernels would log SEGVs even if a process had a handler for them which is what SimNow does debug exception trace 0 Example 2 1 Setting up Linux for the Simulator Then run sysctl p or make sure the boot sequence does this if you don t want to run it at each reboot 2 5 Configuration File The simulator s configuration file is a text file that may be edited and that is stored in different locations depending on which host OS you are using 4 Chapter 2 Installation AMD Confidential User Manual August 22 2006 If you are using Windows as host operating system the configuration file is located 1n C Documents and Settings All Users Application DataNsimnowrc If you are using Linux as host operating system the configuration file 1s located in SHOME qt simnowrc Here is an example of the contents of this file with an explanation General UserKeys CEEE oecnas na ei e e ro heroicas tol nd oq oD ALT F4 Sends an ALT F4 to the application 38 3e be b8 The configuration file 1s divided into sections with each section title enclosed in square brackets This particular example includes two sections nam
36. 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 DirectX 9 10 support The simulator is available in two versions Public Release and Full Release Table 1 1 shows the detailed feature matrix A EE Devices can be added and removed from platform definition files Connecting and disconnecting devices Ships with a variety of different CPU cores Product Files O X Full product support Analyzer support Support of simulated multi processor systems up to 16 CPUs eg Table 1 1 Feature Overview Public Release versus Full Release To get more information about how to obtain the full release version of the simulator please send an email to simnow amd com 2 Chapter 1 Overview AMD Confidential User Manual August 22 2006 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 Windows XP 64Bit Edition for AMD64 Any of the following 64 Bit Windows XP x64 Edition or Linux distributions for AMD64 Windows Server 2003 x64 Edition for AMD64 OS Distribution SuSE 9 Pro and newer RedHat 64Bit Enterprise 3 and above Fedora Core 2 and newer Recommended SuSE 9 1 or newer for AMD64 Build 1218 or newer Approx 64MB of memory plus Memory Appro
37. are not updated and the display window will not display from the VGA frame buffer Frame Buffer Sub Device Configuration In Figure 7 8 the Frame Buffer Size Mbytes sets the size of the frame buffer in megabytes The value placed in this option is only read at reset The frame buffer size can not be dynamically modified The Accelerator Enabled checkbox enables or disables the graphics accelerator The accelerator 1s enabled by default The VESA BIOS Extensions Enabled checkbox enables or disables the VESA BIOS support The VESA BIOS Extensions are enabled by default 52 Chapter 7 Device Configuration AMD Confidential User Manual August 22 2006 Emerald Graphics 9 Properties ons LO Logging YGA SubDevice Framebuffer and Accelerator 4 IMPORTANT WARNING Changes in these parameters are generally only looked at during PCI contig at BIOS initialization Frame Buffer Size MBytes Accelerator Enabled YESA BIOS Extensions Enabled Figure 7 8 Graphics Device Frame Buffer SubDevice Properties Difference from Real Hardware The Emerald Graphics device currently does not simulate any specific graphics hardware it simulates something functionally like a modern graphics adapter with only 2D acceleration implemented at this time Drivers are Windows only at the moment When the VGA display window has the focus any keyboard messages and mouse click messages received by the window are routed via a DEVCWINDOWMSG messag
38. base address of the device in hex Returns the base address of the device in hex Value is the total size of the memory device given in decimal value for the number of 32 Kbyte blocks 32 Kbyte blocks are used because not initialized memory is dynamically allocated when addressed in 32 Kbyte chunks Returns the number of 32 Kbyte blocks allocated by this device filename is the name of the binary file that 1s used to initialize the memory contents Note that the device initializes memory for the content length of the file If you specify a 512 Kbyte ROM and use a 256 Kbyte image file the first 256 Kbytes are initialized Returns the path and name of the init file see above InitFile Turns 1 the memory device into a ROM Writes to the device are ignored when the read only option is selected Returns true if memory is read only otherwise it returns false Tells 1 the memory device that it is the system BIOS Returns true if memory is used as a System BIOS otherwise it returns false Enables 1 or disables 0 memory address masking If enabled 1 it indicates that the address received by the memory device is masked by a bit mask with the same number of bits as the size of the memory device e g a 256 Kbyte ROM uses an 18 bit mask or it is masked by 0x003FFFF This enables the ROM to be remapped dynamically into different memory address ranges in conjunction with the aforementioned chip select Returns true if me
39. buses may or may not be configured as hot plug capable depending on the platform Interface AMD 8132 has two types of interfaces HyperTransport and PCI buses It has two HyperTransport links HTO and HTI that can connect to other HyperTransport link capable devices Either HyperTransport link can be set to be the upstream HyperTransport link The PCI bus interfaces in the AMD 8132 must be connected to a PCI Bus device which provides the Slot interfaces with which to connect devices for simulation Initialization and Reset State When first initialized AMD 8132 device is in its default state This is described in detail in the AMD 8132 datasheet Each bridge defaults with hot plug functionality disabled When reset AMD 8132 takes on all default register values Contents of a BSD The entire configuration of the AMD 8132 chipset including all state and registers for its sub devices 1s saved in the 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 AMD 8132 PCI X Controller 11 Properties KEN Connections 170 Legging HotPlug HT Link Configuration Hot Plug Bridge A Enable Hat Plug Bridge B Enable Figure 7 27 AMD 8132 Device Hot Plug Configuration Figure 7 28 shows the HT Link Configuration options 84 Chapter 7 Device Conf
40. can be altered by first selecting the item description in the list box then typing a new data value in the edit box The mport SPD and Export SPD buttons provide the option of loading and saving SPD ROM data The file format is an unformatted binary image with an extension of spd The bottom section of the dialog 1s used to configure DDR PDL Response ranges for the simulated DIMM PDL response ranges can be individually set for each of 16 PDLs Adjusting the Low and High value modifies the response range for a particular PDL When an appropriate response range is set for one PDL the same range can be applied to all 16 PDLs by clicking on the Match PDLs button The Reset PDLs button sets all 16 PDL response ranges to their maximum range 0 255 Log Messages This device does not produce log messages Difference from Real Hardware The DIMM device does not simulate timing related issues except for PDL error simulation The performance of real DIMM hardware is highly dependent on timing and loading 1ssues ECC simulation 1s not provided 50 Chapter 7 Device Configuration AMD Confidential User Manual August 22 2006 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 1s currently somewhat minimal and 1s not capable of generating AGP cycles nor AGP specific
41. data value e is always one byte two hex digits in width The device will log multiple messages for PCI configuration accesses that are greater than one byte in width For example a dword read of 0x11223344 from PCI configuration register 0x40 of device 7 function 1 on bus 0 would produce the following log messages PCI CONFIG READ Bus 0 Device 7 Function 1 Register 40 Data 44 PCI CONFIG READ Bus 0 Device 7 Function 1 Register 41 Data 33 PCI CONFIG READ Bus 0 Device 7 Function 1 Register 42 Data 22 PCI CONFIG READ Bus 0 Device 7 Function 1 Register 43 Data 11 Differences from Real Hardware The Northbridge device differs from the real hardware in that the simulator does not support the debug hardware registers The device also does not support memory interleaving by node though this will change in the near future The device will differ in those things that are of a timing related nature such as setting of bus speeds Full probe transactions are not modeled 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 74 Chapter 7 Device Configuration AMD Confidential User Manual August 22 2006 7 11AMD 8111 Southbridge Devices IO Hubs The Southbridge devices provide the basic I O Southbridge functionality of the system Features include a PIO mode IDE co
42. destination operand The second right most operand serves only as a source not a destination ADDPD xmml xmm2 mem128 Mnemonic First Operand and Destination Operand Second Source Operand Figure A 1 Syntax for Typical Two Operand Instruction The following notation is used to denote the size and type of source and destination operands cReg Control Register dReg Debug register imm Byte 8 Bit immediate imm16 Word 16 Bit immediate imm16 32 Word 16 bit or doubleword 32 bit immediate imm32 Doubleword 32 bit immediate imm3 2 64 Doubleword 32 bit or quadword 64 bit immediate imm64 Quadword 64 bit immediate mem An operand of unspecified size in memory mem Byte 8 bit operand in memory mem16 Word 16 bit operand in memory mem16 32 Word 16 bit or doubleword 32 bit operand in memory mem32 Doubleword 32 bit operand in memory mem3 2 48 Doubleword 32 bit or 48 bit operand in memory mem48 48 bit operand in memory mem64 Quadword 64 bit operand in memory mem16 16 Two sequential word 16 bit operands in memory mem16 32 A doubleword 32 bit operand followed by a word 16 bit operand in memory e mem32real Single precision 32 bit floating point operand in memory Appendix A 163 AMD Confidential User Manual August 22 2006 164 mem32int Doubleword 32 bit integer operand in memory mem64r
43. device Contents of a BSD The data saved in the BSD depends on the mode the graphics controller was in when the BSD was saved If the graphics controller was in VGA mode the BSD file contains the contents of all VGA registers a copy of the 256 Kbyte VGA frame buffer and all configuration information If the graphics controller was in a high resolution mode non VGA in Windows the frame buffer Emerald Graphics registers and PCI configuration registers are saved in the BSD When the BSD file is reloaded all registers and the frame buffer are restored and a display image 1s captured and displayed in the display window Configuration Options VGA Sub Device Configuration Chapter 7 Device Configuration 51 AMD Confidential User Manual August 22 2006 D Emerald Graphics 9 Properties e Connections 140 Logging VGA SubDevice Framebuffer and Ac BIOS File Images emerald v0 3 rem m A Enabled 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 1s assigned to ISA bus address 0x000C0000 0x000C7FFF which is the industry standard location This file must be a standard binary file with the correct header and checksum information already incorporated The VGA enabled checkbox enables or disables the VGA registers If it 1s not checked the VGA registers
44. disk Connect it to Southbridge using Winbond s Generic Bus and Southbridge s LPC Bus Add the PCI Bus Connect it to AMD 8111 Southbridge using both devices PCI Bus 0 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 6 3 Solo bsd Device Configuration To configure each device right click on the device and choose Configure Device from the workspace popup menu see also Section 7 Device Configuration on page 39 1 Configure the Matrox Millenium G400 Graphics Device e Go to its Configuration tab e Choose the BIOS file mages g400_897 21 bin Configure the Memory device e Go to its Memory Configuration tab Set the base address to fffc0000 Set the Size to 8 Set the Init File to mages ASLAO00 3 BIN Check the boxes for Read Only System BIOS ROM Memory Address Masking Memory is non cacheable e Clear the boxes for Initialized unwritten memory Configure the PCI device e Go to its PCI Bus Configuration tab e For the PCI Slot 1 add device ID 4 set Base IR Pin to PCIIRQ A and check the Enable Slot box e For the next three devices use Device IDs 5 6 and 7 with PCIIRQs B C and D in that order Check their Enable Slot boxes as well Chapter 6 Create A Simulated Computer 37 AMD Confidential User Manual August e 2006 PCI Bus 6 Properties Connections UU Logging PCI Bus
45. file File path may be relative to the current path Init Device CPU0 Type CPU Item ICount Data 227 gt Initial instruction count in decimal Different CPUs can have different initial ICounts Init Device CPU0 Type CPU Item ModeFlags Data 00000001 gt The upper 32 bit of ModeFlags must contain Execution Control flags Please refer to Section 7 22 3 ModeFlags on page 101 for more information Init Device CPU0 Typez SREG Itemz TSC Data 0000000000000000 gt The initialization information for MSRs Note that initialization information for TSC will be ignored Please use M00000010 for writes to TSC Chapter 7 Device Configuration 99 AMD Confidential User Manual August 22 2006 Init Device CPU0 Type APIC Length 1024 gt lt Init gt APIC initialization information INSTR Device CPU0 Type FJMP ICount 6778 JMP 1 RIP f86b0619 gt An FJMP Instruction RIP is optional and is only used to double check whether if the FJMP is taken at the correct instruction JMP attribute can have the following values JMP 0 Force Do not take jump for this instruction JMP 1 Force Take jump for this instruction Event Devicez CPUO Typez IOW ICount 6817 Address a038 Size 2 gt lt Data Length 2 Value 40af gt lt Event gt Defines an IOR or IOW dormant event Event Device CPU0 Type DMAW ICount 8403 Address 000000000c254340 Length 64 gt lt Data Length 64 Valu
46. graph represents the read PIO s the lighter color represents the write PIO s Write PIO s Exceeded PIO Rate Graph what can be moves Read PIO s Figure 3 12 CPU PIO Rate Graph 3 3 2 6 MMIO Rate Graph The MMIO Rate Graph updates once a second If the memory mapped I O MMIO rate exceeds what can be displayed on this graph the graph line turns red A rate of zero will appear as a horizontal line one pixel high Full vertical scale represents one MMIO per ten simulated instructions Darker color on the bottom of the graph represents the read MMIO s the lighter color represents the write MMIO s MMI Rate Graph Read Exceeded MMIO s what can be l displayed Write MMIO s Figure 3 13 CPU MMIO Rate Graph 18 Chapter 3 Graphical User Interface AMD Confidential User Manual August 22 2006 3 3 3 Simulated Video The simulated video area of the Main Window depicts the VGA output screen that appears when a VGA device is added to the workspace When the mouse focus is over the video area the simulator captures host keyboard input enabling you to type most keyboard entries on your real keyboard This is a convenience and may not accurately position the mouse or grab all keys correctly For more accurate mouse and keyboard capture see Grab the mouse and keyboard in Section 5 2 3 Interaction With The Simulated Machine on page 31 You can also allow the simulator to take complete control of the mouse and keyboard by se
47. in XTR XML file for this read The data 1s hence served and written from and to backing store whose contents were originally initialized from the XTR binary file XTRNB Ir AO3E w event time 326 Consume time 597 CPU ICount 99 01 00 XTRNB Iw AO3E w event time 345 Consume time 616 CPU ICount 118 00 00 XTRNB la D1 w event time 326462 Consume time 326462 CPU ICount 326235 Logged during XTR execution phase when IOR IOW message 1s received by XTRNB AO3E is the address of IOR IOW and the data after the is the data that is returned and received to and from the CPU Ia is for Interrupt Acknowledgement and Dl is the vector XTRNB Time Resync Adjusting time by 271 Logged during execution when there is a timing discrepancy detected between an event in XTR XML and that received from the CPU XTRNB adjusts to this discrepancy In ideal environment this should not occur XTRNB Queuing event CPUO DMAW for time 8403 Logged during execution when a DMAW event is queued so that it could be triggered at a later point 8403 1s the time when this event should be triggered 98 Chapter 7 Device Configuration AMD Confidential User Manual August 22 2006 XTRNB Setting event trigger delay for CPUO DMAW to 1205 Logged during execution DMAW event is setup to be triggered at a later point 1205 1s the difference between NOW and event time XTRNB Processing queued event CPUO DMAW ICountz8403 ShelllCount 8403
48. of a 16 bit register with the contents of a 16 bit register or memory operand and set rBLAGS to reflect the result AND the contents of a 32 bit register with the contents of a 32 bit register or memory operand and set TFLAGS to reflect the result AND the contents of a 64 bit register with the contents of a 64 bit register or memory operand and set rFLAGS to reflect the result Exchange the contents of an 8 bit register with the contents of 8 bit destination register Or memory operand and load their sum into the destination Exchange the contents of a 16 bit register with the contents of 16 bit destination register or memory operand and load their sum into the destination Exchange the contents of a 32 bit register with the contents of 32 bit destination register or memory operand and load their sum into the destination Exchange the contents of a 64 bit register with the contents of 64 bit destination register or memory operand and load their sum into the destination Exchange the contents of AX register with the contents of a 16 bit register Exchange the contents of a 16 bit register with the contents of the AX register Exchange the contents of EAX register with the contents of a 32 bit register Exchange the contents of a 32 bit register with the contents of the EAX register Exchange the contents of RAX register with the contents of a 64 bit register Exchange the contents of a 64 bit register with the conte
49. on the contents of OF BD r reg mem64 4 4 84 X AND reg64 reg mem64 BOUND reg16 mem16 8mem16 62 Jr BOUND reg32 mem32 mem3 2 BSF regi6 reg mmem8 BSF reg32 reg mmem32 BSF reg64 reg mmem64 BSR regi6 reg mmem8 BSR reg32 reg mmem32 BSR reg64 reg mmem64 Appendix A 167 AMD Confidential User Manual August 22 2006 Instruction S Supported Mnemonic id BSWAP reg32 OF C8 rd Reverse the byte order of reg32 BSWAP reg64 OF C8 rd Reverse the byte order of reg64 i Copy the value of the selected bit to Copy the value of the selected bit to Copy the value of the selected bit to BT reg mem16 imma OF BA 4 ib Copy the value of the selected bit to the carry flag BT reg mem32 imma OF BA 4 ib Copy the value of the selected bit to the carry flag BT reg mem 4 imma OF BA 4 ib Copy the value of the selected bit to the carry flag Copy the value of the selected bit to BTC mem mem16 reg16 OF BB r the carry flag and then complement the selected bit Copy the value of the selected bit to BTC mem mem32 reg32 OF BB r the carry flag and then complement the selected bit Copy the value of the selected bit to BTC mem mem64 reg64 OF BB r the carry flag and then complement the selected bit Copy the value of the selected bit to BTC reg memi imm8 OF BA 7 ib the carry flag and then complement v the selected bit Copy the value of the selected bit to the selected bit Copy the value of the sel
50. rSI and rDI Compare AL register equal copy the second operand to the first operand or memory first operand to AL Compare register equal copy the second operand to the first operand AX Otherwise or memory first operand to AX Compare EAX register with a 32 bit or memory register equal copy the second operand to the first operand Otherwise Otherwise first operand to EAX register with an 8 bit location If register with a 16 bit location If PX e copy the amp copy the amp copy the Compare RAX register with a 64 bit or memory register first operand Otherwise first operand to RAX Compare EDX EAX memory location zero flag ZF to ECX EBX location location to EDX EAX register Otherwise zero flag Executes Decrement the contents the CPUID 1 to copy the memory clear the and register to If equal the function number is in the EAX register Decimal adjust AL e a Decimal adjusts AL after subtraction set the and copy the copy the location If equal copy the second operand to the 4 64 bit memory whose v SS amp of an 8 bit register or memory location by 1 Decrement the contents Decrement the contents of a 32 bit register or memory location by 1 Decrement the contents of a 16 bit register or memory location by 1 of a 64 bit regi
51. register Store the segment selector from the local SLDT reg 4 OF OO O descriptor table register to a 64 bit A register Store the segment selector from the local SLDT memi6 OF OO O descriptor table register to a 16 bit memory location EE register v register Appendix A 195 AMD Confidential User Manual August 22 2006 Instruction S ted SMSW reg64 OF 01 4 Store the entire 64 bits of CRO to a 64 bit MM register SMSW memi6 OF 01 4 Store the low 16 bits of CRO to memory L Store the segment BIS EOD from the task STR regl6 OF OO 1 register to a 16 bit general purpose register Store the segment selector from the task STR reg32 OF OO 1 register Ee a 32 bit general purpose register Store the segment selector from the task STR reg64 OF 00 1 register to a 64 bit general purpose register STR mem16 OF 00 1 Store the segment selector from the task register to a 16 pie memory location MIE oe ec m I1 5 eegene Ia Call operating system A Set the zero flag ZF to 1 if EHE Segment VERR reg meml6 OF 00 4 selected can be read VERW OF 00 5 Set the zero flag ZF to 1 if the segment selected can be written Write modified cache lines to main memory WBINVD OF 09 invalidate internal caches and trigger v external cache flushes WRMSR OF 30 Write EDX EAX to the MSR specified by ECX j Table 15 10 System Instruction Reference A 6 3 1 INT Interrupt to Vector Opcode Instructi
52. related to timing such as the time to execute a given instruction will be different The TLB models do not exactly match any particular processor so any software that depends on exact TLB walking behaviors may not function correctly Chapter 7 Device Configuration 43 AMD Confidential User Manual August 22 2006 7 2 Debugger Device The debugger allows debugging tasks such as break pointing single stepping and other standard tasks Interfaces The debugger has no interfaces the debugger is present if it is in the Device Window To add the Debugger Device follow these steps l Select View Show Devices Click and drag the Debugger Device icon from the device list on the left side into the workspace area on the right side of the Device Window 3 Add an additional debugger for each processor you wish to debug Initialization and Reset State The debugger initially 1s disabled and attached to processor 0 Configuration Options In the Main Window select View Show Debugger Click the Attach button to configure which processor is being debugged To use the CPU Debugger please refer to Section 10 1 Using the CPU Debugger on page 123 Log Messages This device does not create log messages 44 2 0 0 0 Chapter 7 Device Configuration AMD Confidential User Manual August 22 2006 7 3 DIMM Device The DIMM device provides a simulation model of an array of up to four dual inline memory modules DIMMs T
53. specified v in DX Output the byte in DS rSI to the port OUTS DX mem8 6E Specified in DX and then increment v or decrement rSI Output the word in DS rSI to the port OUTS DX mem16 6F specified in DX and then increment v or decrement rSI Output the doubleword in DS rSI to OUTS DX mem32 6F the port specified in DX and then v increment or decrement rSI Output the byte in DS rSI to the port or decrement rSI Output the word in DS rSI to the port OUTSW 6F Specified in DX and then increment v or decrement rSI Output the doubleword in DS rSI to OUTSD 6F the port specified in DX and then v increment or decrement rSI Pop the top of the stack into a 16 Pop the top of the stack into a 32 Pop the top of the stack into a 64 Pop the top of the stack into a 16 Pop the top of the stack into a 32 dicii dics bit register Pop the top of the stack into a 64 diis i q A bit ee d Appendix 181 AMD Confidential User Manual August 22 2006 Instruction fee fem emo PREFETCHT2 mem8 OF 18 3 PUSH reg mem16 FF 6 PUSH reg mem32 FF 6 PUSH reg mem64 FF 6 E rosas CN RCL reg mem8 1 DO 2 RCL reg mem8 CL D2 2 182 S ted Description upporte 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 Pop the top of the stack into the FS register Pop the top of the stack into the GS register Pop the DI
54. the CS DS ES FS GS and SS prefixes are also allowed 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 130 Chapter 10 CPU Debugger AMD Confidential User Manual August 22 2006 11 Debug Interface The simualtor supports Linux and Windows based debugging It is recommended to use the GDB interface to debug on Linux based hosts The kernel debugger interface can be used to debug on Windows based hosts 11 1 Kernel Debugger This only applies to the Windows version of the simulator and not to the Linux version The simulator can interact with the kernel debugger through e EXDI interface see Section 7 20 EXDI Server Device on page 93 e Serial port connection The serial ports can be configured so that any data read from or written to the simulated serial ports is made available to the host machine The serial ports can each be configured to do this using either a named pipe or the actual serial port hardware The automation commands GetCommPort and SetCommPort are used for this purpose see Section A 7 10 Serial on page 209 Use the serial ports SetCommPort command to set the simulated serial port to use a specific COM port For example to set the second serial port in the simulation to use C
55. their saved states Common Configuration Options The USB dialogue window shown in Figure 7 20 gives the user the ability to enable or disable USB ports of the USB controller USB devices which are connected to disabled USB ports won t be identified and detected by an operating system For instance in Figure 7 20 the USB Port 0 is disabled and USB Port 1 and 2 are enabled Chapter 7 Device Configuration 75 AMD Confidential User Manual August 22 2006 E AMD 8111 1 0 Hub 4 Properties Friman HOO Channel Secondary HDD Channel CMOS USBO USB1 4 LIS B Part Configuration Port Number Enabled USB Device Port Mone Part 1 Mone Port 2 Mone Figure 7 20 USB Properties Dialog AMD 8111 M 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 The alternative to this 1s loading a binary file containing the CMOS desired data The user can create this file by entering changes and using the save feature to create the binary file 76 Chapter 7 Device Configuration AMD Confidential User Manual August 22 2006 D AMD 8111 1 0 Hub 4 Properties EJE3 Friman HDD Channel Secondary HDD Channel CMOS USB O USB1 4 Current values Address Value 0418 D x14 000 x12 000 0x01 002 0
56. voluminous The user can select just the most frequently executing blocks by using an optional numeric argument For example dumpprofile 10 will dump the ten most frequently executing blocks Blocks are ordered by their frequency of execution not weighted by the number of instructions in a block Therefore a short block executing 100 times will be displayed before a long block executing 99 times In this example the short block represents fewer total instructions executed The sense of time that the simulator uses 1s 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 214 Appendix A AMD Confidential User Manual August 22 2006 The simulator works by translating guest x86 instructions to long mode user mode Instructions which 1t then executes These translated instructions are grouped into blocks called translations These translations exist in a translation buffer which is typically about 64 MB When the translation buffer 1s full and space for another translation 1s needed the simulator disposes of the contents of the translation buffer and starts a new epoch An epoch in SimNow terms 1s the period of execution between the flushing of the translation cache It is only the period from the start of the current epoch to the issuance of the dumpprofile command that the pro
57. 0 zl w OxoF VGAMulti plane 1 bpp 640x550 2 wg 44444 4 amp 60 Chapter 7 Device Configuration AMD Confidential User Manual August 22 2006 EMEN T NE YET 7077703 NARI OIN TT S AE aja sis Teron 3 MN oxoloc vea 132x60 Text 1056xa80 zl 3 0oxo02 svea Multi plane 4 bpp 800x600 zl 3 Table 7 4 Matrox G400 VESA Modes Memory Interface The Matrox G400 supports a total of 32 megabytes of SGRAM SDRAM memory comprised of one or two banks of 8 16 or 32 Mbytes each In Power Graphics Mode the resolution depends on the amount of available memory Table 7 5 shows the memory configuration for each standard VESA resolution in pixel depth Sewage SM GM OM Ps EM SM SM DEM ORE RM 720x480 8M 8M 8M 8M 8M 8M 8M 8M 8M soosoo sM sM 8M SM SM SM EM SM EM 8M 1024x768 8M 8M 8M 8M 8M 8M 8M 8M 8M 8M 8M 8M 8M 8M 8M 10M 16M 16M Chapter 7 Device Configuration 61 AMD Confidential User Manual August 22 2006 Table 7 5 Supported Resolutions in Power Graphics Mode Supported Guest Operating Systems Table 7 6 shows all operating systems which are tested and known to work with the Matrox G400 graphics device model menos NA No known isses XF86 MGA Solaris No known issues Table 7 6 Supported Guest Operating Systems Improve Graphics Performance When
58. 000000000 gt lt Init Device CPUO Type CPU Item FP2 Data 3ffee6455d0000000000 gt lt Init Device CPUO Type CPU Item FP3 Data 3ffdb139430000000000 gt Init Device CPUO Type CPU Item FP4 Data 4005c45c6d0000000000 gt Init Device CPUO Type CPU Item FP5 Data 4004ccf8aa0000000000 gt lt Init Device CPUO Type CPU Item FP6 Data 40018ac7100000000000 gt Init Device CPUO Type CPU Item FP7 Data 40068d00470000000000 gt Init Device CPUO Type SREG Item MC0000081 Data 0000000000000000 gt Init Device CPUO Type SREG Item MC0000082 Data 0000000000000000 gt Init Device CPUO Type SREG Item MC0000083 Data 0000000000000000 gt Init Device CPUO Type SREG Item M0000001B Data 00000000FEE00900 gt Init Device CPUO Type SREG Item M00000200 Data 0000000000000006 gt Init Device CPUO Type SREG Item M00000202 Data 0000000000000000 gt Init Device CPUO Type SREG Item M00000204 Data 0000000000000000 gt Init Device CPUO Type SREG Item M00000206 Data 0000000000000000 gt Init Device CPUO Type SREG Item M00000208 Data 0000000000000000 gt Init Device CPUO Type SREG Item M0000020A Data 0000000000000000 gt Init Device CPUO Type SREG Item M0000020C Data 0000000000000000 gt Init Device CPUO Type SREG Item M0000020E Data 0000000000000000 gt lt Init Device CPUO Type SRE
59. 0000100 gt Data Length 16 Value 00000100000001000000010000000100 gt Chapter 7 Device Configuration 105 AMD Confidential User Manual August 22 2006 Data Length 16 Value 00000100000001000000010000000100 gt Data Length 16 Value 00000100000001000000010000000100 gt Data Length 16 Value 00000100000001000000010000000100 gt Data Length 16 Value 00000100000001000000010000000100 gt Data Length 16 Value 00000100000001000000010000000100 gt Data Length 16 Value 00000100000001000000010000000100 gt Data Length 16 Value 00000100000001000000010000000100 gt Data Length 16 Value 00000100000001000000010000000100 gt Data Length 16 Value 00000100000001000000010000000100 gt Data Length 16 Value 00000100000001000000010000000100 gt Data Length 16 Value 00000100000001000000010000000100 gt Data Length 16 Value 00000100000001000000010000000100 gt Data Length 16 Value 00000100000001000000010000000100 gt Data Length 16 Value 00000100000001000000010000000100 gt Data Length 16 Value 00000100000001000000010000000100 gt Data Length 16 Value 00000100000001000000010000000100 gt Data Length 16 Value 00000100000001000000010000000100 gt Data Length 16 Value 00000100000001000000010000000100 gt Data Length 16 Value 00000100000001000000010000000100 gt Data Length 16 Value 000001000000010000000100000
60. 00100 gt Data Length 16 Value 00000100000001000000010000000100 gt Data Length 16 Value 00000100000001000000010000000100 gt Data Length 16 Value 00000100000001000000010000000100 gt Data Length 16 Value 00000100000001000000010000000100 gt Data Length 16 Value 00000100000001000000010000000100 gt Data Length 16 Value 00000100000001000000010000000100 gt Data Length 16 Value 00000100000001000000010000000100 gt Data Length 16 Value 00000100000001000000010000000100 gt Data Length 16 Value 00000100000001000000010000000100 gt Data Length 16 Value 00000100000001000000010000000100 gt Data Length 16 Value 00000100000001000000010000000100 gt Data Length 16 Value 00000100000001000000010000000100 gt Data Length 16 Value 00000100000001000000010000000100 gt Data Length 16 Value 00000100000001000000010000000100 gt Data Length 16 Value 00000100000001000000010000000100 gt Data Length 16 Value 00000100000001000000010000000100 gt Data Length 16 Value 00000100000001000000010000000100 gt Data Length 16 Value 00000100000001000000010000000100 gt Data Length 16 Value 00000100000001000000010000000100 gt Data Length 16 Value 00000100000001000000010000000100 gt Data Length 16 Value 00000100000001000000010000000100 gt Init wl gt Event Device CPUO Type IOR ICount 326 Address
61. 01010 gt Init Device CPUO Type SREG Item M000002FF Data 0000000000000C00 gt Init Device CPUO Type SREG Item M00000400 Data 0000000000000000 gt Init Device CPUO Type SREG Item M00000405 Data 0000000000000000 gt Init Device CPUO Type SREG Item M00000408 Data 0000000000000000 gt Init Device CPUO Type SREG Item M0000040C Data 0000000000000000 gt Init Device CPUO Type SREG Item M00000410 Data 0000000000000000 gt Init Device CPUO Type SREG Item M000001D9 Data 0000000000000000 gt Init Device CPUO Type SREG Item M000001DB Data 0000000000000000 gt lt Init Device CPUO Type SREG Item M000001DC Data 0000000000000000 gt Init Device CPUO Type SREG Item M000001DD Data 0000000000000000 gt Init Device CPUO Type SREG Item MO00001DE Data 0000000000000000 gt lt Init Device CPUO Type SREG Item M00000277 Data 0007010600070106 gt Init Device CPUO Type SREG Item M00000174 Data 0000000000000008 gt Init Device CPUO Type SREG Item M00000175 Data 0000000000000000 gt Init Device CPUO Type SREG Item M00000176 Data 000000008052D480 gt Init Device CPUO Type CPU Item MXCSR Data 0000000000001F80 gt Init Device CPUO Type CPU Item XMMOO Data 00000000000000000000000000000000 gt Init Device CPUO Type CPU Item XMMOO Data 00000000000000000000000000000000 In
62. 05 005 Dx E Figure 7 21 CMOS Properties Dialog AMD 8111 Southbridge The Primary HDD Channel and Secondary HDD Channel tabs shown in Figure 7 22 contain the same information for each hard drive channel The user has two options for drive simulation an image of a hard drive created with DiskTool see Section 13 on page 137 or use of a real hard disk Using a real drive requires Windows 2000 and a drive that 1s able to be isolated locked from the rest of the system You cannot use the drive s that the OS and or the simulator reside on To use a drive image enter a file name in the Image Filename field A browse window 1s activated by pressing the right most button All disk devices Primary Master etc by default have the disk journaling feature turned on which allows simulations to write to the disk image during normal operation and not affect the contents of the real disk image This 1s useful for being able to kill a simulation in the middle for multiple copies of the simulator running at the same time etc Journal contents are saved in BSD checkpoint files but lost if you don t save a checkpoint before exiting To change journal settings or commit journal contents to the hard disk image go to the Device View Window then the AMD 8111 Southbridge then the configuration for 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 imag
63. 1 or disables 0 decoding of HyperTransport messages The ForcelnitFile command allows the user to change the BIOS ROM path once the simulation has already started This is legitimate only when the new BIOS ROM 1s a byte for byte copy of the initial BIOS ROM that simulation began with De same file different path Description Enable to print debug messages otherwise disable Allows a boot ROM image to be supported at the moment the emulation does not work with any known ROM images This was the original way to setup the image and journal files rather than having two separate commands Undoes the Image or Journal commands and puts the volume back in an unintialized state This command flushes the in memory caches out to the files This was supposed to allow support for both the 5304 default and 5312 cards the 5312 support is not well tested Creates a volume for the give disk image For e g raid image 0 i cO0d0 img Displays the disk image for the given volume Enables 1 or disables journaling for specified volume Creates a journal for the given volume number For file based journal raid addjournal 0 i lc0dOjl jrn for in memory journal raid addjournal 0 Resizes the journal for the given volume to the new journal parameters Commit copies back the modified data blocks from the journal to the disk image and clears the journals Appendix A AMD Confidential User Manual August 22 2006 Automation Command Cle
64. 13 DiskTool AMD Confidential User Manual August 22 2006 14 BIOS Developer s Quick Start Guide This section provides you with instructions on how to perform common tasks within the simulation environment The tasks described in this section are likely to be of particular interest to BIOS developers However developers of other types of software will benefit as well especially from tasks like logging CPU cycles and using the debugger 14 1 Loading a BIOS Image 1 Move the BIOS ROM image into your Images directory 2 Use View Show Devices to show the Devices Window shown in Figure 3 2 on page 9 3 Right click on the system BIOS memory device icon in the Device Window and select the Configure Device option on the Workspace Popup Menu Figure 3 3 on page 10 4 Choose the Memory Configuration tab Enter the appropriate base address and size for your BIOS ROM 6 Browse for your BIOS ROM image file The browser will only show files that have a ROM or BIN filename extension 7 Select the read only option unless the BIOS code will modify its image within the device 8 For most BIOS ROM select the system BIOS ROM memory address masking and memory is non cacheable options 9 Click OK to close the configuration dialog and accept the changes DO 14 2 Changing DRAM Size There are two ways to configure the simulated memory size For generic memory size configuration in powers of two you can use the Memory Config
65. 16 16 9A cd Specified by a far GE EE zn e instruction call direct with target CALL FAR pntr16 32 9A cp GE by a far a a in the instruction CALL FAR mem16 16 FF 3 Far call indirect with the target Specified by a far pointer in memory CALL FAR mem16 32 FF 3 Far call indirect with the target specified by a far pointer in memory s sign extend AL into AK Sign extend EAX into EDX EAX F9 EA Sign extend RAX into RDX RAX a OS EE Zero aes DI H ee CHO WO reg64 reg nenca OF 41 je Nove if not overflow OF o iowa regis reg memi EES movR regii reg memi2 REES om regsa reg mensa oF 42 ja Nove if below cp D SSS mvC regis res memi EES ene ae Mx TR Mors if carry GF 2 ZUM CC eC EA CHO VNS reg s reg mem a OF 43 Ja Nove if not below CF 0 y omone regis reg nemis OF 43 r Nove if not carry c 0 M O ee OX IY DEMNM MES OUR MEINEM DRE Tas ee 29 Ow reg32 reg memdz or 43 r move if above or equal CF 0 y amy E or fe Des irse e ET XX Appendix A 169 AMD Confidential User Manual August 22 2006 Instruction SEN ge EE CMOVBE regl6 reg memi6 OF 46 r Gei 1f below or E C 1 or ZF e CMOVBE reg32 reg mem32 OF 46 r iore if below or equal 1 or ZF A e e CERCLE y CMOVNBE reg16 reg mem16 OF 47 r ds not below or SE CF 0 or CMOVNBE reg32 reg mem32 OF 47 r Hove ir Ok now usce 2 28 Co ink itt oe 1 9 aiove reg32 r09 m
66. 16 bit register or memory location left the number of bits specified in the CL register Rotate the 17 bits consisting of the carry flag and a 16 bit register or memory location left the number of bits specified by an 8 bit immediate value Rotate the 33 bits consisting of the carry flag and a 32 bit register or memory location left 1 bit Rotate the 33 bits consisting of the carry flag and a 32 bit register or memory location left the number of bits specified in the CL register Rotate the 33 bits consisting of the carry flag and a 32 bit register or memory location left the number of bits specified by an 8 bit immediate value Rotate the 65 bits consisting of the carry flag and a 64 bit register or memory location left 1 bit Rotate the 65 bits consisting of the carry flag and a 64 bit register or memory location left the number of bits specified in the CL register Rotate the 65 bits consisting of the carry flag and a 64 bit register or memory location left the number of bits specified by an 8 bit immediate value Rotate the 9 bits consisting of the carry flag and an 8 bit register or memory location right 1 bit Rotate the 9 bits consisting of the carry flag and an 8 bit register or memory location right the number of bits specified in the CL register Rotate the 9 bits consisting of the carry flag and an 8 bit register or memory location right the number of bits specified by an 8 bit immediate value Rotate the 17 bits c
67. 2 Media Type 12 Completed Device has been successfully identified Disk Device found at SCSI Port 1 Bus H Target 1 LUN H Opening IC35LH2HAHUERB 7 H as PHYSICALDRIUE2 Culinders ai Heads Sectors Bytes Media Type Completed Device has been successfully identified 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 LINUX Note The list box always shows dev fd0 and dev fdl If you click on one of these and the physical device does not actually exist the GUI will hang for a short time and will then display information in the lower list box indicating that a 4Kb media is installed in this device DiskTool only recognizes device names dev hda through dev hdz In addition it looks for the file proc ide hd media and uses the information in that file to determine whether the device 1s a hard drive or a DVD CD drive If the file does not exist or if its contents cannot be parsed the device will not be listed The buttons on the right side of the DiskTool Window correspond to the four command line options listed above In addition there are About and Exit buttons that perform the obvious function When creating a new blank image
68. 2 imm8 or memory operand and a sign extended immediate 8 bit value OR the contents of a 64 bit register OR reg mem64 imm8 or memory operand and a sign extended immediate 8 bit value OR the contents of an 8 bit register OR reg mem8 reg8 08 r or memory operand with the contents of an 8 bit register OR the contents of a 16 bit register OR reg meml6 reg16 09 r or memory operand with the contents of a 16 bit register OR the contents of a 32 bit register OR reg mem32 reg32 or memory operand with the contents of a 32 bit register OR the contents of a 64 bit register OR reg mem64 reg64 or memory operand with the contents of a 64 bit register OR the contents of an 8 bit register OR reg8 reg mems OA r with the contents of an 8 bit register or memory operand OR the contents of a 16 bit register OR reg16 reg meml6 OB r with the contents of a 16 bit register or memory operand CNS OR the contents of a 32 bit register OR reg32 reg mem32 OB r with the contents Of a 32 bit register or memory operand OR the contents of a 64 bit register OR reg64 reg mem64 OB r with the contents of a 64 bit vw register or memory operand Output the byte in the AL register to immediate value Output the word in the AX register to immediate value Output the doubleword in the EAX 8 bit immediate value l Output the byte in the AL register to Output the word in the AX register to Output the doubleword in the EAX OUT DX EAX EE register to the output port
69. 22 Ga Ee 138 14 BIOS Developer s Quick Start Guide ni di 143 14 1 Loading a BIOS Tia Ge iii diceris edel dta rino diede 143 142 Chant me DRAM e 143 ls Chang me SPO Data E ee ee 144 D MES oci CMOS cenna R 145 12 5 Logeme PCI Contieurati n Cycles sep a een 145 140 Logs mne CPUC cesa 146 E Ze Ercatinesa Dbloppy Diske MM y e ed bna t eee e eint 147 15 Frequently Asked Questions FAQ a 149 Contents V AMD Confidential User Manual August 22 2006 NEN 2 001 010 0 Gene ea ne ce Cen TE 153 A l Format of Floppy and Hard Drive Images 153 PD ek ENN E 154 A 2 1 Computer Plattorm Piles BSD session ds 154 A 2 2 Device Files BELL 154 A 2 3 Eegenen 154 A 2 4 Image Files HDD FDD ROM SPD BIN 155 ALAT Euren eeben 155 ALA MEL MS a 55 AZARES MEMO SPD Idle Suas o a 155 A 3 Supported Guest Operating Systems essen 156 T CPUID c 158 A 4 1 CPUID Standard Feature Support Standard Function 0x01 158 A 4 2 CPUID AMD Feature Support Extended Function 0x80000001 158 MEE O TURNIER 160 A 5 1 Task Switches Usine Task Gates 160 A 5 2 FPEUHANG C ondio EE 160 A 5 3 Pending x87 Exception with CRO NE 0 IGNNE 1 160 A 5 4 FSAVE FRSTOR and FSTENV FLDENYV eere 160 A 5 5 bero debe 160 A 5 6 Non Maskable Interrupts NMI esses 161 A 5 7 P
70. 32 bit register or memory SHL reg mem32 CL D3 4 location left the number of bits j specified in the CL register Shift a 32 bit register or memory location left the number of bits Specified by an 8 bit immediate value Shift a 64 bit register or memory Shift a 64 bit register or memory specified in the CL register Shift a 64 bit register or memory location left the number of bits specified by an 8 bit immediate value Shift a signed 8 bit register or Shift a signed 8 bit register or SAR reg mem CL D2 7 memory operand right the number of v bits specified in the CL register Shift a signed 8 bit register memory location right the number of bits specified by an 8 bit immediate value Shift a signed 16 bit register or Shift a signed 16 bit register or bits specified in the CL register Shift a signed 16 bit register or memory location right the number of bits specified by an 8 bit immediate value Shift a signed 32 bit register or Shift a signed 32 bit register or SAR reg mem32 CL ps 47 memory operand right the number of bits specified in the CL register Shift a signed 32 bit register or memory operand right the number of bits specified by an 8 bit immediate value Shift a signed 64 bit register or Shift a signed 64 bit register or SAR reg mem64 CL D3 7 memory operand right the number of bits specified in the CL register Shift a signed 64 bit register or memory operand right the number of bits specified b
71. 400 graphics device provides a high performance PCI AGP VGA compatible video device The device provides a fully functional set of PCI configuration registers and a 2D drawing engine The AGP interface is currently somewhat minimal and is not capable of generating neither AGP cycles nor AGP specific modes at this time High performance device drivers are available for most operating systems Windows Linux and Solaris The Matrox G400 supports full acceleration of all GDI and DirectDraw functions Figure 7 9 shows the integrated components of the Matrox G400 graphics device Features and components which are currently not supported by the Matrox G400 graphics device model have a G in the following block diagram High Resolution Color Monitor Up to 2056 x 1536 at 32 b 2 Q Not Supported RAMDAC 2D Engine VIP VMI Po 2D Engine Second CRTC CODEC Port 2D Engine 2D Engine Color Space Color Space Conversion Cen CSC 2D Engine Color Space Conversion Advanced 3D Texturing and Rendering Engine 16 or 32 Mbytes SGRAM or SDRAM Local Frame Buffer Memory Figure 7 9 Matrox G400 Block Diagram Chapter 7 Device Configuration 55 AMD Confidential User Manual August 22 2006 Interfaces The Matrox G400 graphics device has both a PCI bus and an AGP bus connection only one of which can be used at any time to connect to PCI bus or AGP bus ports in other devices Initialization and Reset State Upon initial creation th
72. 8 eh PSTD STOS reg8 STOS regl6 STOS reg32 STOS reg64 STOSB STOSW STOSD STOSQ 190 Shift bits of a 16 bit destination register or memory operand to the right the number of bits specified in an 8 bit immediate value while shifting in bits from the second operand Shift bits of a 16 bit destination register or memory operand to the right the number of bits specified in the CL register while shifting in bits from the second operand Shift bits of a 32 bit destination register or memory operand to the right the number of bits specified in an 8 bit immediate value while shifting in bits from the second operand Shift bits of a 32 bit destination register or memory operand to the right the number of bits specified in the CL register while shifting in bits from the second operand Shift bits of a 64 bit destination register or memory operand to the right the number of bits specified in an 8 bit immediate value while shifting in bits from the second operand Shift bits of a 64 bit destination register or memory operand to the right the number of bits specified in the CL register while shifting in bits from the second operand Set the carry flag CF to 1 Set the direction flag DF to 1 E the contents of the AL register ES FDL and then increment or Ge EDI as the contents of the AX register ES rDI and then increment or rasis EDI Store the contents of the EAX register to ES r
73. 8 Function 0 Register 50 ByteCount 04 Data 00000000 M 10 Logger AMD 8th Generation Integrated Northbridge 0 PCI CONFIG WRITE Bus 0 Device 18 Function 3 Register 48 ByteCount 04 Data 00000000 M 10 Logger amp MD 8111 1 0 Hub 0 PCI CONFIG WRITE Bus 0 Device 18 Function 3 Register 4C ByteCount 04 Data 00000000 Y 10 Logger amp MD 8151 AGP Tunnel 0 PCI CONFIG READ Bus 0 Device 19 Function 0 Register 00 ByteCount 04 Data DDOODOFF v 10 Logger AweSim Processor 0 PCI CONFIG READ Bus 0 Device 1A Function 0 Register 00 ByteCount 04 Data OOOOOOFF v 10 Logger Dimm Bank 0 PCI CONFIG READ Bus 0 Device 1B Function 0 Register 00 ByteCount 04 Data OOOOOOFF 4 10 Logger Emerald Graphics 0 PCI CONFIG READ Bus 0 Device 1C Function 0 Register 00 ByteCount 04 Data OOOOOOFF IV 10 Logger Memory Device 0 PCI CONFIG READ Bus 0 Device 1D Function 0 Register 00 ByteCount 04 Data OOOOOOFF M 10 Logger PCI Bus 0 PCI CONFIG READ Bus 0 Device 1E Function 0 Register 00 ByteCount 04 Data O000000FF Ee PCI CONFIG READ Bus 0 Device 1F Function 0 Register 00 ByteCount 04 Data 000000FF Bloe PCI CONFIG READ Bus 0 Device 7 Function O Register 43 ByteCount 01 Data 00000030 SEET PCI CONFIG WRITE Bus D Device 7 Function 0 Register 43 ByteCount 01 Data 00000080 V Joumal 3 PCI CONFIG READ Bus 0 Device 7 Function 0 Register 43 ByteCount 01 Data 00000080 V Keyboard Controller 0 PCI CONFIG WRITE Bus D Device 7 Function 0 Register
74. 87 hardware to hang results in a FeatureNotIimplemented exception and the simulation will be stopped A 5 3 Pending x87 Exception with CRO NE 0 8 IGNNE 1 Clearing the CRO NE bit Numeric Error to 0 disables internal control of x87 floating point exceptions and enables external control When CRO NE is cleared to 0 and FIGNNE is 1 the x87 floating point exceptions are ignored When CRO NE is set to 1 internal control over x87 floating point exception reporting is enabled and the external reporting mechanism is disabled It 1s recommended that software set CRO NE to 1 This enables optimal performance in handling x87 floating point exceptions The simulator does not support the external x87 floating point exception reporting mechanism CRO NE 0 amp IGNNE 1 A 5 4 FSAVE FRSTOR and FSTENV FLDENV When the simulator is executing FSAVE FRSTOR and FSTENV FLDENV in real mode it is using the 16 bit protected mode memory format A 5 5 Triple Faulting If the processor encounters an exception while trying to invoke the double fault DF exception handler a triple fault exception occurs This can rarely occur but 1s possible For example if the invocation of a double fault exception causes the stack to overflow then this would cause a triple fault When this happens the CPU will triple fault and cause a shutdown cycle to occur This special cycle should be interpreted by the motherboard hardware which then pulls RESET which ulti
75. ACO Modern Simple Communications Controller Athlon 64 Opteron HyperTransport Technology Configuration Athlon 64 Opteron Address Map Athlon B4 Opteron DAAM Controller DJ c w Mm um cO hm 0 PCI configuration space Apply Register Modifications DWORD PCI Access Figure 8 1 PCI Configuration Viewer Chapter 8 PCI Configuration Viewer 115 AMD Confidential User Manual August 22 2006 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 with a CPU device then click on the Scan button to scan the PCI bus for devices After scanning the PCI bus the dialog should look like the one shown in Figure 6 1 8 2 Modifying the PCI Configuration contents To modify the PCI configuration registers of a specific PCI device select a device listed in the PCI Config Viewers list box The PCI Config Viewer shows the contents of all PCI configuration registers of the selected device To modify a certain byte of a PCI configuration register click on the desired hex value and enter a new hex value To apply the changes click on the Apply Register Modifications button Read only bits cannot be modified using the PCI Config Viewer Modified values appear in red in the PCI configuration register list until you click on the Apply Register Modifications button or close the PCT Config Viewer d
76. Assigns a value of R MC001001A 0000000004000000 0x0000000004000000 to the MSR with an address of 0xC0010014A Table 10 5 MSR Write Example 10 1 8 Find Pattern in Memory The find pattern command q1 and qa can be used to search for a specific pattern in memory The pattern that is searched for can either be an ASCII string or a binary pattern If the search is for an ASCII string the noncase option see Table 10 7 Debugger Commands and Definitions on page 130 can be used to match any character Command Description Finds the first occurrence of ASCII at e EE I 02000 BOL pattern PCI in the given memory range 0x 1000 0x2000 Same as above but finds all occurrence qa noncase 0x1000 L 0x2000 PCI of the ASCII pattern PCI using the none case sensitive search algorithm Finds all occurrences of the binary pattern 0x55 OxAA in the given memory range starting at physical address OxF0000 and ends at OxF0000 0xFFFF Table 10 6 Find Pattern Example qa DxFODOO P OXERBE 0x55 OxAA 10 2Debugger Command Reference The CPU Debugger Window consists of five areas as shown in Figure 10 1 The top most area displays the current CPU integer registers in 16 32 or 64 bit mode depending on the current mode of the CPU The next area displays a disassembly of the next six instructions starting at the current CS R E IP The next area displays 128 bytes of memory as bytes words dwords or qwords The address size and physi
77. CPU Debugger provides a list of commands and their descriptions when the 7 command is typed in the bottom line of the debug window shown in Figure 10 1 CPU Attach Button Debugger Attached to CPU 40 EFAS OQOOO00000 ERX O0O000000 ECH OO000000 EDbZ 00000F4A4 ESI OOO00000 EPI O0O000000 ESP 00000000 EBP 00000000 Ca FOOO DS O000 Es 0000 Fs 0000 Ge SS O000 EFLAGS oditszape GIF 1 ASID O0O000000 ACR3 0000000000000000 VHHSAVEPA OO00000000000000 GuestVMCRP A OOO000ODeemo0000 000 e060 Ax FOOO EOSB EASOEOOCOFO 3mp 3 FODO EO0 60 SEELA mos OS FOOD EU 665bLo mere ECX PAX FOOOU EQ6S BOAO mow al ah FOOO E067 E6s0 out 50h FOOO E069 KOSO oy al 30h FOOO EO6B Ke out TOh al FOOO E06D FA cli FOOO EO6E FC cld RIBINEK LA q QOOOOO000 p OOOO00010 F DOUD P OOOO00030 FP OOO00040 P oo000050 P OOO0006O P QOOOOO0070 F C R W lt Bus gt lt Devicef in Hex gt lt Function gt lt Register gt Data A Figure 10 1 CPU Debugger Window 10 1 1 Setting a Breakpoint 1 Stop the simulation as described in Section 3 1 Tool Bar Buttons on page 7 2 Open the Debugger Window View Show Debugger or click on The simulation will pause and the Debugger Window will appear 3 The bottom pane in the CPU Debugger Window is the debugger command line Enter a BX BM or BI on the debugger command line to setup and enable a breakpoint The BX BM and BI commands specify breakpo
78. CPUO Type CPU Item CSLimit Data 00000000FFFFFFFF gt lt Init Device CPUO Type CPU Item CSFlags Data 00000C9B gt lt Init Device CPUO Type CPU Item SS Data 00000010 gt lt Init Device CPUO Type CPU Item SSBase Data 0000000000000000 gt lt Init Device CPUO Type CPU Item SSLimit Data 00000000FFFFFFFF gt lt Init Device CPUO Type CPU Item SSFlags Data 00000C93 gt lt Init Device CPUO Type CPU Item DS Data 00000023 gt Init Device CPUO Type CPU Item DSBase Data 0000000000000000 gt Init Device CPUO Type CPU Item DSLimit Data 00000000FFFFFFFF gt lt Init Device CPUO Type CPU Item DSFlags Data 00000CF3 gt Init Device CPUO Type CPU Item FS Data 00000038 gt Init Device CPUO Type CPU Item FSBase Data 000000007FFDEO00 gt Init Device CPUO Type CPU Item FSLimit Data 0000000000000FFF gt Init Device CPUO Type CPU Item FSFlags Data 000004F3 gt lt Init Device CPUO Type CPU Item GS Data 00000000 gt Init Device CPUO Type CPU Item GSBase Data 0000000000000000 gt Init Device CPUO Type CPU Item GSLimit Data 000000000000FFFF gt Init Device CPUO Type CPU Item GSFlags Data 00000000 gt Init Device CPUO Type CPU Item LDTR Data 00000000 gt Init Device CPUO Type CPU Item LDTBase Data 0000000000000000 gt Init Device CPUO Type
79. Command object and how to interact with the SimNow CMDAPI interface perl w Chapter 12 Command API 135 AMD Confidential User Manual August 22 2006 Useras O leer ucc O C LS Sa 5 2 9 Ola WEITER Bie Sermo Wins2 OLE new SaimNow Command GI Gi Cannot open SlmMmiow Ommanic tus Uy esos Yemen cuage WI ISSIR WEE darse c eMe Qe Print Ho y os Silo lt gt chomp CmdLine 3t SCmaline iS ema gt Exe co Omaline slivResponse pri o My Response mi else Scmd gt GetLastError SMyResponse pcd bee wm E Eee S Re S oia dans Arc ect E OO igi ce EU Example 12 1 Perl Sample CMDAPI Source Code 136 Chapter 12 Command API AMD Confidential User Manual August 22 2006 13 DiskTool Use the DiskTool utility to create hard disk images DiskTool copies byte for byte the contents of a secondary hard disk into an hdd file This hdd file can be loaded as a disk image in the simulator DiskTool runs in two modes GUI mode and command line mode Double clicking on the DiskTool icon or running DiskTool from the command line with no command line options starts DiskTool in GUI mode If you run DiskTool from the command line and include any command line parameters DiskTool runs in command line mode To get a list of the command line options run DiskTool help 13 1 Command Line Mode The functions recognized by the DiskTool command line include Option G C
80. Configuration Device ID 0 31 Base IRO Pin Enable Slot PCI Slot 1 PCOIRO A PCI Slat 2 POIRO B ze PCI Slat 3 POIIFO C ze PCI Slat 4 PEIRO D ze PCI Slot 5 PCI Slat B Figure 6 3 PCI Bus Configuration dialog window 4 Configure the DIMM Memory device e Goto the Dimm 0 tab e Click Import SPD e Open the SPD file mages simnow DDR 256M spd 5 Configure the AweSim CPU device e Go to the Processor Type tab e Choose the Ahtlon64 754 SH CO 800MHz id product file as shown in Figure 7 1 on page 42 6 4 Save And Run The created simulated computer is identical to the solo bsd computer You can close the Device Window and save the file from the File Save BSD or by clicking on the d button All that remains is to set up disk images see Section 4 1 Creating A Blank Hard Drive Image on page 21 Section 5 2 1 Assigning Disk Images on page 28 and Section 13 DiskTool on page 137 and run the simulation 38 Chapter 6 Create A Simulated Computer AMD Confidential User Manual August 22 2006 7 Device Configuration Each section in this chapter provides a description of how to configure device models in the simulator s Device Properties window These device models include the CPU CPU debugger Northbridge DIMM memory modules AMD graphics device Southbridge Super IO memory device PCA9548 and PCA9556 SMB PCI bus AMD 8131 PCI X device PCI X test device AMD 81321M PCT X2 device
81. D Confidential User Manual August 22 2006 3 Graphical User Interface The simulator has a cross platform GUI that uses the Qt toolkit We welcome bug reports and usability feedback on the simulator Numeric Displa Menu Bar Main Window Tool Bar p ay Components gt lt T AJAMD SimNow Main Window Ja fx File View Special Keyboard Help ls Wad aA so E Graphs amp Numeric Display s K K EE A Simulator Stats IDE Primary Display IDE Secondary Display Floppy Display Diagnostic Ports 1 311 61 Host Seconds 134 263 808 master read O master read 490 read 00 02 00 03 83 80 26 76 Sim Seconds 22 332 928 master written 0 master written 172 written 00 00 00 00 87 84 15 0 Avg MIPS 0 slave read 0 slave read 00 00 00 CB e3 e0 881 MIPS D slave written D slave written DMA PIO mode PIO PIO mode Real MIPS Graph e My Documents Invalidation Rate Graph er My computer System Properties System Restore General Automatic Updates Remote Computer Name Hardware Advanced System Microsoft Windows XP Professional x64 Edition Version 2003 Exception Rate Graph 9 Service Pack 1 x My Network Registered to Places SimNow posten celda die coros Advanced Micro Devices Inc e 76588 371 0497215 51703 PIO Rate Graph 5 SUS Computer Stage AMD Engineering Sample 00 Wee 802 MHz 512 MB of RAM STE MMIO Rate Graph Microsoft TM Windows Professio
82. DI and then increment or decrement rDI Store the contents of the RAX register to ES IDI and then increment or decrement rDI dad the contents of the AL register ES rDI and then increment or Ge EDI SE the contents of the AX register ESS EDI and then increment or ee EDIL Store the contents of the EAX register toO ES rDI and then increment or decrement rDI Store the contents of the RAX register to ES rDI and then increment or decrement rDI Subtract immediate 8 bit value from the Se register and store the result in AL Subtract an immediate 16 bit value from the AX register and store the result in AX Subtract an immediate 32 bit value from the EAX register and store the result in EAX Subtract a sign extended immediate 32 bit value from the RAX register and store the result in RAX Subtract an immediate 8 bit value from an 8 bit destination register or memory location Supported Appendix A AMD Confidential User Manual August 22 2006 Instruction Opcode Se Subtract an immediate 16 bit value SUB reg mem16 imm16 81 5 iw from a 16 bit destination register or memory location Subtract an immediate 32 bit value SUB reg mem32 imm32 81 5 id from a 32 bit destination register or memory location Subtract a sign extended immediate SUB reg mem64 imm32 32 bit value from a 64 bit 9T J9 xd destination register or memory location Subtract a sign extended immediat
83. DLs 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 Each DIMM must have the same arrangement in size and number of banks For each valid access to DRAM the memory controller will assert one of eight bank select lines CS7 0 Each bank select line selects one virtual bank A virtual bank 1s the combination of one bank on the lower DIMM and the corresponding bank on the upper DIMM Row and column addresses select the data offset within the virtual bank Chapter 7 Device Configuration 45 AMD Confidential User Manual August 22 2006 DIWA DIMPNT UM DILINI LU CSI GU C51 Col Cal x Col x Col Col x Col DIMIPMU DIMMA DIMIMA DIIMPINI Figure 7 3 AMD Opteron Processor Virtual Bank Select Line Configuration Memory controllers in AMD Athlon 64 provide eight bank select lines However in this case each bank select 1s routed to only one physical DIMM bank 1 e the banks are not ganged DIMU DINIM DIMM DAIM Cod Col Gall Col Cod Col Goll C31 Col WS Col AMD Athlon 4 CS54 Figure 7 4 AMD Athlon 64 Processor Bank Select Line Configuration Configuration of the DIMM Device allows the user to specify SPD da
84. FXRSTOR wv Y SSE BS ww A A wv Hyper Threading S 3X X X _ X E AN SS M xS xS Table 15 7 CPUID Standard Feature implementation A 4 2 CPUID AMD Feature Support Extended Function 0x80000001 Table 15 8 shows the extended feature bits returned by the AweSim CPU processor model and which features are fully W or only partially 4 implemented and Only read and write to debug registers is supported side affects are not implemented 158 Appendix A AMD Confidential User Manual August 22 2006 supported A indicates that the returned feature bit is zero and this feature is not implemented and not supported CW gih gh Pin Feature SEET Generation Generation Generation Base Pre Rev F Rev F Floating Point Unit Is Y Y Virtual Mode Extensions sw wv wv Y Debugging Extensions A A Page Size Extension e wv wv e Time Stamp Counter PF AMD Model Specific Registers Page Address Extensions Machine Check Exception CMPXCHGSB Instruction APIC SYSCALL and SYSRET Memory Type Range Registers Page Global Extension Machine Check Architecture Conditional Move Instruction Page Attribute Table Page Size Extensions PSE 36 No execute page protection SEM AMD extensions to MMX MMX FXSAVE FXRSTOR Fast FXSAVE FXRSTOR 1 GB Paging feature RDTSCP Long Mode AMD Extensions to 3DNow TM 3DNow Instructions Virtua
85. G Item M00000201 Data 000000FF80000800 gt Init Device CPUO Type SREG Item M00000203 Data 0000000000000000 gt Init Device CPUO Type SREG Item M00000205 Data 0000000000000000 gt Init Device CPUO Type SREG Item M00000207 Data 0000000000000000 gt Init Device CPUO Type SREG Item M00000209 Data 0000000000000000 gt Init Device CPUO Type SREG Item M0000020B Data 0000000000000000 gt Init Device CPUO Type SREG Item M0000020D Data 0000000000000000 gt Init Device CPUO Type SREG Item M0000020F Data 0000000000000000 gt Init Device CPUO Type SREG Item M00000250 Data 1E1E1E1E1E1E1E1E gt Init Device CPUO Type SREG Item M00000258 Data 1E1E1E1E1E1E1E1E gt Init Device CPUO Type SREG Item M00000259 Data 0000000000000000 gt Init Device CPUO Type SREG Item M00000268 Data 1515151515151515 gt Init Device CPUO Type SREG Item M00000269 Data 1010101010101010 gt Init Device CPUO Type SREG Item M0000026A Data 0000000000000000 gt Init Device CPUO Type SREG Item M0000026B Data 0000000000000000 gt lt Init Device CPUO Type SREG Item M0000026C Data 0404040404040404 gt lt Init Device CPUO Type SREG Item M0000026D Data 0404040404040404 gt Init Device CPUO Type SREG Item M0000026E Data 1010101010101010 gt Init Device CPUO Type SREG Item M0000026F Data 10101010101
86. I to ES rDI and then increment or decrement rSI and EDI Move byte at DS rSI to ES rDI then increment or decrement rSI EDI Move word at DS rSI to ES rDI then increment or decrement rSI EDI 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 Move the contents of an 8 bit register or memory location to a 16 bit register with sign extension Move the contents of an 8 bit register or memory location to a 32 bit register with sign extension Move the contents of an 8 bit register or memory location to a 64 bit register with sign extension Move the contents of a 16 bit MOVSX reg32 reg meml6 OF BF r register or memory location to a 32 bit register with sign extension MOVSX reg64 reg meml6 OF BF r Move the contents of a 16 bit 63 r MOVD reg mem64 xmm 66 OF 7E r MOVD mmx reg mem32 OF 6E r MOVD reg mem32 mmx OF 7E r MOVD reg mem64 mmx OF 7E N R MOVMSKPD reg32 xmm 66 OF 50 r MOVNTI mem32 reg32 OF C3 MOVNTI mem64 reg64 OF C3 r MOVS mem8 mem8 MOVS mem16 mem16 N H D ps gt Ul MOVS mem32 mem32 gt Ul MOVS mem64 mem64 gt INS MOVSB MOVSW MOVSD gt Ul MOVSQ gt Ul Ul UI MOVSX regl16 reg mem8 o t UJ E H MOVSX reg32 reg mem8 OF BE gt H Pas H MOVSX reg64 reg mem8 OF BE register or memory location t
87. ID device including Disk Block Cache and Last Sector Hit which can be viewed at any time using the raid status 3 y 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 This model associates one logical volume with one image file The model does not represent the timing of any real system because data becomes available almost immediately Chapter 7 Device Configuration 89 AMD Confidential User Manual August 22 2006 7 18 SMB Hub Device The SMB hub device is used to connect one SMBus to any of four SMBus branches The device 1s programmed via read byte and write byte commands on the SMBus where the 7 bit address field is 0x18 The SMB hub device models the combination of two physical devices manufactured by Philips Semiconductors the PCA9516 5 channel C hub and the PCA9556 Octal SMBus and I C registered interface In the simulator s device model the two devices are configurable via GPIO x enables segment x as shown in Figure 7 30 Interface The SMB hub has five SMBus interfaces SMBO can be connected within the SMB hub to any of the four other SMBuses SMB 1 3 Typically SMBO is connected to a SMBus connection on a Southbridge device and the other SMBus ports are connected to ot
88. O Type CPU Item RDI Data 000000000B09A6B8 gt Init Device CPUO Type CPU Item RBP Data 000000000BOBEFEO gt Init Device CPUO Type CPU Item RSP Data 00000000B043ADCC gt Init Device CPUO Type CPU Item R8 Data 0000000000000000 gt lt Init Device CPUO Type CPU Item R9 Data 0000000000000000 gt Init Device CPUO Type CPU Item R10 Data 0000000000000000 gt Init Device CPUO Type CPU Item R11 Data 0000000000000000 gt Init Device CPUO Type CPU Item R12 Data 0000000000000000 gt Init Device CPUO Type CPU Item R13 Data 0000000000000000 gt 102 Chapter 7 Device Configuration AMD Confidential User Manual August 22 2006 Init Device CPUO Type CPU Item R14 Data 0000000000000000 gt Init Device CPUO Type CPU Item R15 Data 0000000000000000 gt Init Device CPUO Type CPU Item ModeFlags Data 00000001 gt Init Device CPUO Type CPU Item EFlags Data 0000000000000002 gt Init Device CPUO Type CPU Item ES Data 00000023 gt Init Device CPUO Type CPU Item ESBase Data 0000000000000000 gt Init Device CPUO Type CPU Item ESLimit Data 00000000FFFFFFFF gt Init Device CPUO Type CPU Item ESFlags Data 00000CF3 gt Init Device CPUO Type CPU Item CS Data 00000008 gt Init Device CPUO Type CPU Item CSBase Data 0000000000000000 gt lt Init Device
89. OMA for its communication you would type Seque eee omnt otio de 5 The simulator will program the appropriate COM port COM4 in the above example to 57600 baud 8 bits no parity 1 stop bit no flow control All characters transmitted by the simulation through the serial port second serial port in the above example will be sent out to the given COM port COMA in the above example In the same manner all data received by the simulator through the given COM port COM4 in the above example will appear as received data in the simulated COM port To set the simulated serial port COMI to use a named pipe you would type Serial 1 SetCommPort pipe The simulator will program the appropriate COM port COMI 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 131 AMD Confidential User Manual August 22 2006 The pipe 1s not created until the first go command will be executed This can be achieved by clicking on the go button followed by a click on the stop button This command sequence will setup the named pipe If you try to connect the kernel debugger without setting up the named pipe as described the kernel debugger will return an error message In case you have difficulties to establish a connection or the connection 1s unstable or KD has difficulties to stay 1n sync with the simulated OS You can se
90. ON aos 112 1244 1 ADSO ME INI lt td dali titi 112 7 24 4 2 Client Server simulated network onnies E 113 7 24 4 3 Isolated Client Server simulated network Same process 113 a A A A 114 s IJPCDContiPuradon VIe WEA oe catu toad 115 8 1 AAA A Ganaa aA kaea aAa 116 8 2 Modifying the PCI Configuration contents 116 A ketal hots ue ened E 117 9 1 Message LOS ee E 117 9 2 Error Los aida 119 9 3 Obras a ia 120 10 A enw seein epic ee gente sto ns denote Saas ios tvassde esas 123 tO sino the PW De bie Ss 123 FOI Seine a Eege Eu 123 10 12 Single Stepps the Simian yas eee he te den Dn et dee he edet 124 101 3 Stepping Over an Instruclioti oer e o da 124 1014 Skippine an Instruction ue etre n a pee ee RR itane n eaae 125 10 1 5 Vi ewino a Memory REPO 125 10 1 6 Reading PCI Configuration Regsterg eese 126 10 1 7 Readies CPU MSR Contents s one Eo C pte Eos etes 126 LOS ureegen 127 10 2 Debugger Command Reference oooooonnnnnnccccnnnnnnnnnnnnnnnononnnnnnnnnnnnnnnnnnnnnnnnnnnnns 127 11 Eer 131 LLI enee ere CE 131 LI C10 e EE 132 EZL AMA o e da 132 E Fi Fe APPO aaa 133 11 2 3 Using Another Port on the Same Machine ccccccccnncnnnnnnnnnnnononncnnnnnnnnnnos 133 11 24 Usimo Two separate Machines da 133 11 3 Linux Host Serial Port Communiceaton cc ccceeseeeeessseeeeeeceeeeeeeeeeeeeaaaaas 133 12 Command lata 135 13 BE ARE E EAE A EA E A A col 137 IS Command Line Modest ae A oa tn ce dett e tutis t irte s 153 13
91. OV segReg reg mem16 8E r register or memory Speci segment register Move 8 bit data at a specified memory MON SCH MOV AL moffset8 MOV AL moffset8 AO offset to the AL register Move 16 bit data siad NE AE Ee E memory offset to the 2 aded Move 32 bit data at a specified MON Seg MOLT AEE memory offset to the EAX register Move 64 bit data at specified HON RRA MOLERES gt memory offset to the RAX Go MOV moffset8 AL Move the contents of the AL register to an 8 bit memory offset MOV moffset16 AX A3 Move the contents of the AX register v to a 16 bit memory offset Move the contents of the EAX register Move the contents of the RAX register Move an 8 bit immediate value into an Move a 16 bit immediate value into a Move a 32 bit immediate value into a Move a 64 bit immediate value into a Move an 8 bit immediate value to an MOV reg memg 1mmg ce 0 8 bit register or memory operand Move a 16 bit immediate value to a Ee GE 16 bit register or memory operand Move a 32 bit immediate value to a y MOV Won nme ST 9 32 bit register or memory operand Move a 64 bit immediate value to a HOW MOV reg mem64 imm64 dide EG 64 bit register or memory operand Move 32 bit value from a general MOVD xmm reg mem32 66 OF 6E r purpose register or 32 bit memory v location to an XMM register 178 Appendix A MOV regil6 32 64 meml segReg 8C r AMD Confidential User Manual August 22 2006 Instruction IUE Opcode ii
92. Ode L Chapter 10 CPU Debugger 125 AMD Confidential User Manual August 22 2006 Table 10 2 Debugger Memory Dump Command Examples When using Pacifica Virtualization Technology in simulation the user can tell the debugger to access memory for either the guest or the host If multiple guests are running under a hypervisor the debugger will acess memory for the last guest that has run The user can further qualify an input address using the G Guest and H Host specifiers For example Command Description 0 0 0 0 Dd c001c0de HL SE peii host linear memory starting at address Dd edo dc0d sc rs bed pal q linear memory starting at Dd c001cOde HP v A TEE physical memory starting at Dd c001cOde GP pri pd sin Lem physical memory starting at Table 10 3 Debugger Pacifica Memory Dump Command Examples If the user omits the G or the H specifier the debugger will access memory from the perspective of the attatched CPU s current state 10 1 6 Reading PCI Configuration Registers 1 Stop the simulation as described in Section 3 1 Too Bar Buttons on page 7 2 Open the Debugger Window View Show Debugger or click on gt The simulation will pause and the Debugger Window will appear 3 Use the debugger s S command to view the PCI configuration register contents for a particular PCI function The S command takes three hex parameters bus device function If the specified bus device and funct
93. PUO Type SREG Item MC0010010 Data 0000000000160601 gt Init Device CPUO Type SREG Item MC0010015 Data 000000000A000000 gt Init Device CPUO Type SREG Item MC0010016 Data 0000000000000000 gt Init Device CPUO Type SREG Item MC0010017 Data 0000000000000000 gt Init Device CPUO Type SREG Item MC0010018 Data 0000000000000000 gt Init Device CPUO Type SREG Item MC0010019 Data 0000000000000000 gt Init Device CPUO Type SREG Item MC001001A Data 0000000080000000 gt Init Device CPUO Type SREG Item MC001001D Data 0000000000000000 gt Init Device CPUO Type SREG Item MC0010030 Data 0000000000000000 gt Init Device CPUO Type SREG Item MC0010031 Data 0000000000000000 gt Init Device CPUO Type SREG Item MC0010032 Data 0000000000000000 gt Init Device CPUO Type SREG Item MC0010033 Data 0000000000000000 gt Init Device CPUO Type SREG Item MC0010034 Data 0000000000000000 gt Init Device CPUO Type SREG Item MC0010035 Data 0000000000000000 gt Init Device CPUO Type SREG Item MC0010112 Data 0000000000000000 gt Init Device CPUO Type SREG Item MC0010113 Data 0000000000000001 gt Init Device CPUO Type SREG Item MC0011020 Data 0000000000000000 gt Init Device CPUO Type SREG Item MC0011023 Data 0000000000000000 gt Init Device CPUO Type APIC Length
94. R8 to register MOV CR8 reg64 FO 22 r EE notation for move register to SKINIT OF 01 DE Secure initialization and jump with attestation STGI OF 01 DC Set Global Interrupt Flag VMLOAD OF O1 DA Load State from VMCB VMCALL OF 01 D9 Call VMM VMRUN OF O1 D8 Run Virtual Machine A 6 5 64 Bit Media Instruction Reference These instructions described in this section operate on data located in the 64 bit MMX registers 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 Instruction SRI EE Converts packed double precision floating point values in an XMM CVTPD2PI mmx xmm2 m128 66 OF 2D r register or 128 bit memory location to Ti packed doubleword integers values in the destination MMX register Converts two packed doubleword integer values in a MMX register or 64 bit CVTPI2PD xmm mmx m64 66 OF 2A r memory location to two packed double precision floating point values in the destination XMM register Converts packed doubleword integer values in a MMX register or 64 bit CVTPI2PS mmx xmm2 m128 OF 2A r memory location to single precision floating point values in the destination XMM register A 6 6 3DNow Instruction Set This chapter describes the 3DNow Instruction Set that the simulat
95. Sectors B388608 T d Image Size MB 14098 E Figure 4 3 New Image Size Before you start creating a new blank disk image make sure that the image will be large enough to install Windows or Linux on it You can enter the image size in MB or in number of sectors We recommend an image size of 4 GB Increase the value of Image Size MB to 4096 and then click on the Ok button to create the image file A progress bar will inform you of the progress being made see Figure 4 4 WW Blank Image Cren windows sp professional xb4 hdd AAA U Figure 4 4 Create Blank Image Once the image is created successfully DiskTool will display a message box as shown in Figure 4 5 Click on the Ok button Chapter 4 Disk Images 23 AMD Confidential User Manual August 22 2006 WW Blank Image E 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 24 Chapter 4 Disk Images AMD Confidential User Manual August 22 2006 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 6 that is used for text interaction X F1 AMD SimNow Main Window SEs Fil
96. Size 1 gt lt Data Length 1 Value 01 gt lt Event gt Defines a Memory Read or Memory Write event MEMR and MEMW are recorded for MMIO ranges 7 22 2 2 XTR Binary File Contents XTR Binary file contains the memory image of the system just before the XTR Record started The binary file contains multiple records where each record contains has the following structure Physical Address Of the Page 8 bytes Count of Bytes in this Page 4 Bytes Data Of the Page Count of Bytes earlier Currently XTR only supports page size of 4096 bytes Both the DIMM and MMIO may be present in the XTR Binary file The last record in the binary file must have a count of zero to indicate end of memory image 7 22 3 ModeFlags ModeFlags defines some of the states of the CPU that are important for execution The upper 32 bits store the Execution Control flags e g HLT and ignore interrupts for 1 instruction when we change stack segment The lower 32 bits is redundant from other initialization values in the XTR initialization but is there to maintain code consistency Table 7 7 shows the Execution Control Flags upper 32 bit Pseudo pin that stops simulation 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 SMC detected in current translation restart required ECF GENEXCEPTION 0x00002000 SVM virtual in
97. The Diagnostic Display displays data written to three I O address ranges 0x80 0x83 0x84 0x87 OxEO OxE3 Currently the Diagnostic Display is implemented only for Southbridge device If the system configuration includes a Southbridge device then the Diagnostic Display will be displayed 14 5Logging PCI Configuration Cycles Northbridge devices can be configured to produce PCI configuration cycle log messages Complete the following steps to enable and capture of these log messages l Open the Device Window from the Main Window Menu View Show Devices Double click on the Northbridge device This will bring up the device Properties Window Click on Logging Capabilities that will display the logging options Select Log PCI Configuration Cycle to and then click OK to accept the configuration 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 e Quick Start Guide 145 AMD Confidential User Manual August ye 2006 3 Log messages will only be captured from devices that have a check beside their name If the Northbridge device does not have a check then check 1t by clicking its check box 4 Select whether to send log messages to the window and or to a file If logging to a file enter a filename for the log file 5 Execute the simulation and the requested information will be logged x 1 SimNow Message Log
98. XOR the contents of an 8 bit destination register or memory reg mem8 imm8 operand with an 8 bit immediate value and store the result in the destination XOR the contents of a 16 bit destination register or memory reg mem16 imm16 operand with a 16 bit immediate value and store the result in the destination XOR the contents of a 32 bit destination register or memory reg mem32 imm32 l operand with a 32 bit immediate value and store the result in the destination XOR the contents of a 64 bit destination register or memory reg mem 4 imm32 operand with a sign extended 32 bit immediate value and store the result in the destination XOR the contents of a 16 bit destination register or memory reg memi imm8 operand with a sign extended 8 bit immediate value and store the result in the destination XOR the contents of a 32 bit destination register Or memory reg mem32 imm8 operand with a sign extended 8 bit immediate value and store the result in the destination XOR the contents of a destination register or memory reg mem64 imm8 operand with a sign extended 8 bit immediate value and store the result in the destination XOR the contents of an destination register or memory reg mem8 regs operand with the contents of an 8 bit register and store the result in the destination XOR the contents of a destination register or memory reg mem16 reg16 operand with the contents of a 16 bit register and store the result in the destinat
99. a into some media on the Host which will be inserted into the simulation The choices for doing this are Create an ISO image with the data inside it then get it into your guest OS Use the File Set IDE Secondary Master Image item in the Main Window Menu to insert it into the DVD ROM simulation which is by default on the secondary master position in all BSDs Finally mount it in your guest OS Chapter 5 Running the Simulator 29 AMD Confidential User Manual August ye 2006 e Use a raw floppy disk image in a manner similar to the above It s a lot smaller and a bit more hassle so we don t recommend it e Mount a hard disk image on the host On a Linux host you can use the loopback device e Use the JumpDrive USB device to copy files into the simulator and out of the simulator see Section A 7 26 JumpDrive on page 221 Copying files out of the simulator corresponds to putting some data into some media in the guest which will then be extracted on the host To do this mount a hard drive image on the host after placing the data on it in the guest On a Linux host you can use the loopback device 5 2 2 Run The Simulation Once the disk images are assigned the simulation may be started by clicking on the P ay button on the Main Window s Tool Bar DET AMD SimNow Main Window SEE J6Huzwasuusmuge GEES Simulator Stats IDE Primary Display IDE Secondary Display Floppy Display Diagnostic Ports 57 69 Host Sec
100. a03e Size 2 gt lt Data Length 2 Value 0100 gt lt Event gt Event Device CPUO Type IOW ICount 345 Address a03c Size 2 gt lt Data Length 2 Value 0000 gt lt Event gt Event Device CPUO Type IOW ICount 364 Address a03e Size 2 gt lt Data Length 2 Value 1100 gt lt Event gt Event Device CPUO Type IOR ICount 588 Address a037 Size 1 gt lt Data Length 1 Value 0c gt lt Event gt INSTR Device CPUO Type FJMP ICount 6778 JMP 1 RIP f86b0619 gt INSTR Device CPUO Type FJMP ICount 6797 JMP 1 RIP f86b0619 gt Event Device CPUO Type IOW ICount 6817 Address a038 Size 2 gt lt Data Length 2 Value 40af gt lt Event gt INSTR Device CPUO Type FJMP ICount 7081 JMP 1 RIP f86b0317 gt INSTR Device CPUO Type FJMP ICount 7099 JMP 1 RIP f86b0317 gt Event Device CPUO Type IOR ICount 7110 Address a037 Size 1 gt lt Data Length 1 Value 0d gt lt Event gt Event Device CPUO Type IOR ICount 7121 Address a037 Size 1 gt 106 Chapter 7 Device Configuration AMD Confidential User Manual August 22 2006 lt Data Length 1 Value 0d gt lt Event gt Event Device CPUO Type IOR ICount 7137 Address a03e Size 2 gt lt Data Length 2 Value 0000 gt lt Event gt Event Device CPUO Type IOW ICount 7198 Address a03c Size 2 gt Data Length 2 Value B5fc0
101. ace Popup Menu Changing the system configuration of the simulated system can make the simulation nonfunctional Right clicking on any icon in the workspace produces a popup menu as shown in Figure 3 3 Configure Device Add Connection Please note that these features are not supported by the public release Delete Device version of the simulator Disconnect Device What s This Help Figure 3 3 Workspace Popup Menu 10 Chapter 3 Graphical User Interface AMD Confidential User Manual August 22 2006 3 2 2 1 Add Connection Please note that this feature is not supported by the public release version of the simulator You can connect a device to another device by holding Shift left click and drag from one device to the other You will draw a line from the first device to the second Release the mouse button to create the connection You can also right click one device select 4dd Connection and then click on the device to connect to Then click Finish The connection enables simulator level message exchanges between the connected devices All connections enable bidirectional message transfers Some devices contain more than one interface to which a connection can be made A multi interface device routes messages out different interfaces based on the type of message being sent When you make a connection with a multi interface device an interface list dialog appears which enables you to select the appropriate interface
102. aces a bus interface and one or more slot interfaces The bus interface connects to a device that provides a PCI bus such as a Northbridge Each PCI slot interface 1s 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 Second the connection points are exclusive that 1s only one device can connect to each connection point on the PCI bus because in a real system one cannot install two PCI cards into a single PCI slot It is planned that these new behaviors will be used in other devices when required Initialization and Reset State The default state of the device has all slots disabled This is because each platform configures its PCI Buses in specific ways that make it impossible to provide a generic default since the PCI Bus device does not include any state that 1s altered during the course of a simulation after a reset the PCI Bus device remains unchanged Contents of a BSD The configuration of the PCI bus including which slots are enabled the device ID for each slot and the base IRQ routing pin for each slot and the connection points are saved in the BSD Configuration Options Figure 7 25
103. ack color growing from the top represents the meta data that describes the translations Percent of tcache Translation Graph Meta Data that containing describes the Invalidated Translations Translations Percent of tcache containing Valid Translations Figure 3 8 CPU Translation Graph 3 3 2 2 Real MIPS Graph The Real MIPS Graph updates once a second If this value exceeds what can be displayed on this graph the graph line turns red It shows the instantaneous MIPS 1 e how many millions of instructions per host CPU second at which the simulator 1s running A value of zero will appear as a one pixel high horizontal line Full scale represents 100 MIPS Heal MIPS Graph Million of Exceeds 100 Instructions per MIPS Host CPU second Figure 3 9 CPU Real MIPS Graph 3 3 2 3 Invalidation Rate Graph The Invalidation Rate Graph updates once a second If this value exceeds what can be displayed on this graph the graph line turns red A rate of zero will appear as a horizontal line one pixel high Full vertical scale represents one invalidatated translation per thousand simulated instructions The lower darker color represents plain invalidations The upper lighter color represents range invalidations This upper lighter color is a minimum of one pixel high 1 e a value of zero range invalidations still results in a one pixel high line of the lighter color Plain us Range Invalidations Invalidations Invalid
104. ailable This allows client debugging software such as CmdeXdi and the Windows kernel debugger to interact with the platform being simulated as 1f 1t were a real hardware platform The installation of the simulator should provide all the COM registration hooks that are required If it does not here are the steps to manually register the EXDI server 1 Open a command window run cmd exe 2 Change the current directory to the location where the simulator was installed 3 Execute the command Regsvr32 exdi64ps dll You should get a message box indicating that registration was successful 4 Execute the command Regrgs exdiamdserver rgs MODULE of exdi64ps dll usually C SimNow exdi64ps dll LM path and file name 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 1s kde redes tado SOS DO AREA hole SoS DODDA T Chapter 7 Device Configuration 93 AMD Confidential User Manual August 22 2006 7 21USB Keyboard and USB Mouse Devices USB legacy emulation 1s not yet supported by the simulator model USB 2 0 support 1s very limited only basic PCI configuration and memory read and write functionality is available By default the simulator uses the keyboard device model to send user s keystrokes to the simulation For example when the user presses Enter with the host mouse on the graphics display window the si
105. akes a screen shot This command supports multiple displays Index is a number that identifies the desired display An Index of 0 means that a screen shot from display O will be taken Filename is the name of the snapshot file The file name includes the full pathname for the file any valid path drive names C or server names servername can be used If a pathname is not given the current default path 1s used Format must be one of the formats that GetScreenShotFormats returns e g BMP or PNG LogConsoleStdErr reports if stderr logging is currently enabled SetLogConsoleStderr cause console logging to go to stderr 1 or stdout 0 The default is the current behavior of logging to stderr Returns the run time duration in nanoseconds Runs the simualtion for the given number of microseconds and then stops the simulation Sets up the simulators gdb interface The default protocol is tcp and the default port 1s 2222 If you don t define any parameters the default protocol and port will be used You can override tcp with udp The following example shows how to override the default protocol and port parameters shell gdb udp 2233 The host parameter can t be changed it is always set to localhost For more information please refer to Section 11 2 GDB Interface on page 132 Returns the location postion x y of the device Device Name in the device window x and y are pixel coordinates inside the device wi
106. altered if a PDL is out of range The OxFF option specifies that the return data should be forced to all ones The Invert option specifies that the return data should be a bitwise inversion of the valid data Returns the specified options set by OutOfRangeResp The SMB Base Address entry selects the 8 bit address that this DIMM device responds to The SMB address is used for the reading of DIMM SPD data Returns the specified SMB Base address ImportSPD provides the option of loading SPD ROM data to DimmNo from the file specified by fullpath The file format is an unformatted binary image with an extension of spd 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 ResetPDL sets all 16 PDL response ranges to their maximum range 0 255 sets the PDL Response Rage of memory module DimmNo and PDL PDLNo to High and Low 219 AMD Confidential User Manual August 22 2006 Automation Command GetPDLRespRange lt DimmNo gt lt PDLNo gt GetPDLData lt DimmNo gt GetConfig GetMaxDimms SetMaxDimms lt num gt GetDimmDescription lt DimmNo gt GetDimmType lt DimmNo gt GetDimmSize lt DimmNo gt GetDimmBanks lt DimmNo gt GetDimm Width lt DimmNo gt GetSpdData lt DimmNo gt DeleteDimm lt DimmNo gt GetSpdDataByte lt DimmNo gt lt Addr gt S
107. an see real network traffic and are visible to all simulator sessions running via the mediator In addition all broadcast traffic including ARP s are routed to this class of MAC addresses Allocations of absolute MAC addresses need to be coordinated such that they are not replicated on the same host subnet MAC addresses beginning with FA CD and having a third byte between 0x21 and 0x80 are classified as fixed The simulator adapters using this class of MAC address can access the real network but cannot be seen by other simulator sessions outside of its domain This class of MAC address allows a user to simultaneously run identical BSD s using unique domains This class of MAC addresses will not receive broadcast traffic such as ARP s Allocations of fixed MAC addresses need to be coordinated such that they are not replicated in the same mediator domain 7 24 4 Example Configurations MAC address assignment was designed to satisfy many usability needs Table 7 10 shows a list of possible usage models for the simulator and MAC Address assignments 7 24 4 1 Absolute NIC This configuration mimics plugging in a physical computer into whatever network your mediator is running on The user must select a MAC Address that 1s not duplicated anywhere else on the mediator s subnet All broadcast and targeted network traffic will be routed to a simulator session using this classification of MAC Address This provides maximum visibilit
108. aphics device The INT IOAPIC bus should be connected to the Southbridge it routes interrupt signals from the AGP bus to the Southbridge Initialization and Reset State When first initialized or reset the AMD 8151 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 Configuration Options The AMD 8151 device allows you to set its Revision number as shown in Figure 7 29 D AMD 8151 AGP Tunnel 42 Properties EJE3 Connections LO Logging 8151 Rev 8151 Rev tt Figure 7 29 AMD 8151 Device Properties Dialog Chapter 7 Device Configuration 87 AMD Confidential User Manual August 22 2006 Differences from Real Hardware Clock sensitive functionality like setting bus speeds is not supported The HyperTransport bus protocol 1s not simulated 88 Chapter 7 Device Configuration AMD Confidential User Manual August 22 2006 7 17 Raid Device Compaq SmartArray 5304 The RAID device uses disk 1mages which are accessed as simulated volumes by the RAID controller Storage devices like ATA HDD and RAID are implemented with concepts like disk block cache journaling file and memory stores This page describes journaling in more detail A simulated volume in the RAID device is represented by an image file and one or more optional journals The combination o
109. ar lt Vol gt Flatten Vol gt Status Vol gt v r SetDBC lt Entries gt lt Depth gt lt Block Size gt Description Clears the volume discards any changes made to the volume Deletes the journal added last for that particular volume Displays the status for the RAID device or a particular volume v option displays details regarding the statistics of performance meters implemented in the RAID device while r option resets the performance counters Set the parameters for disk block cache For e g raid setdbc 32768 5 512 SetJournalParameters Super Block Set the Journal Parameters For e g Size Index Block Size Index raid setjournalparameters 8192 512 5 512 Levels DiskBlock Size gt GetJournalParameters Displays the Journal parameters A 7 24 DIMM 1 simnow dimm usage Automation Command Description PdlErrorSim 0 1 GetPdlErrorSim OutOfRangeResp OxFF invert GetOutOfRangeResp SMBBaseAddr lt addr gt GetSMBBase ImportSPD lt DimmNo gt lt fullpath gt ExportSPD lt DimmNo gt lt fullpath gt ResetPDLs lt DimmNo gt PDLRespRange lt DimmNo gt lt PDLNo gt High Low Appendix A Enables 1 or disables 0 the PDL Error Simulation If enabled then the DIMM device monitors PDL settings for all RAM reads Returns enabled if PdlErrorSim is enabled otherwise it returns disabled The Out of Range Response selection specifies how the data should be
110. are used in the AweSim device CPU Bus 0 This interface is used to issue memory and I O read and write requests as well as cache control and input output signal messages This interface is generally connected to the Northbridge device Interrupt Bus This interface 1s used to communicate interrupt request and acknowledge messages This interface 1s connected to whichever device 1s used to generate and control interrupts typically the Southbridge device System Messages Interface This interface 1s used by the processor device to output ASCII and binary log information Initialization and Reset State The processor device s state at initialization 1s equivalent to an industry standard x86 processor at initialization The L1 cache and APIC interfaces are disabled the debugger is off and the L1 cache is configured as two 2 way 512 line and 64 byte caches When the processor device receives a reset the device resets its internal state 1n a manner consistent with a standard x86 processor No configuration information is modified Contents of a BSD The BSD file contains the current state of all internal processor registers state variables etc It also contains all configuration information Any memory configured locally to the processor is saved in the BSD Configuration Options 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 proc
111. ath capabilities The new technology is compatible with existing software and should run correctly without modification The thirteen new instructions are summarized in the following section For detailed information on each instruction refer to a complete Instruction Set Reference 198 Appendix A AMD Confidential User Manual August 22 2006 Instruction ET Supported de Add Subtract packed double precision ADDSUBPD xmm1 xmm2 m128 66 OF DO r floating point number from XMM2 Mem rd to XMM1 Add Subtract packed single precision ADDSUBPS xmmi xmm2 m128 F2 OF DO r floating point number from XMM2 Mem yf to XMM1 Store ST as a Signed integer E MIGAS DE truncate in ml6int and pop ST Store ST as a Signed integer mor dee DE truncate in m32int and pop ST Store ST as a Signed integer ME eE DD 1 truncate in ml6int and pop ST Add horizontally packed double from XMM2 Mem to XMM1 Add horizontally packed single from XMM2 Mem to XMM1 Subtract horizontally packed double HSUBPD xmm1 xmm2 m128 66 OF 7D r precision floating point numbers from XMM2 Mem to XMM1 Subtract horizontally packed single HSUBPS xmm1 xmm2 m128 F2 OF 7D JE precision floating point numbers from XMM2 Mem to XMM1 LDDQU xmm m128 F2 OF FO r Load 128 bits from Memory to XMM register Sets up a linear address range to be monitored by hardware and activates MONITOR EAX ECX EDX OF 01 C8 the monitor The address range should be of a write back memo
112. ation 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 Closes a BSD file that was previously opened Opens a BSD file Lists all loaded modules Shell running returns No if simulation is currently not running otherwise it returns Yes Saves the current system configuration to a file Default is simnow bsd ModifyKey modifies and updates the given registry key with the given value Shell LogConsoleEnabled returns disabled 1f console logging 1s disabled otherwise it returns enabled Enables or disables logging Shell SetLogConsoleEnabled 1 enables logging and Shell SetLogConsoleEnabled 0 disables logging Returns the Log Window status The status is enabled or disabled Sets the Log Window status to enabled or disabled Returns the current Log file name Default is simnow log sets the Log file name Returns enabled if file logging is enabled otherwise it returns disabled Enables or disabled file logging O disables file logging 1 enables file logging Returns the current Error Log file name Default is simnow errlog sets the Error Log file name Returns enabled if error file logging is enabled otherwise it returns disabled Enables or disabled error file logging O disable
113. ation Rate Graph Exceeds what can be displayed Figure 3 10 CPU Invalidation Graph Chapter 3 Graphical User Interface 17 AMD Confidential User Manual August 22 2006 3 3 2 4 Exception Rate Graph The Exception Rate Graph updates once a second If this value exceeds what can be displayed on this graph the graph line turns red A rate of zero appears as a horizontal line one pixel high Full vertical scale represents a rate of one exception taken by the simulator per ten simulated instructions These exceptions may be internal to the simulator and not turn into exceptions in the simulated machine The lower darker color represents all such exceptions other than segmentation violation SEGV exceptions The upper lighter color represents all the SEGV exceptions This upper lighter color is a minimum of a one pixel high line 1 e a value of zero SEGV exceptions still shows a one pixel high line of the lighter color Exception Rate Graph All exceptions other than segmentation violations SEGV Exceeded what can be displayed Segmentation violations SEGV Figure 3 11 CPU Exception Rate Graph 3 3 2 5 PIO Rate Graph The PIO Rate Graph updates once a second If the port I O PIO rate exceeds what can be displayed on this graph the graph line turns red A rate of zero will appear as a horizontal line one pixel high Full scale represents one PIO per ten simulated instructions Darker color on the bottom of the
114. ator along with their configuration options For further information please refer to Section 7 Device Configuration on page 39 The Show Deprecated Devices checkbox 1s not checked by default This checkbox gives the user the opportunity to show or hide deprecated devices It is not recommended to use deprecated devices in simulation To show deprecated devices this checkbox must be checked The Show Deprecated Devices checkbox does not disable the ability to connect or create deprecated devices Also the automation interface of deprecated devices and loading BSDs which contain deprecated devices are both unaffected 3 2 1 Add a New Device You can add devices to the workspace by dragging a new device from the Device List on the left side of the workspace window to an appropriate location within the workspace on the right side Please note that this feature is not supported by the public release version of the simulator Some devices produce additional windows or dialogs when you add them to the workspace These windows provide an interface to the device during simulation For example adding the Winbond WB83627HF SIO device see Section 7 5 on page 55 to the workspace adds the floppy byte counts numeric window to the Main Window screen When you add a device to the workspace the shell sends a reset message to all of the devices in the workspace The global reset 1s equivalent to power cycling the simulated computer system 3 2 2 Worksp
115. atrox G400 chip with SingleHead feature support available The Graphics BIOS version 1s the version of the BIOS that 1s assigned and used by the graphics device If you flash the BIOS the version number will change For more information about flashing the graphics device BIOS see Figure 7 11 The Graphics Memory section shows information about the current memory configuration of the graphics device Currently supported memory configurations are e 32 16 MB SGRAM with 300 MHz RAMDAC e 32 16 MB SDRAM with 300 MHz RAMDAC 56 Chapter 7 Device Configuration AMD Confidential User Manual August e 2006 D Matrax R MGA G400 Graphics Adapter 9 Properties El EN Connections 10 Logging Information Configuration Graphics Hardware Model Matrox Millennium G400 AGP Graphics chip Matrox G400 DualHead support Ma Serial Number PBI0641 8 Graphics BIOS v 2 1 Build 35 Graphics Memory Memory type SGRAM Amount af memory 32 MB Maximum RAMDAC speed 300 MHz 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 Chapter 7 Device Configuration 57 AMD Confidential User Manual August 22 2006 Matrox R MGA G400 Graphics Adapter 9 Properties EJE3 Connections 0 Logging Information
116. ave three links a 754 pin AMD Athlon 64 has one HyperTransport port AMD 8th Generation Integrated Northbridge 1 Properties LK DAS J DDR2 Traning Kame Min Max Hame 7 oxo lxzs BeadDb STiming Hibyte ejozo lloxzr BeadDb STiming HiByte sloxn joxze BeadD STiming HiByte 4loxn oxzt BeadD STiming HiByte ajox0 0xzf BeadD STiming HiByte z oxo Oxzf Beadb STiming HiByte 1j0x0 Oxzf BeadD STiming HiByte ojoxo Oxzf BeadD sTiming Hi yte 7 oxo xzs ReadD STiming LoByte Connections 140 Logging Logging Configuration E j E El Name n e Max amp zyncLhat xO Ox f WriteDataTiming D SBReceiverEnable Lo x Datt WritebataTiming md D ZReceiverEnable Hi H HH H WriteDataTimingq D SBReceiverEnabls E D Ha Ox ff WriteDataTiming DiSteceiverinable t WriteDataTiminq D SBecseiverEnable E a ra WriteDataTiming DOS BheceiverEnable Hi x FR x WriteDataTiming D sReceiverEnable Laoj x xff WriteDataTiming D SBRecseiverEnable Hi x x WriteDataTiming m WriteDataTiming WriteDataTiming WriteDataTiming 6 BeadDb ZTimingq 5 BeadD STiming d BeadD STiming LoByte LoByte LoByte Bn ta WriteDataTiming aozo loxze BeadDb STiming LoByte z oxo xzs BeadDb sSTiming Loser e iloxo Oxzf Beadb STiming LoByte 1 ojoxo joxzt BeadD STiming LoByte ojoxo pr Figure 7 19 N
117. be restarted until a reset is asserted Simulation state CAN be inspected with the simNow debugger Clear Window Save Window Contents Figure 9 2 Error Log Chapter 9 Logging 119 AMD Confidential User Manual August 22 2006 9 3 I O Logging This 1s a generic feature available on all devices for logging slave accesses 1 e accesses responded to by this device Several categories of generic I O logging are available Logging is performed to the I O loggers see Section 9 1 Message Log on page 117 of names similar to the device you are enabling the logging for Caveat Currently devices which route to other devices may appear as if they are responding to the messages themselves so bridge devices will likely log everything that is behind them D Emerald Graphics 11 Properties Connections 140 Logging YOA SubDevice Framebuffe ption Log PCI Config Space Accesses bog 10 Space Accesses Disable Fastpath LO when Logging Log Memory Space Accesses Disable Fastpath Memory when Lagging Log Fastpath Memory Requests when Logging Figure 9 3 I O Logging Dialog Log PCI Config Space Accesses Checking this will log PCI Config Space accesses made to the device Log I O Space Accesses Checking this will log I O Space accesses made to the device These are the accesses made with the x86 IO read write instructions Disable Fastpath I O when Logging This item checked by default disables the Fast
118. bles 0 DMA logging Appendix A 211 AMD Confidential User Manual August 22 2006 DMALogStatus Returns enabled if logging is enabled otherwise it returns disabled A 7 12 8 Generation Northbridge 1 simnow gt sledgenb usage Automation Command Description LogHT 0 1 Enables 1 or disables 0 logging HTLogStatus DST nda if logging 1s enabled otherwise it returns disabled LogPCIConfig 01 Enables 1 or disables 0 PCI Config logging Returns enabled if PCI Config logging is enabled POTRO BON otherwise it returns disabled GetConfig Displays Northbridge logging configuration ProductFile lt FileName gt A 7 13 DBC 1 simnow gt dbc usage Automation Command GetParam SetParam size depth lt bits gt A 7 14 AMD 8111 Device 1 simnow gt 8111 usage Automation Command BaseID 00 01 GetBaseID HtInterrupts 0 1 HtIntStatus IoLog 0 1 IoLogStatus MemLog 0 1 MemLogStatus SmiSciLog 011 SmiSciLogStatus 212 Loads the specified product file FileName Description Returns disk block cache parameters size depth and bits Sets disk block cache parameters Description This specifies the HyperTransport protocol base unit ID The IC s logic uses this value to determine the unit IDs for HyperTransport request and response packets The Base ID must be 00 or 01 Returns the HyperTransport base unit ID BUID Enables 1 or disables 0 HyperTra
119. board usage Automation Command Description Forwards the specified key to the simulated system E g the following command forwards the ENTER keystroke to the simulated system keyboard key 1C Moves the mouse cursor to relative position DeltaX and Delta Y Key lt XX gt XX MouseMove lt DeltaX gt lt DeltaY gt MouseLeftDown Generates a left mouse button down event MouseRightDown Generates a right mouse button down event MouseLeftUp Generates a left mouse button up event MouseRightUp Generates a right mouse button up event MouseMoveAbs lt X gt lt Y gt Moves the mouse cursor to absolute x y position Log enable disable id Enables or disables logging 220 Appendix A AMD Confidential User Manual August 22 2006 This command injects keyboard input from the command line It takes basic text such as keyboard text Text dd This command can handle more complex sequences with other prefixed strings see Table 15 15 Table 15 15 shows the currently defined prefix sequences Prefix Action Prefix Action N RETURN NES FUNCTION KEY 8 S TAB 9 lt FUNCTION KEY 9 gt V lt BACKSLASH gt NE LON lt FUNCTION KEY 10 gt KS DOUBLE QUOTE witan lt TAB gt K lt SINGLE QUOTE gt del lt DELETE gt esc ESCAPE up lt UP ARROW gt NET FUNCTION KEY 1 down lt DOWN ARROW gt AE FUNCTION KEY 2 Wert lt LEFT ARROW gt VIFS lt FUNCTION KEY 3 gt Wright lt RIGHT ARROW gt
120. cal or virtual attributes are based on the most recent D command The next area 1s a general message window where messages and information are displayed The bottom area 1s the command area where debugger commands are entered Chapter 10 CPU Debugger 127 AMD Confidential User Manual August 22 2006 Table 10 7 lists the debugger commands and their definitions Debugger Command Definition Displays an abbreviated list of the available commands and their syntax blank line Repeat of previous command lt automation command gt Execute an automation command HP Path lt Path gt Sets the file search path FE lt Symbol File Load Loads the named symbol file optionally offsetting each address by the given load offset When the load is completed the module name attached to this group of symbols 1s displayed Supported symbol file extentsions are TXT SYMTEXT and Linux symbol map file FM Displays a list of the symbol modules currently FU Module Name gt Unloads the named symbol module that had previously been loaded with the 1 command 2 Symbol Displays all symbols that contain the given Sng lt Address gt Displays the symbol that most closes matches the given address bo qs dase Clears one or all breakpoints bd a list y Disables one or all breakpoints Pett list Emablesoneorallbreakpoints bf vector Pass Counts Creates and enables a breakpoint fo
121. ccccccccceeeeeeeesseeeeseeeees 57 Figure 7 11 Matrox G400 Configuration Properties ccccseessessessseeessssssssseeeeseeeens 58 Figure 7 12 Enable Full Hardware Acceleration on WindowsXP guest 63 Figure 7 13 Super IO Properties Dialog Winbond W83627HF eus 65 Figure 7 14 Memory Configuration Properties Dialog cccceeeeeseeeeeeeeeseeeeeeeeeeees 68 Figure 7 15 PCA9548 SMB Configuration Properties Dualog 00000000000ooooeennnnsnessses 69 Figure 7 16 PCA9556 SMB Configuration Properties Dialog 000000000o0ooooeenennsnssssses 70 Figures ix AMD Confidential User Manual August 22 2006 Figure 7 17 Northbridge Logging Capabilities Properties Dialog J2 Figure 7 18 Northbridge HT Link Configuration Properties Dialog 2 Figure 7 19 Northbridge DDR2 Training Properties Dalog ceeeeeeeeeeeeeeeeeeeeens 73 Figure 7 20 USB Properties Dialog AMD 8111 Southbridge 76 Figure 7 21 CMOS Properties Dialog AMD 8111 Southbridge T Figure 7 22 HDD Primary Channel Properties Dialog AMD 8111 Southbridge 78 Figure 7 23 Device Options Properties Dialog AMD 8111 chipset 79 Figure 7 24 Logging Options Properties Dialog AMD 8111 chipset eee 80 Figure 7 25 PCI Bus Properties Dialog
122. ce Winbond W83627HE Si 64 Tal MEMO DECO tiros 67 Bo JGNO545 MB DD id dido 69 7 9 IS ee WE RE e 70 7 10 AMD 8th Generation Integrated Northbridge Device ssse 71 7 11 AMD 8111 Southbridge Devices IO Hubs cc ceccccccccceeeeeeeeeeeees 75 PAZ CT EE 81 7 13 AMD 8131 PCI X Controller c ccccccccscscssssesesesesssscsesececscscesevevevevsesesececncees 83 LI AMD 8132 PCI X Controller ani de 84 Tus POD Test DEVIC EEN 86 FLO cAWID eS TS AGP Bie 6 DEC iio 87 T lT Raid Device Compaq SmartArtay 3304 c 89 DE ER E L i STEE 90 E ADAC DVO EEUU 92 T20 FOX Server DEVICE EE 93 7 21 USB Keyboard and USB Mouse Devices cc cessesesessseseeeeeeeeeeeeeeeeeeaaaaas 94 22 AM DECS m Gen dtm esu ete 95 Eo Une A KE 96 122A R scodine X ER Trace stato 96 7 22 led DIOS eR COOL Sed o ota 96 T2219 AER PAY OAC Cem e A EA 96 1 22 1 4 SEENEN 97 PAE ASA A dic tertie 99 122221 K SUI CLUES dad 99 12222 TR Bimary Ple Cohlteflisss tet de tee pao o edu ter ioni ues 101 T223 V Irure 101 INC MEE A kasras EE aie ne 102 722 5 Example ALLE AM codo 102 Tas Jumpbrve TE 108 ZA iJBIO00 Network Adapter Devin iiv ee p vay ti e n ceed 109 T24 l Simulated Link Negotiations sae RE ati ie e saei 110 iv Contents AMD Confidential User Manual August 22 2006 P24 2 ADBeJVIediT3tor DAEMON raid 111 7 24 3 MAC Addresses for use with the Adapter ccccoooonnncccnnnnnnnnononoccnnnnnnnos 112 1244 Example Cont Sura
123. ces ista cios 10 Devices Window tias 9 A DLO GENEE 111 1 Re ee O eer ene 64 EE 16 A A A 8 45 Address Translation Cache a 17 Disable USB POE EE 75 eebe et 51 55 A esee egerat 29 T AMD 3DNow Technology 197 IB dran T 137 AMD 8th Generation Integrated Northbridge 71 Double rte ee eebe 160 AMD 8111 Device LLL 75 DV Da CD ROM scr ttes tis 21 AMD 8132 PCI X Controller 14 84 E AMID SISTIIM De VICE aaa 87 ATOAC DEA lesa e le aero ta de 14 92 A Dom ae eRe Ree een ee nN ae reer Ber eae 50 EE ege 97 B EOL LOS caia 119 Base Address Lssssuuuu 143 EXD e sta hut Uu E UE 93 A edet 66 External x87 Floating Point Exception 160 BIOS ROM aiibi Eid Sa Rute s oie 143 F BoD A ae eee 26 35 A A den 64 C EEGEN 149 PP E een ese 160 E E 68 COSCKPOM osie 35 FLDENV coninccccononacncnnanannananonannananononinnacacononos 160 A e 67 Floppy Distancia pont 30 Clearing CMOS cooccococonononononononononononononinanananos 145 n E E 52 MO ct 76 145 PRESTOR lt a 160 Code Generator 215 PAN li 160 Code Parera pla 162 ESTEN acetic os 160 Eeer 64 G CON Da 64 A cena eue 29 77 EE 111 Configuration Ple aida 5 A ee 132 Console MWumdow 15 A c 64 A EE 158 A eegene 2 591 955 CRONE Bit e dabas 160 H A eM 161 Create Device Connecton eens 11 Host Operating Systems ooooocccooooncncnnnccccnnanannnnnos 3 Creating Floppy Disk Image 147 HyperTransport Technology Cycles Accurate ii 1 C
124. ces 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 Chapter 7 Device Configuration 79 AMD Confidential User Manual August 22 2006 E AMD 8111 1 0 Hub 4 Properties Connections 0 Logging Logging Device Options Primary HOD Chann Uptions Log I0 mapped Transactions Log Memory mapped Transactions Lag SMI and SCI assertions 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 controller is also absent PCI registers and memory mapped registers are the only portion present 80 Chapter 7 Device Configuration AMD Confidential User Manual August 22 2006 7 12PCI BUS Device The PCI Bus device enables you to add PCI devices to the system You can configure the PCI Bus device to provide any number of PCI slots for one to six connections You configure each PCI slot on the PCI Bus by setting its device number and base IRQ routing pin Interfaces The PCI Bus device has two types of interf
125. contain wildcards and points to a directory then is assumed The image path name lt ImagePathName gt must be the name of a directory If 1t does not exist 1t will be created Exports a directory from the jump drive to the host system The image path name lt ImagePathName gt can contain wildcards in the last element If the last element of the lt magePathName gt does not contain wildcards and points to a directory then se is assumed The host path name lt HostPathName gt must be the name of a directory If it does not exist it will be created Shows the contents of the directory path given by lt magePathName gt Shows the amount of free space on the JumpDrive device This command is identical to the nitialize command only it does not create a FAT32 partition on the drive It simply sets the Size Size in MB physical size of the device Any formatting or initialization will still need to be done presumably by the simulated operating system ImportDir lt HostPathName gt lt ImagePathName gt ExportDir lt HostPathName gt lt ImagePathName gt Dir lt ImagePathName gt Free To initialize the JumpDrive and copy data to it 1 simnow jumpdrive initialize 64 This creates a 64 Mbyte FAT32 partition on the JumpDrive The following example copies the file C test bin to the JumpDrive and places it in the mp directory If the mp directory does not exits on the JumpDrive it is created automa
126. cution Most of these instructions load store or operate on data location in the general purpose registers GPRs in memory or in both The remaining instructions are used to alter the sequential flow of the program by branching to other locations within the program or to entirely different programs ls Lea o OF o BCD values yy Instruction SE g 166 Appendix A AMD Confidential User Manual August 22 2006 Instruction Supported Se S Mnemonic ADD reg mem64 reg64 u WE TNT INT NE NE AND the contents of AL with an 24 ib immediate 8 bit value and store the result in AL AND the contents of AX with an 25 iw immediate 16 bit value and store the result in AX AND the contents of EAX with an 25 id immediate 32 bit value and store the result in EAX AND the contents of RAX with a sign ADD reg8 reg mem8 s ADD regil 6 reg memi6 ADD reg32 reg mem32 e ADD reg64 reg mem64 AND AL imm8s AND AX imm16 AND EAX imm32 AND RAX imm32 25 id extended immediate 32 bit value and store the result in RAX AND reg mem8 imm 80 4 ib pl the contents of reg mem8 with AND reg mem16 imm16 Bi Ja dw PEM contents of reg mem16 with AND reg mem32 imm32 81 4 id mau contents of reg mem32 with ZE sign extended 8 bit value sign extended 8 bit value AND reg mem16 imm8 AND reg mem32 imm8 AND the contents of reg mem64 with a 93 4 ib AND the contents of an 8 bit register AND reg mem8 reg8
127. d by privileged software such as the operating system kernel and interrupt handlers that run at the highest privilege level Only system instructions can access certain processor resources such as the control registers model specific register and debug registers Instruction t Description Se Adjust the RPL of a destination Segment selector to a level not less than the RPL of the segment selector specifies in the 16 bit source register ARPL reg meml6 regl6 Clear the interrupt flag IF to zero CLTS OF 06 SE the task switched TS flag in CRO to a HLT EA T instruction execution ow 9 INT 3 INT3 Te Trap to debugger at interrupt 3 INVD OF 08 Flush internal caches and trigger external cache flushes INVLPG mem8 OF 01 Invalidate the TLB entry for the page containing a specified memory location meer Return from interrupt 16 bit operand size IRETD Return from interrupt 32 bit operand size IRETO ES Return from interrupt 64 bit operand size Reads the GDT LDT descriptor referenced by the 16 bit source operand masks the attributes with FFOOh and saves the result in the 16 bit destination register Reads the GDT LDT descriptor referenced by the 16 bit source operand masks the attributes with OOFFFFOOh and saves the result in the 32 bit destination register LAR regil6 reg memi6 OF 02 r LAR reg32 reg mem16 0F 02 r gt n 64 bit mode this opcode 0x63 is used for the MOVSXD inst
128. dential User Manual August 22 2006 5 Click Ok and then click Close Display Properties Themes Desktop Screen Saver Appearance Settings Default Monitor and Matrox Millennium G400 English KEN D Information Options D Monitor Settings IDN Con General Adapter Monitor Troubleshoot Color Management 3 Are you having problems with your graphics hardware These settings can help you troubleshoot displap related problems Hardware acceleration Display Manually control the level of acceleration and performance supplied by Default Monitor a pour graphics hardware Use the Display Troubleshooter to assist you in making the change Screen resalutia essa ae Hardware acceleration Mone i All accelerations are enabled Use this setting if pour computer has no problems A ecommended Enable write combining Figure 7 12 Enable Full Hardware Acceleration on WindowsXP guest Enabling Hardware Cursor Support Please follow the following steps to enable native hardware cursor support on Windows platforms Install latest Matrox G400 drivers Reboot computer Right click on My Computer and select Properties Click on Advanced Performance and then on Settings Uncheck Show shadows under mouse pointer checkbox Click on Apply Geet Saba Chapter 7 Device Configuration 63 AMD Conf
129. dential User Manual August 22 2006 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 CPUO Logged during XTR initialization phase just before APIC memory 1s initialized XTRNB Write to TSC ignored Please use M00000010 for writes to TSC Logged during XTR initialization phase XTRNB CPUO rejected Initialization SREG XXXXXXXXXX with zeros Logged during XTR initialization phase and displayed if the initialization data is invalid for the SREG This may or may not be an error in the initialization data XTRNB CPUO rejected Initialization of SREG XXXXXXXXX with specific value Logged during XTR initialization phase XTRNB Skipping write to Code patch MSR C0010020 Logged during XTR initialization phase XTRNB Processing GETMEMPTR request for XXXXXXXXXXX Denied Logged during XTR execution phase where XXXXXX is the physical address of page requested The request may be denied if it is requested for a MMIO region DEVMC READMEM 800000007F1CAD00 296 55 8B EC 51 56 8B 75 0C DEVMC WRITEMEM 400000007F294FD4 523 A9 17 53 80 Logged during XTR execution phase 800000007FICADOO is the address 296 is the instruction count The data following the 1s the data that returned and received to and from the CPU This message is logged for a READ WRITE MEMORY request but no record 1s present
130. dge 3 Proper KEN Connections WO Logging Logging Configuratior Local Connection Point Remote Device Remote Connection Point AweSim Processor 0 CPU Bus Huper Transport Bus O AMD 8151 AGF Tunnel 2 HyperTransport Bus O Huper Transport Bus 1 Huper Transport Bus 2 Huper Transport Bus 3 Interrupt ID APIE Bus Interrupt D APIE Bus AweSin Processor 0 Interrupt I0AFIC Bus Memory Bus Dimm Bank 5 Genero Bus Figure 6 2 Connections Tab of Device Properties Window 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 Add the AMD 8151 AGP Tunnel This is a HyperTransport tunnel and AGP bridge Connect it to the Northbridge using each device s HyperTransport Bus 0 Chapter 6 Create A Simulated Computer AMD Confidential User Manual August 22 2006 10 11 12 13 14 Add the Matrox Millenium G400 Graphics Device This is the simulated video device Connect it to the AMD 8151 AGP Tunnel Device using AMD 8151 AGP Tunnel AGP Bus and the Graphics Device s AGP or PCI Bus Add the Southbridge Device Connect 1t to AMD 8151 AGP Tunnel using AMD 8151 AGP Tunnel HyperTransport Bus 1 and HyperTransport Bus 0 Also connect AMD SIIITM to the DIMM device using AMD 8111 System Management Bus 0 and DIMM s Generic Bus Add the Winbond W83627HF SIO device This is a Super IO device that supports keyboard mouse and floppy
131. disabled GetConfig Displays the current configuration A 7 8 AMD 8151 AGP Bridge 1 simnow gt amd8151 usage Automation Command Description Sets the internal Chip revision number of the AMD 8151 AGP device value must be between 1 and 255 Gets the internal Chip revision number of the AMD 8151 AGP SetRev lt Rev gt GetRev device A 7 9 VGA 1 simnow gt vga usage Automation Command Description Bios lt filename gt Loads the specified BIOS file GetBios Returns the active BIOS file name VGA 0 1 enables the VGA 0 disables it Get VGA Returns current status of the VGA registers true if enabled and false if disabled GetConfig Displays VGA configuration A 7 10 Serial 1 simnow gt serial usage Previous versions of the simulator always used only the named pipe format Because of this the named pipe was created as soon as the BSD was loaded Because the new version allows you to dynamically alter the communications method the transport 1s not created until you hit go for the first time or after making any change to the transport method What this means 1s that if you are using a named pipe you will have to press go before the named pipe 1s actually created Automation Command Description SetLoopback 0 1 O disables loop back 1 enables loop back Appendix 209 AMD Confidential User Manual August 22 2006 Automation Command Description Geiveopback Returns true if loop back is enabled otherwise it
132. e 1s 1ssued last the interface should be established It has been observed that after shutting down the simulator the port used by the gdb interface may not become immediately available for reuse If this happens just shut down both the simualtor and gdb and start again and the problem should go away 11 2 1 Simple Approach This assumes you are running the simulator and gdb on the same machine e Start the simualtor 132 Chapter 11 Debug Interface AMD Confidential User Manual August 22 2006 Run the following automation command l simnow gt shell gdb lt ENTER gt Start gdb gdp Ser eS ss eoo od TAN MB Re gdb gt target remote 2222 lt ENTER gt 11 2 2 Alternate Approach This assumes you are running the simualtor and gdb on the same machine Start the simulator Run the following automation command Eu May lt ENTER gt Add the following to your gdbinit file define simnow set architecture 1386 x86 64 target remote 2222 end Start gdb gdb simnow ENTER 11 2 3 Using Another Port on the Same Machine The simualtor defaults to using port 2222 but can be directed to use another port Start the simulator Run the following automation command i suammow shell gdo 2256 lt ENTER Start gdb gdb gt seu architecture L300 x20041 lt ENTER gt gdb target remote 2233 ENTER 11 2 4 Using Two Separate Machines Start the simualtor on simnow host Run the following automation command i si
133. e 6d00005f5e5bc3909ac04600b7c04600d4c04600eec0460008c1460022c146003cc146 002fc2460067c2460085c24600a3c24600909090909090909090909090 gt lt Event gt Defines a DMAW event Event Device CPU0 Type PIN ICountz 325496 Name INTR Level A gt Defines an INTR PIN event Level A for Asserted or D for Deasserted Name could be INTR RESET A20M NMI PAUSE SMI and lt Unknown gt Event Device TO_DO_IN_NB Type APIC ICount 325496 Name EXTINT DestinationMode F DeliveryMode 07 Level F TriggerMode F Vector 00 Destination 00 gt Defines an APIC Event Name could be EOI INIT STARTUP SMI NMI INTR REMOTE READ EXTINT LPARB and Unknown Device can be the name of the device that issues the interrupt Current XTR implementation ignores the name of the device Event Device CPU0 Type INTACK ICount 325496 Vector 00000000000000d1 gt Defines an INTACK cycle event Event Device XTR Type EOT ICount 400001 gt Defines an End of Trace EOT event Event Device CPU0 Type RDMSR ICount 1404861740 Address 00000010 Data 0000000053BC7D2C gt Defines a RDMSR event Event Device CPUO Type MEMR ICount 3133971257 Address 00000000000A88B2 Size 1 gt Data Length 1 Value FF gt 100 Chapter 7 Device Configuration AMD Confidential User Manual August 22 2006 lt Event gt Event Device CPU0 Type MEMW ICount 3133971259 Address 00000000000A88B2
134. e CPUO Type CPU Item CR8 Data 0000000000000000 gt Init Device CPUO Type SREG Item TSC Data 00000000000000E3 gt Init Device CPUO Type SREG Item M00000010 Data 00000000000000E3 gt Init Device CPUO Type SREG Item MC0010111 Data 0000000001000000 gt Init Device CPUO Type SREG Item MC0000080 Data 00000000 gt Init Device CPUO Type SREG Item MC0000100 Data 000000007FFDEOOO gt Init Device CPUO Type SREG Item MC0000101 Data 0000000000000000 gt Init Device CPUO Type SREG Item MC0000102 Data 0000000000000000 gt lt Init Device CPUO Type SREG Item MC0011004 Data 000000008001350C gt Init Device CPUO Type SREG Item M000000FE Data 0000000000000508 gt lt Init Device CPUO Type CPU Item FCW Data 0000107F gt Init Device CPUO Type CPU Item FSW Data 00000020 gt lt Init Device CPUO Type CPU Item FTW Data 0000FFFF gt lt Init Device CPUO Type CPU Item FDS Data 00000000 gt lt Init Device CPUO Type CPU Item FCS Data 00000000 gt Init Device CPUO Type CPU Item FIP Data 0000000000000000 gt Chapter 7 Device Configuration 103 AMD Confidential User Manual August 22 2006 Init Device CPUO Type CPU Item FOP Data 00000000 gt Init Device CPUO Type CPU Item FPO Data 00000000000000000000 gt lt Init Device CPUO Type CPU Item FP1 Data 00000000000
135. e if the Log to Window option is selected To open the log file the first time a simulation is started check the Log To File box is checked The log file will remain open until one of the following events occurs e The BSD is closed or the simulator program terminates e The simulation is stared with the Log To File box unchecked e The simulation is started with a new log file name specified 118 Chapter 9 Logging AMD Confidential User Manual August ye 2006 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 The most recent error log entries may be viewed by selecting the View Error Log entry from the Main Window menu shown in Figure 9 2 The error log file 1s enabled by checking the Log to File check box in the Message log dialog Figure 9 2 and setting a filename for the error log This file 1s created or truncated to zero length if it already exists and opened whenever a BSD file is opened or a new BSD is created The error log is closed whenever the BSD is closed 1 SimNow Error Log Buffer Size in Kbytes cisc cpu cpp CProacessar GenerateException shutdown due to triple fault Fatal error reached stopping simulation Error message s follow Bailing out MOTE Simulation cannot
136. e through the simulators I O subsystem The keyboard or mouse device accepts these messages and simulates key presses and key releases to match the keys While certain key combinations do not result in the generation of keyboard messages by the OS this does enable you to use the real keyboard to interact with the simulation in many cases Supported VESA BIOS Graphics Modes Only supports flat and linear frame buffer with 16 bit 64K 5 6 5 colors and 32 bit 16 8M 8 8 8 8 colors modes Table 7 2 shows the subset of standard VESA mode numbers supported Mode Number Color depth 10Eh 320x200 111h 640x480 114h 800x600 117h 1024x768 11Ah 1280x1024 Table 7 2 Supported Standard VESA Modes Table 7 3 shows the supported custom VESA mode numbers Chapter 7 Device Configuration 53 AMD Confidential User Manual August 22 2006 Table 7 3 Supported Custom VESA Modes Improve Graphics Performance When you run Windows in simulation and you open a menu list box tool tips or other screen element the object may open very slow To disable this option use the following steps 1 Click Start point to Settings and then click Control Panel 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 54 Chapter 7 Device Configuration AMD Confidential User Manual August 22 2006 7 5 Matrox MGA G400 PCI AGP The Matrox G
137. e 8 SUB reg mem16 imm8 83 5 ib bit value from a 16 bit register or memory location Subtract a sign extended immediate 8 SUB reg mem32 imm8 83 5 ib bit value from a 32 bit register or memory location Subtract a sign extended immediate 8 bit value from a 64 bit register or memory location Subtract the contents of an 8 bit SUB reg mem8 reg8 28 Ze register from an 8 bit destination register or memory location Subtract the contents of a 16 bit SUB reg meml6 regi6 29 r register from a 16 bit destination register or memory location Subtract the contents of a 32 bit SUB reg mem32 reg32 29 r register from a 32 bit destination register or memory location Subtract the contents of a 64 bit SUB reg mem64 reg64 29 r register from a 64 bit destination register or memory location Subtract the contents of an 8 bit SUB reg8 reg mem8 2A JE register or memory operand from an 8 bit destination register Subtract the contents of a 16 bit SUB regl6 reg memi6 2B r register or memory operand from a 16 bit destination register Subtract the contents of a 32 bit SUB reg32 reg mem32 2B r register or memory operand from a 32 v bit destination register Subtract the contents of a 64 bit SUB reg64 reg mem64 2B r register or memory operand from a 64 A bit destination register AND an immediate 8 bit value with the TEST AL imm8 AB ib contents of the AL register and set y rFLAGS to reflect the result AND an immediate 16 bi
138. e View Special Keyboard Help 58d Stopped Figure 5 1 Main Window No BSD Loaded 5 1 Command Line Arguments This section describes the command line arguments supported by the simulator Table 5 1 shows the command line arguments Argument path Directory to load devices from If used it must be first f lt file gt Open the bsd file lt file gt e lt file gt Execute commands in lt file gt on startup 1 lt path gt Image search path for loading image files m lt path gt Mediator connection string for network adapters to use Disable VGA Window Chapter 5 Running the Simulator 25 AMD Confidential User Manual August 22 2006 Disable GUI console mode Disable mouse and keyboard inputs to simulator r register Register the simulator with the O S as an automation server h help Print this help message Table 5 1 Command Line Arguments For instance to open the cheetah Ip bsd when starting the simulator you can enter the following CASINO Sac E eneccela J 5 9 5 1 1 Open a Simulation Definition File Click on and select one of the bsd files located in the SimNow directory The bsd files contain pre configured simulation definitions designed to model a specific AMD processor based computer system For this example load the cheetah lIp bsd file from in the SimNow directory Upon loading the BSD file the Main Window shown in Figure 5 2 w
139. e or turn off journaling for the hard disk image in question Chapter 7 Device Configuration 77 AMD Confidential User Manual August 22 2006 Turning off journaling 1s recommended during the installation process for an operating system 440 8111 0 Hub 4 Properties annections IO Logging Master Drive Image Filename L en windows xp professional 54 Add DVD ROM Eject Ee Slave Drive Image Filename L en windows xp professional vb4 o m Journal 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 1s a way of telling the device of the strapping option for ID selection The Generate HT Messages for Interrupts selection specifies whether interrupts go out the HyperTransport port in a HyperTransport format or out the INT IOAPIC bus as a classic interrupt pin 78 Chapter 7 Device Configuration AMD Confidential User Manual August 22 2006 AMD 8111 UO Hub 4 Properties Connections 10 Logging Logging Device Options Primary HDD Chann Default Base Unit ID e ID gg ID g HyperTranspart Generate HyperTranspart Messages for Interrupts Figure 7 23 Device Options Properties Dialog AMD 8111 chipset Log Messages The AMD 8111 device produ
140. e without notice Trademarks AMD the AMD Arrow logo AMD Athlon AMD Opteron and combinations thereof simNow 3DNow AMD 8111 AMD 8131 AMD 8132 and AMD 8151 are trademarks of Advanced Micro Devices Inc HyperTransport is a trademark of the HyperTransport Technology Consortium Microsoft and Windows are registered trademarks of Microsoft Corporation PCI X is a registered trademark of PCI SIG Sysmark is a registered trademark of Business Applications Performance Corp MMX is a trademark of Intel Corporation Other product names used in this publication are for identification purposes only and may be trademarks of their respective companies AMD Confidential AMD Confidential User Manual August 22 2006 Contents E OI Cote at scatet bt M cep Metu span causa taie ose cut IX Eet c OP Xl MEE S cius ON l De Salino E 3 2 1 Sc Se quite trie E 3 2 2 Installation Procede 3 2 3 Directory Structure and Executable 00 0 0 ccccccccccsssssseeseseeeeeeeeceeeeeeeeeeeeaaaaas 4 2 4 Sepe uP Linux tor tie Simulator oa 4 2 3 Contrato Bod M 4 2 0 Updates and OUCS ONS aiii 5 3 Grapnical User Ima iaa 7 3 1 Tool Bat DUIS A io 7 2 DEVICE Ad derer TEE 9 32 1 Adda New DOC dia 10 352 2 Workspace Popup Mella 10 A AdE COMME COM eege 11 22 2 3 JConfeute RN 12 3222 2 DISCO EEN EZ E SAA a e blade eebe 12 3 2 3 Example Computer Descrmmtton 12 3 2 4 Device Window
141. eal Double precision 64 bit floating point operand in memory memb 4int Quadword 64 bit integer operand in memory mem 0real Double extended precision 80 bit floating point operand in memory mems0dec 80 bit packed BCD operand in memory containing 18 4 bit BCD digits mem2env 16 bit x87 control word or x87 status word meml4 28env 14 byte or 28 byte x87 environment The x87 environment consists of the x87 control word x87 status word x87 tag word last non control instruction pointer last data pointer and opcode of the last non control instruction completed mem94 10Senv 94 byte or 108 byte x87 environment and register stack mem512env 512 byte environment for 128 bit media 64 bit media and x87 instructions mmx Quadword 64 bit operand in an MMX register mmxl Quadword 64 bit operand in an MMX register specified as the left most first operand in the instruction syntax mmx2 Quadword 64 bit operand in an MMX register specified as the right most second operand in the instruction syntax mmx mem32 Doubleword 32 bit operand in an MMX register or memory mmx mem64 Quadword 64 bit operand in an MMX register or memory mmxl mem 4 Quadword 64 bit operand in an MMX register or memory specified as the left most first operand in the instruction syntax mmx2 mem64 Quadword 64 bit operand in an MMX register or memory specified as the right most second
142. eck box to log all the processor model register state changes Check the Log I O Read Writes check box to log all real I O not memory I O generated by the processor model Check the Log Linear Memory Accesses check box to log all memory accesses based on linear memory This logs all data memory accesses generated by the processor model This does not log code fetch memory accesses nor physical memory accesses for example page table access and dirty bit updates Check the Log Exceptions check box to log all exceptions generated by the processor model 42 Chapter 7 Device Configuration AMD Confidential User Manual August 22 2006 IweSim Processor 0 Properties Connections IO Logging Logging Processor Type Options Log Disassembly Log Register State Changes Log 10 Reads rites _ Log Linear Memory Accesses Log Exceptions Figure 7 2 AweSim Processor Logging Properties Dialog Log Messages This device produces log messages to the Message Log Window as specified by the options in the Message Log Windows see Section 9 Logging on page 117 Difference from Real Hardware While the processor device is a faithful simulation of the software visible portion of an AMD microprocessor it is not a model of the specific AMD microprocessor hardware Because of this the processor device 1s not equivalent in certain areas Any issues
143. ecrement rcx and then jump short 1 ECX uS not D Appendix A 177 AMD Confidential User Manual August 22 2006 Instruction Supported i Decrement rCX and then jump short if Decrement rCX and then jump short if Decrement rCX and then jump short if Decrement rCX and then jump short if MFENCE OF AE FO Force strong ordering of serialized load and store operations Move the contents of an 8 bit SS XA MOV reg mem8 reg8 88 r register to an 8 bit destination register or memory operand Move oa o of a 16 bit MOV reg mem16 regl6 89 r register 16 bit destination register or memory operand Move contents of a 32 bit MOV reg mem32 reg32 89 r um to a 32 bit destination register lt or memory operand Move d ar of a 64 bit MOV reg mem64 reg64 89 r s to 64 bit destination register or A Operand Move the contents of 8 bit MOV reg8 reg mem8 8A r register or memory operand p an 8 bit destination register Move the contents of a 16 bit MOV regl 6 reg memi6 8B r register or memory operand to a 16 bit destination register Move the contents of a 32 bit MOV reg32 reg mem32 8B r register or memory operand to a 32 bit destination register Move the contents of a 64 bit MOV reg64 reg mem64 8B r register or memory operand to a 64 bit destination register Move the contents of a segment register to a 16 bit 32 bit or 64 bit destination register or to a 16 bit memory operand Move the contents of poa Sc M
144. ected bit to the selected bit Copy the value of the selected bit to selected bit Copy the value of the selected bit to BTR reg mem32 reg32 OF B3 r the carry flag and then clear the Ce selected bit Copy the value of the selected bit to BTR reg mem64 reg64 OF B3 r the carry flag and then clear the v selected bit Copy the value of the selected bit to BTR reg mem16 imm8 OF BA 6 ib the carry flag and then clear the v selected bit Copy the value of the selected bit to selected bit Copy the value of the selected bit to BTR reg mem64 imm64 OF BA 6 ib the carry flag and then clear the vw selected bit Copy the value of the selected bit to BTS reg mem16 reg16 OF AB r the carry flag and then set the v selected bit Copy the value of the selected bit to selected bit Copy the value of the selected bit to BTS reg mem64 reg64 OF AB r the carry flag and then set the v selected bit Copy the value of the selected bit to BTS reg memil imm8 OF BA 5 ib the carry flag and then set the v selected bit Copy the value of the selected bit to selected bit Copy the value of the selected bit to selected bit Near call with the target specified Near call with the target specified 168 Appendix A AMD Confidential User Manual August 22 2006 Instruction Mnemonic See Near Call with the target specified Near call with the target specified CALL reg mem64 FF 2 by reqg mem amp 4 Far call direct with target CALL FAR pntrl
145. ed General and UserKeys All user key definitions are stored 1n the UserKeys section Each user key definition 1s defined by a single line This example defines two user keys The string to the left of the equal sign is the string that will be placed in the menu To the right of the equal sign are two strings separated by a comma The first string 1s the text that 1s displayed when the user clicks on the What s This help button and the second string 1s the list of scan codes that are sent when this menu item is selected The two examples shown are merely duplicates of the normal UTL ESC and ALT F4 menu items on the Special Keyboard menu Note that minimal parsing of the text 1s done so it 1s important that no spaces exist around the separating comma 2 6 Updates and Questions Please refer to the Release Notes located at SimNow docs to obtain the latest information about the simulator If you have any question regarding the simulator please refer to Section 15 Frequently Asked Questions FAO on page 149 or contact your AMD account representative Appendixes are provided that describe Format of Floppy and Hard Drive Images page 153 Bill of Material page 154 supported Guest Operating Systems page 156 CPUID page 158 Known Issues page 160 Instruction Reference page 163 Automation Commands page 201 Chapter 2 Installation 5 AMD Confidential User Manual August 22 2006 6 Chapter 2 Installation AM
146. ed earlier see Section 4 1 Creating A Blank Hard Drive Image on page 21 or use one of the hard disk images which come with the simulator see Section A 2 4 1 Hard Disk Image Files on page 155 and un check the Journal check box see below The IDE controller has two important features then click on Ok Assign the first OS installation ISO image to the IDE Secondary Master Channel of the hard disk controller by selecting File Set IDE Secondary Master Image If you don t have access to any ISO images you have two options 28 Chapter 5 Running the Simulator AMD Confidential User Manual August 22 2006 You can download Linux ISO images from fedora redhat com If you are a MSDN Subscription member you can also download Windows ISO images from Microsoft s MSDN Subscription Webpage You can assign a physical host DVD CD ROM drive to the simulators IDE secondary Master Channel and use your hosts physical DVD CD ROM drive to install from a CD or DVD media Section 4 Disk Images on page 21 describes how to assign a physical DVD CD ROM drive When the OS installation prompts you eject the current ISO image using File Clear IDE Secondary Master and insert the next ISO image using File Set IDE Secondary Master In case you are using a physical DVD CD ROM drive for the OS installation eject the media and insert the next media The disk images are now assigned to the device that is connected to the IDE Primary Mas
147. em32 1 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 SHL reg mem16 1 SHL reg mem16 CL Appendix A Instruction Opcode D1 0 D3 0 CL 0 Ib D1 0 D3 0 CL 0 ib 9E DO 4 D2 4 CO 4 ib D1 4 D3 4 C1 4 ib D1 4 D3 4 C1 4 ib D1 4 D3 4 C1 4 ib DO 4 D2 4 CO 4 ib D1 4 D3 4 Rotate a 32 bit register or memory operand left 1 bit Rotate a 32 bit register or memory operand right the number of bits Specified in the CL register Rotate a 32 bit register or memory operand right the number of bits specified by an 8 bit immediate value Rotate a 64 bit register or memory operand right 1 bit Rotate a 64 bit register or memory operand right the number of bits specified in the CL register Rotate a 64 bit register or memory operand right the number of bits specified by an 8 bit immediate value Loads the sign flag the zero flag the auxiliary flag the parity flag and the carry flag from the AH register into the lower 8 bits of the EFLAGS register Shift an 8 bit register or memory location left 1 bit Shift an 8 bit register or memory location left the number of bits specified in the CL register Shift an 8 bit register or memory location left the number of bits specified by an 8 bit immediate value Shift a 16 bit regi
148. emdz oran z Move i parity p 1 vy DOE regis reg memi oran z Move if parity even PF U y oe O II a ee a eo 1 oiowr regii res memiz oran r Move if not parity PF D y EEES EET Y fx wove iF nor parity PR RR AN EE EE Ge EE EE CMOVNGE reg16 reg mem16 OF 4C r Ge if not or A SF lt gt CMOVNGE reg32 reg mem32 OF 4C r irs if not greater or equal SF lt gt irs if not greater or equal SF lt gt Gv regii res meni oF 4D c Move ECH omm regea reg mensa or an x move if not Iess SF OF aoe eoa uo e if greater or equal a M uev vegas zeg nensa om ap fe mona de areater or epa r 0 f M Move if less or equal ZF 1 or SF CMOVLE reg16 reg mem16 OF 4E r lt gt OF CMOVLE reg32 reg mem32 OF 4E r Move if less or equal ZF 1 or SF SS eee uum uu 170 Appendix A AMD Confidential User Manual August 22 2006 Instruction S ted Mnemonic irn CMOVLE reg64 reg mem64 OF 4E r d rus RR E EQUAL NERO Poor pE CMOVNG reg16 reg mem16 OF 4E r Move if less not greater ZF 1 or SF OF CMOVNG reg32 reg mem32 OF 4E r Move if less not greater ZF 1 o SF lt gt OF Move if less not greater CMOVNG reg64 reg mem64 OF 4E r SF lt gt OF CMOVNLE reg16 reg mem16 OF Ap r cds o not less or equal ZF 0 or CMOVNLE reg32 reg mem32 OF 4F r eve ir not mess OF EE S0 0E ZH 0 0 Hove M Soe Terr oF equa Compare an 8 ID immediate a EE Com
149. emory in your host then SimNow may hang 912 Megabytes lH set Memory Contig E Figure 14 1 Memory Configurator Note The public release of the simulator supports no specific or non symmetric DIMM configurations To change the simulated memory size please use the Memory Configurator If you want specific or non symmetric DIMM configurations please follow these steps 1 Use View Show Devices to show the Devices Window 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 10 3 Select the tab for the DIMM slot that you wish to alter 4 Click the Import SPD button and browse for an appropriate SPD file The SPD files should be stored in the Images directory The SPD filename should give an indication of the size of the DIMM that it represents 5 A DIMM can be eliminated from the system by changing the contents of SPD byte 0 Number of SPD Bytes Used to zero 6 Click OK to close the configuration property sheet and accept the changes 14 3 Changing SPD Data Any byte of SPD data can be altered in order to model DIMM configurations that do not currently exist The process for modifying a SPD data byte is as follows l Ze 144 Use View Show Devices to show the Devices Window Right click on the DIMM Memory device icon in the Device Window and select the Configure Device option on the Workspace Pop
150. en the BSD file 1s read 1n all tables are filled with past data and all states are restored to their saved states Configuration Options Figure 7 17 and Figure 7 18 show configuration options for the Northbridge Chapter 7 Device Configuration 71 AMD Confidential User Manual August e 2006 D AMD 8th Generation Integrated Northbridge 3 Proper EJE3 Connections 10 Logging Logging Configuration Lag PCI Configuration Cycles Log HyperTransport Message Routing 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 1s selected the device will log HyperTransport messages E AMD 8th Generation Integrated Northbridge 3 Proper EJE3 Connections IO Logging Logging Configuration DRAM Controller Link O Enable 16 d Link 0 TT Link 1 Enable 1E Link Link 2 Enable Opteron Only 16 Wi Link2 Figure 7 18 Northbridge HT Link Configuration Properties Dialog If the DDR DRAM Controller 1s selected the device will support DDR DRAM In order to use DDR2 DRAM select the DDR2 DRAM Controller T2 Chapter 7 Device Configuration AMD Confidential User Manual August 22 2006 Each HyperTransport link can be enabled separately Each link can be 8 or 16 bits wide Only the 940 pin AMD Opteron processor can h
151. ential User Manual August 22 2006 12 Command API The CMDAPI cmdapi dll gives Windows users a way to script the simulator using any scripting language that can interface with the Microsoft Component Object Model COM It gives you the opportunity to create scripts that instantiate a simulator object You can use this instantiated object to execute any of the SimNow automation commands see Section A 7 Automation Commands on page 201 CMDAPI 1s installed and registered whenever a SimNow release package has been installed successfully After instantiating a SimNow Command object you can use the following methods to execute automation commands and retrieve status Exec The Exec method executes the automation command that arg contains bool Exec argl arg2 Parameters argl A string that contains the SimNow automation command to execute For example debug 0 execemd t arg2 An input string buffer in which SimNow 1s to place the response from the command in argl Return Value Returns true if command completed successfully otherwise it returns false GetLastError The GetLastError method returns the last error code If Exec returns false you can call GetLastError to retrieve the error code vola Getleasubrron arg Parameters argl 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 Am Now
152. er Manual August 22 2006 14 7 Creating a Floppy Disk Image Use the DiskTool utility to create a floppy disk image file suitable for loading into the simulator Disk Tool is located in the SimNow Tools directory To create an image of a physical floppy disk see Section 13 DiskTool on page 137 When the image has been created it can be loaded into the simulation as described in Section 5 1 1 Open a Simulation Definition on page 26 Chapter 14 BIOS Developer e Quick Start Guide 147 AMD Confidential User Manual August 22 2006 This page 1s intentionally blank 148 Chapter 14 BIOS Developer e Quick Start Guide AMD Confidential User Manual August 22 2006 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 Click on the menu item Special Keyboard Grab Mouse and Keyboard see Section 3 3 Main Window on page 15 Please note that this mode has interaction issues with the Exceed X server on Windows if you re running a Linux hosted version of the simulator and displaying it over a network to a Windows PC desktop Why does the on line help not work on Linux Quit any local Mozilla browsers before clicking on the on line help menu items or buttons in the simulator What is SimNow software See Section 1
153. erformance Monitoring Counter Extensions esses 161 A 5 8 Microcode Pachinas en eO AR boe te UR PE due ind 161 A 5 9 Lons Mode SesmentacO essen ad das 161 A 5 10 Long Mode Limit Check 161 ALL rap an Resume bai 162 Asl msiucion Cobre iio 162 AUG J struction REIST EE 163 A 6 1 e A d MN 163 AGL IVinemnonto Syntax x ose oin da ces 163 X 0 1 2 Opeode SVMIAX etes aee dene otto etd a oss etd ea etes edet 165 A 6 2 General Purpose INSMUICHONS i ie E tea E I bb 166 A 6 3 Ao eege 194 AGa INT Interrupt to Vecto soeben ve E en Po vectes ies 196 A032 TISE T Return Iron Intertuptzoecqe ato eo a ee etae 196 A 6 4 Virtualization Instruction Reference ccccccccsssssssssssseeseeeeeeeeeeeeees 197 A 6 5 64 Bit Media Instruction Reterence 197 A 6 6 SDNOW Nee ge as debis 197 A 6 7 Extension to the 3DNow Instruction Set 198 A 6 8 Prescott New e Ee e bio 198 A 6 8 1 MONITOR Setup Monitor Address 199 A 6 8 2 MWAIT Monitor Wat 200 Acl Aomain Commands oto bed em teu nivea a 201 A 7 1 A O 202 A 7 2 IDE A o PRE o o SU O MA IN 206 A 7 3 O CEPR RERO OPENS CETTE RANTS 207 vi Contents AMD Confidential User Manual August 22 2006 A 7 4 en 207 A 7 5 ET en meer ner tae rH 208 A 7 6 O oar eee vente om er nem Rear en ee anor m nsn eg 208 A DEDUS mover titi 208 A 7 8 AMD aM AGP Bda 209 o HER Loc TET 209 ATI Salas lis 209 A 7 11 HyperTransport M Technology Configuration oooooooonnnnccccncnnnnnnnnnnnnnnnnss 211 A 7 12 8 Generation Nor
154. es that the ModRM byte specifies both a register and operand and a reg mem register or memory operand e cb cw cd cp Specified a code offset value and possibly a new code segment register value The value following the opcode 1s either one byte cb two bytes cw four bytes cd or six bytes cp e ib iw id Specifies an immediate operand value The opcode determines whether the value is signed or unsigned The value following the opcode ModRM or SIB byte is either one byte ib two bytes iw or four bytes 1d Word and doubleword values start wit the low order byte e rb rw rd rq Specifies a register value that is added to the hexadecimal byte on the left forming a one byte opcode 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 e m64 Specifies a quadword 64 bit operand in memory Appendix A 165 AMD Confidential User Manual August 22 2006 e Specifies an x87 floating point stack operand ST i The value is used only with x87 floating point instructions It is added to the hexadecimal byte on the left forming a one byte opcode Valid values range from 0 to 7 A 6 2 General Purpose Instructions This chapter describes the function mnemonic syntax and opcodes that the simulator simulates General purpose instructions are used in basic software exe
155. es will be lost If you want to modify the current system definition use the Show Device Window button ER to display the current system configuration The Show Device Window button is disabled when the simulation is currently running To stop the simulation click on the Stop Simulation button ue To open the simulator s integrated debugger click on the Show Debugger button F3 The Show Debugger button is disabled when the simulation is currently running To stop the simulation click on the Stop Simulation button 8 Chapter 3 Graphical User Interface AMD Confidential User Manual August 22 2006 3 2 Device Window The Devices Window shown in Figure 3 2 is opened by selecting View Show Devices or clicking on the a button In this window you can create a simulated computer and modify its properties BIOS images memory characteristics and attached components This section describes the main components of the Device Window and shows how to build up and configure a simulated computer It explains the interface using some of the most often used simulation components Please also see the walkthrough of building a single processor system in Section 6 Create A Simulated Computer on page 35 Represents Device Message Routing Window D SimNow Device Window Sele Drag Icons to insert new devices Shifthirag to Add connections Show Deprecated Devices 3 AMD a MITE 2110 3111
156. ess the Reset button which is to the right of the Stop button At this point hard drive images may be changed as described in 5 2 1 Assigning Disk Image on page 28 5 3 Multi Machine Support The multiple machine concept allows the simulator to create multiple simulation machines within the same process space and to load and execute these machines independently The default shell provided with the simulator includes three new commands that allow the user access to the multiple machine functionality The newmachine command creates a new emtpy simulation machine The created new machine is in no way related to the current machine Tou can load BSDs edit device configurations etc in the new machine and they are completely independent of any other machine currently loaded The leading number before the prompt identifies which machine 1s currently the active machine All subsequent automation commands typed into the console window are directed to the current machine Table 5 2 describes the arguments provided by the newmachine command Disable Graphical User Interface GUI Enable Graphical User Interface GUI Enable console mode d Disable mouse and keyboard inputs to Chapter 5 Running the Simulator 31 AMD Confidential User Manual August 22 2006 simuato O d Enable mouse and keyboard inputs to simulator Image search path for loading image files m lt
157. essor device Here you can specify which member of the AMD microprocessor family should be simulated The default 1s a standard AMD microprocessor See Section A 2 3 Product Files ID on page 154 Note The public release version of the simulator doesn t contain any product files Chapter 7 Device Configuration 41 AMD Confidential User Manual August ye 2006 AweSim Processor 0 Properties KK Connections WO Logging Logging Processor Type Current Product name praductfile D pteren L1 JH EU BU hz id To change please choose from the following product files Dys haz fe zi de effecr af rese a Ae SU AthlonB4 54 GH eUOhHz id Athlonb4 31 SH EU SOURHz id AthlonB4 54 GH SUDMHz id Opteron 340_JH E0_ SD00Mm Hz z id AthlonB4 54 SH D SUDMHz id Upteron 241 SH B3 SOURHBHsz id AthlonB4 54 SH EU S hHz id Opteron 340_SH CO_ S00MH2 1d AthlonB4 333 JH EO_ SOUMH2 s2J id Opteron 340_5A C6_ 600MH2 1d AthlonB4 333 GH SUDMHz id Opterorn 340_5A 0 0_ 600MH2 1d AthlonB4 333 SH DO SODMHz id Opteron 340_SH EO_ S00MH2 id AthlonB4 333 SH EU B DMHz id Opteron L1_JH FO_ 600Mbhz2 id 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 Check the Log Register State Changes ch
158. etSpdDataByte lt DimmNo gt lt Addr gt lt Data gt Description Returns the PDL response range of memory module DimmNo and PDL PDLNo Lists the PDL data of memory module DimmNo Displays DIMM configuration details like PdlRespRange MBBaseAddr OutOfRangeResp and PdlErrorSim Returns the maximum number of DIMMs that can be simulated Sets the maximum number of DIMMs that can be simulated Returns a short description of the memory module DimmNo It displays memory type total size number of banks and device data width in bits Returns the DIMM type of memory module DimmNo Returns the DIMM size of memory module DimmNo Returns the DIMM banks of memory module DimmNo Returns the DIMM width of memory module DimmNo Returns SPD data of memory module DimmNo Deletes memory module DimmNo from current configuration Returns a specific SPD data byte stored at lt Addr gt on Dimm lt DimmNo gt Sets the SPD data byte lt Data gt at SPD Address lt Addr gt on DIMM lt DimmNo gt A 7 25 Keyboard and Mouse By default the GUI uses keyboard key and keyboard mousemove commands to send input to the simulator These can be overridden using the Gui Key Device and Gui Mouse Device registry keys For example if you connect a USB keyboard device to the simulation you can have keystrokes use the USB keyboard rather than the old keyboard 1 simnow gt key
159. f an image and zero or more optional journals 1s used to hold the contents of a simulated volume While creating a volume assign a disk image file to it e g raid image 0 imagefilename One or more additional journals can be added to the image file The image file uses a data block to store the data and the Journal files use sparse indexing to hold just the blocks that have been changed Not only does journaling provide an efficient way to access the data blocks in the simulated volume but it also gives the user the flexibility to change the data block size Journals can be created either in memory or as file depending on the use of addjournal command RAID device supports multi level journaling 1 e for a created volume the user can add multiple journals however one cannot add a journal after an in memory journal Conceptually the disk image 1s equivalent to the image and fixed journal pair Journals grow in size as the volumes associated with them are accessed writes of data blocks which haven t been written before File based journals are preferred over in memory Journaling if a large number of writes are going to be made to the simulated volume The journal architecture is index based consisting of super blocks index blocks and data blocks This provides a hierarchical indexing mechanism in which data blocks are accessed by their LBA logical block address Several performance mechanisms are implemented in the RA
160. fault or range gt LL Fei linear memory as b ytes w ords dJouble words or q uad words or in the previous format 1f not specified e b w d q address data Allows the modification of p hysical default al EIOS or l inear memory in blytes w Jords djouble words or q uad words or in the previous format 1f not specified Data values are entered immediately after the address separated by spaces t b w d g address range Fills the given p hysical default or l inear gees Ee memory range with the indicated value g address Begins or will resume CPU execution setting a temporary execution breakpoint on the given address h on off clear Controls history trace collection ON enables lt value gt trace collection and clears the current trace buffer OFF disables trace collection and CLEAR clears the current trace buffer Specifying no arguments or a value disassembles the most recent lt value gt instructions executed i b w d port Input a b yte w ord or dJouble word from the indicated port o b w d port data Output a b yte w ord or d ouble word to the indicated port p Similar to the command single steps the simulation one instruction unless the current instruction is a call software interrupt or repeated string instruction in which case this command sets a temporary execution breakpoint at the instruction sequentially following the cu
161. file will cover A 7 17 2 CPU Code Generator Commands Table 15 14 describes all available Code Generator commands and their arguments command args Description Help None param None param parameter param parameter value enable Boolean Parameter disable Boolean Parameter optimize accuracy optimize Speed Table 15 14 A 7 18 Emerald Graphics 1 simnow emerald usage Automation Command FrameBufSize size FrameBufGetSize Accel 0 1 GetAccel VBE 0 1 Appendix Displays an overview of all available commands Displays the current state OT the configurable code generator parameters Displays the current value of parameter e g cpu codegen param FastFloat sets the current value of parameter to value For example cpu codegen param FastFloat 0 disables FustEloat Changes the current value of one boolean parameter to true For example cpu codegen enable FastFloat enables RE loat Changes the current value of one boolean parameter to false For example cpu codegen disable FastFloat disables Paster Loar Changes several parameters to the conservative setting Changes several parameters to the default aggressive setting CodeGen Command Overview Description FrameBufSize sets the size of the frame buffer in Megabytes The size must be a power of 2 The value placed in this option is only read at reset The frame buffer size can not be dynamically mod
162. g or sReg Word 16 bit operand in a segment register ST 0 x87 stack register 0 ST 1 x87 stack register i where i is between 0 and 7 xmm Double quadword 128 bit operand in an XMM register xmml Double quadword 128 bit operand in an XMM register specified as the left most first operand in the instruction syntax e xmm2 Double quadword 128 bit operand in an XMM register specified as the right most second operand in the instruction syntax e xmm mem64 Quadword 64 bit operand in a 128 bit XMM register or memory e xmm meml128 Double quadword 128 bit operand in a 128 bit operand in an XMM register or memory e xmml meml28 Double quadword 128 bit operand in a 128 bit operand in an XMM register or memory specified as the left most first operand in the instruction syntax e xmm2 meml28 Double quadword 128 bit operand in a 128 bit operand in an XMM register or memory specified as the right most second operand in the instruction syntax A 6 1 2 Opcode Syntax In addition to the notation shown in above in Mnemonic Syntax on page 163 the following notation indicates the size and type of operands in the syntax of instruction syntax e digit Indicates that the ModRM byte specifies only one register or memory r m operand The digit 1s specified by the ModRM reg field and 1s used as an instruction opcode extension Valid digit values range from 0 to 7 e r Indicat
163. hat are running simultaneously To prevent collisions on the external network the mediator will not route broadcast packets to these sessions as they are using a fixed MAC classification The gateway will be able to do network address translation NAT for each BSD in each domain to make sure that there are no collisions between the two domains External Network mediator s g 192 168 0 1 G 163 1B1 0 14 Globally visible Wisible to local Domain External network 1563 191 0 14 192 168 0 1 Domain 1 Dramas Cliente using Fixed MACs Clients using Fixed MACs Domain 3 Same as from Domain 1 BSO 3 Fa cd 00 00 04 rmyhost 5156 accessible Figure 7 34 Visibility Diagram 114 Chapter 7 Device Configuration AMD Confidential User Manual August 22 2006 8 PCI Configuration Viewer The PCI Config Viewer can be used to scan PCI buses and report information about the configuration space settings for each PCI device PCI bus number PCI device number PCI function number The columns show the low nibble 0 Fh of the PCI configuration space register The rows show the high nibble 00 FOh of the PCI configuration space register PCI Config Viewer AMD 8151 System Controller AMD 8111 LPC Bridge AMD 8111 Lllrra amp TA 1 33 Controller AMD 8111 SMBus 2 0 Controller AMD 8111 System Management E List of all PCI AMD 8111 ACS Audio Controller devices AMD 8111
164. he workspace popup menu produces a dialog window containing options for the specified device Selecting the Connections tab in the Device Properties window will display a list of all connections between the specified device and any other devices in the workspace 3 2 2 3 Disconnect Device Please note that this feature is not supported by the public release version of the simulator Selecting Disconnect Device from the workspace popup menu removes all connections to the specified device 3 2 2 4 Delete Device Please note that this feature is not supported by the public release version of the simulator Selecting Delete Device from the workspace popup menu removes all connections to the specified device and removes the device from the workspace 3 2 3 Example Computer Description In this section we describe the major components of the computer simulation contained in the cheetah_1p bsd file 12 Chapter 3 Graphical User Interface AMD Confidential User Manual August 22 2006 Debugger H8 Awesim Processor 0 Dimm Bank 2 AMD 8th Generation Integraled Northbridge 1 PCI Bus 10 SME Hub Devt HB AMD 8 32 PCI X Controller 9 PC Bus 11 e 9 2111 Winbond wa3bz HF GW ALO Hub PC Bus 8 Intel Fi Pro 000 SIO 5 H MT Desktop Network Adapter 16 Memon Device 4 Emerald Graphics USB Nie USB Jummplimve 15 ee H FPLA3548 Device 813 AT 24C Device 14 Figure 3 5 Computer Simulati
165. he 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 In case DiskTool displays an Operation failed message box DiskTool was unable to lock or unlock the drive This can happen if for example any files or explorer windows are open on any of the partitions on the selected drive For example if the drive that DiskTool 1s trying to access has partitions for C and D and an explorer window 1s open on any path within D then DiskTool won t be able to lock or unlock that drive and DiskTool will display an Operation failed message box If you put an image onto the drive a dialog will again ask for confirmation that you actually wish to permanently destroy the contents of that hard disk Then a dialog prompts for the location of the image file that should be placed on that hard disk A progress bar Figure 13 4 will inform you of the progress being made If you get an image from a drive a dialog window will prompt for the path of file that will store the disk image A progress bar will inform you of the progress being made WW Blank Image Cren windows sp professional xb4 hdd Cancel Figure 13 4 DiskTool Progress Window Chapter 13 DiskTool 141 AMD Confidential User Manual August 22 2006 This page 1s intentionally blank 142 Chapter
166. he model provides RAM storage and serial presence detect SPD ROM access for each DIMM Bytes 0 5 13 and 31 zero based of the SPD data are used to configure the DIMM model The remaining SPD entries are available for BIOS probing but are not used to configure the DIMM model The RAM array for each DIMM 1s sized based on parameters contained in the SPD array SPD array bytes 5 and 31 are used to calculate the size of the DIMM s RAM array If byte 0 in the SPD array has a value of zero then the DIMM device does not respond to any SMBUS read attempts on the module This indicates to the reading device that an SPD ROM is not available on the DIMM module By appropriately setting bytes 5 and 31 and clearing byte 0 the model simulates a valid DIMM that contains no SPD ROM Dual data rate DDR DIMMs use bidirectional data strobe signals to latch data on transfers The Northbridge device contains Programmable Delay Lines PDLs that are used to delay the Data Qualification Signal DOS signals so that the edges are centered on the valid data window BIOS algorithms are used to locate the valid data window and adjust the PDLs accordingly Physical DIMMs provide 8 bytes of data per access On the module the 8 bytes of data are stored across several memory devices The data width of the memory devices on the DIMM SPD byte 13 determines how many PDLs are used DIMMs that use 8 bit or 16 bit memory devices use one PDL per byte of width eight total P
167. hen increment or decrement rDI Compare the contents of the EAX register with the doubleword at ASADO SEH ES rDI and then increment Or decrement CDI SBB reg mem16 imm8 83 3 ib SBB reg mem32 imm8 B3 3 ib SBB reg mem64 imm8 83 3 ib SBB reg8 reg mem8 1A r SBB reg16 reg mem16 1B r SBB reg32 reg mem32 1B r SBB reg64 reg mem64 1B r Compare the contents of the RAX register with the quadword at ES rDI and then increment or decrement rDI SETNAE reg mem8 OF 92 T byte if not above or equal CF SCASQ bech Appendix A 87 AMD Confidential User Manual August 22 2006 Instruction Mnemonic Ee SETNB reg mem8 Set byte if not below CF 0 SETNC reg mem8 Set byte if not carry RH EE CE 1 0 SETBE reg mem8 OF 96 a Es if below or equal SETNA reg mem8 OF 96 Set E if not above 1 or ZF St EE 25 ae below or equal SETNBE reg mem8 OF 97 ges q SETNGE reg mem8 OF 9C a if not greater or equal SF SETNL reg mem8 OF 9D Set byte if not less SF 0F SETGE reg mem8 OF 9D SR byte if greater or equal SF Set byte if less or equal ZF 1 0 SETLE reg mem8 OF 9E SF lt gt OF SETNG reg mem8 OF 9E o if not greater ZF 1 or SF Set byte if not less or equal ZF O SETNLE reg mem8 OF 9F and SF OF SETG reg mem8 OF 9F e byte if greater ZF 0 and SF SFENCE OF AE F8 Force strong ordering of serialized store operations Shift an 8 bit register or memory PED SHL reg memB 1
168. her devices in the system Initialization and Reset State When first initialized or reset the SMB hub registers are set to their default state The internal registers and their default states are described in the PCA9556 data sheet Contents of a BSD The current state of all internal registers and any internal state variables are saved in the BSD Configuration Options The SMB Hub device allows you to enable up to eight GPIO segments GPIOO GPIO7 to connect SMB devices to SMB hub device as shown in Figure 7 30 90 Chapter 7 Device Configuration AMD Confidential User Manual August e 2006 D SMB Hub Device 11 Properties Connections 1 0 Logging SMBHub Configuration GPIO 0 enables segment NU SEGMENT APIO 1 enables segment NO SEGMENT GPIO 2 enables segment NO SEGMENT APIO 3 enables segment NU SEGMENT 4 GPIO 4 enables segment NO SEGMENT GPIO 5 enables segment NO SEGMENT GPIO 6 enables segment NO SEGMENT GPIO enables segment NO SEGMENT Help Cancel 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 The SMBus protocol is not modeled Also the SMBus address of the PCA9556 is programmable based on pin strapping whereas this model has a fixed SMBus base address Chapte
169. hysical hard disk drive containing 102400 sectors each sector 1s 512 bytes 13 2GUI Mode The DiskTool GUI window 1s shown in Figure 13 2 DiskTool will only display floppy drives and DVD CD and HDD drives that are connected to either the primary or the secondary IDE controller It will not display external USB or firewire drives drives attached to SCSI controllers etc DiskTool displays the names of these devices in the Physical Drives list box using names appropriate for the host operating system When running under Windows the Physical Drives list box will show you the physical drives and in parenthesis the logical drive letters that are associated with the partitions on that drive Selecting any of these physical devices causes 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 1s shown in Figure 13 1 138 Chapter 13 DiskTool AMD Confidential User Manual August 22 2006 o Csimnowidisktool exe Disk Device found at SCSI Port A Bus H Target A LUN Opening WDC UD12BHBB HBD Ri1 as PHYSICHLDRIUEH Culinders 14589 Heads Sectors Butes Media Type Completed Device has been successfully identified Disk Device found at SCSI Port A Bus H Target 1 LUH H Opening WDC UDi12B8HBB HBD AHi1 as ww PHYS ICALDRIVEL Culinders nga Heads 255 Sectors 63 Bytes 51
170. ialized with zero XTR events fall into two categories e Dormant Events which record an event occurrence but do not trigger an event during playback e Active events that are recorded in XTR file and are actively triggered during playback IOR IOW MEMR MEMW RDMSR are examples of dormant events and INTR APIC 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 1s an XTR Instruction Chapter 7 Device Configuration 95 AMD Confidential User Manual August 22 2006 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 224 The XTR XML file can easily exceed five Gbytes in size Please make sure you have enough physical storage before you start XTR Record 7 22 1 1 Recoding XTR Trace To record XTR please enter the following commands in the simulator s console window E eeh Se EE EE EE RE erg E il simnmow gt lt trsvecextrenable l ASMA coy ESAS O Ss ella 7 22 1 2 Stop XTR Record To stop XTR record please enter the following commands in the simulator s console window IE NON a ope EE SE sumus ral 1 simnow gt xtrsvc xtrenable O0 7 22 1 3 XTR Playback For XTR Playback XTR Northbridge XTRNB replaces all the devices including any other Northbridge in the system Hence fo
171. ialog To change the byte view of the PCI configuration registers to a dword view check the DWORD PCI Access check box 116 Chapter 8 PCI Configuration Viewer AMD Confidential User Manual August 22 2006 9 Logging The simulator provides support for three types of logging e A message log that can provide detailed text data from simulator devices and modules e An error log that provides text messages in response to critical errors or unexpected conditions e I O Logging that provides detailed information about PCI Configuration I O and Memory Space accesses 9 1 Message Log The simulator shell provides an interface that loaded modules devices and extensions may use to report status and events The messages may be displayed in a window written to a file or both The information log may be enabled and disabled on a module specific basis The informational log 1s 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 1s shown in Figure 9 1 Chapter 9 Logging 117 AMD Confidential User Manual August 22 2006 ES 1 SimMow Message Log E E El AMD Sth Generation Integrated Morthbridge O MEE Logio Fie mes AMD 8151 AGP Tunnel O AT24C Device O Gem Processor 0 Jebugger O E Miei EM Log to Window 100 utter Size t lines Fast OMA Fast DIMA 1 Dimmdewice Bank DO Simulated Size 10000000
172. idential User Manual August 22 2006 7 6 Super lO Device Winbond W83627HF SIO Device models of the Super IO device contain the keyboard PS 2 mouse floppy COMI COM2 LPTI IR fan GPIO MIDI and joystick devices as well as PCI support and control information The COMI and COM2 devices create named pipes SimNow Coml and SimNow Com2 and send all serial communication through these Interfaces The Super IO device model has a single interface connection and is connected to the LPC connection of the Southbridge device Initialization and Reset State The following conditions represent the keyboard and or mouse during initialization and reset state A20 and reset released Mouse scaling set to 1 Mouse resolution set to 4 Stream mode off Mouse sample rate set to 100 All sticky keys released Keyboard output port set to OxDF The floppy is initialized with no drive image present Reset clears the controller to an idle state If an image 1s loaded reset does not unload the image COMI and COM2 are initialized with 9600 Baud no parity 8 bit words 1 stop bit and interrupts off The parallel port initializes with the data and control ports set to zero Reset clears these ports to their initial values The following devices have no functionality behind them at this time with the exception of their configuration registers These registers are initialized and reset to the values specified in the Super I O specification
173. ied in its configuration dialog window Contents of a BSD The PCA9548 saves its SMB base address and input pin value Configuration Options PCA9548 Device 10 Properties Connections 14D Logging SMB Config SME Base Address Figure 7 15 PCA9548 SMB Configuration Properties Dialog The PCA9548 allows you to set its SMB base address Chapter 7 Device Configuration 69 AMD Confidential User Manual August e 2006 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 Initialization and Reset State The PCA9556 has the input value specified in its configuration dialog window Contents of a BSD The PCA9556 saves its SMB base address and input pin value Configuration Options PCA9556 Device 11 Properties Connections 14D Logging SMB Config SME Base Address Figure 7 16 PCA9556 SMB Configuration Properties Dialog The PCA9556 allows you to set its SMB base address and input pin values 70 Chapter 7 Device Configuration AMD Confidential User Manual August 22 2006 7 10 AMD 8th Generation Integrated Northbridge Device The AMD Sth Generation Integrated Northbridge device supports the AMD 8th generation family of processors AMD Athlon 64 and AMD Opteron processors Although the physical processor chip has a Northbridge bui
174. ified Returns the size of the frame buffer in Megabytes Enables 1 or disables 0 the Accelerator used by the Video driver Returns true if Accelerator is enabled otherwise it returns false Enables 1 or disables 0 VESA BIOS Extensions 215 AMD Confidential User Manual August 22 2006 Automation Command GetVBE Description Returns true if VESA BIOS Extensions is enabled otherwise 1t returns false A 7 19 Matrox MGA G400 Graphics 1 simnow mgag400 usage Automation Command SetTexmap 0 1 SetCardType CARDID GetCardType A 7 20 PCI Bus 1 simnow pcibus usage Automation Command DeviceID lt SlotID gt lt DeviceID gt GetDeviceID lt SlotID gt BaseIRQ lt SlotID gt a b e d GetBaseIRQ lt SlotID gt Slot lt SlotID gt 0 1 SlotStatus lt SlotID gt GetConfig A 7 21 SIO 1 simnow gt sio usage Automation Command BreakOnLock 0 1 GetLockStatus BreakOnRead 0 1 GetReadStatus BreakOnWrite 0 1 GetWriteStatus GetConfig 216 Description Enables 1 or disables 0 the texture units By default the texture units are disabled Sets the MGA G400 type to CARDID Valid values for CARDID are 6648 888 6616 and 824 Returns the current CARDID value Description Sets the DeviceID to DevicelD on slot S lotID Returns the DeviceID of specified slot S ot D Sets the Base IRQ of slot S otID to A B C or D Returns the Base IRQ of slot S ot D Enab
175. iguration AMD Confidential User Manual August e 2006 AMD 8132 PCI X Controller 11 Properties EJE3 Connections 140 Logging HotPlug HT Link Configuration Upstream HyperT ransport Link HyperTransport Bus D HyperTransport Bus 1 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 Chapter 7 Device Configuration 85 AMD Confidential User Manual August 22 2006 7 15 PCI X Test Device This PCI X Test Device model provides a simulation of a generic PCI X device Its main purpose is to provide BIOS programmers with a tool to test the PCI X configuration cycle This device 1s 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 Initialization and Reset State At creation and reset states the PCI X device registers have the default hard coded values By default the PCI X device is set to have no I O memory space and interrupt capability The PCI X device has a default Device ID and Vendor ID At reset the de
176. ill be filled with three sections The left column contains informational graphs 1f selected see Section 3 3 2 CPU Statistics Graphs on page 17 the top row contains numeric displays of simulation statistics and disk drive access information and the remainder contains the Simulation Display Area of the simulated machine The Simulation Display Area remains blank until the simulated machine 1s started 26 Chapter 5 Running the Simulator AMD Confidential August 22 2006 User Manual Menu Bar Tool Bar Main Window Numeric Display Components X D 1 AMD SimNow Main Window di E File Y view Special Keyboard Help Tae av 8A OD eg B Graphs E Numeric Displav s Simulator Stats IDE Primary Display IDE Secondary Display Floppy Display Diagnostic Parts 0 Host Seconds O master read master read read 00 nn 00 00 83 80 0 Sim Seconds O master written O master written A written 00 00 00 00 S 84 Translation Graph D Avg MIPS O slave read O slave read 00 00 00 00 e3 e0 O slave written 0 slave written 0 MIPS mode mode Real MIPS Graph Invalidation Rate Graph Exception Rate Graph PIO Rate Graph MMIO Rate Graph A NAAA CPU Graph Simulation Display Simulator status Area Area Figure 5 2 Main Window BSD Loaded You can view the configuration of the simulated machine by clicking on a A window appears with a graphical representation of the simulated machine as shown in Figure 5 3 Chapter 5 Runn
177. ing the Simulator 27 AMD Confidential User Manual August 22 2006 D SimNow Device Window Drag Icons to insert new devices Show Deprecated Devices Ge amp MD 81111 0 Hub AE MD 8132 PCI Controller 2132 Debugger L drm Bank ER Intel Pro 1000 MT Desktop Network Adapter Emerald Graphics aa USB JumpDrive E Meron Device er PCAI548 Device PCI Bus AMD 8th Generation Integrated Northbridge SEIE shiftHdrag to add connections Debugger H8 ASS Processor um Dimm Bank 2 PCI Bus 10 SMB SMB Hub Device HE E di Controler 9 PCI Bus 811 Winbond w B3b52 HF MIDI SIO 5 PCBs tt Intel R Pro1 000 MT Desktop Network E Adapter 16 Memory Device 4 HSE Emerald Graphics USE Jump rive 15 e SME Hub Device PCASB48 Device 13 AT24C Device tt14 Em Winbond wWS3b27HF GI 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 To create a blank hard drive image with DiskTool please follow the steps in Section 4 1 Creating A Blank Hard Drive Image on page 21 5 2 1 Assigning Disk Images Assign a blank hard drive image by selecting File Set IDE Primary Master Image Open the directory that contains your hard drive images and choose a blank hard drive image that you creat
178. insert events e DVD ROM disk image is a flat file of the raw image of a data DVD CD ROM These correspond exactly to ISO file images for example e IDE DVD ROM direct access e Floppy Disk e Floppy disk image a flat file of the raw image of a floppy disk e Floppy direct access Please refer to Section 13 DiskTool on page 137 to find out how to set up a Windows or Linux hard drive image for the simulator 4 1 Creating A Blank Hard Drive Image 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 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 Chapter 4 Disk Images 21 AMD Confidential User Manual August 22 2006 MM SimNow DiskToo Physical Drives EE Create Disk Image From Host Disk H FHYSICALDHRIVEU C D E PHYSICALDRIVET DI Copy Disk Image To Host Disk FHYSICALDRIVE Z E Create Blank Disk Image Erase Host Disk Drive Information Floppy Disk A Mo disk present Figure 4 1 DiskTool Dialogue Window For information about supported options and modes that DiskTool supports please refer to Section 13 DiskTool on page 137 Figure 4 2 shows the DiskTool shell window
179. ints on execution data access or I O access respectively Each of these commands requires an Chapter 10 CPU Debugger 123 CPU Registers Disassembly Instruction Opcode cs Irllelip Memory Dump Memory Dump in ASCII Memory Dump Address Information and Message Output Command Line AMD Confidential User Manual August 22 2006 address parameter that specifies a linear address associated with the breakpoint An optional parameter can be used to specify the pass count 1 e the number of times the breakpoint should be hit before breaking into the debugger In addition the BM and BI commands accept an optional parameter that specifies whether to break on a read input or write output transaction to the specified address Examples of each command are shown in Table 10 1 After setting up and enabling the breakpoint s enter G on the command line to resume CPU execution This will execute the debugger s Go command returning the CPU to continuous execution If a breakpoint is hit the simulation will pause and the debugger will gain attention Command Description Break on the next execution of the instruction located oid dn at linear address 0x 1234A BCD Break on the third execution of the instruction located at linear address 0x 1234A BCD Break on the fourth read of the memory location OxABCD1234 linear Break on the fourth access read or write of the memory location OxXABCD1234 linear BI 80 w 3 Break
180. ion XOR the contents of a destination register or memory reg mem32 reg32 operand with the contents of a 32 bit register and store the result in the destination XOR the contents of a destination register or memory reg mem64 reg64 operand with the contents of a 64 bit register and store the result in the destination XOR the contents of an destination register with reg8 reg mem8 contents of an 8 bit register memory operand and store the result in the destination Appendix A 193 AMD Confidential User Manual August 22 2006 Instruction SIUE ii XOR the contents of a 16 bit destination register with the XOR regl6 reg meml16 33 r contents of a 16 bit register or memory operand and store the result in the destination XOR the contents of a 32 bit destination register with the XOR reg32 reg mem32 33 r contents of a 32 bit register or memory operand and store the result in the destination XOR the contents of a 64 bit destination register with the XOR reg64 reg mem64 33 r contents of a 64 bit register or memory operand and store the result in the destination Table 15 9 General Purpose Instruction Reference A 6 3 System Instructions This chapter describes the function mnemonic syntax and opcodes that the simulator simulates The system instructions are used to establish the operating mode access processor resources handle program and system errors and manage memory Many of these instructions can only be execute
181. ion exist in the simulated system the debugger will display all 256 bytes of configuration data 10 1 7 Reading CPU MSR Contents 1 Stop the simulation as described in Section 3 1 Tool Bar Buttons on page 7 2 Open the Debugger Window View Show Debugger or click on gt The simulation will pause and the Debugger Window will appear 3 Use the debugger s R command to view the contents of an MSR This can be accomplished by typing R Maddress on the debugger command line In this case address is the 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 Description a weno Displays the contents of the MSR with an address of 0x0250 Displays the contents of the MSR with an address of R MC001001A 0xC0010014A 126 Chapter 10 CPU Debugger AMD Confidential User Manual August 22 2006 Table 10 4 MSR Read Examples 4 MSR registers can be modified by adding a Value suffix on the above command syntax Value will be assigned to the MSR register only 1f the value does not modify any reserved bits in the MSR If an attempt is made to modify any reserved bits the MSR write 1s ignored An example MSR write 1s shown in Table 10 5 5 This command may not allow access to all MSRs that are supported by the CPU model To view a list of all registers supported by the R command enter R on the debugger command line Command Description
182. is booted started serial presence detect SPD is information stored in an electrically erasable programmable read only memory EEPROM chip on memory module that tells the BIOS the memory module s size data width and speed The BIOS uses this information to configure the memory properly for maximum reliability and performance Appendix A 155 AMD Confidential User Manual August 22 2006 simoow DDR 32M spd 32MB DDR memory XX simnow_DDR_128M spd 128MBDDRmemoy RS simoow DDR 512M spd 512MBDDRmemoy SR simoow DDR Gand 10040MBDDRmemoy O _ Y simoow DDR 2G spd_ 2048MBDDRmemoy Xx simnow DDR 4G spd 4006MBDDRmemoy SR simnow DDR 32M Regspd 32MBregistered DDR memory amp simnow DDR I28M Regspd 128MB registered DDR memory Sr simnow DDR 512M Regspd 512MB registered DDR memory simnow DDR IG Regspd 1024MB registered DDR memory W simnow DDR 2G Regspd 2048MB registered DDR memory Sr simnow DDR 4G Regspd 4096MB registered DDR memory 3 simnow DDR2 I28M spd 128MB DDR2 memory 3X simnow DDR2 256M spd 256MB DDR2 memory 3 simnow DDR2 512M spd SI2MBDDR2memory 3X X simnow DDR2 IGspd 1024MBDDR2memry X X simnow DDR2 2G spd_ 204RMBDDR2memry 3 simnow DDR2 4G spd 4096MBDDR2memry 3X J
183. is device initializes the internal registers to Matrox G400 standard reset state and creates a display window that acts as the VGA display The Configuration options are initialized to enable both the VGA and Matrox Power Graphics Mode The frame buffer size 1s initialized to 32 Mbytes and the Bios File memory area is initialized to all ones A reset will re load the default PCI configuration registers and place default values in the Chip and FIFO configuration for the Matrox G400 graphics device Contents of a BSD The data saved in the BSD depends on the mode the graphics controller was in when the BSD was saved If the graphics controller was in VGA mode the BSD file contains the contents of all VGA registers a copy of the 256 Kbyte VGA frame buffer and all configuration information If the graphics controller was in Matrox Power Graphics Mode non VGA in Windows the linear frame buffer Power Graphics registers and PCI configuration registers are saved in the BSD When the BSD file 1s reloaded all registers and the frame buffer are restored and a display image 1s captured and displayed in the display window Configuration Options Figure 7 10 shows the nformation tab The following information describes the active configuration of the Matrox G400 graphics device The Graphics Hardware Model can be set to one of the following models e Matrox Millennium G400 PCI e Matrox Millennium G400 AGP Currently there 1s only support for the M
184. is enables the ROM to be remapped dynamically into different memory address ranges in conjunction with the aforementioned chip select Selecting the nitialized unwritten memory to hex option initializes otherwise not initialized memory with a separate field for specifying the byte to use for initialization Selecting the Memory is non cacheable option tells the system if the memory described by the device 1s non cacheable Memory Device 8 Properties Connections 0 Legging Memory Configuration Base Address fred 3zk Aligned in hex Size 32k Blocks in decimal Init File Amages 2851 50 DIN Read Only System BIOS ROM Memon Address Masking Initialized unwritten memory ta hex ff Memory is norrcacheable Figure 7 14 Memory Configuration Properties Dialog Difference from Real Hardware The memory device differs in that 1t 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 68 Chapter 7 Device Configuration AMD Confidential User Manual August e 2006 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 Initialization and Reset State The PCA9548 has the input value specif
185. it Device CPUO Type CPU Item XMMO1 Data 00000000000000000000000000000000 r Init Device CPUO Type CPU Item XMMO2 Data 00000000000000000000000000000000 gt Init Device CPUO Type CPU Item XMMO3 Data 00000000000000000000000000000000 104 Chapter 7 Device Configuration AMD Confidential User Manual August 22 2006 Init Device CPUO Type CPU Item XMMO4 Data 00000000000000000000000000000000 gt Init Device CPUO Type CPU Item XMMO5 Data 00000000000000000000000000000000 Init Device CPUO Type CPU Item XMMO6 Data 00000000000000000000000000000000 gt Init Device CPUO Type CPU Item XMMO7 Data 00000000000000000000000000000000 gt Init Device CPUO Type CPU Item XMMO8 Data 00000000000000000000000000000000 gt Init Device CPUO Type CPU Item XMMO9 Data 00000000000000000000000000000000 gt Init Device CPUO Type CPU Item XMM10 Data 00000000000000000000000000000000 gt Init Device CPUO Type CPU Item XMM11 Data 00000000000000000000000000000000 gt Init Device CPUO Type CPU Item XMM12 Data 00000000000000000000000000000000 gt Init Device CPUO Type CPU Item XMM13 Data 00000000000000000000000000000000 gt Init Device CPUO Type CPU Item XMM14 Data 00000000000000000000000000000000 Init Device CPUO Type CPU Item XMM15 Data 00000000000000000000000000000000 gt Init Device C
186. itions ccccccccnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnonananons 130 Table 15 1 Computer Platform Files BS 154 Table 15225 Produce E He Soest ortis ia 155 Table 15 37 Hard DISK nar eebe 155 Table LSA BIOS Piles dns eee futs 155 Table 155 Memory SPD FIE id 156 Table 15 6 Supported Guest Operating Systems sse 157 Table 15 7 CPUID Standard Feature mmplementaton 158 Table 15 8 CPUID Extended Feature implementation ccccccsessseeeeceeeeeeaeeeeees 159 Table 15 9 General Purpose Instruction Reterence 194 Table 15 10 System Instruction Retorna dias 196 Table 15 11 3DNow Instruction Referente as 198 Table 15 12 Extension to 3DNow Instruction Reference oooocccnnnnnnnnnnnonncccnnnnnnnnnnnnos 198 Table 15 13 Prescott New Instruction Reference cccccccnccnnnooncccnncnnnnnnnnnnnnnnnononnnnnnnnnos 199 Table 15 14 CodeGen Command Overview oooooocccccccnnnnnnnnnnnnnnnononnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnns 215 Table 15 15 Prefix Sequences keyboard E d eed ads 221 Tables xi AMD Confidential User Manual August 22 2006 xii Figures AMD Confidential User Manual August 22 2006 1 Overview The AMD SimNow simulator is an AMD64 technology compatible x86 platform simulator for AMD s family of processors It 1s 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 standa
187. ked floating point reciprocal PFRSQRT mmreg1 mmreg2 m64 OF OF 97 ere ese deor meda dl PFSUB mmregil mmreg2 m64 OF OF 9A Packed floating point subtraction Packed floating point reverse PFSUBR mmregi mmreg2 m64 OF OF AA EPIS Ei PI2FD mmregil mmreg2 m64 OF OF OD pac e EE ES SOS ooint conversion Multiply signed packed 16 bit values PMULHRW mmregi mmreg2 m64 OF OF B7 with rounding and store the high 16 v bits Prefetch processor cache line into PREFETCH PREFETCHW OF OD L1 data cache Dcache Table 15 11 3DNow Instruction Reference A 6 7 Extension to the 3DNow Instruction Set This section describes the five new DSP instructions added to the 3DNow Instruction Set Instruction SEH Mnemonic a Packed floating point to integer PF2IW mmregi mmreg2 m 4 OF QE 16 word conversion with sign extend Packed floating point negative PFNACC mmregi mmreg2 m64 OF OF 8A IC dae PFPNACC mmregi mmreg2 m64 OF OF 8E Packed floating point mixed positive negative accumulate PI2FW mmregi mmreg2 m64 OF OF 0C Packed 16 bit integer to floating point conversion PSWAPD mmreg1 mmreg2 m64 OF OF BB Packed swap double word rt d Table 15 12 Extension to 3DNow Instruction Reference A 6 8 Prescott New Instructions Prescott New Instruction technology for the x64 architecture is a set of 13 new instructions that accelerate performance of Streaming SIMD Extension technology Streaming SIMD Extension 2 technology and x87 FP m
188. ks 1 Device Data Width 8 Delete DIMM SPO ROM Contents Address O Number of SPO ROM bytes used 1 Total number of SPO ROM bytes 2 Memory Type 3 Mumber of row addresses 4 Number of column addresses 5 Number of physical banks on DIM b Module data width lov d Module data width high D Module volatge interface level Import SPD Export SPD DDR POL Response PDL high 0 255 Figure 7 6 DIMM Module Properties Dialog The two DIMM module configuration dialogs shown in Figure 7 6 DIMMO DIMM1 provide module specific setup options for each simulated DIMM The two DIMM module configuration dialogs share the same format Note The public release of the simulator does not support any of the options shown in Figure 7 6 To change the simulated memory size please use the Memory Configurator see Section 14 2 Changing DRAM Size on page 143 Chapter 7 Device Configuration 49 AMD Confidential User Manual August 22 2006 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 The list box provides a description of each byte index in the ROM If a description is selected the corresponding data byte 1s displayed in the edit box to the right The data at any location in the SPD ROM
189. l8off Jump if above or equal CF 0 JAE rell6off Jump if above or equal CF 0 JAE rel32off Jump if above or equal CF 0 JZ rel8off Jump if zero ZF 1 JZ rell6off Jump if zero ZF 1 JZ rel32off Jump if zero ZF 1 E me EIA E a e Simp 2 equal ur n mu relooff no samp if mot sexo up W A EE aie emisor oso mp 2 not egal ren 0 Wo uu A SE Ham cu S E pr if below or Lu 1 or ZF JBE reliSoff Sung if below or equal 1 or ZF R e E JNBE rel8off o 7 not below or TEM CF 0 or JNBE rell6off OF 87 dw E a not below or equal C 0 or Gee EEE EEN A as L SX iu S Appendix A 175 AMD Confidential User Manual August 22 2006 Instruction SEN Mnemonic ii JNS rel32off Jump if not sign SE 0 JP rel8off Jump if parity PF 1 JP rell6off Jump if parity PF 1 v JNGE rel8off E if not greater or equal SF lt gt JNGE reli6off OF 8C cw dd if not greater or equal SF lt gt v JLE rel8off JE cb Jump if less or equal ZF 1 or SF OF JLE reli6off OF 8R cw Jump if less or equal ZF 1 or SF v OF JLE rel32off OF 8R cd Jump if less or equal ZF 1 or SF of lt gt OF JNG rel8off JE cb Jump if not greater ZF 1 or SF lt gt T OF JNG reli6off OF 8E cw Jump if not greater ZF 1 or SF lt gt of OF JING rel32off OF 8E cd Jump if not greater ZF 1 or SE lt gt e OF Jump if not less or equal ZF 0 or Jump if not less or e
190. lecting Special Keyboard Grab Mouse and keyboard To return from this mode press and hold Ctrl then Alt and then release them in reverse order 3 3 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 IDE Primary Display IDE Secondary Display Floppy Display 82 900 096 master read master read 465 read 4 545 536 master writter master written 155 written U slave read U slave read slave written slave written DMAYPIO made PIOPIO made Figure 3 14 Primary Secondary and Floppy Displays When a disk is accessed in simulation the status information 1s updated 3 3 5 Using Hard Drive DVD CD ROM and Floppy Images Section 4 on page 21 describes how to create disk images To use a disk image created by DiskTool go to the Main Window File Menu and choose one of the Set Image menu items This brings up an open file dialog Select your drive image and click on Ok Standard file extensions for disk images are shown in Table 3 3 Image Type File Extension Hard Drive Image Floppy Drive Image DVD CD ROM Image Table 3 3 Image Types After an image is selected any changes to the image are stored in journal form in the BSD file unless journaling is disabled in the Southbridge for hard drive images or SuperlO for floppy drive images device If journaling is disab
191. led 1 or disables 0 single stepping Enables the IO i or MEM lt m gt fastpath for the given device or lt all gt devices Returns enabled or disabled depending on if fastpath is enabled or disabled for the given device or all devices The lt i gt option returns the IO fastpath status The lt m gt option returns the MEM fastpath status End point number of ticks for CPU to run and then it stops Number of lt tick gt to cycle before CPU stops Sets the quantum value for the VGA signature mechanism If the VGA signature matches with any of the preset golden VGA signatures the simulation stops Returns the quantum value for the VGA signature mechanism Returns the VGA signature for the present screenshot It is an MD5 sum generated from the contes of the present screen Sets golden signature s needed for comparision by the VGA signature mechanism Enables 1 or disables 0 the VGA signature mechansim Description Creates a volume for the given disk image For e g ide image 0 i cOd0 img Displays the disk image for the given volume Turns journaling on or off for specified drive For instance ide journal master on turns on journaling for master drive Returns enabled or disabled if journaling 1s enabled or disabled for specified drive Appendix A AMD Confidential User Manual August 22 2006 Automation Command Description JournalSize master slave 0 1 Returns the journal size for
192. led changes are stored to the image file see also Section 5 2 1 Assigning Disk Image on page 28 Chapter 3 Graphical User Interface 19 AMD Confidential User Manual August 22 2006 3 3 6 Registry Window The Registry Window can be viewed by selecting View Show Registry The registry contains information about various simulator configuration items They are not intended to be altered by the user but some can provide useful information For example the Instructions per Microsecond and System Bus Frequency both show the frequency values the simulator uses for its simulated processors SimMow Registry Dialog Registry ltem Mame Instructions per Microsecond 800 System Bus Frequency 00 CPU Clock Mul U CPU Model Marne Althlanb4 Turba Fart 0 Turbo Wayne U Guard Memory Required TRUE CPU Manages Cycles TRAUE Disk Black Cache Size bk Disk Block Cache Depth 5 Disk Block Cache Bits 12 Figure 3 15 Registry Window 3 3 7 Help Problems and Bug Reports The simulator has HTML on line help and documentation with Help menu entries or buttons on the dialogs In the device view every device has a context menu right click with Help documentation links and What s this floater text In addition to any other support channel you may have we encourage feedback on any problems encountered Please send an email to simnow support amd com 20 Chapter 3 Graphical User Interface AMD Confidential User Manual Augus
193. les 1 or disables 0 slot wit specified S otID Returns enabled if slot S ot D is enabled otherwise it returns disabled Displays PCI Bus configuration information Description The Lock 1 or Unlock 0 Registers option activates the breakpoint anytime the lock or unlock sequence is hit Returns enabled if BreakOnLock 1s enabled otherwise it returns disabled Enable 1 or disable 0 breakpoints whenever any of the device configuration registers is read Returns enabled 1f BreakOnRead is enabled otherwise it returns disabled Enable 1 or disable 0 breakpoints whenever any of the device configuration registers 1s modified Returns enabled if BreakOnWrite 1s enabled otherwise it returns disabled Displays SIO configuration information Appendix A AMD Confidential User Manual August 22 2006 A 7 22 Memory Device 1 simnow memdevice usage Automation Command Description Save filename Load filename BaseAddress value GetBaseAddress SizeInBlocks value GetSizeInBlocks InitFile filename GetInitFile ReadOnly lt 0 1 gt GetReadOnly SystemBios lt 0 1 gt GetSystemBios MemAddrMask lt 0 1 gt GetAddrMask InitValEnable lt 0 1 gt InitVal hex value Appendix A 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
194. lf for playback Init from Automation Script The CPU is initialized from the initialization data in XML and the system prepares itself for playback This method does not support persistent storage of XTR state to be replayed later Reset The XTR file handle is closed All the queued events are flushed Simulated DIMM memory is flushed and unallocated Contents of a BSD XTR Record contains xtrsvc which is described below in addition to modules in the simulation For XTR Playback the BSD is composed of following modules shell 0 The shell under which a simulation 1s executed xtrsvc 0 XTR service which facilitates execution of XTR Playback Debug 0 The SimNow Debugger Cpu 0 AweSim CPU Module There might be more CPUs for XTR MP xtrnb 0 XTR Northbridge In persisted BSD XTRNB which is only used during XTR Playback saves and restores events that have been queued but not triggered yet 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 XTR Record does not store any contents in the persistent BSD file Log Messages Messages are logged only by XTRNB which is only used during XTR Playback Some of the following may only be logged when xtrnb debug 1s set to enable Some of the Log messages are Chapter 7 Device Configuration 97 AMD Confi
195. lization Technology 4 436 X SSIS 4 4 An GE 952626 Mr e 4 4 4 Y vw wv ww _ Y wv _ Y LS _ Y ww Y vw A w Y Y Y Machine Check Architecture Y w Conditional Move Instruction e wv sg Page Attribute Tabe Y Y Page Size Extensions PSE 36 e Ise TI Y No execute page protection Y F X X _ Y wv Y Y Y Y _ X _ 36 X X eee _ Y vw Y amp GO 9526964 36 X q 4 4 i Table 15 8 CPUID Extended Feature implementation Only read and write to debug registers is supported side effects are not implemented Controlled by FUSE state Appendix A 159 AMD Confidential User Manual August 22 2006 A 5 Known Issues A 5 1 Task Switches Using Task Gates When a control transfer to a new task occurs through a task gate the processor reads the task gate from the task gate descriptor This feature is currently not supported Any attempt to task switch by using one of the following instructions causes a FeatureNotImplemented exception and the simulation will be stopped e JMPF e CALLF e INI A 5 2 FPU HANG Condition Conditions that cause a real hardware x87 to hang are not simulated in the simulators processor models Any condition that would cause real x
196. lled externally through a scripting interface by issuing automation commands These commands are directed toward either the shell or toward any device that is part of the currently loaded BSD Automation commands are plain ASCII text and are sent to the simulator s automation interface The method for sending automation commands to the interface and for retrieving the response 1s host dependent on the host OS Figure 15 1 shows the simulators Console Window The Console Window 1s the user interface to the simulators automation interface All automation commands can be send from the Console Window to the simulators automation interface as explained in the following sections A AS exe Using image path Images Using library path devices 1 simnow Opening C 8imNow solo bsd d 7 creating device HB Debugger creating device AvweSim Processor 7 creating device AMD 8151 AGP Tunnel z creating device AMD 8th Generation Integrated Northbridge creating device hHD 8111 1 0 Hub creating device Dimm Bank creating device PCI Bus 7 creating device Hinbond 183627HF S10 creating device Memory Device 7 creating device Emerald Graphics allocate map memory BSD Load completedt Figure 15 1 Console Window The automation commands are sent to a specific device by starting the command with the name of the device followed by a period For example to send the Modules command to the shell device you
197. lt in for simulation purposes the Northbridge is considered as a separate unit Features include HyperTransport technology for coherent and non coherent connections and a memory controller The integrated debugging functions of the 8 generation processors are not included 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 The CPU bus gives connection points for the CPU The final port is a system message bus port for connection with a Log device A 940 pin gh generation processor part AMD Opteron has three HyperTransport ports a 754 pin Sr generation processor part AMD Athlon 64 has one HyperTransport port Initialization and Reset State When first initialized the Northbridge device 1s 1n the default state This 1s described in detail in the 8 generation processor PCI register specification When reset the Northbridge device takes on all default register values Contents of a BSD The BSD file contains the contents of all Northbridge registers It also saves the contents of any tables and the states of all internal devices the memory controller HyperTransport table contents etc Wh
198. ltaneously in separate domains e Provides an optional gateway to block broadcast traffic and to perform Network Address Translation NAT on identical BSD s in different domains The mediator can route traffic to and from the real network This operation requires low level kernel actions so the mediator must be run by a supervisor with sufficient OS privileges Users may want to have one machine on the subnet dedicated to running the mediator in this mode Client machines that connect to the mediator will not require supervisor privileges The mediator is capable of grouping certain simulator sessions into domains Domains isolate groups of simulator sessions from each other This can be useful when the user wants to run replicated groups of BSD s simultaneously The user need to ensure that each group of BSD s are using unique domains in the mediator by passing an appropriate connect string to the mediator or supplying it on the command line using the m option see Section 5 1 Command Line Arguments on page 25 The mediator can provide one or more gateways to 1solate broadcast traffic from your simulation environment A gateway will perform NAT in order to ensure that BSD s in different domains get their packets routed appropriately The simulator sessions using the mediator s gateway can continue to access network resources but are essentially hidden from the real network Table 7 9 shows command line switches that the mediator accepts
199. lue c0 gt lt Event gt Event Device CPUO Type IOW ICount 326541 Address 70 Size 1 gt lt Data Length 1 Value 0c gt lt Event gt Event Device CPUO Type IOR ICount 326545 Address 71 Size 1 gt lt Data Length 1 Value 00 gt lt Event gt lt Event Device XTR Type EOT ICount 400967 gt lt AmdEventTrace gt Chapter 7 Device Configuration 107 AMD Confidential User Manual August 22 2006 7 23 JumpDrive Device The purpose of the JumpDrive device is to allow easy import and export of data between a host system and a simulation environment You can import files from the host system on to the JumpDrive where they will be accessible by the simulated operating system Data can also be exported from the JumpDrive back to the host system after the simulation ended The image file used by the JumpDrive is very different from any other image files that the simulator supports The only image files that can be loaded are those image files that are saved by the JumpDrive itself Section A 7 26 JumpDrive on page 221 describes the JumpDrives automation commands Interface The JumpDrive device has an USB interface that can connect to any USB controller e g you can connect the JumpDrive device to the AMD 8111 I O Hub Initialization and Reset State The JumpDrives initialized state is all zero There is no partition table or any other structure defined It is totally blank The defaul
200. m16 reg16 CL SHR reg mem8 1 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 Appendix A Instruction Opcode C1 4 ib o trj gt Ul DO 75 D2 5 DO 75 XD D1 5 DS J B CL A5 XB D1 5 DS 5 Cl 75 XD DL 5 DS 5 Cl 5 ib Shift a 64 bit register or memory location left the number of bits specified by an 8 bit immediate value Shift bits of a 16 bit destination register or memory operand to the left the number of bits specified in an 8 bit immediate value while shifting in bits from the second operand Shift bits of a 16 bit destination register or memory operand to the left the number of bits specified in the CL register while shifting in bits from the second operand Shift bits of a 32 bit destination register or memory operand to the left the number of bits specified in an 8 bit immediate value while shifting in bits from the second operand Shift bits of a 32 bit destination register or memory operand to the left the number of bits specified in the CL register while shifting in bits from the second operand Shift bits of a 64 bit destination register or memory operand to the left the number of bits specified in an 8 bit immediate value while shifting in bits from the second operand Shif
201. mately resets the CPU and the computer 160 Appendix A AMD Confidential User Manual August 22 2006 However the simulator does not simulate triple faults In case a triple fault occurs the simulator stops the simulation The simulation cannot be restarted until a reset 1s asserted but the simulation state can be inspected with the simulator s debugger A 5 6 Non Maskable Interrupts NMI The simulator does not support Non Maskable Interrupts at all A 5 7 Performance Monitoring Counter Extensions Setting CR4 PCE bit 8 to 1 allows software running at any privilege level to use the RDPMC instruction Software uses the RDPMC instruction to read the four performance monitoring MSRs PerfCTR 3 0 Clearing PCE to 0 allows only the most privileged software CPL 0 to use the RDPMC instruction The simulator does support the RDPMC instruction but there is no logic behind the simulated performance counter MSRs A 5 8 Microcode Patching Microcode patches do not affect the simulated machine behavior This may have unintended consequences A 5 9 Long Mode Segmentation The simulator does not support the long mode segmentation mode that was added later to AMD 8 Generation CPUs A 5 10 Long Mode Limit Check Virtualization software needs to use segment limits to cordon off a small area in the upper virtual address space In order to achieve this goal a new 64 bit mode limit check mechanism was introduced in K8 revD A new 64 bit m
202. mation Command Description Sets XTR XML file to use during playback Enables 1 or Disables 0 extended debug information for XTR Playback 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 status Displays the status of XTR playback xtrfile lt filename xml gt debug lt 0 1 gt xtrlogfile lt filename log gt 1 simnow xtrsvc usage Automation Command Description 224 Appendix A AMD Confidential User Manual August 22 2006 Automation Command Description xtrenable 0 1 Enables 1 or Disables 0 XTR Record All other values are invalid xtrfile lt filename xml gt Sets the XTR XML file for XTR Record Sets number of bits for memory address SE bits to scan n 16 32 or 48 Default is 32 Xtrstatus Displays the status of XTR Record Appendix A 225 AMD Confidential User Manual August 22 2006 This page 1s intentionally blank 226 Appendix A AMD Confidential Index User Manual August 22 2006 Index y Lind Patas 127 Read Write MIR Saad 126 A NOR UN EEE NR OD 162 Reading CPU MSRS erre 126 TONN Datos 160 Reading PCI Configuration Registers 126 Set BECA naa ibas 123 single Stepping eere 124 BIN cc TT 155 tege Ee 125 A II EHE 155 DUS P PINS OVO e E 124 A A A 156 VIEW MEMO ta 125 Deprecated Devices oos ieni ne aE 10 d A RR 82 64 Bit Mode Limit Check Mechanism 161 Devi
203. mnow gt shell gd ENTER Start gdb on gdb host gdp Sew eu c Ts EE BEN gdb gt target remote simnow host 2222 lt ENTER gt 11 3 Linux Host Serial Port Communication 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 133 AMD Confidential User Manual August 22 2006 output pipe at simnow comX simnow in and 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 1n pipe Note that it 15 not possible for two simualtor sessions to communicate with each other on the same host using named pipes This 1s an 1ssue that will be fixed in a future version of the simulator When the simaultor serial port has been configuired to use the host serial port the simualtor will open dev ttyS0 or dev ttyS1 depending on wether it is COMI or COM2 Note that the user will need to be running the simulator with root privelages to avoid an access denied error when the simualtor attempts to open the device The simulator can communicate with external applications such as a kernel debugger in this mode 134 Chapter 11 Debug Interface AMD Confid
204. modes at this time The Emerald graphics device 1s comprised of a standard VGA and the Emerald Graphics sub device The graphics display engine automatically switches between the Emerald Graphics sub device and the VGA as necessary to display the selected video modes with only one being able to display at a time The VGA sub device provides an industry standard VGA interface used by BIOS and DOS The Emerald Graphics device provides an AGP and PCI graphics device interface controllable either by VESA BIOS extensions or a video driver In addition to the VGA standard modes Emerald Graphics supports a wide range of graphics modes from 320x200 at 16 bit color up to 2048x1536 at 32 bit color with either the VESA BIOS extensions or a video driver Interfaces The Emerald graphics device has both a PCI slot and an AGP bus connection only one of which can be used at any time to connect to PCI slots or AGP bus ports in other devices Initialization and Reset State Upon initial creation this device initializes the internal registers to VGA standard reset state and creates a display window that acts as the VGA display The Configuration options are initialized to enable both the VGA and Emerald Graphics The frame buffer size 1s initialized to 16 Mbytes and the Bios File memory area 1s initialized to all ones A reset will re load the default PCI configuration registers and place default values 1n the Chip and FIFO configuration for the Emerald Graphics
205. mory address masking is enabled otherwise it returns false Enables 1 or disables 0 the initialized unwritten memory option If enabled the memory 1s initialized using a specified byte see below nitVal otherwise the memory is not initialized Sets byte initializer for memory that needs to be initialized 217 AMD Confidential User Manual August 22 2006 Automation Command InitValStatus DisableCache lt 0 1 gt GetCacheDisabled GetConfig FlashMode lt 0 1 gt FlashUpdateFile lt 0 1 gt ncHTMode lt 0 1 gt ForceInitFile filename A 7 23 Raid 1 simnow raid usage Automation Command Noise enable disable RomlImage File name gt SetVolume Vol Image file gt Journal file gt DeleteVolume lt Vol gt Sync Type 5304 5312 Image lt Vol gt lt Image file gt GetImage Vol gt Journal Vol gt 10 1j AddJournal Vol gt Journal file gt ResizeJournal Vol gt Old Journal New Journal gt Commit Vol gt 218 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 Returns true if non cacheable otherwise it returns false Displays Memory configuration information Enables 1 or disables 0 this device to be used as a flash ROM Enables 1 or disbales 0 writes to the flash ROM to update the ROM image Enables
206. mp S D D S D amp S D amp S D S D D S S D S D S 1 Hardware Clipping Software Hardware Cursor a Three Color Cursor b XGA Cursor c X Windows Cursor d 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 I bpp Chapter 7 Device Configuration 59 AMD Confidential User Manual August 22 2006 e Rectangles a Patterned Fills b Constant Shaded c Gouraud Shaded partially d Texture Mapping partially e Trapezoids a Constant Shaded e Lines a Auto Lines line open line close b Solid Lines line open line close 8 15 16 24 and 32 Bits Per Pixel video modes ILOAD Pseudo DMA Window Transfers Programmable transparent BLTer Linear packed pixel frame buffer Supported DirectX 6 1 Features e Alpha TestO e Alpha Blending Functions Normal Blending Transparency Blending Additive Blending Soft Additive Blending Multiplicative Blending Depth Test Z Buffer 15 bit 16 bit 24 bit and 32 bit Texel Width 4 8 12 15 16 and 32 bit UV Texture Coordinate support DMA Vertex Engine RTP Supported Graphics Modes The Matrox G400 provides three different display modes text VGA or SVGA VGA graphics and SVGA graphics Table 7 4 list all of the display modes which are available through BIOS calls OxoE voa Multi plane 4 bpp 640x20
207. mulator sends the internal command keyboard key 0x10 0x80 to its command interpreter If the user has a USB keyboard or mouse in his simulation he can redirect the simulator to use these USB devices for keyboard and mouse input He does this by modifying the following simulator registry keys Gui Key Device usbkey and Gui Mouse Device usbmouse from the top level View Registry With these changes when the user presses the Enter key 1n simulation the simulator will send the internal command usbkey key 0x10 0x60 to its command interpreter When the user moves the mouse around the simulator display the simulator will send commands such as usbmouse mousemouve 10 10 to the interpreter 94 Chapter 7 Device Configuration AMD Confidential User Manual August 22 2006 7 22 XTR Device XTR 1s a trace record and playback mechanism that 1s instrumental for applications that are not dependent on the specific version of the CPU An XTR trace contains the interaction of the processor with the rest of the system in an XML based log file The XTR trace file can be played back and could be used to simulate behavior of one or more devices within a system which in turn may be used to analyze the CPU s performance or to perform conformance analysis between various revs and models of the CPU XTR may also be used in studies where the behavior of some devices needed but the use of an actual device or its software model is either difficult of impossible due to
208. n to the diagnostic programmed UO ports Mostly these ports are written by the BIOS and low level diagnostic software Host Seconds shows the number of user and system seconds of host CPU time the simulator has uses i Simulator Stats since it started Sim Seconds is the number of seconds of simulated time that has past since the 971 MIPS MIPS are the simulator started instantaneous value of MIPS are the total M number of simulated SE instructions executed edd m Nine S since the simulator started divided by the Hosts Seconds executed per second of host user and system CPU time The simulation counter measures the number of microseconds of simulated time However it is not a performance or cycle based simulator so the simulated time 1s estimated Figure 3 7 Progress Meter and Diagnostic Ports 16 Chapter 3 Graphical User Interface AMD Confidential User Manual August 22 2006 3 3 2 CPU Statistics Graphs There are several graphs that can be displayed on the left side of the Main Window These graphs can be activated by the View CPU Graphs menu selection 3 3 2 1 Translation Graph The Translation Graph updates once a second Full vertical scale means the address Translation cache tcache is full Dark color on the bottom of the graph represents percent of tcache containing valid translations Lighter color above the dark color represents percent of tcache containing invalidated translations Bl
209. nal x64 Edition E i Take a tour of Windows XP x To learn about the exciting new features in XP now click here To take the tour later click All Programs on the Start menu and then click Accessories 2 12 14PM Stopped B Simulator status 2D Engine Color Space Simulation Display Area Figure 3 1 Main Window In Simulation 3 1 Tool Bar Buttons The Tool Bar shown in Figure 3 1 contains up to eleven control buttons The simulation can be started by clicking on the Play button The simulation can be stopped by clicking on the Stop button To reset the entire simulator stop the simulation first by clicking on the Stop button and then click on the Reset button 2 Chapter 3 Graphical User Interface 7 AMD Confidential User Manual August 22 2006 The power management Sofi Power button YU and Soft Sleep button are avallable 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 The working context can be restored if it 1s stored on nonvolatile media The simulated system appears to be off Clicking on the Soft Sleep button simulates a power consumption reduction The power consumption is reduced to one of several levels depending on how the system is to be used The lower the level of power consumption the more time it takes
210. nded 8 bit immediate value from a 64 bit register or memory location with borrow Subtract the contents of an 8 bit memory location with borrow Subtract the contents of a 16 bit memory location with borrow Subtract the contents of a 32 bit SBB reg mem32 reg32 19 r register from a 32 bit register or v memory location with borrow Subtract the contents of a 64 bit SBB reg mem64 reg64 19 r register from a 64 bit register or vw memory location with borrow Subtract the contents of an 8 bit register or memory location from the contents of an 8 bit register with v borrow Subtract the contents of a 16 bit register or memory location from the v contents of a 16 bit register with borrow Subtract the contents of a 32 bit register or memory location from the e contents of a 32 bit register with borrow Subtract the contents of a 64 bit register or memory location from the v contents of a 64 bit register with borrow Compare the contents of the AL then increment or decrement rDI Compare the contents of the AX then increment or decrement rDI Compare the contents of the EAX register with the doubleword at pone Mene BE ES rDI and then increment Or v decrement CDI Compare the contents of the RAX and then increment or decrement rDI Compare the contents of the AL SCASB AE register with the byte at ES rDI and v then increment or decrement rDI Compare the contents of the AX SCASW register with the word at ES rDI and v t
211. ndow For example Location USB JumpDrive returns USB JumpDrive 152 382 where 52 1s the x coordinate and 382 1s the y coordinate Enabled 1 or disables 0 device logging for device Returns the logging status of device Device Name This automation command returns enabled or disabled Enables 1 or disables 0 IO logging feature for device or all devices Supported IO logging features are PCI IO IOfpdis MEM MEMfpdis and GETMEMPTR The reset options sets the selected feature on device or lt all gt devices to its default value 205 AMD Confidential User Manual August 22 2006 Automation Command GetLoglO lt device gt ForceSingleStep 0 1 gt Fastpath device all i m GetFastpath device all lt i m XticBreak tick XticDuration tick SetVGA Quantum lt time gt GetVGA Quantum Generate VGA Signature lt index gt SetGoldenVGASignature lt index gt EnableVGASignature lt 0 17 A 7 2 IDE 1 simnow gt ide usage Automation Command Image master slave 0 1 lt filename gt GetImage master slave 0 1 Journal master slave 0 1 offlon 0 1 JournalStatus master slave 0 1 206 Description Returns IO logging status of lt device gt For example GetLoglO USB Jumpdrive returns the following information PCI Disabled IO Disabled IOfpdis Enabled MEM Disabled MEMfpdis Enabled GETMEMPTR Disabled Enab
212. nfiguration of the simulated COM port the host COM ports baud rate is configured depending on the BAUD parameter with 8 bit data no parity 1 stop bit BAUD can be one of the following values 1200 2400 4800 9600 14400 38400 56000 57600 or 115200 See also Section 11 1 Kernel Debugger on page 131 o none Tells the simulator to discard any written data and always return receiver empty on reads Use the SetMultiplier automation command to specify the baud rate delay time used to make the serial based communication to Microsoft s kernel debugger in some cases much more stable A SetMultiplier nMultiplier valid nMultiplier value must be in the range of nMultiplier gt 1 and nMultiplier lt 100 For example to delay the baud rate by 1 00th of normal you would enter SetMultiplier 1 The default for nMultiplier is 100 GetMultiplier Returns the current value of nMultiplier A 7 11 HyperTransport Technology Configuration 1 simnow sledgeldt usage Automation Command Description Enables or disables link 0 1 or 2 For example Link 0 1 12 0 1 sledgeldt link 0 1 enables link 0 and sledgeldt link 0 0 disables linko LinkStatus 0 1 2 Returns the link status of link 0 1 or 2 Link Width 0 1 2 8 16 Sets link width to 8 or 16 bit of link 0 1 or 2 GetLink Width 0 1 2 Returns link width in bits of link 0 1 or 2 GetConfig Displays LDT configuration LogDMA 0 1 Enables 1 or disa
213. nsport interrupts Returns enabled if HyperTransport interrupts are enabled otherwise it returns disabled Enables 1 or disables 0 IO logging Returns enabled if IO Logging is enabled otherwise it returns disabled Enables 1 or disables 0 IO logging Returns enabled if Memory Logging is enabled otherwise it returns disabled Enables 1 or disables 0 IO logging Returns enabled if SMI SCI Logging is enabled otherwise it returns disabled Appendix A AMD Confidential User Manual August 22 2006 GetConfig Displays the current AMD 8111 configuration A 7 15 EHC 1 simnow ehc usage Automation Command Description log enable disable mp A 7 16 Journal l simnow journal usage Automation Command GetParam SetParam Super Block Size Index Block Size Index Levels Disk Block Size A 7 17 CPU 1 simnow gt cpu usage Automation Command LoadAnalyzer lt analyzer_ file gt lt args gt ShowAnalyzers EnableAnalyzer lt num gt lt 0 1 gt UnloadAnalyzer lt num gt MCAFault lt bank gt lt GenerateMCA Fault 0 1 gt Status Reg gt lt Address Reg gt ProductFile lt FileName gt CodeGen lt command gt lt args gt DumpProfile lt blocks to dump gt Enables or disables Memory m and PCI Configuration p logging Description Returns Super Block Size Index Block Size Index Levels Disk Block Si
214. ntroller register set for the USB controller s an LPC ISA bridge a system management bus controller IOAPIC bus bridge 1f applicable and legacy AT devices PIC PIT CMOS timer and DMA controller The legacies AT devices have the standard behavior and IO addresses unless otherwise noted Interfaces The Southbridge devices have several connection points Possible connection points include a PCI bus a SMB bus a LPC bus an INT IOAPIC bus for interrupt signaling and 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 Initialization and Reset State When first initialized the Southbridge devices are in the default state This 1s described in detail in the respective datasheets The legacy CMOS sub device initializes to all zeroes When reset a Southbridge device takes on all default register values as above The exception to this 1s that the CMOS contents remain the same Contents of a BSD The BSD file contains the contents of all registers It also saves the contents of any buffers and states of all internal devices HDD controllers PIT PIC etc When the BSD file is read in all buffers are filled with past data and all states are restored to
215. nts of the RAX register Exchange the contents of an 8 bit register with the contents of an 8 bit register or memory operand Exchange the contents of an 8 bit register or memory operand with the contents of an 8 bit register Exchange the contents of a 16 bit register with the contents of a 16 bit register or memory operand Exchange the contents of a 16 bit register or memory operand with the contents of a 16 bit register Exchange the contents of a 32 bit register with the contents of a 32 bit register or memory operand Exchange the contents of a 32 bit register or memory operand with the contents of a 32 bit register Exchange the contents of a 64 bit register with the contents of a 64 bit register or memory operand Exchange the contents of a 64 bit register or memory operand with the contents of a 64 bit register Supported EN Set AL to the contents of DS rBX v LEE E AL Appendix A AMD Confidential User Manual August 22 2006 Instruction See Set AL to the contents of DS rBX XOR the contents of AL with an XOR AL imm8 34 ib immediate 8 bit operand and store the v result in AL XOR AX immi6 35 iw immediate 16 bit operand and store the result in AX XOR the contents of EAX with XOR EAX imm32 35 id immediate 32 bit operand and store y the result in EAX XOR the contents of RAX with a sign XOR RAX imm32 35 id extended immediate 32 bit operand and store the result in AX
216. o a 64 bit register with sign extension Move the contents of a 32 bit MOVSXD reg 4 reg mem32 register or memory operand to a 64 bit register with sign extension Appendix A 179 AMD Confidential User Manual August 22 2006 Instruction S ted pup MOVZX regl16 reg mem8 OF B6 r MOVZX reg32 reg mem8 OF B6 r MOVZX reg64 reg mem8 OF B6 r MOVZX reg32 reg meml6 OF B7 r NEG reg mem64 F7 3 180 Move the contents of an 8 bit register or memory operand to a 16 bit register with zero extension Move the contents of an 8 bit register or memory operand to a 32 bit register with zero extension Move the contents of an 8 bit register or memory operand to a 64 bit register with zero extension Move the contents of a 16 bit register or memory operand to a 32 bit register with zero extension Move the contents of a 16 bit register or memory operand to a 64 bit register with zero extension Multiplies an 8 bit register or memory operand by the contents of the AL register and stores the result in the AX register Multiplies a 16 bit register or memory operand by the contents of the AX register and stores the result in the DX AX register Multiplies a 32 bit register or memory operand by the contents of the EAX register and stores the result in the EDX EAX register Multiplies a 64 bit register or memory operand by the contents of the RAX register and stores the result in the RDX RAX
217. ode limit check bit 1s added bit 13 in the EFER register When this bit 1s 1 1t enables a specialized segment limit check in 64 bit mode on the CS DS ES FS and SS segments in non zero CPL The new 64bit mode limit check is similar to the limit check done in legacy and compatibility modes except that the upper 32 bits 63 32 of the segment limit are assumed to be all 1 s This allows us to use the existing 32 bit segment limits and limit checking logic This gives the ability to cordon off a range in the upper 4GB of the 64 bit virtual address space Any fault 1s reported using the existing segment limit and canonical check mechanism and cause a ZGPO or SS The 64 bit mode limit check 1s only performed on data access not on code fetching However the simulator does not support the Long Mode Limit Check feature If software turns on this feature you will receive an error message in the error log window and the simulation will continue to run without performing any long mode limit checks Appendix A 161 AMD Confidential User Manual August 22 2006 A 5 11 Trap and Resume Flag The simulator does not simulate the behavior of the Trap and Resume Flag If Software sets the Resume Flag The simulator clears the Resume Flag before updating the flags register If software sets the TF bit to 1 to enable single step mode the simulator will not generate debug exceptions DB A 5 12 Instruction Coherency Instruction coherency does n
218. ompare the contents of a 32 bit bit register or memory operand Compare the contents of a 64 bit CMP reg64 reg mem64 3B r register with the contents of a 64 bit register or memory operand Compare the byte at DS rSI with the CMPS mem8 mem8 A6 byte at ES rDI and then increment or y decrement rSI and rDI ess Appendix 171 AMD Confidential User Manual August 22 2006 Instruction ian Compare the word at DS rSI with the word at ES rDI and then increment or decrement rSI and rDI CMPXCHG reg mem8 reg8 OF BO r CMPXCHG reg mem16 reg16 OF B1 r CMPXCHG reg mem32 reg32 OF B1 r CMPXCHG reg mem64 reg64 OF B1 CMPXCHG8B OF C7 1 m64 CPUID OF A2 S DIV reg mem8 F6 6 DIV reg mem16 F7 6 172 Ens H NIN mj N the doubleword at ES rDI VK Compare the doubleword at DS rSI with and then increment or decrement rSI and rDI the quadword at ES rDI and amp Compare the quadword at DS rSI with then d increment or decrement rSI and rDI Compare the byte at DS rSI with the byte at ES rDI and then increment or decrement rSI and rDI Compare the word at DS rSI with the word at ES rDI and then increment or decrement rSI and rDI the doubleword at ES rDI LILIS Compare the doubleword at DS rSI with and then increment or decrement rSI and rDI the quadword at ES rDI and amp Compare the quadword at DS rSI with then increment or decrement
219. on DIMMI If physical bank on each DIMM is 32MB in size then the array allocated for virtual bankO is sized at 64MB Each virtual bank 1s handled like it 1s one large bank rather than two combined smaller banks The model does not distinguish between addresses that hit in the upper physical bank and addresses that hit in the lower physical bank Memory read and write messages sent to the DIMM Device use the same structure for both 128 bit and 64 bit interfaces Each message includes a bank select field an address field and a data size field The bank select field implements the CS7 0 lines while the address field specifies the beginning offset within the bank virtual bank and the data size field specifies the size of the datum Interfaces The DIMM device is implemented as a single interface device However the device accepts two distinct classes of messages RAM read write messages and SMBUS reads of SPD data In most system configurations the DIMM device is connected to a Northbridge device s DIMM interface as well as a Southbridge devices SMBUS interface Initialization Reset State On creation of the DIMM device all RAM arrays are set to all ones and SPD ROM arrays are cleared Reset initializes the RAM arrays to all ones but does not alter the SPD ROM arrays Configuration options are not affected by reset Contents of a BSD The RAM arrays SPD ROM arrays and all configuration option settings are saved in the BSD Configura
220. on Description CD INT imm8 Interrupt to Vector CC INT 3 Interrupt to Debug Vector e Interrupt to task gate is not implemented An attempt to execute an interrupt to task gate results in a FeatureNotlmplemented exception and the simulation will be stopped e When delivering an exception in an attempt to deliver a hardware interrupt the simulation will not push the resume flag RE onto the stack e Always clears VM NT TF and RF bits in rFLAGS A 6 3 2 IRET Return from Interrupt Opcode Instruction Description IRET IRETD CF IRETO Return from interrupt The simulator does not support nested task switching using the rFLAGS nested task bit 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 196 Appendix A AMD Confidential User Manual August 22 2006 A 6 4 Virtualization Instruction Reference For more information on Virtualization Technology see AMD Publication 33047 AMD64 Virtualization Technology Instruction SE Mnemonic ES CLGI OF 01 DD Clear Global Interrupt Flag Invalidates the TLB mapping for the INVLPGA OF 01 DF virtual page specified in rAX and the ASID specified in ECX MOV reg32 CR8 FO 20 r Alternate notation for move from CR8 to register MOV reg64 CR8 FO 20 r Ge notation for move register to MOV CR8 reg32 FO 22 r Alternate notation for move from C
221. on 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 This computer also comes with a USB JumpDrive and NIC device Right clicking on any icon brings up a Workspace Popup menu Figure 3 3 that allows access to the Device Property window which includes a list of all components that the selected component is connected to An example Device Property window is shown in Figure 3 4 The right click Workspace Popup menu also allows you to delete or disconnect the selected device from all its connections Please note that this feature is not supported by the public release version of the simulator Table 3 1 lists each component in the cheetah Ip bsd computer For more information about devices and possible device configuration please refer to Section 7 Device Configuration on page 39 Short Description AMD Debugger Standard debugging support Chapter 3 Graphical User Interface 13 AMD Confidential User Manual August 22 2006 Short Description AweSim Processor Simulated Processor RS ee ie separate device in simulation Southbridge supporting Hard drives AMD 8111 Southbridge DVD CD ROM drives Floppy drives USB ports CMOS and POST ports The AMD 8132 PCI X Controller is a HyperTransport tunnel that provides AMD 8132 PCI X
222. on the fourth write to I O address 0x80 BX 1234ABCD 2 BM abcd1234 r 3 BM abcd1234 3 Table 10 1 Debugger Breakpoint Command Examples 10 1 2 Single Stepping the Simulation l Ze 3 Stop the simulation as described in Section 3 1 Tool Bar Buttons on page 7 Open the Debugger Window View Show Debugger or click on gt The simulation will pause and the Debugger Window will appear The bottom pane in the Debugger Window 1s the debugger command line When the Debugger Window has attention enter T on the debugger command line The debugger Trace command will execute causing the CPU device to execute one instruction and then return attention to the debugger The debugger will repeat the last entered command 1f you just type Enter on the command line So you can repeatedly step instructions by entering T once then repeatedly hitting the Enter key The simulation can be returned to continuous execution by entering G This executes the debugger s Go command 10 1 3 Stepping Over an Instruction 124 l 7 2 Open the Debugger Window View Show Debugger or click on gt The 3 Stop the simulation as described in Section 3 1 Tool Bar Buttons on page simulation will pause and the Debugger Window will appear When the Debugger Window has attention enter P on the debugger command line The debugger Pretty Trace command will execute causing the CPU device to execute up to the next instruc
223. onds 8704 masterread 2 533 728 masterread 14 read 100 02 03 FF 83 80 453 Sim Seconds 512 master witten O master written 501 written 00 00 00 00 87 84 185 Avg MIPS Reset Avg D slave read DB slave read 00 100 00 00 e3 e0 042 MIPS E Bslawewriten slave written PIOPIO mode PIOZPIO mode Figure 5 4 Installing WindowsXP 30 Chapter 5 Running the Simulator AMD Confidential User Manual August 22 2006 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 1s 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 When moving the mouse cursor outside of the Simulation Display area the Main Window returns the mouse cursor and keyboard control to the host machine Some keystrokes such as ALT combinations must be entered using the Special Keyboard Menu The simulator superimposes a small square over the screen at the position of the host mouse You can also allow the simulator to take complete control of the mouse and keyboard by selecting Special Keyboard Grab Mouse and Keyboard To return from this mode press and hold Ctrl then Alt and then release them in reverse order 5 2 4 Simulation Reset To reset the entire simulator stop the simulation with the Stop button l then pr
224. onrad 71 A m 73 D Link capable devices usssse 71 Debug ee 72 AMD Confidential User Manual August 22 2006 NonesCohetrent 2 rer beate ias 71 Pa EE 139 Tonne ee 14 84 O A er ew e me erer TE ee 83 Upstream Link acres 85 PCI X Configuration Cycle 86 Eeer 45 T Enable Error Simulation 48 Insert CD ROM oiee 29 Error Simulation Control 48 A E E A E AA A ATN 160 ERC Sel ae E A 50 INT L ELE 75 Performance Monitoring Counter 196 IR 64 Physical DIES aaa 138 DEE Po ada 81 A L EEE A EE E E ET 7 POST EM C Em 16 J Prescott New Instruction ooocccccccnnncccnnnnnnnns 198 INP RON 160 PS2 IMOU Sra 64 A ees 77 78 R ere EE 89 VOW SUC EE 64 A EE 89 RAM e Memory Device 67 Kernel Debugger oococnnocccnnonncconnnnccnnnnnnoons 93 131 vip XR RI 144 ER TA 161 L POS E DS E e MeL Me 4 Linux A rd b bre ES 162 Loopback IBI IS QR 30 ROM TETUER 67 Log S EE 146 Dissassembly IAS LAR AA A AA 42 Scripting EE 201 Exceptions E ALI fe OE AA E 42 O t dust ala eos 4 18 VO Logging FOAL ELA END ARTO LIT AAA 120 e E EE 159 DO Read Wrirites sssssssssssssnn 42 Shel RE RR TRE 201 Linear Memory ACCESSES coooocccoocnccnonncnonnnos 42 SINSA diii 16 Register State Changes 42 Sole SLE E See Debug Long Mode Limit Check See 64 Bit Mode Limit SOW OO Wil ica l Check Mechani
225. onsisting of the carry flag and a 16 bit register or memory location right 1 bit Rotate the 17 bits consisting of the carry flag and a 16 bit register or memory location right the number of bits specified in the CL register Rotate the 17 bits consisting of the carry flag and a 16 bit register or memory location right the number of bits specified by an 8 bit immediate value Rotate the 33 bits consisting of the carry flag and a 32 bit register or memory location right 1 bit Rotate the 33 bits consisting of the carry flag and a 32 bit register or memory location right the number of bits specified in the CL register Rotate the 33 bits consisting of the carry flag and a 32 bit register or memory location right the number of bits specified by an 8 bit immediate value Supported 183 User Manual AMD Confidential August 22 2006 Mnemonic RCL reg mem64 1 DL 72 RCR RCR reg mem64 CL D3 3 RCR reg mem64 imm8 W RET RET imm16 C2 iw Opcode CL iS ib Instruction RETF CB RETF imm16 CA iw ROL reg imm8 1 DO 0 ROL reg mem8 CL ROL reg mem8 imm8 D2 70 ROL reg imm16 1 ROL reg meml6 CL ROL reg meml6 imm8 D1 0 Ds 8 ROL reg imm32 1 ROL reg mem32 CL ROL reg mem32 imm8 D1 0 D3 0 ROL reg imm64 1 ROL reg mem64 CL ROL reg mem64 imm8 D1 0 D3 0 ROR reg imm8 1 DO 0 ROR reg mem8 CL ROR reg mem8 imm8
226. operand in the instruction syntax moffset Memory offset of unspecified size moffset Operand in memory located at the specified byte 8 bit offset from the instruction pointer moffset16 Operand in memory located at the specified word 16 bit offset from the instruction pointer moffset32 Operand in memory located at the specified doubleword 32 bit offset from the instruction pointer pntr16 16 Far pointer with 16 bit selector and 16 bit offset pntr16 32 Far pointer with 16 bit selector and 32 bit offset reg Operand of unspecified size in a GPR register reg Byte 8 bit operand in a GPR register reg16 Word 16 bit operand in a GPR register reg16 32 Word 16 bit or doubleword 32 bit operand in a GPR register reg32 Doubleword 32 bit operand in a GPR register reg64 Quadword 64 bit operand in a GPR register reg mem 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 User Manual August 22 2006 reg mem64 Quadword 64 bit operand in a GPR register or memory relSoff Relative address in the current code segment in 8 bit offset range rell6off Relative address in the current code segment in 16 bit offset range rel32off Relative address in the current code segment in 32 bit offset range segRe
227. opy a physical device to the given image file Syntax G G lt DeviceName gt lt ImageName gt ImageSize ImageSize of sectors of data to copy from the device to the image file 0 All sectors this 1s the default value 1 All data to the end of physical partition 1 2 All data to the end of physical partition 2 3 All data to the end of physical partition 3 4 All data to the end of physical partition 4 Any Other Valid Number The number of sectors specified Example disktool g dev hd0 image hdd 102400 This command reads the first 102400 sectors from device dev hd0 and places them in the image file image hdd Option P Put the image file lt ImageName gt to physical device lt DeviceName gt Syntax P P lt DeviceName gt lt ImageName gt 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 137 AMD Confidential User Manual August 22 2006 Option E Erase Write zeros to all blocks physical device Syntax E E lt DeviceName gt Example disktool e dev hdO This command writes zeros to all sectors on device dev Aqd0 Option N Create a new blank image file that represents a freshly formatted device Syntax N N lt ImageName gt lt ImageSize gt Example disktool n image hdd 102400 This command creates an image file named image hdd that represents a p
228. or of the first cylinder on the first head Unlike floppies however the image file may end before the last sector of the last cylinder on the last head If an attempt 1s made by the simulator to access data on the drive 1mage that 1s beyond the end of the available data but still within the bounds defined by the geometry of the device the simulator will extend the image file dynamically The BSD file contains the contents of all Viper Plus registers It also saves the contents of any buffers and the states of all internal devices HDD controllers PIT PIC etc When the BSD file 1s read 1n all buffers are filled with past data and all states are restored to their saved states The symbol files that the debugger uses are in a simple text format Each line contains an address length and symbol name Any line that starts with a semicolon 1s considered a comment Following is a sample file SimNow Debugger Symbol File Format Address Length Symbolic Name 004011f0 cue main 00401a3c 0 GetModuleHandleAQe4 00401a42 0 _GetCommandLineAQ0 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 127 Appendix 153 AMD Confidential User Manual August 22 2006 A 2 Bill of Material A 2 1 Computer Platform Files BSD
229. or supports and simulates 3DNow Technology is a group of new instructions that opens the traditional processing bottlenecks for floating point intensive and multimedia applications Instruction t dioe OF OE Fast Enter Exit of the MMX or floating point state Appendix A 197 AMD Confidential User Manual August 22 2006 Instruction mE Mnemonic t PAVGUSB mmregi mmreg2 m64 OF OF BF O Os MSIE packed ZC Converts packed floating point E EE HE iin Operand or packed 32 bit integer PFACC mmregi mmreg2 m64 OF OF AE Floating point accumulate PFADD mmregil mmreg2 m64 OF OF 9E Packed floating point addition PFCMPEQ mmregi mmreg2 m64 OF OF BO doni am di ood UIDES Packed floating point comparison PFCMPPGE mmregi mmreg2 m 64 OF OF 90 greater than or conus t PFCMPGT mmregi mmreg2 m64 OF OF AO PACHAN EE KEEN greater than PFMAX mmreg1 mmreg2 m64 OF OF A4 Packed floating point maximum PFMIN mmregi mmreg2 m64 OF OF 94 Packed floating point minimum Packed floating point PFMUL mmregi mmreg2 m64 OF OF B4 multiplication i PFRCP mmregil mmreg2 m64 OF OF 96 Packed floating point approximation Packed floating point reciprocal PFRCPIT1 mmregi mmreg2 m64 OF OF A6 first iteration step PFRCPIT2 mmregi mmreg2 m64 OF OF B6 Packed floating point reciprocal second iteration step Packed floating point reciprocal PFRSOIT1 mmreg1 mmreg2 m 4 OF OF A7 Square root first iteration step v Pac
230. orthbridge DDR2 Training Properties Dialog When the DDR2 DRAM Controller 1s selected and DDR2 DRAM is being used you can manually modify these values to verify the correctness of the DDR2 training algorithmn ra ae WriteDataTiminq WriteDataTiming a e a a a a E E E e a e a a a ES ES n b m m ES ES ES ES ES n b m m IK IK ra ra ra IK ra ra ra IK r2 ra ra ra ra Fh Fh Fr rh rh Fh Fh Fh Fh Fh Fh Fh rh Fh Fh WriteDataTiming The DDR2 Training Properties Dialog contains the lowest and highest values that the BIOS can program into these registers While these registers are programmed out of bounds DRAM access will be corrupted Note the DDR2 Training Properties Dialog 1s only useful for BIOS developer and the values should only be modified and used by BIOS developers Log Messages If Log PCI Configuration Cycles 1s selected the device produces log messages whenever the PCI configuration data register OxCFC is accessed Log files can get very large Reads from this I O mapped register produce PCI CONFIG READ messages and writes to the register produce PCI CONFIG WRITE messages The formats of the PCI CONFIG READ and PCI CONFIG WRITE messages are as follows PCI CONFIG READ Bus a Device b Function c Register d Data e PCI CONFIG WRITE Bus a Device b Function c Register d Data e where a b c d and e are all hexadecimal numbers Chapter 7 Device Configuration 73 AMD Confidential User Manual August 22 2006 The
231. ory location specified in ES rDI and then increment or decrement rDI Input a byte from the port specified by DX put it into the memory location specified in ES rDI and then increment or decrement rDI Input a word from the port specified by DX put it into the memory location specified in ES rDI and then increment or decrement rDI Input a doubleword from the port Specified by DX put it into the memory location specified in ES rDI and then increment or decrement rDI Calls interrupt Service routine Specified by interrupt vector imms Supported e Appendix AMD Confidential User Manual August 22 2006 Instruction SEN Mnemonic ES m DURER aas JO rel8off Jump if overflow OF 1 JO rell6off Jump if overflow OF 1 JO rel320ff Jump if overflow OF 1 JNO rel8off Jump if not overflow OF 0 JNO rell6off Jump if not overflow OF 0 JNO rel32off Jump if not overflow OF 0 JB rel8off Jump if below CF 1 JB rell6off Jump if below JB rel320ff Jump if below JC rel8off Jump if carry CF 21 JC rell6off Jump if carry OF el JC rel320ff Jump if carry CF 1 JNAE rel8off Jump if not above or equal CF 1 JNAE rell6off Jump if not above or equal CF 1 JNAE rel32off Jump if not above or CF 1 JNB rel8off Jump if not below C 0 JNB rell6off Jump if not below C 0 Bt E CH II F 1 F 1 II xor C C C Te JNC rel32off Jump if not carry C 0 JAE re
232. ot work when code pages have multiple virtual mappings Here 1s an example that would not work right There is an x86 physical page that has code on it This page 1s mapped by two different virtual addresses A and B There 1s a store to virtual page A We execute code from page B We store again to A modifying some of the x86 code that we executed in step 4 We execute the code from step 4 again md Mec 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 162 Appendix A AMD Confidential User Manual August 22 2006 A 6 Instruction Reference This section specifies the hexadecimal and or binary encodings for the opcodes that SimNow does w does not 3 or does partially 44 simulate when simulating an AMD 8 Generation CPU Rev F A 6 1 Notation A 6 1 1 Mnemonic Syntax Each instruction has a syntax that includes the mnemonic and any operands that the instruction can take Figure A 1 shows an example of a syntax in which the instruction takes two operands In most instruction that take two operands the first left most operand is both a source operand the first source operand and the
233. p Enter G on the debugger command line This will execute the debugger s Go command CPU execution will resume 10 1 5 Viewing a Memory Region l Ze 3 Stop the simulation as described in Section 3 1 Tool Bar Buttons on page 7 Open the Debugger Window View Show Debugger or click on gt The simulation will pause and the Debugger Window will appear When the Debugger Window has attention use the debugger s DB DW DD or DO command to display the contents of a memory region in the debugger The second letter of the command specifies the display format for the dump The DB command displays byte format DW displays word format DD displays dword format and DO displays qword format Each of these commands requires a second parameter that specifies the beginning address in hex of the memory dump A linear address can be specified by adding a LI suffix to the address similarly a physical address can be specified by adding a P suffix to the address Examples of the memory dump commands are shown in Table 10 2 After the first memory range is displayed you can repeatedly hit Enter to advance the display to the next sequential memory block Command Description Dump memory in byte format starting at physical address 0x00000010 Dump memory in word format starting at linear address Ox ABCD1234 Dump memory in quad word format starting at linear address OxC001CODE DB ULO p DW abcd1234 L DO c 01c
234. pare a 16 bit immediate Value with om ax imme CET ipe contents of the ax register WO Compare a 32 bit immediate value with OEE EE ae Compare a 32 bit immediate value with Compare x value SEN CMP reg mem8 imm8 80 77 ib contents EES 8 bit oo memory ea Compare a 16 bit value with memory operand Compare a 32 bit value with the memory operand Compare a 32 bit signed immediate register or memory operand Compare an 8 bit signed immediate CMP reg mem16 imm8 83 7 ib value with the contents of a 16 bit register or memory operand Compare an 8 bit signed immediate CMP reg mem32 imm8 83 7 id value with the contents of a 32 bit register or memory operand Compare an 8 bit signed immediate CMP reg mem64 imm8 83 7 id value with the contents of a 64 bit register or memory operand Compare the contents of an 8 bit CMP reg mem8 reg8 38 r register or memory operand with the contents of an 8 bit register Compare the contents of a 16 bit CMP reg meml6 regl6 39 r register or memory operand with the contents of a 16 bit register Compare the contents of a 32 bit CMP reg mem32 reg32 39 FL register or memory operand with the contents of a 32 bit register Compare the contents of a 64 bit contents of a 64 bit register CMP reg8 reg mem8 3A r register with the contents of an 8 bit register or memory operand Compare the contents of a 16 bit CMP reg16 reg meml6 3B r register with the contents of a 16 bit register or memory operand C
235. path I O mechanism when I O Space Accesses logging is enabled If this is unchecked accesses may not appear in the log Log Memory Space Accesses 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 120 Chapter 9 Logging AMD Confidential User Manual August 22 2006 This item checked by default disables the Fastpath Memory mechanism when Memory Space Accesses logging 1s enabled If this 1s 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 For example logging all accesses to the DIMM device would make SimNow extremely slow Log Fastpath Memory Requests when Logging This item when combined with un checking Disable Fastpath Memory when Logging will log both memory space accesses and Fastpath Memory requests themselves What 1s then logged are slow path Memory Space Accesses and Fastpath Memory handle requests Actual calls to Fastpath Memory 1 e usage of Fastpath Memory handles are not logged Chapter 9 Logging 121 AMD Confidential User Manual August 22 2006 This page 1s intentionally blank 122 Chapter 9 Logging AMD Confidential User Manual August 22 2006 10 CPU Debugger 10 1 Using the CPU Debugger The
236. path gt Mediator connection string for network pee adapters to use path Directory to load devices from If used it must be first Table 5 2 Newmachine Command Arguments Usage jewmachinel T nogu Il e gua Rova en dal AAA e a paea 4 The following command creates a new simulation machine 1 simnow gt newmachine 2 simnow gt The switchmachine n command switches the console window to the machine identified by n All subsequent automation commands typed into the console window are directed to the given machine n abge eam S sedg rl 1 simnow gt The listmachines command lists all machines that currently exist Specifies current Machine ID d Mouse and Keyboard 2 4imnow gt listmachines inputs are enabled ur ense docu del d Mouse and keyboard EE inputs are disabled 2 simnow gt VGA Window 1s enabled GUI is enabled console mode See also Section 5 1 Command Line Arguments on page 25 for further information regarding available command line arguments To exit a created simulated machine enter exit as shown in the following example Ec mr oW mea 32 Chapter 5 Running the Simulator AMD Confidential User Manual August 22 2006 2 simnow gt This example exits the simulated machine Chapter 5 Running the Simulator 33 AMD Confidential User Manual August 22 2006 This page 1s intentionally blank 34 Chapter 5 Running the Simula
237. qual ZF 0 or JNLE reli6off OF 8F cw dp vw icio A v E 7E Radium y ere ca SN cds e tz d 176 Appendix A AMD Confidential User Manual August 22 2006 Instruction SEN Mnemonic Description PP Short jump with the target specified OME eee by a 16 bit signed displacement Short jump with the target specified UMP EE by a 32 bit signed displacement JMP reg mem16 FF 4 Near jump with the target specified reg mem16 JMP reg mem32 FF 4 Near jump with the target specified reg mem32 JMP reg mem64 FF 4 Near jump with the target specified reg mem 4 Far jump direct with the target JMP FAR pntrl6 16 EA cd Specified by a far pointer contained in the instruction Far jump direct with the target JMP FAR pntril6 32 EA cp Specified by a far pointer contained in the instruction JMP FAR mem16 16 FF 5 Far jump indirect with the target Specified by a far pointer in memory JMP FAR mem16 32 FF 5 Far jump indirect with the target Specified by a far pointer in memory Load the SF ZF AF PF and CF flags LDS regl6 meml6 16 Load DS regi6 with a far pointer from memory LDS reg32 mem16 32 Load DS reg32 with a far pointer from memory LES regl6 meml6 16 Load ES regl16 with a far pointer from memory LES reg32 mem16 32 Load ES reg32 with a far pointer from memory LFS regl16 meml6 16 OF B4 r Load FS regl6 with a far pointer from memory LFS reg32 mem16 32 OF B4 r Load FS reg32 with a far pointer f
238. r 7 Device Configuration 91 AMD Confidential User Manual August 22 2006 7 19AT24C 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 It is typically used to store platform specific configuration data Interface The AT24C device has a SMB interface For example this device can be connected to a PCA9548 or PCA9556 device see Section 7 8 PCA9548 SMB Device on page 69 or Section 7 9 PCA9556 SMB Device on page 70 Contents of a BSD The current state of all internal registers and any internal state variables are saved in the BSD Configuration Options The AT24C device can be configure to store an AT24C16A 16Kb AT24C32A 32Kb or AT24C64A 64Kb 2 Wire Bus serial EEPROM AT24C Device 10 Properties Connections 1 0 Logging SMB Config SME Base Address Type AT240164 AT24C324 AT24C545 Figure 7 31 AT24C Device Configuration 92 Chapter 7 Device Configuration AMD Confidential User Manual August 22 2006 7 20 EXDI Server Device This interface and the instructions contained herein applies only to the Windows operating system hosted version of the simulator The simulator provides a special device known as the EXDI Server Device This device can be added to any BSD When a BSD containing the EXDI Server Device 1s loaded the EXtended Debugging Interface becomes av
239. r UP XTR Playback only AweSim and XTRNB are required Please refer to Section 7 22 1 3 XTR Playback on page 96 on how to connect AweSim and the XTRNB device It is recommended to also include the Debugger device for debugging or logging needs To playback XTR please enter the following commands in the simulator s console window new adddevice Debugger adddevice Awesim Processor cpu type K8 cpu setname Athlono4 cpu setnumcores 1 cpu forcefinegrainedevents 1 COU slo tam UHM le adddevice xtrnb COnmecis VAwesim Processors Ee O PES CONNEC CAWS simi Pro Se Soom TOn eo MONE TC mcos ET Eo ren pie PU ES cpu type K8 modifyregistry System Bus Frequency 100 O E aban S TESTIS PES STO XCEND dental EE EE Ee ile lt tllename plLeybacko NOg SetLogFile lt filename log gt SetLogFileEnabled 1 96 Chapter 7 Device Configuration AMD Confidential User Manual August 22 2006 SetErrorLogFile lt filename errlog gt SetErrorLogFileEnabled 1 SLEG e EE 7 22 1 4 Stop XTR Playback XTR Playback will stop automatically when End Of Trace EOT event 1s reached It could also be stopped prematurely by clicking on the stop button or by executing the stop automation command Initialization and Reset State XTR Record does not have any special Initialization or Reset state Init from BSD The BSD contents of XTRNB are loaded The XTR XML file is skipped the number of lines to the last event read and the system prepares 1tse
240. r system Chapter 6 Create A Simulated Computer 35 AMD Confidential User Manual August 22 2006 36 l Open a new simulator instance by launching SimNow exe in your install directory Select File New BSD or click on the button to create a new BSD file Select View Show Devices or click on the Y button to show the blank Device Window For each item added click and drag the icon from the device list on the left side into the workspace area on the right side of the window Add the Debugger device This device needs no connections drawn Add the AweSim Processor and the AMD 8th Generation Integrated Northbridge When you add the AweSim Processor CPU Simulation Stats are added to the Main Window Connect the AweSim Processor and the AMD 8th Generation Integrated Northbridge by shift click dragging from one to the other When the Connections tab of Device Properties Window appears shown in Figure 6 2 choose the CPU Bus 0 for both devices and click on Ok The connection appears as a line between the two devices on the Device Window Then create an additional connection between the two devices using the Interrupt IOAPIC Bus on each device The Device Window shows only one line for the two connections between these devices You can view the connections for each device by right clicking on the device and looking at the Connections tab in the Device Properties Window AMD amp th Generation Integrated Northbri
241. r the indicated CPU exception Sets the pass count to count or 0 if not specified bh vector Pass count Creates and enables a breakpoint for the indicated hardware interrupt Sets the pass count to count or 0 if not specified bi address r w Pass Creates and enables a breakpoint for the ics indicated I O address Sets the pass count to count or O if not specified Defaults to read write but can be set to read only or write only using the r or w options bi Arst Display the settings of one or all breakpoints dur ELS r w Pass Creates and enables a breakpoint for the indicated memory address Sets the pass count to count or 0 1f not specified Defaults to read or write but can be set to read only or write only using the r or w options 128 Chapter 10 CPU Debugger AMD Confidential User Manual August 22 2006 Debugger Command Definition bs lt Vector gt lt Pass count gt Creates and enables a breakpoint for the indicated software interrupt vector Sets the pass count to count or 0 if not specified bx address Pass count Creates and enables a breakpoint for the indicated code fetch address Sets the pass count to count or O if not specified Sets the pass count to count or 0 if not specified c r w Bus Dev Func Performs a PCI configuration r ead or w rite _ lt Off gt data A O d b w d q address Displays the contents of p hysical de
242. r to input different domains in the mediator connection string see also Section 5 1 Command Line Arguments on page 25 m option 7 24 4 3 Isolated Client Server simulated network Same process This type of setup isolates the simulator sessions from the real network only allowing visibility to other simulator sessions in the same process A mediator is not required for this type of setup Example MAC 02 00 00 00 00 01 IP Address Static IP address 192 168 0 1 Visibility Can only communicate with BSD s in the same simulator process 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 Visibility Can only communicate with BSD s in the same simulator process Chapter 7 Device Configuration 113 AMD Confidential User Manual August 22 2006 using multiple machines Mediator String Table 7 14 Isolated Client Server Simulator Client 1 7 24 5 Visibility Diagram Figure 7 34 depicts the mediator routing packets to and from several simulator sessions in different domains The session running BSD 3 is using an absolute MAC address and therefore is globally visible This session is no different than any other machine running on the external network All simulator sessions connected to any mediator will be able to see this machine Notice also that domains one and two are using identical BSDs t
243. rd debugging features such as break pointing memory viewing and single stepping The simulator allows such work as BIOS and OS development memory parameter tuning and multi processor system simulation section 2 1 System Requirements on page 3 describes supported host Operating Systems Section A 3 Supported Guest Operating Systems on page 156 describes supported guest Operating Systems The simulator has between a 10 1 and 100 1 slowdown rate from the host CPU depending on whether the workload 1s in the CPU core or accessing simulated devices intensively The simulator is designed to create an accurate model of a system from the program s view Device models contain all the program visible state but the actual functionality 1s abstracted In many cases only the functionality needed to satisfy the software is implemented Software may be run on the simulator in an unmodified form This includes BIOS drivers O S and applications The simulator has a concept of time but it 1s not a cycle accurate simulator The basic timing mechanism is an instruction all instructions execute in the same amount of time and are one tick in length This tick time 1s scaled and used by the rest of the system Long latency events like disk or floppy access have some minimum latency built in because we found legacy software that relied on the physical latency of these peripherals The simulator contains all the classic pieces of a PC system
244. re stored 1n the BSD Configuration Options The first field of the Memory Configuration tab shown in Figure 7 14 is the base address of the device in a hexadecimal value The second field is the total size of the memory device given in decimal value for the number of 32 Kbyte blocks you would like created 32 Kbyte blocks are used because non initialized memory is dynamically allocated when addressed in 32 Kbyte chunks The third field 1s the name of the binary file you use to initialize the memory contents The device initializes memory for the content length of the file If you specify a 512 Kbyte ROM and use a 256 Kbyte image file the first 256 Kbytes are initialized The Init File selection comes with a browse button for easier selection selecting the Read Only option turns the memory device into a ROM Writes to the device are ignored when the Read Only option 1s selected selecting the System BIOS ROM option tells the memory device it 1s the system BIOS The memory device only responds to memory address ranges accompanied by a chip select that is generated by the Southbridge device Selecting the Memory Address Masking option indicates that the address received by the memory device is masked by a bit mask with the same number of bits as the size of the memory device e g a 256 Kbyte ROM uses an 18 bit mask or it 1s masked by Chapter 7 Device Configuration 67 AMD Confidential User Manual August 22 2006 0x003FFFF Th
245. red at address addr Sets byte in CMOS at address addr to value stored in data Dumps complete CMOS Returns the CMOS RAM size in bytes Sets entire CMOS to specified value value Description Triggers PowerButton ACPI message Triggers SleepButton ACPI message Automation Command Description setFloppy lt A B 0 1 gt lt filename gt GetFloppy lt A B 0 1 gt EjectFloppy lt A B 0 1 gt A 7 7 Debug 1 simnow debug usage Automation Command Enable is enabled Disable is enabled 208 Assigns a floppy image file filename to drive A or B Returns the assigned floppy image file of drive A or 5 The command will set the Media Ejected flag of drive A or B Description Enables the Debugger and opens a debug dialog window 1f GUI Disables the Debugger and closes debug dialog window if GUI Appendix A AMD Confidential User Manual August 22 2006 Attach Processor Num gt Attaches debugger to specified processor Executes the debug command specified in command see ExecCmd Command section 10 2 Debugger Command Reference on page 127 MemDump Dumps 128 bytes of memory DisDump Dumps disassembly RegDump Dumps all CPU registers MsgDump Dumps debug messages WhichProc Returns the processor number which the debugger is currently attached to EnableStatus Returns enabled if debugger is enabled disabled if debugger is
246. register Performs a tow s complement negation on an 8 bit register or memory operand Performs a tow s complement negation on a 16 bit register or memory operand Performs a tow s complement negation on a 32 bit register or memory operand Performs a tow s complement negation on a 64 bit register or memory operand Performs no operation Complements the bits in an 68 bit register or memory operand Complements the bits in a 16 bit register or memory operand Complements the bits in a 32 bit register or memory operand Complements the bits in a 64 bit register or memory operand OR the contents of AL with an immediate 8 bit value OR the contents of AX with an immediate 16 bit value OR the contents of EAX with an immediate 32 bit value OR the contents of RAX with an immediate 64 bit value OR the contents of an 8 bit register amp or memory operand and an immediate 8 bit value OR the contents of a 16 bit register or memory operand and an immediate v 16 bit value OR the contents of a 32 bit register or memory operand and an immediate v 32 bit value OR the contents of a 64 bit register or memory operand and a sign extended immediate 32 bit value OR the contents of a 16 bit register or memory operand and a sign extended vw immediate 8 bit value Appendix A AMD Confidential User Manual August 22 2006 Instruction Mnemonic EE OR the contents of a 32 bit register OR reg mem3
247. returns false Returns information regarding how the simulated serial port is configured The result will be either e NN NpipeNSimNow COMn This indicates that data is being transported through a named pipe with the given name The n will be either 1 GetCommPort for the first serial port or 2 for the second serial port e COMn 57600 This indicates that data is being transported through the given serial port on the host machine using a baud rate of 57600 o none This indicates that data written to the simulated serial port is discarded and no data 1s ever received 10 This only applies to the Windows version of the simulator and not to the Linux version 210 Appendix A AMD Confidential User Manual August 22 2006 Automation Command Description Sets the mode of communication you want to use with the simulated serial port e pipe Tells the simulator to use a named pipe as the method of transport for serial data to from the simulated machine The pipe name will be of the form pipe SimNow COMn where n will be 1 for serial port 1 and 2 for serial port 2 The name is not user configurable e COMn Tells the simulator to use one of the host serial ports SetCommPort lt none pipe identified by n as the transport for data to and from the COMn BAUD gt simulated machine n can be any value between 1 and 255 and must be an actual COM port that 1s present on the host system Regardless of the co
248. rom memory LGS reg16 mem16 16 OF B5 r Load GS reg16 with a far pointer from memory LGS reg32 memi6 32 OF B5 r Load GS reg32 with a far pointer from memory LSS reg16 mem16 16 OF B2 r Load SS reg16 with a far pointer from memory LSS reg32 mem16 32 OF B2 r Load SS reg32 with a far pointer from memory LEA regl6 mem Store effective address in a 16 bit register LEA reg32 mem Store effective address in a 32 bit register LEA reg64 mem Store effective address in a 64 bit register Set the stack pointer SP to the value CURVE in the BP register and pop BP Set the stack pointer ESP to the LEAVE C9 value in the EBP register and pop EBP Set the stack pointer RSP to the LEAVE C9 value in the RBP register and pop RBP LFENCE OF AE E8 Force strong ordering of serialize load operations LODS mem8 AC Load byte at DS rSI into AL and then increment or decrement ESL LODS mem16 AD Load word at DS rSI into AX and then increment or decrement rsSI Load doubleword at DS rSI into EAX ee and then increment or decrement rSI LODS mem64 AD Load quadword at DS rSI anto RAX and then increment or decrement ERT LODSB AC Load byte at DS rSI into AL and then increment or decrement rSI LODSW AD Load word at DS rSI into AX and then increment or decrement PSL Load doubleword at DS rSI into EAX TOLAR and then increment or decrement rSI Load quadword at DS rSI into RAX and ni adis then increment or decrement rSI LOOP rel8off E2 cb D
249. rrent instruction and starts simulation Chapter 10 CPU Debugger 129 AMD Confidential User Manual August 22 2006 Debugger Command Definition r regname lt value gt Displays and optionally alters the contents of various CPU registers For a list of register names that are supported type R Normally the display is in the current CPU mode To force 16 bit 32 bit or 64 bit register display type R16 R32 or R64 respectively R16 Display 16 bit registers until the next R32 Display 32 bit registers until the next R64 Display 64 bit registers until the next s lt Bus gt lt Device gt lt Function gt Displays the PCI configuration registers associated with the given Bus Device and Function number or feos list u address range Disassembles instructions starting at the given address and continuing for length instructions Instructions are disassembled using the current CPU execution mode i Displays the version number information for the attached processor device a lt a 1 gt noncase search physical default or linear Memory for lt StartAddress gt 1 p lt L Length EndAddress gt pattern and display all or only first Pattern occurrence s Table 10 7 Debugger Commands and Definitions In general address and count values can be specified as constants hex for addresses ports and values decimal for counts and lengths or as register names For addresses
250. ruction See Section A 6 3 1 INT Interrupt to Vector on page 196 See Section A 6 3 2 IRET Return from Interrupt on page 196 194 Appendix A AMD Confidential User Manual August 22 2006 Instruction A Description SS Reads the GDT LDT descriptor referenced by the 16 bit source operand masks the LAR eee COCHE DEP 02 ye attributes with OOFFFFOOh and saves the v result in the 64 bit destination register LGDT mem16 32 OF 01 2 Loads memi6 32 into the global descriptor table register LGDT mem16 64 OF 01 2 Loads memi6 64 into the global descriptor table register LIDT mem16 32 OF 01 3 Loads mem16 32 into the interrupt descriptor table register LIDT mem16 64 OF 01 3 Loads meml6 64 into the interrupt descriptor table register Load the 16 bit segment selector into the LLDT reg memi6 OF OO 2 local descriptor table register and load the v LDT descriptor from the GDT Loads the lower 4 bits of the source into EMEN EE DP OL fe the lower 4 bits of CRO Loads a 16 bit general purpose register with LSL reg16 reg mem16 OF 03 Je the segment limit or a selector specified in a 16 bit memory or register operand Loads a 32 bit general purpose register with LSL reg32 reg mem16 OF 03 r the segment limit or a selector specified in a 16 bit memory or register operand Loads a 64 bit general purpose register with LSL reg64 reg mem16 DE 03 r the segment limit or a selector specified in a 16 bit memory or regi
251. ry caching type Move 64 bits representing the lower double precision data element from MOVDDUP xmm1 xmm2 m64 F2 OF 12 r XMM2 Mem ES XMM1 EE Ed duplicate Move 128 bits representing packed Single precision data elements from MOVSHDUP xmm1 xmm2 m128 F3 OF 16 r XMM2 Mem ec XMM1 o ea piu duplicate high Move 128 bits representing packed Single precision data elements from MOVSLDUP xmm1 xmm2 m128 F3 OF 12 r XMM2 Mem EC XMM1 ster d duplicate low F 01 A hint that allows the processor to stop instruction execution and enter MWAIT EAX ECX 0 C9 an implementation dependent optimized state until occurrence of a class events Table 15 13 Prescott New Instruction Reference A 6 8 1 MONITOR Setup Monitor Address Opcode Instruction Description OF 01 C8 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 199 See Section A 6 8 2 MWAIT Monitor Wait on page 200 Appendix A 199 AMD Confidential User Manual August Pss 2006 A 6 8 2 MWAIT Monitor Wait Opcode Instruction Description OF 01 C9 MWAIT Monitor Wait The simulator does not recognize this instruction Therefore the simulator generates an invalid opcode exception 200 Appendix A AMD Confidential User Manual August 22 2006 A 7 Automation Commands The simulator can be contro
252. s Specified by an 8 bit immediate value Rotate a 64 bit register or memory operand left the number specified in the CL register Rotate a 64 bit register or memory left by of bits of bits immediate number 8 bit the an operand Specified value Rotate an 8 bit register or memory operand right 1 bit Rotate an 8 bit register or memory operand right the number Specified in the CL register Rotate an 8 bit register or memory of bits immediate of bits Rotate a 64 bit register or memory operand left 1 bit number 8 bit the an operand Specified value Rotate a 16 bit register or memory operand left 1 bit Rotate a 16 bit register or memory operand right the number of bits specified in the CL register Rotate a 16 bit register or memory operand right the number of bits by an 8 bit immediate right by Specified value Supported amp amp amp Near return to the calling procedure ow LS Rotate an 8 bit register or memory v Operand left 1 bit d Rotate a 16 bit register or memory v operand left 1 bit v Appendix A User Manual AMD Confidential August 22 2006 Mnemonic ROR reg imm32 1 ROR reg mem32 CL ROR reg mem32 imm8 ROR reg imm64 1 ROR reg mem 4 CL ROR reg mem64 imm8 SAHF SAL reg mem8 1 SAL reg mem8 CL SAL reg mem8 1mm8 SAL reg mem16 1 SAL reg mem16 CL SAL reg mem16 imm8 SAL reg m
253. s error file logging 1 enables error file logging 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 x and y are pixel coordinates inside the device window Lists all connections that a device has 203 AMD Confidential User Manual August 22 2006 Automation Command Connect Device Namel gt connect point Device Name2 connect point2 AvailablePorts Device Name gt Disconnect Device Name DeleteDevice Device Name KnownDevices MoveDevice lt Device Name gt lt x gt lt y gt New DumpRegistry GetCycleCount SetMP Quantum lt time nanoseconds gt GetMP Quantum Swap X86Sim Processor AweSim Processor HasModule lt module gt GetDisplayIndex SetDisplayIndex lt n gt Wait NGo GetScreenShotFormats 204 Description Connects Device Namel and Device Name2 using connect pointl and connect point2 Lists available ports of device Device Name Disconnects all connections of device Device Name Deletes device Device Name from simulated system and removes it from device window Lists all devices that are known by the simulator These devices are stored in devices Moves the specified device Device Name to x y coordinates in device window This command only
254. s block s execution was 1 968632 percent of the total since the last epoch Executed 178599 times Caso Monge Une ci credere OOOO eto OOOO 00000000000074b2 Mona aa 00000000000074b5 Sos sie 7 lua 00000000000074b09 Js Esla 0000000000000040 Thus bplock s execution was 42552475 percent or the total since the last epoch The simulator contains a code profiling facility that 1s accessed through the dumpprofile automation command There is no graphical user interface to the profiling facility at this time Profiling in the simulator has some limitations and features not present in most systems The limitations are that no symbolic information is present in the output and that only execution since the beginning of the last epoch see the last paragraph for an explanation of an epoch 1s measured The feature which 1s most unusual 1s that the user can ask for a profile at any time there 1s no profiling mechanism that needs to be enabled before execution takes place Another feature is that all code in the system 1s profiled even code executed with interrupts off and code in all modes 16 bit mode 32 bit legacy mode 32 bit compatibility mode long mode SMM mode etc 1s measured equally This profiling mechanism 1s non intrusive no x86 interrupts are taken and profiling does not affect the target machine s selection of code paths at all The dumpprofile command by itself causes all profile blocks to be displayed This output can be quite
255. s the recommended default uniprocessor platform 154 Appendix A AMD Confidential User Manual August 22 2006 Aen MUSEL S00MH2id e X w X Mi ro y FAthlon6a S1_SH E0_ 800MH2 id 3X wW X S PF w LOptron540 HE mune 3 w 3X wv 40 t 3X LOptron340 S B3 gun X w w X 40 6 3X Opreron940_SH C0 0MHoid 3X w y 99 c X Opieron 940 SH CG 8MHpid 3X w y 3X Optron940 SH D0 SUMHpid X w w X 40 Do 3X LOptron340 SH E0_ S00MH2 id X w sw X 40 m0 3X Table 15 2 Product Files A 2 4 Image Files HDD FDD ROM SPD BIN An image file 1s an exact representation of a media including the contents and the logical format A 2 4 1 Hard Disk Image Files Table 15 3 shows hard disk image files present in the simulator These images can be found in the simulators image folder see Section 2 3 Directory Structure and Executable on page 4 Bare 4gig hdd 4 GB bare hard disk image Bare 8gig hdd 8 GB bare hard disk image Table 15 3 Hard Disk Images A 2 4 2 BIOS Files Table 15 4 shows BIOS files present in the simulator m Present in MSNB00 2 ROM AMI BIOS ROM for serenade platform ASLCXO J BIN Award BIOS for the Solo platform O ae PMLDX0 9 ROM Phoenix BIOS ROM for Melody platforms KR SOFTGRAPH ROM VGA BIOS ROM for AMD SoftGraph Device 3 Table 15 4 BIOS Files A 2 4 3 Memory SPD Files When a computer
256. shell commands enter 1 simnow gt shell usage Automation Command ECHO lt Value gt Exit 202 Execute automation commands in file List shell automation commands same as shell usage Create a new SimNow machine and make that machine the current machine for subsequent commands Switches the current machine to the machine identified by n the given number Lists the SimNow machines that currently exist Quits the current SimNow machine Exits the current SimNow machine Displays all automation commands which are not attached to any specific device The same as Description Displays value to the standard output device by default the screen Closes all open GUI components and exits the simulator Appendix A AMD Confidential User Manual August 22 2006 Automation Command Quit Go Stop Close Open lt FileName gt Modules Running Save lt Filename gt ModifyRegistry lt key gt lt value gt LogConsoleEnabled SetLogConsoleEnabled lt 0 1 gt LogWndEnabled SetLog WndEnabled lt 0 1 gt LogFile SetLogFile lt filename gt LogFileEnabled SetLogFileEnabled lt 0 1 gt ErrorLogFile SetErrorLogFile filename ErrorLogFileEnabled SetErrorLogFileEnabled lt 0 1 gt Memdump lt FileName gt Reset CreatedDevices AddDevice lt Device Name gt lt x gt lt y gt Connections Device Name Appendix A Description see Exit Starts the simul
257. shows the PCT Bus configuration options Chapter 7 Device Configuration 81 AMD Confidential User Manual August 22 2006 PCI Bus 6 Properties Connections 1 0 Logging PCI Bus Configuration Device ID 0 31 Base IRO Pin Enable Slot PCI Slat 1 PEIRO A PCI Slot 2 PCIIRQ B PCI Slot 4 PCIRQ D PCI Slot 5 PCI Slat B PCI Slot 3 PCIIRG C v il d 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 IR Pin for the slot You can choose from pin A B C or D The third field is an Enable Slot By default all slots are disabled One cannot disable a slot that has a device connected to it Differences from Real Hardware The PCI Bus device differs from other devices in that it is a generic model We do not simulate PCI down to a clock accurate level so devices do not arbitrate for bus ownership or insert wait states for example 82 Chapter 7 Device Configuration AMD Confidential User Manual August 22 2006 7 13 AMD 8131 PCI X Controller The AMD 8131 PCI X Controller is a HyperTransport tunnel that provides two PCI X buses and two IOAPICs These PCI X buses may or may not be configured as hot plug capable depending on the platform Interfaces The AMD 8131 has two types of interfaces HyperTransport and PCI buses It has two HyperTransport links HTO and HT1 that can connected to o
258. simnow DDR2 8Gspd 8I92MBDDR2memory X _ simnow DDR2 l6G spd 16384MB DDR2 memory X simnow DDR2 8G Regspd 8192MB registered DDR2 memory 3 simnow DDR2 Io Regspd 16384MB registered DDR2 memory Sr x Table 15 5 Memory SPD Files EEES In order to use unbuffered DDR DDR2 memory we recommend using the simnow DDRx yyyy spd SPD files To use buffered DDR DDR2 memory use the simnow DDRx yyyy reg spd SPD files for DDR2 x 2 and yyyy size in Mbytes A 3 Supported Guest Operating Systems Table 15 6 lists the guest OS compatibility matrix Operating System Windows 2000 UP Windows XP 32 Bit UP No known issues No known issues 156 Appendix A AMD Confidential User Manual August 22 2006 Hangs during PCMCIA probe when the VESA SUSE LiveCD 9 1 BIOS Extension is enabled and the active VESA Mode is not 1024x768 SUSE LiveCD 9 2 SUSE LiveCD 9 3 No support for initial graphical setup screen Setup screen will appear in text mode Solaris x86 Solaris 10 for AMD64 No known issues Table 15 6 Supported Guest Operating Systems The simulator has recently but not specifically tested for this release e Successfully completed a 64 bit SpecJBB run on a simulated 4 processor machine The simulator has also successfully completed the entire SPECint2000 and SPECfp2000 suite e Successfully completed an in memory run of TPC C on a simulated multi processor s
259. sk Images on page 21 How do I create Disk images What is DiskTool See Section 4 Disk Images on page 2l How do I attach to a Hard Disk DVD CD ROM Disk or Floppy Disk image All three kinds of images including blank Hard Disk images of the desired size can be created on both Windows 64 Beta and Linux 64 Hosts with our DiskTool program provided in the simulator release package The usage is relatively self explanatory from its GUI and it can also be run from the command line Check out the command line options via DiskTool h So this file allows you to save a running simulation to a file At any later time you can open this file in SimNow to restore the simulation to the same point where you left off How do I access the integrated Debugger See Section 10 CPU Debugger on page 123 How do I copy files into the simulator See Section 5 2 1 Assigning Disk Image on page 26 How do I copy files out of the simulator See Section 5 2 1 Assigning Disk Image on page 28 Where can I find the POST codes Diagnostic port values of the simulation See Section 3 3 1 SimStats and Diagnostic Ports on page 16 How do I edit device configurations in SimNow See Section 3 2 Device Window on page 9 How do I change a BIOS in a BSD See Section 7 7 Memory Device Configuration Options on page 67 150 Chapter 15 Frequently Asked Questions FAQ AMD Confidential User Manual August 22 2006
260. sk image is a RAW AUTO sector by sector copy identical to the source AUTO indicates that SimNow will try to identify the used type of hard disk image automatically Returns the current image type setting ID RAW or AUTO See SetImageType DMADelay master slave 0 1 usec delay gt GetImageType master slave 0 1 A 7 3 USB 1 simnow gt usb usage Automation Command Description Enables or disables Memory m Interrupt 1 log enable disable mifsopt Frame f StateChange s PCI Config p Transfer t or and IO o logging A 7 4 CMOS Appendix A 207 AMD Confidential User Manual August 22 2006 l simnow gt cmos usage Automation Command Load lt filepath gt Save lt filepath gt SetTime lt seconds gt lt minutes gt lt hours gt lt days since Sunday gt lt day of the month gt lt months since January gt lt years since 1900 gt GetByte lt addr gt SetByte lt addr gt lt data gt GetData GetRamSize ClearTo value A 7 5 ACPI 1 simnow gt acpi usage Automation Command PowerButton SleepButton A 7 6 Floppy 1 simnow floppy usage Description Loads CMOS data stored at filepath For example cmos load c cmos dat Saves CMOS data to filepath e g shell save c cmos dat Sets CMOS Time to specified time For instance cmos SetTime 00 00 12 00 31 12 14 sets the CMOS time to Sunday December 31th 2004 at 12 00 00 Returns byte in CMOS that is sto
261. sm A RA 14 69 70 LESS A ion 75 TUN EE 14 90 EUER ML HT E 64 SMB Base Address sed ete RUE 48 DOLI POW CF contested c ML DE ELE 8 id A tute EE 8 MAC Address coco coco ccccccccccccccccccccccccccccccccccecccecs 112 SOLO OSC A esse este Ria estes ssl elo 35 Mediator Daemen r rreren non 111 O EE 144 Memory Confeurator 143 EDO uan 50 Message Log A E E E E EET 117 Import Eeer 50 Microcode Patching METER 161 SPOD Data dot 144 Microsoft DirectX 9 2 Slepping OVOE ri See Debug MID m 64 ios T e E SE 96 Modify PCI Configuration Space TET 116 Super o CRUCE 64 Mouse CULSOD oooocoocccccccccccccccccccccccccccccecccceccccece 149 ECK em ee ee Sb 55 Multiple Virtual Mappings NAAA 162 Switching CD A A 151 e System Requirements sess 3 Named Pipe 131 132 133 134 209 210 211 A Nested KC EEN 196 A ER 160 Non Maskable Interrupts EE EE 161 RP O 17 oE A E E E AE ie M LE S M 43 P Trap la iia 162 Pacifica Virtualization Technology 126 Triple Eaultasasestissittem a 160 228 Index AMD Confidential User Manual August 22 2006 Ee 196 W U Winbond W83627HF cccccccccncnccnnnnnonnnnnnno 64 e826 e EE 202 Ke Ee H User Defined EAR 5 X V PP a eee eee 95 MO aa 51 55 lla M CE E s Virtual Add S 4 EE 96 EES gl D 96 PONV GA pt 51 55 Index 229
262. specified dirve saves the contents of the primary or slave disk journal to a file Loads the contents of the primary of slave disk journal from a file Commits the contents of the disk journal on the JournalCommit master slave 0 1 master or slave drive to the disk image that drive represents Clears the journal discards any changes made to the drive This may no longer do anything it originally enabled a debug verification mode Displays the status for the DVD ROM device or a particular volume JournalSave master slave 0 1 lt filename gt JournalLoad master slave 0 1 lt filename gt JournalClear master slave 0 1 JournalDebug master slave 0 1 DVDROMStatus master slave 0 1 Bs AC esp haste Save MO Sets master or slave to DVD ROM device tofflonj0 1j This command is valid only for drives configured as ATAPI The command will set the Media Ejected flag to true and will Eject master slave O 1 foff filename optionally set a new image file to File Us the special name off without the quotes if you want to leave the drive without an image file 1 e empty after the eject Sets the DMA delay for specified drive master or slave to usec delay Noise offjon 0 1 Turn on to print debug messages This command is used to tell SimNow which type of hard disk image is used ID indicates that the hard disk image contains an ID block SetImageType master slave 0 1 ID RAW indicates that the hard di
263. ster operand Load the 16 bit segment selector into the LTR reg mem16 OF 00 3 task register and load the TSS descriptor v from the GDT MOV CRn reg32 op 22 r a the contents of a 32 bit register to MOV CRn reg64 OF 22 r uc the contents of a 64 bit register to mm MOV reg32 CRn X E Mcd CA ice mon MOV reg64 CRn op 20 r Move the contents of 64 bit wv register MOV DRn reg32 OF 21 r Ge the contents of a 32 bit register to e MOV DRn reg64 OF 21 r dn the contents of a 64 bit register to ow MOV reg32 DRn Or oo Je Ore contents 32 bit E s MOV an u DRn op 23 r Move the contents of DRn to 64 bit register RDMSR OF 32 Copy MSR specified by ECX into EDX EAX SES Copy the performance monitor counter E d Specified by ECX into EDX EAX E op 31 31 Copy the time stamp counter into EDX EAX Copy the time stamp counter into EDX EAX time stamp counter into EDX EAX Resume operation of an interrupted program a SGDT mem16 32 OF 01 O Store global descriptor table register to memory v SGDT mem16 64 OF 01 O Store global descriptor table register to memory SIDT memi6 32 OF 01 1 Store interrupt descriptor table register to memory SIDT mem16 64 OF 01 1 Store interrupt descriptor table register to memory Store the segment selector from the local SLDT regl16 OF OO O descriptor table register to a 16 bit v register Store the segment selector from the local SLDT reg32 OF OO O descriptor table register to a 32 bit v
264. ster or memory location left 1 bit Shift a 16 bit register or memory location left the number of bits Specified in the CL register Shift a 16 bit register or memory location left the number of bits specified by an 8 bit immediate value Shift a 32 bit register or memory location left 1 bit Shift a 32 bit register or memory location left the number of bits specified in the CL register Shift a 32 bit register or memory location left the number of bits specified by an 8 bit immediate value Shift a 64 bit register or memory location left 1 bit Shift a 64 bit register or memory location left the number of bits specified in the CL register Shift a 64 bit register or memory location left the number of bits specified by an 8 bit immediate value Shift an 8 bit register or memory location left 1 bit Shift an 8 bit register or memory location left the number of bits specified in the CL register Shift an 8 bit register or memory location left the number of bits specified by an 8 bit immediate value Shift a 16 bit register or memory location left 1 bit Shift a 16 bit register or memory location left the number of bits specified in the CL register v 185 AMD Confidential User Manual August 22 2006 Instruction OLI Opcode ES Shift a 16 bit register or memory location left the number of bits Specified by an 8 bit immediate value Shift a 32 bit register or memory Shift a
265. ster or memory location by 1 i Decrement the contents register by 1 Decrement the contents register by 1 memory AH memory DX location location and and LILIS store Perform unsigned division of AX by the contents of an 8 bit register or the quotient in AL and the remainder in Perform unsigned division of DX AX by the contents of a 16 bit register or the i quotient in AX and the remainder in store amp amp amp Appendix A AMD Confidential User Manual August 22 2006 Instruction SIUE ii Perform unsigned division of EDX EAX by the contents of a 32 bit register DIV reg mem32 F7 6 or memory location and store the quotient in EAX and the remainder in EDX Ka Perform unsigned division of RDX RAX by the contents of a 64 bit register DIV reg mem64 F7 6 or memory location and store the v quotient in RAX and the remainder in RDX e ENTER imm16 1 CB iw 01 Create a nested stack frame for a procedure ENTER imm16 imm8 Create a nested stack frame for a procedure Perform signed division of AX by the contents of an 8 bit register or IDIV reg mem8 F6 7 memory location and store the quotient in AL and the remainder in AH Perform signed division of DX AX by the contents of a 16 bit register or memory location and store the quotient in AX and the remainder in DX Perform signed division of EDX EAX by the contents of a 32 bit register or memory location and s
266. t register or memory operand by a sign extended immediate double and put the Signed result in the 64 bit destination register Input a byte from the port at the address specified by imm8 and put it into the AL register Input a word from the port at the address specified by imm8 and put it into the AX register Input a doubleword from the port at the address specified by imm8 and put it into the EAX register Input a byte from the port at the address specified by the DX register and put it into the AL register Input a word from the port at the address specified by the DX register and put it into the AX register Input a doubleword from the port at the address specified by the EDX register and put it into the EAX register Increment the contents of an 8 bit register or memory location by 1 Increment the contents of a 16 bit register or memory location by 1 Increment the contents of a 32 bit register or memory location by 1 Increment the contents of a 64 bit register or memory location by 1 Increment the contents of a 16 bit register by 1 Increment the contents of a 32 bit register by 1 Input a byte from the port specified by DX put it into the memory location specified in ES rDI and then increment or decrement rDI Input a word from the port specified by DX put it into the memory location specified in ES rDI and then increment or decrement rDI Input a doubleword from the port Specified by DX put it into the mem
267. t 22 2006 4 Disk Images The simulator uses hard drive images to provide simulated hard disks to the simulated computer There are several ways to obtain hard drive images e Install your OS onto a hard drive in a real system then move it to the secondary drive in a system and use DiskTool to copy the contents of the drive to an hdd image file e Make a blank hard drive image and a DVD CD ROM ISO image and install a fresh operating system onto the hard drive image To make the hard drive and DVD CD ROM images refer to Section 4 1 Creating A Blank Hard Drive Image and Section 13 DiskTool on page 137 e Tousea physical DVD CD ROM e Click on the button or select View Show Devices to open the Device Window Figure 3 2 on page 9 e Open the Southbridge s properties window by double clicking on it and choose the HDD Secondary Channel tab e Type MAD where D is the drive letter for the DVD CD ROM in the Master Drive Image Filename field e Check the DVD ROM check box below the Filename field The simulator can access media via the following mechanisms e IDE Hard Disk e DiskTool IDE hard disk image is a flat file consisting of a 512 byte header the IDE probe sector and a raw image of data from the hard disk 1f the raw data is cut off before the end of the disk the disk image from there on will just read as Zero e DE DVD ROM The simulator does not simulate DVD ROM
268. t a multiplier to delay the baud rate The baud rate 1s normally modeled based on the time elapsed on the simulated system The simulated system may be running at 1 100 of normal time which will give longer time delays than the kernel debugger can tolerate Consequently we provide a way to speed up the modeled baud rate by up to 100 times For example to delay the baud rate by 1 100th of normal you would use the following automation command Serial 1 SetMultiplier 1 By default the multiplier is 100 which means the modeled rate is unchanged The user may set it in the range 1 to 100 When set to 1 the modeled rate is 100 times faster than the baud rate so the system delays will be that much shorter See also Section A 7 10 Serial on page 209 The following command will connect the kernel debugger to the simulator using a pipe as communication channel ABRO cm Ee Debug EO for Windows OU oso ES com pipe port NN NpipeNSimNow Coml We recommend not starting the kernel debugger too early To achieve best results launch the kernel debugger after the O S kernel has loaded and it is trying to establish a connection with the kernel debugger 11 2 GDB Interface Getting the gdb interface 1n the simulator to work involves a sequence of commands in both the simulator and gdb The current implementation requires the simulator to be started and told to be ready for gdb to connect and then having gdb connect As long as the gdb command target remot
269. t bits of a 64 bit destination register or memory operand to the left the number of bits specified in the CL register while shifting in bits from the second operand Shift an 8 bit register or memory operand right 1 bit Shift an 8 bit register or memory operand right the number of bits specified in the CL register Shift an 8 bit register or memory operand right the number of bits Specified by an 8 bit immediate value Shift a 16 bit register or memory operand right 1 bit Shift a 16 bit register or memory operand right the number of bits specified in the CL register Shift a 16 bit register or memory operand right the number of bits Specified by an 8 bit immediate value Shift a 32 bit register or memory operand right 1 bit Shift a 32 bit register or memory operand right the number of bits specified in the CL register Shift a 32 bit register or memory operand right the number of bits Specified by an 8 bit immediate value Shift a 64 bit register or memory operand left 1 bit Shift a 64 bit register or memory operand right the number of bits specified in the CL register Shift a 64 bit register or memory operand right the number of bits Specified by an 8 bit immediate value Supported 189 AMD Confidential User Manual August 22 2006 Instruction reg mem16 reg16 imm8 OF AC r i reg mem16 reg16 CL reg mem32 reg32 imm8 reg me326 reg32 CL reg mem64 reg64 imm
270. t size 1s 64 Mbytes The JumpDrive is not modified after a reset Contents of a BSD The JumpDrive device saves its entire state including the contents of its memory to the BSD Any data that exists on the JumpDrive device will be restored when the BSD is reloaded Configuration Options Most of the automation commands will return an error if the JumpDrive is plugged into the simulated computer 1 e 1f the JumpDrive device is connected to a USB controller The device must be not connected 1 e unplugged to issue commands that alter the JumpDrive image 108 Chapter 7 Device Configuration AMD Confidential User Manual August 22 2006 7 24 E1000 Network Adapter Device The network adapter device models an Intel Pro 1000 MT Desktop Network Adapter The adapter depends heavily on MAC address assignment in order to determine how visible it 1s to real network resources or other simulator network sessions The adapter model requires a separate mediator process to bridge access to the real network This device provides a list of automation commands that can be used to configure the adapter model see Section A 7 Automation Commands on page 201 To model network workloads the following are typically required 1 One or more BSDs with a NIC device included in each BSD 2 A mediator process running remotely or locally The mediator 1s a background daemon task whose purpose is to bridge the NIC model to the real network or other
271. t value with TEST AX immi6 A9 iw the contents of the AX register and v set rFLAGS to reflect the result AND an immediate 32 bit value with TEST EAX imm32 A9 id the contents of the EAX register and set rFLAGS to reflect the result AND a sign extened immediate 32 bit TEST RAX imm32 A9 id value with the contents of the RAX reg mem8 imm8 B3 75 Eb SUB reg mem64 imm8 register and set rFLAGS to reflect the result AND an immediate 8 bit value with the contents of an 8 bit register or memory operand and set rFLAGS to rerlect the result AND an immediate 16 bit value with the contents of a 16 bit register or memory operand and set rFLAGS to reflect the result reg mem16 imm16 AND an immediate 32 bit value with the contents of a 32 bit register or memory operand and set rFLAGS to reflect the result reg mem32 imm32 AND a sign extened immediate 32 bit value with the contents of a 64 bit register or memory operand and set rFLAGS to reflect the result AND the contents of an 8 bit register with the contents of an 8 bit register or memory operand and set rFLAGS to reflect the result reg mem6 4 imm32 reg mem8 reg8 Appendix A 191 AMD Confidential User Manual August 22 2006 Instruction reg mem32 reg32 reg mem64 reg64 reg mem8 reg8 OF CO r reg mem16 reg16 DE C1 jx OF C1 r reg mem32 reg32 reg mem64 reg64 XCHG AX regl6 XLAT LAT mem8 192 AND the contents
272. ta for each simulated DIMM The number of DIMMs supported in the DIMM Device model 1s 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 If the CPU type is something other than AMD Opteron then the DIMM device assumes a 64 bit memory interface and accepts configuration for only four DIMMs It isn t until the simulation is started that the DIMM Device can determine what type of CPU 1s present For this reason the DIMM Device will initially display configuration tabs for 8 DIMMs even when used with a CPU that is not based on the AMD Opteron processor After the simulation 1s started the DIMM device will remove and ignore any configuration of DIMMs 4 7 if a processor other than the AMD Opteron is detected 46 Chapter 7 Device Configuration AMD Confidential User Manual August 22 2006 Once the simulation 1s started the DIMM Device allocates memory arrays to hold the DRAM data One array 1s 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 If the memory interface 1s 128 bits then the memory arrays are sized to the sum of the physical bank pairs that make up the virtual banks For example Virtual bankO is the combination of physical bank0 on DIMMO and physical bankO
273. ter and IDE Secondary Master connector of the hard disk controller as shown in Figure 7 22 on page 78 The IDE controller has two important features All disk devices Primary Master etc by default have the disk journaling feature turned on which allows simulations to write to the disk image during normal operation and not affect the contents of the real disk 1mage This 1s useful for being able to kill a simulation 1n the middle for multiple copies of the simulator running at the same time etc Journal contents are saved in BSD checkpoint files but lost if you don t save a checkpoint before exiting To change journal settings or commit journal contents to the hard disk image go to the Device View Window then the AMD 8111 Southbridge then the configuration for 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 Turning off journaling is recommended during the installation process for an operating system DVD ROM support is provided through an option in the BSD platform checkpoint file To install a DVD ROM at any hard disk device location Secondary Master Primary Slave etc turn on the DVD ROM checkbox By default the Secondary Master in all distributed BSDs has DVD ROM checked and is a DVD ROM device Copying files into the simulator corresponds to putting dat
274. terrupt pending Chapter 7 Device Configuration 101 AMD Confidential User Manual August 22 2006 Table 7 8 Internal Execution Control Flags 7 22 4 Limitations e Any line in XTR XML file cannot be greater than 255 characters Comment start tag should start on a new line and end tag gt should be last characters on a line The XML attributes are case sensitive but the values are not XTR cannot be used to playback BIOS bring ups Currently XTR does not support Pacifica platform Currently XTR traces recorded off SimNow cannot be played back in other XTR playback environments e Although not needed XTR traces recorded by SimNow might contain data written by the CPU e g IOW 7 22 5 Example XTR XML File xml version 1 0 encoding utf 8 lt AmdEventTrace version 1 0 gt Init Device DIMM Type MEMI Size 536870912 gt Init Device MEM Type MEMI File xtri bin gt Init Device CPUO Type CPU Item ICount Data 227 gt lt Init Device CPUO Type CPU Item RIP Data 0000000082D6A8E4 gt lt Init Device CPUO Type CPU Item RAX Data 0000000000628E01 gt lt Init Device CPUO Type CPU Item RBX Data 000000000B0BE41C gt lt Init Device CPUO Type CPU Item RCX Data 000000000B080E20 gt lt Init Device CPUO Type CPU Item RDX Data 0000000000000080 gt Init Device CPUO Type CPU Item RSI Data 0000000000C8FA38 gt Init Device CPU
275. thbridge eeeeete teens 212 CUM MENT GERMEN CHO 212 AIT AMES LADA caci n 212 A A O 213 A A II dene vecti dM et caede 213 ATAT EE 213 A 7 17 1 Profiling in SimNow M Technology 213 AcTA7 2 CPU Code Generator Commands Rr t c tes 215 Ped VS Emerald Cita MCS acota 215 A 7 19 Matrox MGA G400 Gorapbcs nana eene 216 A20 POBI tn rd ina 216 A O A II qu adeste e estu que inita dote do que 216 5 122 Mmo Device earms e A 217 AT 23 Ri la dd old E de dida 218 AZ DIMM c MM 219 2 125 Keyboard amd Ne E 220 Pod 26 EHNEN 221 IA A O ermrere Tete 223 AS ee 224 lid E En A O PUNTI 227 Contents vii AMD Confidential User Manual August 22 2006 Figures Figure 3 1 Main Window In Smmulatnon 7 Ferreira 9 Hioure EN Workspace Popup Menos 10 Figure 3 4 Add Connection Dialog of Device Properties Window sse 11 Figure 3 5 Computer Simulation in cheetah Ip bsd File wo cceeeeeeeeeeeeeees 13 Figure 3 0 Console W ICO Wes ds 16 Figure 3 7 Progress Meter and Diagnostic Porte 16 Figure 3 8 CPU Translation Ta EE 17 Figure 9 9 CPU Real MIES Graphen ee 17 Figure 3 10 CPU Invalidation TAPA ia A taco Seer denote 17 Free Sl CPU Exception Rate Gran ue pt Ese ee ee eG 18 FEieute 5 12 CRU PIO Rate Grape tta dore arid qo adim AS 18 Figure 3 13 CPU MMIO Rate Graphie 18 Figure 3 14 Primary Secondary and Floppy Dsplawvs 19 Pistre dele Regist y WIIdOW delia 20 Figure 4 1
276. the GS selector onto the stack Push the FLAGS word onto the stack Push the EFLAGS word onto the stack Push the RFLAGS word onto the stack Rotate the 9 bits consisting of the carry flag and an 8 bit register or memory location left 1 bit Rotate the 9 bits consisting of the carry flag and an 8 bit register or Cp FU IO PS PS Q PS memory location left the number of bits specified in the CL register Appendix A User Manual AMD Confidential August 22 2006 Mnemonic RCL reg mem8 imm8 RCL reg mem16 1 RCL reg mem16 CL RCL reg mem16 imm8 RCL reg mem32 1 RCL reg mem32 CL RCL reg mem32 imm8 RCL reg mem64 1 RCL reg mem64 CL RCL reg mem64 imm8 RCR reg mem8 1 RCR reg mem8 CL 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 Appendix A Instruction Rotate the 9 bits consisting of the carry flag and an 8 bit register or Opcode CO 2 Zb D1 2 D3 2 C1 2 ib D1 72 D3 72 C1 2 ib D1 2 D3 2 C1 2 ib DO 3 DA 73 CO 3 xb Dl 3 De 3 Cll 439 ap D1 3 De ya Ci 3 TD memory location left the number of bits specified by an 8 bit immediate value Rotate the 17 bits consisting of the carry flag and a 16 bit register or memory location left 1 bit Rotate the 17 bits consisting of the carry flag and a
277. the system to return to the working state To close a previously loaded system simulation definition file click on the Close BSD button l This button is only enabled when a system definition file has been loaded or created earlier Please make sure you save any changes that you make to the system configuration before clicking on the Close BSD button i8 to close the system definition file Otherwise all changes will be lost The Save BSD button Ed 1s only enabled active when a system definition BSD file has been loaded or created To save your current system definition click on the Save BSD button El or click on the File menu item and select Save BSD To open a system definition file BSD file click on the Open BSD button 3 and select the desired BSD file from the Open File Dialog Window The Open BSD button is only enabled active when no other system definition file has been open yet To create a blank or new system definition file click on the New BSD button H This button is disabled when a system definition file has been loaded or created earlier In this case you must close your current system definition file click on the Close BSD button l or click on the File menu item and select Close BSD Please make sure you save any changes that have been made to the system definition file before you click on the Close BSD button l Note when closing the BSD file all chang
278. ther non coherent HyperTransport link capable devices The PCI bus interfaces in the AMD 8131 must be connected to a 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 1s in its default state This 1s described in detail in the AMD 8131 datasheets Each bridge defaults with hot plug functionality disabled When reset the AMD 8131 takes on all default register values Contents of a BSD The entire configuration of the AMD 8131 device including all state and registers for its sub devices 1s saved in the BSD Configuration Options The only configuration options for AMD 8131 are to enable or disable hot plug for each of its PCI X bridges as shown in Figure 7 26 You cannot enable or disable hot plug after a simulation has already begun AMD 8131 PCI X Controller 410 Properties KEN Connections 10 Logging Hat Plug Hot Plug Bridge 4 Enable Hot Plug Bridge B Enable Figure 7 26 AMD 8131 Device Hot Plug Configuration Differences from Real Hardware Clock sensitive functionality like setting bus speeds is not supported Neither are system errors or power management Chapter 7 Device Configuration 83 AMD Confidential User Manual August 22 2006 7 14 AMD 8132 PCI X Controller The AMD 8132 PCI X Controller is a HyperTransport tunnel that provides two PCI X buses and two IOAPICs These PCI X
279. tically ooo reis Massi oe o de e DIN 62 99 Mbytes Available 1 simnow gt This copies all files from C Mmp into the root of the JumpDrive Any subdirectories are also copied 222 Appendix A AMD Confidential User Manual August 22 2006 o Ss Lloro lac ive importdir Seo AN Importing np t eet Din es I 62 89 Mbytes Available This examples shows how to import all exe files from C tmp into the root of the JumpDrive Simao i citsdbv e TO eds chi tec INDICO Importing c tmp appl exe gt lappl exe Importing c tmp app2 exe gt lapp2 exe 62 60 Mbytes Available To find out what is already stored in the root of the JumpDrive device enter the following 1 simnow jumpdrive dir Director Of N lt DIR gt tmp 103936 test bin OSOS eoe tes 103936 ANDA ES 62 60 Mbytes Available To get information about how much space 1s left on the JumpDrive device enter the following 1 simnow jumpdrive free 62 60 Mbytes Available To save the contents of the JumpDrive to the image file C test img on the host s hard disk enter 1 simnow gt jumpdrive saveimage c test img This example shows how to load the saved JumpDrive image C test 1mg from the host s hard disk into the JumpDrive 1 simnow gt jumpdrive loadimage c test img A 7 27 E1000 The NIC device provides the following automation commands that can be used to configure the device 1 simnow gt el000 usage Automa
280. tion Command Description Appendix A 223 AMD Confidential User Manual August 22 2006 Automation Command Description Enables or disables message logging for PCI Config c MMIO m I O o Unmasked Interrupts 1 MDI d Frame Transfers t or Frame Receptions r logStatus Displays the current log status Sets the mediator connect string The domain string and the port number are setMediatorHost domain g hostname port optional The default domain string is null The default port is 8196 The hostname is the host in which the mediator is running Outputs the current mediator connect log enable disable cmoidtr getMediatorHost string setMACAddress XX XX XX XX XX XX ahi MAC Address to be used by the Retrieves the MAC Address being used by the adapter Restarts link negotiation auto for the adapter or forces a link disconnect down sets certain synthetic delay and throttle values which gives the user the opportunity to change the default settings to get optimal results intthrt sets the interrupt tune intthrtl rxdelay txdelay value throttle rate to value rxdelay sets the amount of link idle time required before generating an rx interrupt to value txdelay sets the amount of link idle time required before generating an tx interrupt to value Displays the values set by using the automation command tune getMACAddress linkConnect auto down getTune Values A 7 28 XTR i simnow gt Erno sage Auto
281. tion Options Chapter 7 Device Configuration 47 AMD Confidential User Manual August ye 2006 Dimm Bank 5 Properties i 53 KE Connections 1 0 Logging Options Dimm Dimm POL Error Simulation Control Enable POL Error Simulation DNF Invert System Management Configuration SME Base Address General Mavmum Number of Dimma 2 Change MasDuimms 7 y 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 These settings apply to all four simulated DIMMs If Enable PDL Error Simulation 1s selected then the DIMM device monitors PDL settings for all RAM reads The OxFF option specifies that the return data should be forced to all ones The nvert option specifies that the return data should be a bitwise inversion of the valid data The SMB Base Address entry selects the 8 bit address that this DIMM device responds to The SMB address is used for the reading of DIMM SPD data 48 Chapter 7 Device Configuration AMD Confidential User Manual August ye 2006 Dimm Bank 5 Properties i Ixi KE Connections 1 0 Logging Options Dimm Dimm 4 Properties Memon Type SDRAM ODA Total Size 256 Humber of Ban
282. tion in linear order 1 e step over calls interrupts repeated instructions and loops This is distinguished from the 7 command Chapter 10 CPU Debugger AMD Confidential User Manual August 22 2006 which will step into calls interrupts etc executing the next instruction regardless of its type The debugger will repeat the last entered command if you just type Enter in the command edit window So you can repeatedly execute the pretty trace command by entering P once then repeatedly hitting the Enter key The simulation can be returned to continuous execution by entering G This executes the debugger s Go command 10 1 4 Skipping an Instruction l Ze 3 Stop the simulation as described in Section 3 1 Tool Bar Buttons on page 7 Setup a breakpoint to break at the instruction that you want to step over see Section 10 1 1 Setting a Breakpoint on page 123 Execute to the breakpoint Determine the EIP of the next instruction after the one to be skipped This can easily be determined by viewing the disassembly listing in the debugger The top line in the disassembly listing 1s the instruction pointed to by the current EIP the instruction that you wish to skip Use the debugger s R command to change the value in the EIP register This can be done by typing R EIP new value on the debugger command line In this case new value 1s the linear address of the instruction that follows the one that you want to ski
283. tor AMD Confidential User Manual August 22 2006 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 The public release version of the simulator does not support the necessary features which are required to create a simulated computer from scratch Figure 6 1 shows the layout of the existing solo bsd Device Window The device position is not important because the connections between devices are completely represented by the lines between devices Debugger 1 E ncessor Emerald Graphics 0 Dimm B anf AMD 8th Generation 8151 AGP Integrated Tunnel 2 Northbridge 3 winbond WwS3B2 HF PCI Bus Hb SIO 7 H4 Memory Device 8 Figure 6 1 Solo bsd Configuration The thickness of the connection between devices represents the number of existing connections 6 1 BSD Files A BSD file contains the configuration of a computer system how models are connected together and their settings sometimes called a virtual motherboard description and a checkpoint of the state of all devices in the simulator BSD files are stored in the simulator s home directory For a list of BSD files provided with the simulator see Appendix A 2 1 on page 154 6 2 Device Placement To place a device into a simulated compute
284. tore the quotient in EAX and the remainder in EDX Perform signed division of RDX RAX by the contents of a 64 bit register or memory location and store the quotient in RAX and the remainder in RDX Multiply the contents of AL by the contents of an 8 bit memory or register operand and put the signed result in AX Multiply the contents of AX by the contents of a 16 bit memory or register operand and put the signed result in DX AX Pr zu zu MA es Multiply the contents of EAX by the F Ps reg mem16 reg mem32 reg mem64 IMUL reg mem8 reg mem16 reg mem32 contents of a 32 bit memory or register operand and put the signed result in EDX EAX Multiply the contents of RAX by the contents of a 64 bit memory or register operand and put the signed result in RDX RAX Multiply the contents of a 16 bit destination register by the contents of a 16 bit register or memory reg mem64 reg16 reg meml6 operand and put the signed result the 16 bit destination register Multiply the contents of a 32 bit destination register by the contents reg32 reg mem32 of a 32 bit register or memory operand and put the signed result the 32 bit destination register Multiply the contents of a 64 bit destination register by the contents of a 64 bit register or memory reg64 reg mem64 r r r Multiply the contents of a 16 bit register or memory operand by a sign regi6 reg memi imm8 b extended immediate byte and p
285. two PCI X buses and two IOAPICs Controller These PCI X buses may or may not be configured as hot plug capable depending on the platform Ly Emerald Graphics Device Simulated VGA device RH Matrox G400 Graphics Device Simulated VGA SVGA device Simulated PCI Bus which can connect PCI Bus multiple PCI devices such as bridges ete S PCI VGA A Winbond W83627HF SIO W83627HF SIO and floppy o ome ane BIOS ROM image The SMB hub device is used to connect SMB Hub Device one SMBus to any of four SMBus branches The PCA9548 is an 8 channel System Ei EE Management Bus ME switch AT24C device Serial E Led ASIS erg device The JumpDrive device allows easy import and export of data between a host system and a simulation USB JumpDrive environment The network adapter device models an Desktop Network Adapter Intel Pro 1000 MT Desktop Network Adapter Table 3 1 Cheetah_1p bsd Devices 14 Chapter 3 Graphical User Interface AMD Confidential User Manual August 22 2006 3 2 4 Device Window Quick Reference Table 3 2 lists common tasks that may be done in the Device Window and describes how to complete them Where to Find the Properties Enter the AweSim properties page gt Processor tab and select a CPU type For more information please refer to Section 7 1 4weSim Processor Device Figure 7 1 on page 42 Change Memory type or size 4 eau to Section 14 2 Changing DRAM Size on
286. ugger seems to be unstable What can I do See Section 11 1 Kernel Debugger on page 131 How can I obtain the full release version of the simulator See Section 1 Overview on page l Chapter 15 Frequently Asked Questions FAO 151 AMD Confidential User Manual August 22 2006 This page 1s intentionally blank 152 Chapter 15 Frequently Asked Questions FAO AMD Confidential User Manual August 22 2006 A Appendix A 1 Format of Floppy and Hard Drive Images The floppy disk format assumes a standard 1 44 Mbyte floppy disk consisting of 80 cylinders 2 heads and eighteen 512 byte sectors per head 36 sectors per cylinder The image file consists simply of each sector starting with the first sector of the first cylinder on the first head and proceeding sequentially through the last sector of the last cylinder on the second head The total size of the image file 1s 1dentical to the total capacity of a 1 44 Mbyte floppy disk or 1 474 560 bytes The hard disk image is formatted in a similar fashion with the exception that the total number of cylinders heads and sectors per head varies Because of this the hard disk image file contains a 512 byte header before the raw data This 512 byte header is identical to the information provided by the drive in response to the ATA command IDENTIFY Following the 512 byte header is the data for each sector from the device As with the floppy the data starts with the first sect
287. unning in the same process and are aware of each other When a new mediator connection string has been specified a one shot link negotiation will take place within the simulator Depending on whether a connection was made with the mediator the link will appear to be connected or disconnected on the guest If the mediator was killed and has since been restarted then the user will need to perform a IinkConnect auto to restart link negotiation similarly in a multi machine setup the first simulator session will also need to perform a IinkConnect auto to ensure that the initial guest sees that other simulator peers have been connected When neither of the above conditions 1s met the link appears disconnected in the guest It may be necessary to re start link negotiation via linkConnect auto This will cause 110 Chapter 7 Device Configuration AMD Confidential User Manual August 22 2006 the NIC model to retry a mediator connection or search for any simulator peers running in the same process 7 24 2 The Mediator Daemon The mediator provides several services for the simulator session e Access to real network resources DHCP servers etc Note that the mediator will need to be run with supervisor privileges in order to snoop network traffic on its host e Bridge communication to other simulator sessions e Group individual sessions into domains so that identical BSD s with identical MAC IP pairs can be run simu
288. up Menu Figure 3 3 on page 10 Chapter 14 BIOS Developer e Quick Start Guide AMD Confidential User Manual August 22 2006 3 Select the tab for the DIMM slot that you wish to alter 4 Select an SPD byte description from the large list box The corresponding data byte will be shown as two hex digits in the small edit box to the right of the list box 5 Type a new hex value in the edit box 6 Optionally the altered SPD data can be saved to a file by clicking the Export SPD button 7 Click OK to close the configuration property sheet and accept the changes If the contents of SPD byte 0 Number of SPD Bytes Used is set to zero the DIMM will not respond to any SMBUS accesses This allows simulation of a DIMM module that does not include an SPD ROM 14 4 Clearing CMOS View the Devices Window and double click on the Southbridge Choose the CMOS tab Save the current CMOS to disk and call it blank cmos Open the file in Notepad and change all the data fields from their current values to the desired fill pattern usually 0x00 or OxFF do not include the A character in the file Save the file These first three steps are needed only once 3 Reload the file into the simulator whenever you wish to clear CMOS 4 View the Diagnostic Port Output in the Main Window as shown in Figure 14 2 MD m Diagnostic Ports 00 UU 00 UU 83 80 DO UU 00 00 87 84 DO UU 00 UU e3 el Figure 14 2 Diagnostics Display
289. ur simulation before the new configuration will take effect Difference from Real Hardware The Matrox G400 graphics device is a faithful simulation of the software visible portion of a Matrox G400 adapter it is not a model of the specific Matrox G400 hardware Because of this the graphics device is not equivalent in certain areas Any issues related 58 Chapter 7 Device Configuration AMD Confidential User Manual August 22 2006 to timing such as the vertical retrace time will be different Any software that depends on exact timing behavior may not function correctly The following features are only partially implemented Any software that depends on these features may not function correctly Display Data Channel DDC Translucency Full Alpha Blending Full Texture Mapping Gouraud Shaded Fills ALPHA FOG STENCIL Trapezoids functions Bitblts a Color Patterning 8x8 b Expansion Character Drawing 1 bpp Planar Lines a With Line style b With Depth c Polyline Polysegment using Vector Pseudo DMA Mode Image Load ILOAD a Linear Color Expansion Character Drawing 1 bpp b Loading the Texture Color Palette Loading any accelerator registers through the Pseudo DMA Window Z Buffer Direct Access Procedure when ZBuffer is in AGP Space Table Fog Video Scaler Texture Unit blending Texture Staging Supported 2D Features Bus Mastering PCI AGP Raster Operations 0 D S D amp S D amp S S D a
290. urator see Figure 14 1 and for specific or non symmetric DIMM configurations please follow the steps on page 144 To open the Memory Configurator dialog click on the main menu item View and then choose Show Memory Configurator View Show Memory Configurator The Memory Configurator populates each DIMM device with two DIMMs of all identical size and type It accounts for DDR and DDR2 and registered or unregistered memory types as required The SPD files are loaded using the default path for SPD files Images lt spdfile gt 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 143 AMD Confidential User Manual August 22 2006 WW Memory Configurator Choose an available memory configuration trom list below then press the Set Memory Contig button to perform the change This is only for generic memory size configuration in powers of 2 For specific or nan symmetric DIMM configurations please go ta the DIMM devices configuration pagels and load or clear individual SPO ROM files as necessary CAUTION It is easy to set memory configurations that would be far too large to simulate conveniently The memory size set here is allocated by SimNow directly in Host memory IF you lack sufficient m
291. ut the Signed result in the 16 bit destination register Multiply the contents of a 32 bit register or memory operand by a sign reg32 reg mem32 imm8 b extended immediate byte and put the Signed result in the 32 bit destination register Appendix A 173 operand and put the signed result the 4 4 4 5 5 5 5 EJ F PoR 64 bit destination register r i ri E E Tf 6 7 ES EJ FA FA FA 6B 6B User Manual AMD Confidential August 22 2006 Mnemonic reg64 reg mem64 imm8 reg16 reg mem16 imm16 reg32 reg mem32 imm32 reg64 reg mem6 4 imm32 INC reg mem8 INC reg mem16 INC reg mem32 INC reg mem64 INC Eeer INC reg32 INS mem8 DX INS mem16 DX INS mem32 DX INSB INSW INSD INT imm8 174 Instruction Opcode 6B r 1b 69 r iw 69 r id 69 r id E4 ib E5 ib E5 ib FE 0 FF 0 FF 0 FF 0 40 rw 40 4rd OY Q OY Q CD ib Multiply the contents of a 64 bit register or memory operand by a sign extended immediate byte and put the signed result in the 64 bit destination register Multiply the contents of a 16 bit register or memory operand by a sign extended immediate word and put the signed result in the 16 bit destination register Multiply the contents of a 32 bit register or memory operand by a sign extended immediate double and put the signed result in the 32 bit destination register Multiply the contents of a 64 bi
292. various constraints XTR has two files a binary file which has the memory dump of the system and an XML based text file which contains the log of the events or messages that go in and out a non coherent port of the Northbridge including the DMA signals from devices on the host s secondary bus to the DIMM XTR playback mechanism essentially replaces all the devices including the Northbridge and downwards and feeds the processor with the data present in the XTR XML file The structure of both binary file and XML file 1s discussed below XTR can be used both in uni processor XTR UP and multi processor XTR MP configurations However currently only XTR UP is supported while XTR MP is under development There are two modes of XTR XTR Record and XTR Playback The simulator supports both modes and one mode does not necessitate the other The simulator could be used to record XTR traces only or playback XTR traces generated from other sources as far as the XTR specification is followed correctly see Section 7 22 4 Limitations on page 102 An XTR XML file contains Initialization Data Events and Instructions XTR Initialization data stores the state of CPU just before XTR recording 1s initiated This data is used to initialize the CPU and memory parameters during Playback the memory itself is initialized from the contents of the binary file Any register that does not have corresponding initialization data in XTR XML file will be init
293. vice configuration does not change and the values from the device configuration will be eventually read into the PCI X registers when the configured system is restarted Contents of a BSD PCI X register and interrupt signals are saved in the BSD Differences from Real Hardware This 1s a generic PCI X device It doesn t have real a memory buffer and I O buffer For memory and I O space transaction 1f the transaction belongs to this device s memory or I O address range the PCI X device simply outputs a message to the Log Window which identifies its memory or I O cycle Interrupt can be de asserted by doing an I O transaction Interrupts can also be de asserted manually by using the debugger 86 Chapter 7 Device Configuration AMD Confidential User Manual August ye 2006 7 16 AMD 8151 AGP Bridge Device The AMD 8151 AGP Bridge Device tunnel is a HyperTransport tunnel that provides an AGP bridge In general AMD 8151 would be connected in a non coherent HyperTransport chain between the host bridge and the Southbridge Interface The AMD 8151 has three types of interfaces HyperTransport AGP and INT IOAPIC buses The AMD 8151 has two HyperTransport links HTO and HT1 that can connect to other non coherent HyperTransport link capable devices HTO should be connected to the upstream link the one closest to the host bridge and HyperTransportl should be connected to the downstream link The AGP interface should be connected to an AGP gr
294. work when GUI mode is active Creates a new BSD file Displays all information stored in SimNow s registry Returns the current cycle count Sets the time in nanoseconds for a CPU before switching to next CPU in a MP system Modifying the MP Quantum might have a huge impact on the simulated MP system Returns the current MP Quantum value see also SetMPQuantum Switches CPU model from X amp 6Sim to AweSim or the other way around Returns true if module is present otherwise it returns false Returns the 0 based index of which VGA device is currently being displayed in the GUI Only useful if more than one VGA device is active within a BSD file Sets the 0 based index of which VGA devices output is to be displayed in the GUI Only useful if more than one VGA device is active within a BSD file Provides a WAIT UNTIL STOPPED feature Provides a non blocking GO command This command gives the list of supported formats that can be used Appendix A AMD Confidential User Manual August 22 2006 Automation Command DisplayScreenShot lt index gt lt filename gt lt format gt LogConsoleStdErr SetLogConsoleStdErr 0 1 gt GetRunTimeDuration RunTimeDuration lt time gt GDB d udp tcp lt port gt Location LogDevice Device Name lt 0 1 gt LoggingEnabled Device Name LogIO device lt all gt feature reset 0 1 gt Appendix Description DisplayScreenShot t
295. would use 1 simnow gt shell modules If more than one device exists in the currently loaded BSD for example most BSDs include two IDE controllers you identify the specific device by following the device name with a colon and then the number of the device you are interested in For example to send the DVDROMStatus command to the second IDE controller you would use Omon ice EE Omitting the colon and the device number causes the simulator to assume device 0 The following two commands are equivalent Appendix 201 AMD Confidential User Manual August 22 2006 ll saimnewe deco DVDROMStetus 0 Te m ow des SOV DROMS ta rus 0 In addition to the commands supported by the various devices detailed below all devices support the usage and ausage command These commands return a brief description of each of the commands supported by a specific device For example to get a non alphabetic ordered list of the commands supported by the shell you could send the command 1 simnow shell usage To get an alphabetic ordered list of the commands supported by the shell please use the ausage command as shown here 1 simnow shell ausage To get an overview of all automation commands which are not attached to any specific device enter 1 simnow gt help Automation Command Description exec lt file gt usage newmachine switchmachine lt n gt listmachines exit quit help A 7 1 Shell To list all registered
296. x 150 MB of memory for each simulated processor plus the amount of simulated RAM AMD Athlon 64 or AMD Opteron 1 Gigabyte of free hard disk space for the simulator and devices plus 3 Gigabytes free space for disk file images 3 5 inch 1 44 MB floppy drive Table 2 1 Software and Hardware Requirements Running the simulator on a Linux kernel prior to version 2 6 10 may cause the simulator to malfunction The bug is in the 64 bit path only and the symptom is in signals that are not associated with system calls still being treated as system calls as they go back to user space 1 e in certain cases it tries to restart the system call even when it did not come from a system call Updating the Linux kernel to kernel version 2 6 10 or later resolves this problem The simulator may stress the system more than most applications including the base operating system AMD has received reports that the simulator has caused some systems to crash and in general this has been traced to unstable hardware Hardware instability can also crash applications or operating systems inside the simulator 2 2 Installation Procedure Insert the CD ROM into your system s CD ROM drive or download the simulator program and its data files from http developer amd com simnow aspx Browse to the root directory of the CD or to the path where the downloaded simulator is stored and Chapter 2 Installation 3 AMD Confidential User Manual August 22
297. y an 8 bit immediate value Subtract an immediate 8 bit value SEPIUS LU ab from the AL register with borrow Subtract an immediate 16 bit value GEES E from the AX register with borrow Subtract an immediate 32 bit value BEBE SENI 1y aa from the EAX register with borrow l Subtract an immediate 32 bit value Se E from the RAX register with borrow Subtract an immediate 8 bit value SBB reg mem8 1mm8 80 3 ib from an 8 bit register or memory location with borrow Subtract an immediate 16 bit value SBB reg mem16 imm16 80 3 iw from a 16 bit register or memory location with borrow Subtract an immediate 32 bit value SBB reg mem32 imm32 81 3 id from a 32 bit register or memory location with borrow 186 Appendix A C1 4 ib amp SHL reg mem16 imm8 amp X SHL reg mem32 imm8 C1 4 ib amp amp SHL reg mem64 imm8 C1 4 ib SAR reg mem8 imm8 CO 7 ib SAR reg mem16 imm8 C1 JF ib SAR reg mem32 imm8 C1 77 ib C1 7 ib SAR reg mem64 imm8 AMD Confidential User Manual August 22 2006 Instruction ian Subtract a sign extended immediate SBB reg mem64 imm32 81 3 id 32 bit value from a 64 bit register v or memory location with borrow Subtract a sign extended 8 bit immediate value from a 16 bit register or memory location with borrow Subtract a sign extended 8 bit immediate value from a 32 bit register or memory location with borrow Subtract a sign exte
298. y 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 DHCP acquired address 112 Chapter 7 Device Configuration AMD Confidential User Manual August 22 2006 Visibility Can be seen by external network and all simulator sessions running anywhere on the network Mediator String Hostname Table 7 10 MAC Address Assignments 7 24 4 2 Client Server simulated network This configuration uses fixed MAC addresses to allow this domain to be replicated in the mediator space without colliding with one another To allow real network access we will also run the mediator with a gateway at IP address 192 168 0 1 Example MAC FA CD 21 00 00 01 IP Address Static IP address 192 168 0 2 Visibility Accesses the real network via the mediator s gateway External network hosts can not directly communicate with this client Mediator String mydomain hostname Table 7 11 Client Server Simulator Server Example MAC FA CD 22 00 00 02 IP Address Static IP address 192 168 0 3 Visibility Accesses the real network via the mediator s gateway External network hosts can not directly communicate with this client Mediator String mydomain hostname Table 7 12 Client Server Simulator Client 1 The BSD s that contain the server and client can be run simultaneously on the same network without any collisions They will require the use
299. y image file in the Super I O configuration dialog page Difference from Real Hardware Keyboard Mouse Floppy COMI and COM2 differ from real hardware Baud rate parity and stop bits are ignored Communication 1s always available Baud rate timing 1s approximate Modem status and line status always show the device is ready The default values of the control registers are read writable or read only as defined by the appropriate Super IO specification 66 Chapter 7 Device Configuration AMD Confidential User Manual August 22 2006 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 Interfaces The memory device has a general purpose interface that you can connect to any other type of port No selection 1s necessary when connecting this memory device to another device Initialization and Reset State The default state of the device is a RAM memory device that is at a base address of 0x00000000 and a size of 4 Gigabytes The memory has no default content When an initialization file is specified the memory device s contents contain the data from that binary file After a reset the memory device reverts back to the initialization file contents Contents of a BSD The contents of memory as well as all configuration information a
300. you run Windows in simulation and you open a menu list box tool tips or other screen element the object may open slowly To disable this option use the following steps 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 tool tips check box click ok and then close Control Panel Or 1 Right click on My Computer and select Properties 2 Click on Advanced Performance and then on Settings 3 Select the Adjust For Best Performance option 4 Click on Apply Also make sure you have installed the Matrox G400 graphics device drivers You can download the latest Matrox Millennium G400 graphic device drivers for Windows and Linux at http www matrox com mga support drivers latest home cfm Enabling Graphics Hardware Acceleration on Windows Server Operating Systems Graphics Hardware Acceleration and DirectX are disabled by default on a Windows Server configuration to ensure maximum stability and uptime But if you need to improve the graphics performance the following steps will guide you through on how you can enable hardware acceleration Right click the desktop and then click Properties on the menu Click the Settings tab and then click on Advanced Click the Troubleshoot tab Move the Hardware Acceleration slider across to full see Figure 7 12 ab ad dics 62 Chapter 7 Device Configuration AMD Confi
301. ystem as well as parts of TPC C on a simulated RAID device e Successfully completed Sysmark 2004 s Office Productivity section and parts of Internet Content Creation Appendix A 157 AMD Confidential User Manual August 22 2006 A 4 CPUID This section is an overview of the CPUID feature implementation in the AweSim CPU processor model A 4 1 CPUID Standard Feature Support Standard Function 0x01 Table 15 7 shows the standard feature bits returned by the AweSim CPU processor model and which features are fully or only partially 2 implemented and supported A 9 indicates that the returned feature bit is zero and this feature is not implemented and not supported th th yis 8 Generation Feature CD Generation Generation Rev F Base Pre Rev F Floating Point Unit w v Virtual Mode Extensions SL SL Y wv Debugging Extensions 1 a Page Size Extension se Y Y Y Time Stamp Counter AMD Model Specific Registers _ Physical Address Extensions Machine Check Exception CMPXCHG8B Instruction PAPIC SYSENTER and SYSEXIT Memory Type Range Registers Page Global Extension Machine Check Architecture Conditional Move Instruction Page Attribute Table Page Size Extensions PSE 36 w i a ae amp amp SERS S X 4444 4 44 4 4 vm CFLUSH Instruction MMX Instructions FXSAVE
302. ze and Maximum Disk Size Sets journal parameters Description Loads the analyzer analyzer file with specified arguments args Shows all loaded analyzers Enables 1 or disables 0 analyzer specified by num Unloads analyzer specified by num Causes a generic MCA fault if GenerateMCAFault is true 1 at specified Bank AddressReg and status Use product file to set fuses and configure CPU and Northbridge Sets or disables and enables code generator settings and options Command must be one of the commands shown in Table 15 14 Args depends on the command parameter see Table 15 14 This command is limited to showing a profile of blocks without symbols based on the current epoch For more information please refer to Section A 7 17 1 Profiling in SimNow A 7 17 1 Profiling in SimNow Technology Here 1s an example use of the profiling command and its output Appendix A 213 AMD Confidential User Manual August 22 2006 1 simnow gt dumpprofile 3 34962861 000000 instructions executed since the last epoch Executed 3571672 times Beet sheng ete 0 0 Sta sae al cuele e 1010010 000p de mI O EE a 0000000000004 1de Emo MA ola 0000000000004 1e3 MAS OE 0000000000000000 This block s execution was 20 431234 percent of the total since the last epoch Executed 229430 times SDE Moa oa REES QOO DOGS ods cds lesa DEENEN eue ln ell 000000000000fd0 d eene 0 4301 JOOST Thi
Download Pdf Manuals
Related Search
Related Contents
TP-Link TG-3468 User's Manual 全ての取扱説明書 User`s Manual - Oracle Documentation USER MANUAL ① 番組表を開く ② 放送波切替 ③ 番組ダブルクリック Pentaho Cube Designer User Guide Owner's Manual Manuel d'Installation Manual del Usuario Manuale Origin Storage 250GB TLC SATA 2.5" CX263 取扱説明書 Ver 1.0 SMARTGATE - Elite Alarm Solutions LLP Copyright © All rights reserved.
Failed to retrieve file