The PadLock instruction set can be divided into four subsets:3
The padlock capability is indicated via a CPUID instruction with EAX = 0xC0000000. If the resultant EAX >= 0xC0000001, the CPU is aware of Centaur features. An additional request with EAX = 0xC0000001 then returns PadLock support in EDX. The padlock capability can be toggled on or off with MSR 0X1107.4
VIA PadLock found on some Zhaoxin CPUs have SM3 hashing and SM4 block cipher added.5
See also: List of VIA microprocessors
"VIA PadLock Programming Guide". August 4, 2005. Archived from the original on May 26, 2010. https://web.archive.org/web/20100526054140/http://linux.via.com.tw/support/beginDownload.action?eleid=181&fid=261 ↩
"VIA PadLock - Wicked Fast Encryption". www.logix.cz. http://www.logix.cz/michal/doc/article.xp/padlock-en ↩
"Kaixian ZX-C+ Series 4-core CPU". Shanghai Zhaoxin Semiconductor Co., Ltd. http://en.zhaoxin.com/ZXC.aspx?seriesid=5 ↩
"VIA PadLock support for Linux". www.logix.cz. http://www.logix.cz/michal/devel/padlock/ ↩
padlock(4) – FreeBSD Kernel Interfaces Manual https://www.freebsd.org/cgi/man.cgi?query=padlock&sektion=4 ↩
"openssl/engines/e_padlock.c". GitHub. 26 November 2022. https://github.com/openssl/openssl/blob/master/engines/e_padlock.c ↩
"Added new instructions for next version of VIA PadLock core. · bminor/binutils-gdb@30d1c83". GitHub. https://github.com/bminor/binutils-gdb/commit/30d1c83669cde497bd6816d05b62e1cfd37146d2#diff-7b0511339617c8293942595285f45b07 ↩