Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
b5084203
T
Third Party Openssl
项目概览
OpenHarmony
/
Third Party Openssl
大约 1 年 前同步成功
通知
9
Star
18
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
Third Party Openssl
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
b5084203
编写于
5月 18, 2011
作者:
A
Andy Polyakov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
e_padlock.c: make it compile on MacOS X.
上级
b9064221
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
11 addition
and
7 deletion
+11
-7
engines/e_padlock.c
engines/e_padlock.c
+11
-7
未找到文件。
engines/e_padlock.c
浏览文件 @
b5084203
...
...
@@ -458,25 +458,27 @@ padlock_available(void)
eax
=
0x00000000
;
vendor_string
[
12
]
=
0
;
asm
volatile
(
"pushq %%rbx
\n
"
"cpuid
\n
"
"movl %%ebx,(%1)
\n
"
"movl %%edx,4(%1)
\n
"
"movl %%ecx,8(%1)
\n
"
:
"+a"
(
eax
)
:
"r"
(
vendor_string
)
:
"rbx"
,
"rcx"
,
"rdx"
);
"popq %%rbx"
:
"+a"
(
eax
)
:
"r"
(
vendor_string
)
:
"rcx"
,
"rdx"
);
if
(
strcmp
(
vendor_string
,
"CentaurHauls"
)
!=
0
)
return
0
;
/* Check for Centaur Extended Feature Flags presence */
eax
=
0xC0000000
;
asm
volatile
(
"
cpuid
"
:
"+a"
(
eax
)
:
:
"r
bx"
,
"r
cx"
,
"rdx"
);
asm
volatile
(
"
pushq %%rbx; cpuid; popq %%rbx
"
:
"+a"
(
eax
)
:
:
"rcx"
,
"rdx"
);
if
(
eax
<
0xC0000001
)
return
0
;
/* Read the Centaur Extended Feature Flags */
eax
=
0xC0000001
;
asm
volatile
(
"
cpuid
"
:
"+a"
(
eax
),
"=d"
(
edx
)
:
:
"r
bx"
,
"r
cx"
);
asm
volatile
(
"
pushq %%rbx; cpuid; popq %%rbx
"
:
"+a"
(
eax
),
"=d"
(
edx
)
:
:
"rcx"
);
/* Fill up some flags */
padlock_use_ace
=
((
edx
&
(
0x3
<<
6
))
==
(
0x3
<<
6
));
...
...
@@ -532,12 +534,14 @@ static inline void *name(size_t cnt, \
struct padlock_cipher_data *cdata, \
void *out, const void *inp) \
{ void *iv; \
asm volatile ( "leaq 16(%0),%%rdx\n" \
asm volatile ( "pushq %%rbx\n" \
" leaq 16(%0),%%rdx\n" \
" leaq 32(%0),%%rbx\n" \
rep_xcrypt "\n" \
" popq %%rbx" \
: "=a"(iv), "=c"(cnt), "=D"(out), "=S"(inp) \
: "0"(cdata), "1"(cnt), "2"(out), "3"(inp) \
: "r
bx", "r
dx", "cc", "memory"); \
: "rdx", "cc", "memory"); \
return iv; \
}
#endif
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录