Skip to content

Commit

Permalink
initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
h0t committed May 19, 2020
0 parents commit 0e7f3e7
Show file tree
Hide file tree
Showing 8 changed files with 16,590 additions and 0 deletions.
33 changes: 33 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# **Disclaimer**

**All information is provided for educational purposes only. Follow these instructions at your own risk. Neither the authors nor their employer are responsible for any direct or consequential damage or loss arising from any person or organization acting or failing to act on the basis of information contained in this page.**

# Description
Five [Intel Microcode](https://en.wikipedia.org/wiki/Intel_Microcode) (uCode) Sequencer's arrays for Atom Goldmont core named according to our guesses:

**ms_rom.txt** - the first array of Microcode Sequencer, with triads of 48 bits micro-operations of the Intel Small Core

**ms_irom.txt** - the second read-only array which we think contains immediate used in msrom

**ms_patch_imm.txt** - immediates for ucode patch from patch RAM

**ms_match_patch.txt** - dump of 31 bits match/patch registers pairs. They refer directly to msrom with 0-15 bits of match register and 16-30 bits of patch register shifted right by one bit

**ms_patch_ram.txt** - extracted content of MS Patch RAM. It contains uops divided into four groups (1st is all first uops from each triad, 2nd - all second uops and so on). This data combined into triads can be found in msrom at 0x7c00 UIP


![screenshot](pic/1.jpg)
![screenshot](pic/2.jpg)

# Research Team

Mark Ermolov ([@\_markel___][1])

Maxim Goryachy ([@h0t_max][2])

Dmitry Sklyarov ([@_Dmit][3])


[1]: https://twitter.com/_markel___
[2]: https://twitter.com/h0t_max
[3]: https://twitter.com/_Dmit
8,193 changes: 8,193 additions & 0 deletions ms_irom.txt

Large diffs are not rendered by default.

9 changes: 9 additions & 0 deletions ms_match_patch.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
array 03:
0000: 000000000000 00003e573a3b 00003e8f6ef7 00003e8c6217
0004: 00003eaa29a3 00003e5d69ef 00003e1b18b3 00003e1f2833
0008: 00003e27549b 00003e2f23ab 00003e042011 00003e0018dd
000c: 00003e2e4589 00003e854c33 00003e553a03 00003e533603
0010: 00003e6d31a5 00003e77758f 000000000000 000000000000
0014: 000000000000 000000000000 000000000000 000000000000
0018: 000000000000 000000000000 000000000000 000000000000
001c: 000000000000 000000000000 000000000000 000000000000
33 changes: 33 additions & 0 deletions ms_patch_imm.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
array 02:
0000: 0000070000ce 000018201a50 000018201a50 0000384c0600
0004: 000021a04800 000011a83400 00002460d200 000031fce000
0008: 0000085c6640 000028fc6192 000035763040 000012b39951
000c: 000021a03110 000011a9ad40 00000198b400 000021fce040
0010: 000004a83a00 0000300000c0 000023204080 0000285b9640
0014: 000021d49c00 0000300000c0 000001805180 000021a71140
0018: 000011a3ac00 0000300000c0 0000300000c0 000011e1ea89
001c: 0000048000c0 000026263c00 0000300000c0 0000300000c0
0020: 0000300000c0 000001fc9a40 0000300000c0 0000300000c0
0024: 000031fc8900 0000300000c0 0000300000c0 000018757c88
0028: 0000180000c0 0000387ca440 000029360400 000011ba0400
002c: 000011ba3c40 000028671440 000011a4be40 00002632cd40
0030: 000031e9f000 0000300000c0 00001481598d 0000300000c0
0034: 0000090000c0 00002183be80 00000429cc00 00001d0000c0
0038: 000031b1a640 0000300000c0 0000300000c0 000011fc6192
003c: 000031f59040 0000300000c0 0000300000c0 000001d4a800
0040: 000031d87555 0000300000c0 000011b9f640 0000300000c0
0044: 0000090000c0 000011cc3480 000001ddae00 000008621800
0048: 0000300000c0 0000300000c0 000038283a80 0000300000c0
004c: 0000300000c0 000011a82500 0000300000c0 0000300000c0
0050: 0000300000c0 0000300000c0 0000300000c0 0000300000c0
0054: 000021805100 000001fc2a00 000031a9b500 000000000000
0058: 000000000000 000000000000 000000000000 000000000000
005c: 000000000000 000000000000 000000000000 000000000000
0060: 000000000000 000000000000 000000000000 000000000000
0064: 000000000000 000000000000 000000000000 000000000000
0068: 000000000000 000000000000 000000000000 000000000000
006c: 000000000000 000000000000 000000000000 000000000000
0070: 000000000000 000000000000 000000000000 000000000000
0074: 000000000000 000000000000 000000000000 000000000000
0078: 000000000000 000000000000 000000000000 000000000000
007c: 000000000000 000000000000 000000000000 000000000000
129 changes: 129 additions & 0 deletions ms_patch_ram.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
array 04:
0000: c0053d03ffc8 815d757002c0 815d757002c0 415100000fb0
0004: 80420000023f c062f01f1200 a04337080235 417000035d71
0008: 815d65700280 41420b000f80 00012b039e48 00002003cf08
000c: 800e06600240 804800035d72 80070043ef9f 400505031c88
0010: e96270800240 a90205c00200 813f0003f03f 815d0d7002c0
0014: c0563103f23f 808805030c08 9062810f2240 c00524071e08
0018: 286a8429027e 80850003dc7f 40160403f23f 40e100039032
001c: c06213174200 69620bc00240 03800003f03e 00040303ffc8
0020: c004ff03ffc8 40054703ffc8 40620103f200 c0a40503e23e
0024: c00a01000200 c0410003efbf c0637f03f200 00620c036200
0028: 0fff00000000 e86a446d023f c06350032200 80400403ef88
002c: 486aee140330 786a11310631 406387030200 b86aba3102f1
0030: 796289480200 ed0be443f00a c0010003fffe 40070103ffc8
0034: 20438e08023f 40070103ffc8 0e750003003c 800610131e08
0038: 40653d031235 4004a1032c90 803200032cb0 7929e42c0032
003c: 80012c039e48 8131010b1231 000100031c7d 7d0f00035c88
0040: 4008e0036008 c00588078e08 00080103d008 c0330003bd7b
0044: c007fc035d48 c007fc035d48 800a28000200 c150197402fb
0048: 4004a1032c90 803200032cb0 7929e42c0032 806353030200
004c: 007300030c38 40360003cf38 e38000030c00 c0a100031ef1
0050: 4c4b80231000 8c4b80372000 8062091b2200 00620e075200
0054: 800c64300280 900a00000300 4042bb1f5232 000000000000
0058: 000000000000 000000000000 000000000000 000000000000
005c: 000000000000 000000000000 000000000000 000000000000
0060: 000000000000 000000000000 000000000000 000000000000
0064: 000000000000 000000000000 000000000000 000000000000
0068: 000000000000 000000000000 000000000000 000000000000
006c: 000000000000 000000000000 000000000000 000000000000
0070: 000000000000 000000000000 000000000000 000000000000
0074: 000000000000 000000000000 000000000000 000000000000
0078: 000000000000 000000000000 000000000000 000000000000
007c: 000000000000 000000000000 000000000000 000000000000
0080: 4152f45c027f 000c44f7e208 400c98f7e208 00620003f200
0084: 20432b040200 006205071200 817000035d72 c00d09800000
0088: c00d09800000 415dca680280 0152217002ff 400e08400240
008c: 8000803fcfc9 c042bb1f5235 000501031c88 417000035d71
0090: e96272c003c0 80636103e200 417e0003effe 10628e0f0240
0094: 40401803ce08 804147030c10 400e02000200 4150157002f1
0098: c0638a03f200 c0141003f23f c0852403ffc8 00a100039e7d
009c: 2a6213540734 00430c00023f 80434500023f 39299a71023f
00a0: 392886f1077f 0150867002ff 80087817e008 ce750003e03e
00a4: 00626703e200 00620003f200 b92941310ffe 000000000000
00a8: 29628903f200 40628903f200 000000000000 000000000000
00ac: 0fef01000000 9062f91f6240 800000031c30 c00d03800000
00b0: 000000000000 0004001bffc8 ad0fe443f00a ed0f1833f00a
00b4: 00633703f200 ce250003f03f 000000000000 f928197102b1
00b8: c00405031c48 80635c030200 000812030008 000000000000
00bc: 01521d7002ff c005202fdc8a 404700035d71 000000000000
00c0: 4008a0037008 80240103c23b 433a5173a00b 80250203b23b
00c4: c001a0035d48 8001a4035d48 9062cd0bb240 000000000000
00c8: 80635c030200 000812030008 40634703c200 00635c038200
00cc: c0540f030230 000000000000 0c4b8027b000 402100030c31
00d0: c0a100031ef1 c0a100032ef2 00620a1b3200 c040d803ce48
00d4: 000000000000 8e750003203c 000000000000 000000000000
00d8: 000000000000 000000000000 000000000000 000000000000
00dc: 000000000000 000000000000 000000000000 000000000000
00e0: 000000000000 000000000000 000000000000 000000000000
00e4: 000000000000 000000000000 000000000000 000000000000
00e8: 000000000000 000000000000 000000000000 000000000000
00ec: 000000000000 000000000000 000000000000 000000000000
00f0: 000000000000 000000000000 000000000000 000000000000
00f4: 000000000000 000000000000 000000000000 000000000000
00f8: 000000000000 000000000000 000000000000 000000000000
00fc: 000000000000 000000000000 000000000000 000000000000
0100: c21e0303d23d 000000000000 400100030030 4004f007ffd0
0104: c048fe7fc00a 586b119c0231 800509031c88 400c24f002c0
0108: 2d0ba0030008 40880003a031 c042bb1c0200 800800000000
010c: 8e750003203c c86a1d50037f 417000035d71 29632b040600
0110: a0437f00023e 00634503f200 80630c03f200 80210003fcbf
0114: 806306030200 1062850f1240 800c1c300280 d962dd480300
0118: 80850803ffc8 40330003ff7f 40850b03ffc8 00080003203a
011c: 800800000000 00436100023e 40620403f200 c0620c03f200
0120: 792886f1073f 000e0c000200 80000883ef88 39289a310fbf
0124: 40641003e23e 786b41f103ff a9626dc003c0 0007070b9e48
0128: 800800000000 4eff00000000 c0520568027a 9062b40b0240
012c: c0632b031200 2d0be41e100a 1062e70b1240 0042bb1c0235
0130: a0435c00023f 40250403f23f 800155020c08 41080003f010
0134: 386b4e00003f 80638e03f200 c02510032235 f92839710231
0138: 9062800b2240 805410030230 80a100070c08 40880003a031
013c: c005883f1c8a 41312203d23d 7d0b00031c88 80632003b200
0140: 400580079e48 c0003427c23c 40141e03b23d b92912b5033b
0144: 392916b503fb c06430035235 40047003bec8 9062800b2240
0148: 805410030230 80a100070c08 100a00000380 001407038238
014c: 813e75338c08 c062fe1f0200 cc4b802b1000 8c4b802fb000
0150: 0c4b8033b000 802100031c72 80620d074200 c00e05000200
0154: 000000000000 804800035d72 000000000000 000000000000
0158: 000000000000 000000000000 000000000000 000000000000
015c: 000000000000 000000000000 000000000000 000000000000
0160: 000000000000 000000000000 000000000000 000000000000
0164: 000000000000 000000000000 000000000000 000000000000
0168: 000000000000 000000000000 000000000000 000000000000
016c: 000000000000 000000000000 000000000000 000000000000
0170: 000000000000 000000000000 000000000000 000000000000
0174: 000000000000 000000000000 000000000000 000000000000
0178: 000000000000 000000000000 000000000000 000000000000
017c: 000000000000 000000000000 000000000000 000000000000
0180: c00000000000 000000000000 400000000000 400000000000
0184: c00000000000 400000000000 800000000000 400000000000
0188: 000000000000 400000000000 c00000000000 800000000000
018c: 800000000000 c00000000000 400000000000 000000000000
0190: 800000000000 000000000000 800000000000 800000000000
0194: 800000000000 000000000000 800000000000 c00000000000
0198: 800000000000 400000000000 400000000000 000000000000
019c: 800000000000 000000000000 400000000000 c00000000000
01a0: 400000000000 000000000000 800000000000 000000000000
01a4: 400000000000 400000000000 800000000000 000000000000
01a8: 800000000000 400000000000 c00000000000 800000000000
01ac: c00000000000 000000000000 000000000000 000000000000
01b0: 800000000000 400000000000 800000000000 400000000000
01b4: 000000000000 800000000000 c00000000000 c00000000000
01b8: 800000000000 800000000000 800000000000 400000000000
01bc: c00000000000 400000000000 400000000000 800000000000
01c0: 400000000000 c00000000000 400000000000 800000000000
01c4: 000000000000 c00000000000 400000000000 800000000000
01c8: 800000000000 800000000000 000000000000 000000000000
01cc: 800000000000 c00000000000 c00000000000 800000000000
01d0: 000000000000 800000000000 800000000000 c00000000000
01d4: 000000000000 800000000000 000000000000 000000000000
01d8: 000000000000 000000000000 000000000000 000000000000
01dc: 000000000000 000000000000 000000000000 000000000000
01e0: 000000000000 000000000000 000000000000 000000000000
01e4: 000000000000 000000000000 000000000000 000000000000
01e8: 000000000000 000000000000 000000000000 000000000000
01ec: 000000000000 000000000000 000000000000 000000000000
01f0: 000000000000 000000000000 000000000000 000000000000
01f4: 000000000000 000000000000 000000000000 000000000000
01f8: 000000000000 000000000000 000000000000 000000000000
01fc: 000000000000 000000000000 000000000000 000000000000
Loading

0 comments on commit 0e7f3e7

Please sign in to comment.