Software APIs
Main Page
File List
Globals
All
a
b
c
d
e
g
h
i
k
l
m
o
p
r
s
t
u
w
Functions
a
b
c
d
g
h
i
l
m
o
p
r
s
t
u
w
Variables
k
t
Typedefs
a
b
c
d
h
i
l
m
o
r
s
t
u
Enumerations
b
d
h
i
l
o
s
t
Enumerator
k
Macros
a
c
d
e
h
i
l
m
o
p
s
t
u
Data Structures
Data Structures
Data Structure Index
Class Hierarchy
Data Fields
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
y
Functions
a
b
c
d
e
f
g
h
i
k
m
o
p
r
s
t
w
Variables
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
y
Enumerations
Enumerator
sw
device
lib
base
hardened.c
1
// Copyright lowRISC contributors (OpenTitan project).
2
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
3
// SPDX-License-Identifier: Apache-2.0
4
5
#include "
sw/device/lib/base/hardened.h
"
6
7
// `extern` declarations to give the inline functions in the corresponding
8
// header a link location.
9
10
extern
uint32_t launder32(uint32_t);
11
extern
uintptr_t
launderw
(uintptr_t);
12
extern
void
barrier32
(uint32_t);
13
extern
void
barrierw
(uintptr_t);
14
15
extern
ct_bool32_t
ct_sltz32
(int32_t);
16
extern
ct_bool32_t
ct_sltu32
(uint32_t, uint32_t);
17
extern
ct_bool32_t
ct_sgeu32(uint32_t, uint32_t);
18
extern
ct_bool32_t
ct_seqz32
(uint32_t);
19
extern
ct_bool32_t
ct_seq32
(uint32_t, uint32_t);
20
extern
uint32_t
ct_cmov32
(
ct_bool32_t
, uint32_t, uint32_t);
21
22
extern
ct_boolw_t
ct_sltzw
(intptr_t);
23
extern
ct_boolw_t
ct_sltuw
(uintptr_t, uintptr_t);
24
extern
ct_boolw_t
ct_sgeuw(uintptr_t, uintptr_t);
25
extern
ct_boolw_t
ct_seqzw
(uintptr_t);
26
extern
ct_boolw_t
ct_seqw
(uintptr_t, uintptr_t);
27
extern
uintptr_t
ct_cmovw
(
ct_boolw_t
, uintptr_t, uintptr_t);
Return to
OpenTitan Documentation