Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Openssl
提交
299ccadc
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看板
提交
299ccadc
编写于
4月 23, 2016
作者:
A
Andy Polyakov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
crypto/sparc_arch.h: reserve more SPARCv9 capability bits.
Reviewed-by:
N
Richard Levitte
<
levitte@openssl.org
>
上级
a82a9f71
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
20 addition
and
6 deletion
+20
-6
crypto/sparc_arch.h
crypto/sparc_arch.h
+8
-1
crypto/sparcv9cap.c
crypto/sparcv9cap.c
+12
-5
未找到文件。
crypto/sparc_arch.h
浏览文件 @
299ccadc
...
@@ -5,12 +5,16 @@
...
@@ -5,12 +5,16 @@
# define SPARCV9_PREFER_FPU (1<<1)
# define SPARCV9_PREFER_FPU (1<<1)
# define SPARCV9_VIS1 (1<<2)
# define SPARCV9_VIS1 (1<<2)
# define SPARCV9_VIS2 (1<<3)
/* reserved */
# define SPARCV9_VIS2 (1<<3)
/* reserved */
# define SPARCV9_FMADD (1<<4)
/* reserved for SPARC64 V */
# define SPARCV9_FMADD (1<<4)
# define SPARCV9_BLK (1<<5)
/* VIS1 block copy */
# define SPARCV9_BLK (1<<5)
/* VIS1 block copy */
# 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 */
# define SPARCV9_FJAESX (1<<9)
/* Fujitsu SPARC64 X AES */
# define SPARCV9_FJDESX (1<<10)
/* Fujitsu SPARC64 X DES, reserved */
# define SPARCV9_FJHPCACE (1<<11)
/* Fujitsu HPC-ACE, reserved */
# define SPARCV9_IMA (1<<13)
/* reserved */
# define SPARCV9_VIS4 (1<<14)
/* reserved */
/*
/*
* OPENSSL_sparcv9cap_P[1] is copy of Compatibility Feature Register,
* OPENSSL_sparcv9cap_P[1] is copy of Compatibility Feature Register,
...
@@ -29,6 +33,9 @@
...
@@ -29,6 +33,9 @@
# define CFR_MONTMUL 0x00000200
/* Supports MONTMUL opcodes */
# define CFR_MONTMUL 0x00000200
/* Supports MONTMUL opcodes */
# define CFR_MONTSQR 0x00000400
/* Supports MONTSQR opcodes */
# define CFR_MONTSQR 0x00000400
/* Supports MONTSQR opcodes */
# define CFR_CRC32C 0x00000800
/* Supports CRC32C opcodes */
# define CFR_CRC32C 0x00000800
/* Supports CRC32C opcodes */
# define CFR_XMPMUL 0x00001000
/* Supports XMPMUL opcodes */
# define CFR_XMONTMUL 0x00002000
/* Supports XMONTMUL opcodes */
# define CFR_XMONTSQR 0x00004000
/* Supports XMONTSQR opcodes */
# if defined(OPENSSL_PIC) && !defined(__PIC__)
# if defined(OPENSSL_PIC) && !defined(__PIC__)
# define __PIC__
# define __PIC__
...
...
crypto/sparcv9cap.c
浏览文件 @
299ccadc
...
@@ -149,17 +149,24 @@ void OPENSSL_cpuid_setup(void)
...
@@ -149,17 +149,24 @@ 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
]
&
0x00020
)
OPENSSL_sparcv9cap_P
[
0
]
|=
SPARCV9_VIS1
;
if
(
vec
[
0
]
&
0x0040
)
OPENSSL_sparcv9cap_P
[
0
]
|=
SPARCV9_VIS2
;
if
(
vec
[
0
]
&
0x00040
)
OPENSSL_sparcv9cap_P
[
0
]
|=
SPARCV9_VIS2
;
if
(
vec
[
0
]
&
0x0080
)
OPENSSL_sparcv9cap_P
[
0
]
|=
SPARCV9_BLK
;
if
(
vec
[
0
]
&
0x00080
)
OPENSSL_sparcv9cap_P
[
0
]
|=
SPARCV9_BLK
;
if
(
vec
[
0
]
&
0x0100
)
OPENSSL_sparcv9cap_P
[
0
]
|=
SPARCV9_FMADD
;
if
(
vec
[
0
]
&
0x00100
)
OPENSSL_sparcv9cap_P
[
0
]
|=
SPARCV9_FMADD
;
if
(
vec
[
0
]
&
0x0400
)
OPENSSL_sparcv9cap_P
[
0
]
|=
SPARCV9_VIS3
;
if
(
vec
[
0
]
&
0x00400
)
OPENSSL_sparcv9cap_P
[
0
]
|=
SPARCV9_VIS3
;
if
(
vec
[
0
]
&
0x01000
)
OPENSSL_sparcv9cap_P
[
0
]
|=
SPARCV9_FJHPCACE
;
if
(
vec
[
0
]
&
0x02000
)
OPENSSL_sparcv9cap_P
[
0
]
|=
SPARCV9_FJDESX
;
if
(
vec
[
0
]
&
0x08000
)
OPENSSL_sparcv9cap_P
[
0
]
|=
SPARCV9_IMA
;
if
(
vec
[
0
]
&
0x10000
)
OPENSSL_sparcv9cap_P
[
0
]
|=
SPARCV9_FJAESX
;
if
(
vec
[
0
]
&
0x10000
)
OPENSSL_sparcv9cap_P
[
0
]
|=
SPARCV9_FJAESX
;
if
(
vec
[
1
]
&
0x00008
)
OPENSSL_sparcv9cap_P
[
0
]
|=
SPARCV9_VIS4
;
/* reconstruct %cfr copy */
/* reconstruct %cfr copy */
OPENSSL_sparcv9cap_P
[
1
]
=
(
vec
[
0
]
>>
17
)
&
0x3ff
;
OPENSSL_sparcv9cap_P
[
1
]
=
(
vec
[
0
]
>>
17
)
&
0x3ff
;
OPENSSL_sparcv9cap_P
[
1
]
|=
(
OPENSSL_sparcv9cap_P
[
1
]
&
CFR_MONTMUL
)
<<
1
;
OPENSSL_sparcv9cap_P
[
1
]
|=
(
OPENSSL_sparcv9cap_P
[
1
]
&
CFR_MONTMUL
)
<<
1
;
if
(
vec
[
0
]
&
0x20000000
)
OPENSSL_sparcv9cap_P
[
1
]
|=
CFR_CRC32C
;
if
(
vec
[
0
]
&
0x20000000
)
OPENSSL_sparcv9cap_P
[
1
]
|=
CFR_CRC32C
;
if
(
vec
[
1
]
&
0x00000020
)
OPENSSL_sparcv9cap_P
[
1
]
|=
CFR_XMPMUL
;
if
(
vec
[
1
]
&
0x00000040
)
OPENSSL_sparcv9cap_P
[
1
]
|=
CFR_XMONTMUL
|
CFR_XMONTSQR
;
/* Some heuristics */
/* Some heuristics */
/* all known VIS2-capable CPUs have unprivileged tick counter */
/* all known VIS2-capable CPUs have unprivileged tick counter */
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录