Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
redox-os
syscall
Commits
bfdd0bb8
Commit
bfdd0bb8
authored
Jan 27, 2021
by
Jeremy Soller
Browse files
Merge branch 'basic-floating-point-support' into 'aarch64-rebase'
Basic floating point support See merge request
!62
parents
3029f094
beb880b7
Pipeline
#9042
failed with stages
in 2 minutes and 20 seconds
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
src/arch/aarch64.rs
View file @
bfdd0bb8
...
...
@@ -43,69 +43,6 @@ syscall! {
syscall5
(
a
,
b
,
c
,
d
,
e
,
f
,);
}
/*
pub unsafe fn syscall0(mut a: usize) -> Result<usize> {
llvm_asm!("svc 0"
: "={x0}"(a)
: "{x8}"(a)
: "x0", "x8"
: "volatile");
Error::demux(a)
}
pub unsafe fn syscall1(mut a: usize, b: usize) -> Result<usize> {
llvm_asm!("svc 0"
: "={x0}"(a)
: "{x8}"(a), "{x0}"(b)
: "x0", "x8"
: "volatile");
Error::demux(a)
}
pub unsafe fn syscall2(mut a: usize, b: usize, c: usize) -> Result<usize> {
llvm_asm!("svc 0"
: "={x0}"(a)
: "{x8}"(a), "{x0}"(b), "{x1}"(c)
: "x0", "x1", "x8"
: "volatile");
Error::demux(a)
}
pub unsafe fn syscall3(mut a: usize, b: usize, c: usize, d: usize) -> Result<usize> {
llvm_asm!("svc 0"
: "={x0}"(a)
: "{x8}"(a), "{x0}"(b), "{x1}"(c), "{x2}"(d)
: "x0", "x1", "x2", "x8"
: "volatile");
Error::demux(a)
}
pub unsafe fn syscall4(mut a: usize, b: usize, c: usize, d: usize, e: usize) -> Result<usize> {
llvm_asm!("svc 0"
: "={x0}"(a)
: "{x8}"(a), "{x0}"(b), "{x1}"(c), "{x2}"(d), "{x3}"(e)
: "x0", "x1", "x2", "x3", "x8"
: "volatile");
Error::demux(a)
}
pub unsafe fn syscall5(mut a: usize, b: usize, c: usize, d: usize, e: usize, f: usize)
-> Result<usize> {
llvm_asm!("svc 0"
: "={x0}"(a)
: "{x8}"(a), "{x0}"(b), "{x1}"(c), "{x2}"(d), "{x3}"(e), "{x4}"(f)
: "x0", "x1", "x2", "x3", "x4", "x8"
: "volatile");
Error::demux(a)
}
*/
#[derive(Copy,
Clone,
Debug,
Default)]
#[repr(C)]
pub
struct
IntRegisters
{
...
...
@@ -166,10 +103,13 @@ impl DerefMut for IntRegisters {
}
}
//TODO
#[derive(Clone,
Copy,
Debug,
Default)]
#[repr(packed)]
pub
struct
FloatRegisters
;
pub
struct
FloatRegisters
{
pub
fp_simd_regs
:
[
u128
;
32
],
pub
fpsr
:
u32
,
pub
fpcr
:
u32
}
impl
Deref
for
FloatRegisters
{
type
Target
=
[
u8
];
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment