AMD CS5535 GeodeLink MSR Addressing, Descriptors, Addressing Example, Memory Descriptor Types

Page 14

32430C

GeodeLink™ Architecture

3.1GeodeLink™ MSR Addressing

The GX processor’s MSRs are addressed from the source module to the port of the target module. The topology of the GX processor must be understood to derive the address. An MSR address is parsed into two fields, the port address (18 bits) and the index (14 bits). The port address is further parsed into six 3-bit channel address fields. Each 3-bit field represents, from the perspective of the source module, the GLIU channels that are used to get to the destination module, starting from the closest GLIU to the source (left most 3-bit field), to the farthest GLIU (right most 3-bit field). When the GLIU gets the cycle, it reads the three MSBs of the address register, shifts those three bits of the 18 MSBs of the address register off, and passes the transaction to the port indicated by the next three bits.

MSR addresses that are outside the module address spaces are invalid; meaning RDMSR/WRMSR instructions attempting to use the address within the CPU core will cause a General Protection Fault. Unimplemented MSR accesses not in periph- eral modules go to the bit bucket.

3.1.1Addressing Example

GX Processor GeodeLink Modules/Addresses

Source: CPU Core -> Destination: GeodeLink Control Processor (GLCP) 2.3.0.0.0.0 -> 4C00xxxxh

CS5535 Companion Device GeodeLink Module/Addresses

Source: CPU Core -> Destination: SB_GLCP

2.4.2.7.0.0-> 5170xxxxh

GLPCI acts like another GLIU

3.2Descriptors

Descriptors are used to route memory or I/O resources through GLIUs to a GX processor module. Memory and I/O addresses that do not have descriptors are subtractively decoded through the GLIUs and out to the PCI. It is important that no descriptors overlap each other. The result is indeterminate.

3.2.1Memory Descriptor Types

Range - Covers a memory range in 4 KB granularity.

Range Offset - Covers a memory range in 4 KB granularity with the destination address translated by an offset.

Base Mask - Covers a memory range that is a power of 2 in size.

Base Mask Offset - Covers a memory range that is a power of 2 in size with the destination address translated by an offset.

Swiss Cheese - Covers a 256 KB region split into 16 KB pieces to a module or the subtractive port.

3.2.2I/O Descriptor Types

Base Mask - Covers an I/O range that is a power of 2 in size.

Swiss Cheese - Covers an 8-byte region split into 1-byte pieces to a module or the subtractive port.

14

AMD Geode™ GX Processor/CS5535 Companion Device GeodeROM Porting Guide

Image 14
Contents April Publication ID 32430CAdvanced Micro Devices, Inc. All rights reserved TrademarksContents Contents List of Figures GeodeLink Architecture TopologyList of Figures List of Tables List of Tables Overview1 IntroductionAssumption Load MSR specified by ECX into Edxeax Model Specific Registers2Example MSR Transaction Write the value in Edxeax to MSR specified by ECXModel Specific Registers GX Processor GeodeLink Architecture3AMD Geode CS5535 Companion DeviceAddressing Example GeodeLink MSR AddressingDescriptors Memory Descriptor TypesSysref Set Clocks and ResetProcessor Initialization Mdiv VdivCPU Identification Calculating Processor SpeedMemory Controller Initialization Size Memory Test Extended DramGeodeLink Modules Initialization Default Region Configuration Properties Bit Descriptions Descriptor MSR Address Glpci RegionsDescriptor Allocation Set ID Select Idsel AMD Geode CS5535 Companion Device InitializationChipset ID Gliu InitializationKeyboard Emulation Logic KEL 1+ Multi Function General Purpose Timers MFGPTsIRQ Mapper System Management Bus SMBusFlash Interface Power Management LogicAcpi Other Legacy DD InitializationUniversal Serial Bus USB Diverse Device I/O LocationsATA-5 / Hard Drive Initialization 7 AC97 Audio Controller InitializationGeodeLink Control Processor Initialization Virtual System Architecture InitializationPCI Bus Initialization Allocate Processor Frame Buffer and VSA2 MemoryMonochrome Support Miscellaneous InitializationsInitialize Graphics Subsystem Dual Monitor Support32430C Scratchpad Initialization Implementation5Clocking Post CodesImplementation Setup Options6 32430C VSA Memory7MapROM VSA PCI Memory MappedFrame Buffer GeodeROM Flow GX Processor/CS5535 Device VSA Revision # Revisions / Comments Document Revision HistoryTable A-1. Revision History Initial release