Codebase list openssl / 51cf8ba
engines/asm/e_padlock*: add support for Zhaoxin's x86 platform VIA and Shanghai United Investment Co.,Ltd. found Shanghai ZhaoXin, which is a fabless x86 CPU IC design company. ZhaoXin has issued ZX-C, ZX-D x86 processors, which have 'Shanghai' CPU vendor id. Reviewed-by: Andy Polyakov <appro@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/5640) JeffZhao authored 6 years ago Andy Polyakov committed 6 years ago
2 changed file(s) with 20 addition(s) and 2 deletion(s). Raw diff Collapse all Expand all
7272 &cpuid ();
7373 &xor ("eax","eax");
7474 &cmp ("ebx","0x".unpack("H*",'tneC'));
75 &jne (&label("noluck"));
75 &jne (&label("zhaoxin"));
7676 &cmp ("edx","0x".unpack("H*",'Hrua'));
7777 &jne (&label("noluck"));
7878 &cmp ("ecx","0x".unpack("H*",'slua'));
7979 &jne (&label("noluck"));
80 &jmp (&label("zhaoxinEnd"));
81 &set_label("zhaoxin");
82 &cmp ("ebx","0x".unpack("H*",'hS '));
83 &jne (&label("noluck"));
84 &cmp ("edx","0x".unpack("H*",'hgna'));
85 &jne (&label("noluck"));
86 &cmp ("ecx","0x".unpack("H*",' ia'));
87 &jne (&label("noluck"));
88 &set_label("zhaoxinEnd");
8089 &mov ("eax",0xC0000000);
8190 &cpuid ();
8291 &mov ("edx","eax");
5656 cpuid
5757 xor %eax,%eax
5858 cmp \$`"0x".unpack("H*",'tneC')`,%ebx
59 jne .Lnoluck
59 jne .Lzhaoxin
6060 cmp \$`"0x".unpack("H*",'Hrua')`,%edx
6161 jne .Lnoluck
6262 cmp \$`"0x".unpack("H*",'slua')`,%ecx
6363 jne .Lnoluck
64 jmp .LzhaoxinEnd
65 .Lzhaoxin:
66 cmp \$`"0x".unpack("H*",'hS ')`,%ebx
67 jne .Lnoluck
68 cmp \$`"0x".unpack("H*",'hgna')`,%edx
69 jne .Lnoluck
70 cmp \$`"0x".unpack("H*",' ia')`,%ecx
71 jne .Lnoluck
72 .LzhaoxinEnd:
6473 mov \$0xC0000000,%eax
6574 cpuid
6675 mov %eax,%edx