<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
<title>Page 407</title>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<style type="text/css">
<!--
	p {margin: 0; padding: 0;}	.ft00{font-size:9px;font-family:Times;color:#000000;}
	.ft01{font-size:11px;font-family:Times;color:#0860a8;}
	.ft02{font-size:11px;font-family:Times;color:#000000;}
	.ft03{font-size:16px;font-family:Times;color:#0860a8;}
	.ft04{font-size:14px;font-family:Times;color:#0860a8;}
	.ft05{font-size:18px;font-family:Times;color:#000000;}
	.ft06{font-size:12px;font-family:Times;color:#0860a8;}
	.ft07{font-size:9px;font-family:Times;color:#000000;}
	.ft08{font-size:8px;font-family:Times;color:#000000;}
	.ft09{font-size:11px;line-height:16px;font-family:Times;color:#000000;}
	.ft010{font-size:11px;line-height:22px;font-family:Times;color:#000000;}
-->
</style>
</head>
<body bgcolor="#A0A0A0" vlink="blue" link="blue">
<div id="page407-div" style="position:relative;width:918px;height:1188px;">
<img width="918" height="1188" src="o_fe12b1e2a880e0ce407.png" alt="background image"/>
<p style="position:absolute;top:1103px;left:760px;white-space:nowrap" class="ft00">Vol. 3A&#160;10-45</p>
<p style="position:absolute;top:47px;left:484px;white-space:nowrap" class="ft01">ADVANCED PROGRAMMABLE&#160;INTERRUPT CONTROLLER&#160;(APIC)</p>
<p style="position:absolute;top:100px;left:69px;white-space:nowrap" class="ft09">A destination ID value of&#160;FFFF_FFFFH&#160;is used for broadcast&#160;of interrupts&#160;in both&#160;logical&#160;destination and physical&#160;<br/>destination modes.</p>
<p style="position:absolute;top:167px;left:69px;white-space:nowrap" class="ft03">10.12.10&#160;Determining IPI Destination in x2APIC Mode</p>
<p style="position:absolute;top:218px;left:69px;white-space:nowrap" class="ft04">10.12.10.1 &#160;Logical Destination Mode&#160;in x2APIC Mode</p>
<p style="position:absolute;top:247px;left:69px;white-space:nowrap" class="ft09">In x2APIC&#160;mode, the&#160;Logical Destination Register&#160;(LDR)&#160;is increased to&#160;32&#160;bits&#160;wide.&#160;It is&#160;a read-only&#160;register to&#160;<br/>system software. This&#160;32-bit value is&#160;referred to as&#160;“logical&#160;x2APIC ID”.&#160;System&#160;software&#160;accesses this&#160;register&#160;via&#160;<br/>the RDMSR instruction reading&#160;the MSR&#160;at address&#160;80DH.<a href="o_fe12b1e2a880e0ce-407.html">&#160;Figure&#160;10-29</a>&#160;provides&#160;the&#160;layout of the&#160;Logical Destina-<br/>tion&#160;Register&#160;in&#160;x2APIC&#160;mode.&#160;</p>
<p style="position:absolute;top:533px;left:69px;white-space:nowrap" class="ft010">In the&#160;xAPIC&#160;mode, the Destination Format Register&#160;(DFR)&#160;through&#160;MMIO interface determines the choice of a flat&#160;<br/>logical&#160;mode or&#160;a clustered&#160;logical mode.&#160;Flat logical mode&#160;is&#160;not&#160;supported in&#160;the&#160;x2APIC mode. Hence&#160;the&#160;Desti-<br/>nation Format Register (DFR) is&#160;eliminated&#160;in x2APIC&#160;mode.&#160;<br/>The 32-bit&#160;logical x2APIC ID field of LDR is&#160;partitioned into two sub-fields:</p>
<p style="position:absolute;top:610px;left:69px;white-space:nowrap" class="ft05">•</p>
<p style="position:absolute;top:611px;left:95px;white-space:nowrap" class="ft02">Cluster ID (LDR[31:16]):&#160;is the&#160;address&#160;of&#160;the&#160;destination cluster</p>
<p style="position:absolute;top:633px;left:69px;white-space:nowrap" class="ft05">•</p>
<p style="position:absolute;top:634px;left:95px;white-space:nowrap" class="ft09">Logical ID (LDR[15:0]):&#160;defines&#160;a logical ID of the&#160;individual local&#160;x2APIC within the&#160;cluster specified&#160;by&#160;<br/>LDR[31:16].&#160;</p>
<p style="position:absolute;top:673px;left:69px;white-space:nowrap" class="ft09">This layout&#160;enables 2^16-1&#160;clusters&#160;each&#160;with up to 16&#160;unique&#160;logical&#160;IDs&#160;- effectively providing an addressability&#160;<br/>of&#160;((2^20)&#160;- 16) processors in&#160;logical destination mode.&#160;<br/>It is likely that processor implementations may choose&#160;to support&#160;less than 16&#160;bits of the cluster ID&#160;or less than 16-<br/>bits of the&#160;Logical ID in&#160;the Logical Destination&#160;Register.&#160;However&#160;system software&#160;should&#160;be agnostic&#160;to the&#160;<br/>number of bits implemented&#160;in&#160;the cluster ID&#160;and&#160;logical ID sub-fields.&#160;The&#160;x2APIC&#160;hardware initialization will&#160;<br/>ensure that&#160;the appropriately&#160;initialized&#160;logical&#160;x2APIC IDs are&#160;available&#160;to&#160;system software&#160;and reads of non-<br/>implemented bits return&#160;zero. This&#160;is&#160;a read-only&#160;register&#160;that software&#160;must read to&#160;determine the&#160;logical&#160;x2APIC&#160;<br/>ID of the processor.&#160;Specifically, software&#160;can&#160;apply&#160;a 16-bit&#160;mask to&#160;the lowest 16 bits&#160;of the&#160;logical&#160;x2APIC&#160;ID&#160;to&#160;<br/>identify the&#160;logical&#160;address of&#160;a processor&#160;within&#160;a cluster without&#160;needing to&#160;know the number&#160;of implemented&#160;bits&#160;<br/>in cluster&#160;ID&#160;and Logical&#160;ID&#160;sub-fields. Similarly,&#160;software&#160;can create a&#160;message&#160;destination&#160;address for cluster&#160;<br/>model, by&#160;bit-Oring the&#160;Logical X2APIC&#160;ID&#160;(31:0) of&#160;processors that&#160;have&#160;matching&#160;Cluster&#160;ID(31:16).<br/>To&#160;enable&#160;cluster ID assignment&#160;in a&#160;fashion&#160;that&#160;matches the&#160;system topology&#160;characteristics and&#160;to enable effi-<br/>cient&#160;routing of logical mode lowest priority&#160;device interrupts in&#160;link&#160;based platform interconnects,&#160;the LDR&#160;are&#160;<br/>initialized by hardware based on&#160;the value of x2APIC ID upon&#160;x2APIC&#160;state transitions. Details of this initialization&#160;<br/>are provided in&#160;<a href="o_fe12b1e2a880e0ce-407.html">Section&#160;10.12.10.2.&#160;</a></p>
<p style="position:absolute;top:960px;left:69px;white-space:nowrap" class="ft04">10.12.10.2 &#160;Deriving Logical x2APIC ID&#160;from&#160;the Local x2APIC ID</p>
<p style="position:absolute;top:987px;left:69px;white-space:nowrap" class="ft09">In&#160;x2APIC mode, the 32-bit logical x2APIC ID,&#160;which&#160;can be&#160;read from&#160;LDR,&#160;is derived&#160;from the&#160;32-bit local x2APIC&#160;<br/>ID.&#160;Specifically,&#160;the&#160;16-bit&#160;logical ID sub-field is&#160;derived by&#160;shifting&#160;1 by&#160;the lowest&#160;4&#160;bits&#160;of the&#160;x2APIC ID, i.e.&#160;<br/>Logical&#160;ID&#160;= 1 « x2APIC&#160;ID[3:0]. The&#160;remaining bits of&#160;the x2APIC ID then form&#160;the cluster ID portion&#160;of the logical&#160;<br/>x2APIC ID:&#160;</p>
<p style="position:absolute;top:478px;left:255px;white-space:nowrap" class="ft06">Figure&#160;10-29. &#160;Logical Destination&#160;Register in&#160;x2APIC Mode</p>
<p style="position:absolute;top:380px;left:255px;white-space:nowrap" class="ft07"><b>MSR Address:&#160;80DH</b></p>
<p style="position:absolute;top:412px;left:252px;white-space:nowrap" class="ft08">31</p>
<p style="position:absolute;top:412px;left:371px;white-space:nowrap" class="ft08">&#160;&#160; &#160;</p>
<p style="position:absolute;top:412px;left:651px;white-space:nowrap" class="ft08">0</p>
<p style="position:absolute;top:433px;left:425px;white-space:nowrap" class="ft00">Logical x2APIC&#160;ID</p>
</div>
</body>
</html>
