forked from ptresearch/IntelTXE-PoC
-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathpatch.diff
123 lines (121 loc) · 7.98 KB
/
patch.diff
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
diff -Naur OpenIPC_1.2035.4868.100/Config/BXTP/BXTP_Default_TCI.xml OpenIPC_1.2035.4868.100_patched/Config/BXTP/BXTP_Default_TCI.xml
--- OpenIPC_1.2035.4868.100/Config/BXTP/BXTP_Default_TCI.xml 2022-08-15 14:26:24.000000000 -0400
+++ OpenIPC_1.2035.4868.100_patched/Config/BXTP/BXTP_Default_TCI.xml 2022-08-15 14:25:51.000000000 -0400
@@ -91,11 +91,20 @@
<Pins.Hook3 Signal="PWRBRK1"/>
<Pins.Hook4 Signal="PWRBRK2"/>
<Pins.Hook6 Signal="CpuWarm"/>
+ <Pins.DelayToReArmResetBreak Value="2000"/>
<Pins.PmcHandshakeSxSupported Value="false" />
<Pins.PmcHandshakeGlobalResetSupported Value="false"/>
<Pins.PmcHandshakeAcknowledgementDelay Value="0" />
<Pins.BreaksAreObservable Value="false"/>
</Interface.Pins>
+ <Interface.DCI_OOB_TRACE Enable="true">
+ <Trace.ForceStatus Value="true"/>
+ <Trace.ForceWriteback Value="false"/>
+ <Trace.PacketizedTraceSource Value="IntelTH"/>
+ <Trace.StatusEnable Value="true"/>
+ <Trace.TraceSelect Value="Stream"/> <!-- balong - NPK 1.0 (found in SPT, CNP, and LBG) inverts the meaning of this bit, so set this to 'Packetize' if you want 'Stream' -->
+ <Trace.HandlerEnable Value="true"/>
+ </Interface.DCI_OOB_TRACE>
<Interface.DCI_RAW Enable="true" />
<Interface.DCI_PACKETS Enable="true">
<PacketInjection.SubscribeToStatus Value="true" />
@@ -152,12 +161,32 @@
</Probe>
<RunControl>
<Vendors>
- <Plugin Name="TCI">
- <SupportedProcs>
- <Proc DeviceType="GLM" />
- </SupportedProcs>
+ <Plugin Name="OpenRC" DLL="OpenRc_*">
+ <SupportedProcs>
+ <Proc DeviceType="LMT"/>
+ </SupportedProcs>
</Plugin>
</Vendors>
+ <VendorSettings>
+ <OpenRC>
+ <AsmDasm>
+ <Proc DeviceType="LMT" DLL="OpenRcAsmDasmIA_*"/>
+ </AsmDasm>
+ <ExecutionControl>
+ <Proc DeviceType="LMT">
+ <ProbeMode>
+ <EntryMethod Value="CoreScan"/>
+ <DetectMethod Value="TapPolling"/>
+ </ProbeMode>
+ <StepMode Value="ReleaseAllThreads"/>
+ <PrdyTimeout Retries="0"/>
+ <InterestingThreads>
+ <Thread Name=".*"/>
+ </InterestingThreads>
+ </Proc>
+ </ExecutionControl>
+ </OpenRC>
+ </VendorSettings>
</RunControl>
</OpenIpcConfig>
</OpenIpcConfigs>
diff -Naur OpenIPC_1.2035.4868.100/Config/OpenIpcConfig.xml OpenIPC_1.2035.4868.100_patched/Config/OpenIpcConfig.xml
--- OpenIPC_1.2035.4868.100/Config/OpenIpcConfig.xml 2022-08-15 14:26:25.000000000 -0400
+++ OpenIPC_1.2035.4868.100_patched/Config/OpenIpcConfig.xml 2022-08-15 14:25:51.000000000 -0400
@@ -14,10 +14,8 @@
License.
-->
-<DefaultConfigs xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:noNamespaceSchemaLocation="Schemas/OpenIpcConfig.Default.xsd">
-
- <!-- Specify the name of the configuration to use here. -->
- <!-- If no configuration is specified then OpenIPC will attempt to automatically configure. -->
- <DefaultIpcConfig Name="BXTP_DCI_OpenRC" />
+<DefaultConfigs xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Schemas/OpenIpcConfig.Default.xsd">
+ <!-- A configuration name must be specified here -->
+ <DefaultIpcConfig Name="BXTP_Default_TCI"/>
</DefaultConfigs>
diff -Naur OpenIPC_1.2035.4868.100/Data/Xml/BXTP/ProductInfo.xml OpenIPC_1.2035.4868.100_patched/Data/Xml/BXTP/ProductInfo.xml
--- OpenIPC_1.2035.4868.100/Data/Xml/BXTP/ProductInfo.xml 2022-08-15 14:26:25.000000000 -0400
+++ OpenIPC_1.2035.4868.100_patched/Data/Xml/BXTP/ProductInfo.xml 2022-08-15 14:25:51.000000000 -0400
@@ -4,21 +4,26 @@
</ProductIdentification>
<ProductDescription DeviceType="BXTP_CLTAPC" Stepping="*" AddTapNetworkInstanceId="false">
<TapInfo TapName="BXTP_CLTAPC" NodeType="Uncore" DeviceType="BXTP_CLTAPC" Stepping="$(Stepping)" AddInstanceNameSuffix="true"/>
+ <TapInfo TapName="CSE_TAP" NodeType="Box" DeviceType="LMT" Stepping="B3" InstanceId="0" AddInstanceNameSuffix="false" DeviceSubType="2">
+ <TapSelect Name="CSE_C0" DeviceType="LMT" NodeType="Core" SelectProc="" InstanceId="0" DeviceSubType="2">
+ <TapSelect Name="CSE_C0_T0" DeviceType="LMT" NodeType="Thread" InstanceId="0" DeviceSubType="2"/>
+ </TapSelect>
+ </TapInfo>
<TapInfo TapName="GLM_MODULE0" NodeType="Box" DeviceType="GLM_MODULE" Stepping="E0" InstanceId="0" AddInstanceNameSuffix="false">
- <TapSelect Name="GLM_C0" DeviceType="GLM" NodeType="Core" SelectProc="common.ia.atom_core.tap.select_core(0)" InstanceId="0" DeviceSubType="">
+ <!--<TapSelect Name="GLM_C0" DeviceType="GLM" NodeType="Core" SelectProc="glm.tap.select_core(0)" InstanceId="0" DeviceSubType="">
<TapSelect Name="GLM_C0_T0" DeviceType="GLM" NodeType="Thread" InstanceId="0" DeviceSubType=""/>
</TapSelect>
<TapSelect Name="GLM_C1" DeviceType="GLM" NodeType="Core" SelectProc="common.ia.atom_core.tap.select_core(1)" InstanceId="1" DeviceSubType="">
<TapSelect Name="GLM_C1_T0" DeviceType="GLM" NodeType="Thread" InstanceId="0" DeviceSubType=""/>
- </TapSelect>
+ </TapSelect>-->
</TapInfo>
<TapInfo TapName="GLM_MODULE1" NodeType="Box" DeviceType="GLM_MODULE" Stepping="E0" InstanceId="1" AddInstanceNameSuffix="false">
- <TapSelect Name="GLM_C2" DeviceType="GLM" NodeType="Core" SelectProc="common.ia.atom_core.tap.select_core(0)" InstanceId="0" DeviceSubType="">
+ <!--<TapSelect Name="GLM_C2" DeviceType="GLM" NodeType="Core" SelectProc="common.ia.atom_core.tap.select_core(0)" InstanceId="0" DeviceSubType="">
<TapSelect Name="GLM_C2_T0" DeviceType="GLM" NodeType="Thread" InstanceId="0" DeviceSubType=""/>
</TapSelect>
<TapSelect Name="GLM_C3" DeviceType="GLM" NodeType="Core" SelectProc="common.ia.atom_core.tap.select_core(1)" InstanceId="1" DeviceSubType="">
<TapSelect Name="GLM_C3_T0" DeviceType="GLM" NodeType="Thread" InstanceId="0" DeviceSubType=""/>
- </TapSelect>
+ </TapSelect>-->
</TapInfo>
<TapInfo TapName="MDU_DFX_AGG_TAP" NodeType="Chipset" DeviceType="DFX_AGG" Stepping="A0" AddInstanceNameSuffix="true"/>
<TapInfo TapName="PUNIT_TAP" NodeType="Chipset" DeviceType="BXTP_PUNIT_TAP" Stepping="$(Stepping)" AddInstanceNameSuffix="true"/>
diff -Naur OpenIPC_1.2035.4868.100/Data/Xml/BXTP/TapNetworks.B0.xml OpenIPC_1.2035.4868.100_patched/Data/Xml/BXTP/TapNetworks.B0.xml
--- OpenIPC_1.2035.4868.100/Data/Xml/BXTP/TapNetworks.B0.xml 2022-08-15 14:26:25.000000000 -0400
+++ OpenIPC_1.2035.4868.100_patched/Data/Xml/BXTP/TapNetworks.B0.xml 2022-08-15 14:25:51.000000000 -0400
@@ -119,6 +119,7 @@
</Tap>
<Tap Name="RDU_SW_TAP" IrLen="8" Idcode="0x02100015" IdcodeIr="0x0C" VerifyProc="verify_idcode()" SerializeProc="common.tap.add_tap(0x11,6,18)" DeserializeProc="common.tap.remove_tap(0x11,6,18)" InsertBeforeParent="false">
<Tap Name="CDU_CSE_TAP" IrLen="8" Idcode="0x02100a11" IdcodeIr="0x0C" VerifyProc="verify_idcode()" SerializeProc="common.tap.add_tap(0x11,0,32)" DeserializeProc="common.tap.remove_tap(0x11,0,32)" InsertBeforeParent="false">
+ <Tap Name="CSE_TAP" IrLen="8" Idcode="0x100859" IdcodeIr="0x0C" VerifyProc="verify_idcode()" SerializeProc="common.soc.add_tap(0x11,0,6)" DeserializeProc="common.soc.remove_tap(0x11,0,6)" InsertBeforeParent="false"/>
<Tap Name="CDU_CSE_SCAN_TAP" IrLen="8" Idcode="0x001008d1" IdcodeIr="0x0C" VerifyProc="verify_idcode()" SerializeProc="common.tap.add_tap(0x11,2,6)" DeserializeProc="common.tap.remove_tap(0x11,2,6)" InsertBeforeParent="false"/>
<Tap Name="CDU_CSE_RETIME_TAP" IrLen="8" Idcode="0x0010085d" IdcodeIr="0x0C" VerifyProc="verify_idcode()" SerializeProc="common.tap.add_tap(0x11,4,6)" DeserializeProc="common.tap.remove_tap(0x11,4,6)" InsertBeforeParent="false"/>
</Tap>