Merge branch 'basic-floating-point-support' into 'aarch64-rebase'
Basic floating point support See merge request redox-os/syscall!62
This commit is contained in:
@@ -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];
|
||||
|
||||
Reference in New Issue
Block a user