{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":33881440,"defaultBranch":"master","name":"cpuid","ownerLogin":"klauspost","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2015-04-13T16:57:56.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/5663952?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1708511111.0","currentOid":""},"activityList":{"items":[{"before":"079334faa19def5ba303836757bc2e4e2a5ebda2","after":null,"ref":"refs/heads/add-amd-srso","pushedAt":"2024-02-21T10:21:21.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"klauspost","name":"Klaus Post","path":"/klauspost","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5663952?s=80&v=4"}},{"before":"f89c8c58bdd5348f54ac22d0d58cf797c35bdc2b","after":"486f6ae65fec6bbb15e6f6bff15036f7bc50d4c4","ref":"refs/heads/master","pushedAt":"2024-02-21T10:21:20.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"klauspost","name":"Klaus Post","path":"/klauspost","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5663952?s=80&v=4"},"commit":{"message":"Add AMD Speculative Return Stack Overflow (SRSO) (#143)\n\nReference: https://www.amd.com/content/dam/amd/en/documents/corporate/cr/speculative-return-stack-overflow-whitepaper.pdf","shortMessageHtmlLink":"Add AMD Speculative Return Stack Overflow (SRSO) (#143)"}},{"before":null,"after":"079334faa19def5ba303836757bc2e4e2a5ebda2","ref":"refs/heads/add-amd-srso","pushedAt":"2024-02-21T10:19:54.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"klauspost","name":"Klaus Post","path":"/klauspost","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5663952?s=80&v=4"},"commit":{"message":"Add AMD Speculative Return Stack Overflow (SRSO)\n\nReference: https://www.amd.com/content/dam/amd/en/documents/corporate/cr/speculative-return-stack-overflow-whitepaper.pdf","shortMessageHtmlLink":"Add AMD Speculative Return Stack Overflow (SRSO)"}},{"before":"af2b49af3e8339dd30caf1f61039376b920dbcdd","after":"f89c8c58bdd5348f54ac22d0d58cf797c35bdc2b","ref":"refs/heads/master","pushedAt":"2023-11-13T08:26:43.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"klauspost","name":"Klaus Post","path":"/klauspost","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5663952?s=80&v=4"},"commit":{"message":"Add AMD Memory Encrypt detection (#140)\n\nThis patch detects additional information of the AMD Memory Encryption\r\nfeature.\r\n\r\n[0]:\r\nhttps://www.amd.com/content/dam/amd/en/documents/processor-tech-docs/programmer-references/24594.pdf\r\ntable E.4.17\r\n\r\nSigned-off-by: Changyuan Lyu ","shortMessageHtmlLink":"Add AMD Memory Encrypt detection (#140)"}},{"before":"3a00e73348c959330a0c0346a77696e81fd8dc0d","after":"af2b49af3e8339dd30caf1f61039376b920dbcdd","ref":"refs/heads/master","pushedAt":"2023-11-06T16:15:15.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"klauspost","name":"Klaus Post","path":"/klauspost","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5663952?s=80&v=4"},"commit":{"message":"workflows: Update actions and golang versions used (#139)\n\n* workflows: Bump golang versions\r\n\r\nSigned-off-by: Fabiano Fidêncio ","shortMessageHtmlLink":"workflows: Update actions and golang versions used (#139)"}},{"before":"21e1a5b255d75c307a62dd13c98c7deb92c8b629","after":"3a00e73348c959330a0c0346a77696e81fd8dc0d","ref":"refs/heads/master","pushedAt":"2023-11-06T15:14:15.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"klauspost","name":"Klaus Post","path":"/klauspost","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5663952?s=80&v=4"},"commit":{"message":"Detect TDX Guest when it's virtualised using Hyper-V (#138)\n\nMicrosoft has decided to purposefully hide the information of the guest\r\nTEE when VMs are being created using Hyper-V.\r\n\r\nThis leads us to check for the Hyper-V cpuid features (0x4000000C), and\r\nthen for the `ebx` value set.\r\n\r\nFor Intel TDX, `ebx` is set as `0xbe3`, being 3 the part we're mostly\r\ninterested about,according to:\r\nhttps://github.com/torvalds/linux/blob/d2f51b3516dade79269ff45eae2a7668ae711b25/arch/x86/include/asm/hyperv-tlfs.h#L169-L174\r\n\r\nNOTE: On the tests side, we had to manually override the cpuid in order\r\nto avoid the tests failing, and this was suggested by Klaus himself.\r\n\r\nSigned-off-by: Fabiano Fidêncio ","shortMessageHtmlLink":"Detect TDX Guest when it's virtualised using Hyper-V (#138)"}},{"before":"fb9f47dca4671f874d46b6466f6094c38327d7ab","after":null,"ref":"refs/heads/klauspost-patch-1","pushedAt":"2023-10-31T07:55:08.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"klauspost","name":"Klaus Post","path":"/klauspost","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5663952?s=80&v=4"}},{"before":"666b9f56369ee32d4a16c56b0cf8af9074f5fb10","after":"21e1a5b255d75c307a62dd13c98c7deb92c8b629","ref":"refs/heads/master","pushedAt":"2023-10-31T07:55:08.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"klauspost","name":"Klaus Post","path":"/klauspost","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5663952?s=80&v=4"},"commit":{"message":"Update README.md (#136)","shortMessageHtmlLink":"Update README.md (#136)"}},{"before":null,"after":"fb9f47dca4671f874d46b6466f6094c38327d7ab","ref":"refs/heads/klauspost-patch-1","pushedAt":"2023-10-31T07:40:49.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"klauspost","name":"Klaus Post","path":"/klauspost","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5663952?s=80&v=4"},"commit":{"message":"Update README.md","shortMessageHtmlLink":"Update README.md"}},{"before":"fb22501d178cf3bf2a0c552f3a5e85a80f9e1216","after":null,"ref":"refs/heads/add-apx-avx10-keylocker","pushedAt":"2023-07-25T14:16:49.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"klauspost","name":"Klaus Post","path":"/klauspost","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5663952?s=80&v=4"}},{"before":"1af2d99c24e60b21f4c8e8ea63ed69523ebbbb16","after":"666b9f56369ee32d4a16c56b0cf8af9074f5fb10","ref":"refs/heads/master","pushedAt":"2023-07-25T14:16:48.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"klauspost","name":"Klaus Post","path":"/klauspost","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5663952?s=80&v=4"},"commit":{"message":"Add Intel apx, avx10, keylocker (#134)\n\n* Add Intel APX/AVX10/Keylocker\r\n* Bump CI\r\n* Add to command as well.\r\n\r\nOnly KEYLOCKER has been released in the wild, AFAIK.","shortMessageHtmlLink":"Add Intel apx, avx10, keylocker (#134)"}},{"before":"a65cb8e0e1397fcd4d256f5dd84b77a2304fa91b","after":"fb22501d178cf3bf2a0c552f3a5e85a80f9e1216","ref":"refs/heads/add-apx-avx10-keylocker","pushedAt":"2023-07-25T13:11:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"klauspost","name":"Klaus Post","path":"/klauspost","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5663952?s=80&v=4"},"commit":{"message":"Add to command as well.","shortMessageHtmlLink":"Add to command as well."}},{"before":"51a5d0b287f1eacc906f57aa93b233caf3a80f76","after":"a65cb8e0e1397fcd4d256f5dd84b77a2304fa91b","ref":"refs/heads/add-apx-avx10-keylocker","pushedAt":"2023-07-25T11:18:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"klauspost","name":"Klaus Post","path":"/klauspost","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5663952?s=80&v=4"},"commit":{"message":"Bump CI","shortMessageHtmlLink":"Bump CI"}},{"before":"8e62f2cd5163f86591690e92a437fe2e610f7400","after":"51a5d0b287f1eacc906f57aa93b233caf3a80f76","ref":"refs/heads/add-apx-avx10-keylocker","pushedAt":"2023-07-25T11:15:41.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"klauspost","name":"Klaus Post","path":"/klauspost","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5663952?s=80&v=4"},"commit":{"message":"Merge branch 'master' into add-apx-avx10-keylocker\n\n# Conflicts:\n#\tfeatureid_string.go","shortMessageHtmlLink":"Merge branch 'master' into add-apx-avx10-keylocker"}},{"before":null,"after":"8e62f2cd5163f86591690e92a437fe2e610f7400","ref":"refs/heads/add-apx-avx10-keylocker","pushedAt":"2023-07-25T11:12:21.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"klauspost","name":"Klaus Post","path":"/klauspost","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5663952?s=80&v=4"},"commit":{"message":"Add Intel APX/AVX10/Keylocker\n\nOnly KEYLOCKER has been released in the wild, AFAIK.","shortMessageHtmlLink":"Add Intel APX/AVX10/Keylocker"}},{"before":"9f2b0508aa720b961ebf32382611c79174e11a10","after":null,"ref":"refs/heads/v2","pushedAt":"2023-06-02T15:15:12.993Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"klauspost","name":"Klaus Post","path":"/klauspost","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5663952?s=80&v=4"}},{"before":"e2b4c95a07e87136558f8178c4ce94d2aa01b717","after":null,"ref":"refs/heads/avx512new","pushedAt":"2023-06-02T15:15:08.445Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"klauspost","name":"Klaus Post","path":"/klauspost","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5663952?s=80&v=4"}},{"before":"27e68e2dd28188c5cb0a6decde7420b2935277f3","after":null,"ref":"refs/heads/zero-ecx-always","pushedAt":"2023-06-02T15:14:54.458Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"klauspost","name":"Klaus Post","path":"/klauspost","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5663952?s=80&v=4"}},{"before":"9374f1aa7a498c1153a7c3d53817573799c37528","after":null,"ref":"refs/heads/disable-gccgo-build","pushedAt":"2023-06-02T15:14:53.248Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"klauspost","name":"Klaus Post","path":"/klauspost","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5663952?s=80&v=4"}},{"before":"6e3e8d6fbacc56fa2b77f2188071cff0067fc0f8","after":null,"ref":"refs/heads/add-ibs-detection","pushedAt":"2023-06-02T15:14:51.120Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"klauspost","name":"Klaus Post","path":"/klauspost","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5663952?s=80&v=4"}},{"before":"7b0c0a2fc0b1f166db5f8d5a78004baea71e8d2c","after":"1af2d99c24e60b21f4c8e8ea63ed69523ebbbb16","ref":"refs/heads/master","pushedAt":"2023-06-02T15:11:24.787Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"klauspost","name":"Klaus Post","path":"/klauspost","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5663952?s=80&v=4"},"commit":{"message":"Add TDX Guest detection (#132)\n\nWe need to be able to detect that a guest is running using Intel TDX\r\n(Trusted Domain Extensions).\r\n\r\nAs the TDX Guests have their own cpuid leaf (0x21, 0), we can easily\r\ndetected them by checking its cpuid.\r\n\r\nTHe information provided here can be confirmed in the Intel TDX Module\r\nv1.5 Base Architecture Specificication[0], section 11.2 \"Guest TD Run\r\nTime Environment Enumeration\".\r\n\r\nWhat we're exposing, in the end, is a new feature called \"TDX_GUEST\",\r\nand this is the result of running cpuid with this patch applied on a TDX\r\nguest VM, and on a \"vanilla\" guest VM.\r\n\r\nTDX Guest VM:\r\n```\r\nName:\r\nVendor String: GenuineIntel\r\nVendor ID: Intel\r\nPhysicalCores: 0\r\nThreads Per Core: 1\r\nLogical Cores: 0\r\nCPU Family 6 Model: 143 Stepping: 4\r\nFeatures: ADX,AESNI,AMXBF16,AMXINT8,AMXTILE,AVX,AVX2,AVX512BF16,AVX512BITALG,AVXX\r\n512BW,AVX512CD,AVX512DQ,AVX512F,AVX512FP16,AVX512IFMA,AVX512VBMI,AVX512VBMI2,AVXX\r\n512VL,AVX512VNNI,AVX512VPOPCNTDQ,AVXVNNI,AVXVNNIINT8,BMI1,BMI2,CLDEMOTE,CLMUL,CMM\r\nOV,CMPSB_SCADBS_SHORT,CMPXCHG8,CX16,ERMS,F16C,FLUSH_L1D,FMA3,FSRM,FXSR,FXSROPT,GG\r\nFNI,HLE,HYPERVISOR,IA32_ARCH_CAP,IA32_CORE_CAP,IBPB,LAHF,LZCNT,MD_CLEAR,MMX,MOVBB\r\nE,MOVDIR64B,MOVDIRI,MOVSB_ZL,NX,OSXSAVE,POPCNT,PREFETCHI,RDRAND,RDSEED,RDTSCP,RTT\r\nM,SERIALIZE,SHA,SPEC_CTRL_SSBD,SSE,SSE2,SSE3,SSE4,SSE42,SSSE3,STIBP,STOSB_SHORT,,\r\nSYSCALL,SYSEE,TDX_GUEST,TSXLDTRK,VAES,VPCLMULQDQ,WAITPKG,WBNOINVD,X87,XGETBV1,XSS\r\nAVE,XSAVEC,XSAVEOPT,XSAVES\r\nMicroarchitecture level: 4\r\nCacheline bytes: 64\r\nL1 Instruction Cache: 32768 bytes\r\nL1 Data Cache: 32768 bytes\r\nL2 Cache: 4194304 bytes\r\nL3 Cache: 16777216 bytes\r\nFrequency: 1000000000 Hz\r\n```\r\n\r\nVanilla Guest VM:\r\n```\r\nName: Genuine Intel(R) CPU 0000%@\r\nVendor String: GenuineIntel\r\nVendor ID: Intel\r\nPhysicalCores: 1\r\nThreads Per Core: 1\r\nLogical Cores: 1\r\nCPU Family 6 Model: 143 Stepping: 4\r\nFeatures: ADX,AESNI,AMXBF16,AMXINT8,AMXTILE,AVX,AVX2,AVX512BF16,AVX512BITALG,AVXX\r\n512BW,AVX512CD,AVX512DQ,AVX512F,AVX512FP16,AVX512IFMA,AVX512VBMI,AVX512VBMI2,AVXX\r\n512VL,AVX512VNNI,AVX512VPOPCNTDQ,AVXVNNI,AVXVNNIINT8,BMI1,BMI2,CLDEMOTE,CLMUL,CMM\r\nOV,CMPXCHG8,CX16,ERMS,F16C,FMA3,FSRM,FXSR,FXSROPT,GFNI,HLE,HYPERVISOR,IA32_ARCH__\r\nCAP,IBPB,IBRS,LAHF,LZCNT,MD_CLEAR,MMX,MOVBE,MOVDIR64B,MOVDIRI,NX,OSXSAVE,POPCNT,,\r\nPREFETCHI,RDRAND,RDSEED,RDTSCP,RTM,SERIALIZE,SGX,SGXLC,SHA,SPEC_CTRL_SSBD,SSE,SSS\r\nE2,SSE3,SSE4,SSE42,SSSE3,STIBP,SYSCALL,SYSEE,TSXLDTRK,VAES,VMX,VPCLMULQDQ,WAITPKK\r\nG,WBNOINVD,X87,XGETBV1,XSAVE,XSAVEC,XSAVEOPT,XSAVES\r\nMicroarchitecture level: 4\r\nCacheline bytes: 64\r\nL1 Instruction Cache: 32768 bytes\r\nL1 Data Cache: 32768 bytes\r\nL2 Cache: 4194304 bytes\r\nL3 Cache: 16777216 bytes\r\nSGX: {Available:true LaunchControl:true SGX1Supported:true SGX2Supported:true Maa\r\nxEnclaveSizeNot64:2147483648 MaxEnclaveSize64:72057594037927936 EPCSections:[]}\r\n```\r\n\r\n[0]: https://cdrdv2.intel.com/v1/dl/getContent/733575\r\n\r\nSigned-off-by: Fabiano Fidêncio ","shortMessageHtmlLink":"Add TDX Guest detection (#132)"}},{"before":"d685acd433f5dde4e315aa5b1eb8e72b9ecce117","after":"7b0c0a2fc0b1f166db5f8d5a78004baea71e8d2c","ref":"refs/heads/master","pushedAt":"2023-06-02T14:07:39.756Z","pushType":"push","commitsCount":1,"pusher":{"login":"klauspost","name":"Klaus Post","path":"/klauspost","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5663952?s=80&v=4"},"commit":{"message":"Fix AVXVNNIINT8, AVXNECONVERT, PREFETCHI\n\nReplaces #131","shortMessageHtmlLink":"Fix AVXVNNIINT8, AVXNECONVERT, PREFETCHI"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEAK6UPQA","startCursor":null,"endCursor":null}},"title":"Activity · klauspost/cpuid"}