Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
4400f6c6
T
Third Party Openssl
项目概览
OpenHarmony
/
Third Party Openssl
接近 2 年 前同步成功
通知
12
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看板
提交
4400f6c6
编写于
4月 19, 2016
作者:
A
Andy Polyakov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
sparcv9cap.c: add Fujitsu SPARC64 X AES capability detection.
Reviewed-by:
N
Richard Levitte
<
levitte@openssl.org
>
上级
fb65020b
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
20 addition
and
5 deletion
+20
-5
crypto/sparc_arch.h
crypto/sparc_arch.h
+1
-0
crypto/sparccpuid.S
crypto/sparccpuid.S
+8
-0
crypto/sparcv9cap.c
crypto/sparcv9cap.c
+11
-5
未找到文件。
crypto/sparc_arch.h
浏览文件 @
4400f6c6
...
@@ -10,6 +10,7 @@
...
@@ -10,6 +10,7 @@
# define SPARCV9_VIS3 (1<<6)
# define SPARCV9_VIS3 (1<<6)
# define SPARCV9_RANDOM (1<<7)
# define SPARCV9_RANDOM (1<<7)
# define SPARCV9_64BIT_STACK (1<<8)
# define SPARCV9_64BIT_STACK (1<<8)
# define SPARCV9_FJAESX (1<<9)
/* Fujitsu SPARC64 X AES */
/*
/*
* OPENSSL_sparcv9cap_P[1] is copy of Compatibility Feature Register,
* OPENSSL_sparcv9cap_P[1] is copy of Compatibility Feature Register,
...
...
crypto/sparccpuid.S
浏览文件 @
4400f6c6
...
@@ -349,6 +349,14 @@ _sparcv9_random:
...
@@ -349,6 +349,14 @@ _sparcv9_random:
.
type
_sparcv9_random
,#
function
.
type
_sparcv9_random
,#
function
.
size
_sparcv9_random
,.-
_sparcv9_vis3_probe
.
size
_sparcv9_random
,.-
_sparcv9_vis3_probe
.
global
_sparcv9_fjaesx_probe
.
align
8
_sparcv9_fjaesx_probe
:
.
word
0x81b09206
!
faesencx
%f2
,
%f6
,
%f0
retl
nop
.
size
_sparcv9_fjaesx_probe
,.-
_sparcv9_fjaesx_probe
.
global
OPENSSL_cleanse
.
global
OPENSSL_cleanse
.
align
32
.
align
32
OPENSSL_cleanse
:
OPENSSL_cleanse
:
...
...
crypto/sparcv9cap.c
浏览文件 @
4400f6c6
...
@@ -149,11 +149,12 @@ void OPENSSL_cpuid_setup(void)
...
@@ -149,11 +149,12 @@ void OPENSSL_cpuid_setup(void)
unsigned
int
vec
[
1
];
unsigned
int
vec
[
1
];
if
(
getisax
(
vec
,
1
))
{
if
(
getisax
(
vec
,
1
))
{
if
(
vec
[
0
]
&
0x0020
)
OPENSSL_sparcv9cap_P
[
0
]
|=
SPARCV9_VIS1
;
if
(
vec
[
0
]
&
0x0020
)
OPENSSL_sparcv9cap_P
[
0
]
|=
SPARCV9_VIS1
;
if
(
vec
[
0
]
&
0x0040
)
OPENSSL_sparcv9cap_P
[
0
]
|=
SPARCV9_VIS2
;
if
(
vec
[
0
]
&
0x0040
)
OPENSSL_sparcv9cap_P
[
0
]
|=
SPARCV9_VIS2
;
if
(
vec
[
0
]
&
0x0080
)
OPENSSL_sparcv9cap_P
[
0
]
|=
SPARCV9_BLK
;
if
(
vec
[
0
]
&
0x0080
)
OPENSSL_sparcv9cap_P
[
0
]
|=
SPARCV9_BLK
;
if
(
vec
[
0
]
&
0x0100
)
OPENSSL_sparcv9cap_P
[
0
]
|=
SPARCV9_FMADD
;
if
(
vec
[
0
]
&
0x0100
)
OPENSSL_sparcv9cap_P
[
0
]
|=
SPARCV9_FMADD
;
if
(
vec
[
0
]
&
0x0400
)
OPENSSL_sparcv9cap_P
[
0
]
|=
SPARCV9_VIS3
;
if
(
vec
[
0
]
&
0x0400
)
OPENSSL_sparcv9cap_P
[
0
]
|=
SPARCV9_VIS3
;
if
(
vec
[
0
]
&
0x10000
)
OPENSSL_sparcv9cap_P
[
0
]
|=
SPARCV9_FJAESX
;
/* reconstruct %cfr copy */
/* reconstruct %cfr copy */
OPENSSL_sparcv9cap_P
[
1
]
=
(
vec
[
0
]
>>
17
)
&
0x3ff
;
OPENSSL_sparcv9cap_P
[
1
]
=
(
vec
[
0
]
>>
17
)
&
0x3ff
;
...
@@ -233,6 +234,11 @@ void OPENSSL_cpuid_setup(void)
...
@@ -233,6 +234,11 @@ void OPENSSL_cpuid_setup(void)
OPENSSL_sparcv9cap_P
[
0
]
|=
SPARCV9_VIS3
;
OPENSSL_sparcv9cap_P
[
0
]
|=
SPARCV9_VIS3
;
}
}
if
(
sigsetjmp
(
common_jmp
,
1
)
==
0
)
{
_sparcv9_fjaesx_probe
();
OPENSSL_sparcv9cap_P
[
0
]
|=
SPARCV9_FJAESX
;
}
/*
/*
* In wait for better solution _sparcv9_rdcfr is masked by
* In wait for better solution _sparcv9_rdcfr is masked by
* VIS3 flag, because it goes to uninterruptable endless
* VIS3 flag, because it goes to uninterruptable endless
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录