Commit bfdd0bb8 authored by Jeremy Soller's avatar Jeremy Soller

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
......@@ -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];
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment