edef
40d0923704
add AVX registers to clobbers, do some formatting
...
cover ALL THE REGISTERS. also added rbp, rsp in a comment for
completeness.
2015-01-14 11:27:43 +01:00
edef
299a0a5d98
complete rewrite!
...
featuring 7ns inlineable context switches, no more separately-built
assembly objects, and a vastly nicer interface.
incontext/outcontext are no more, context switch calls now take a single
context structure, which functions as both.
everything now also functions without any heap allocations -- for the
context setup, only an FnOnce() value is necessary.
2015-01-14 11:27:43 +01:00
edef
0729ca8648
yay, Rust beta…
2015-01-13 08:38:52 +01:00
edef
fec3f2eaef
Rust updates
2015-01-09 22:45:39 +01:00
edef
c06c5ea7a0
typo
2014-12-25 12:25:11 +01:00
edef
612e854acb
move {get,set}_sp_limit into Rust-land
2014-12-25 12:24:02 +01:00
edef
b961956ea5
Rust updates (MapOption fixes)
2014-12-25 11:50:48 +01:00
edef
59e723d099
free ourselves from the shackles of libstd
2014-12-24 07:28:21 +01:00
edef
a94bc324fe
move stack creation / destruction into platform
2014-12-24 07:07:25 +01:00
edef
3957ac99ae
use arch::uintptr_t instead of libc::uintptr_t
2014-12-24 06:53:36 +01:00
edef
24b7aee96f
u64 -> uintptr_t
2014-12-24 06:52:52 +01:00
edef
99db603d63
Stack.top returns a mutable pointer, so it should take &mut self
2014-12-24 06:51:46 +01:00
edef
e0f2d48196
sneak an extra argument in by using rbx for the jump target
2014-12-24 06:48:49 +01:00
edef
3d35f5280d
change the prefix from lwut_ to lwt_
...
we'll be using a lot of this code in kernelmode too, later.
2014-12-24 06:48:08 +01:00
edef
c209eed3a6
top of stack is mutable
2014-12-24 06:44:03 +01:00
edef
621bd9c9ab
don't deref in the macros
2014-12-24 06:44:03 +01:00
edef
5a06b04a6a
factor macros out and generalise them
2014-12-24 06:44:03 +01:00
edef
791173fd97
refactoring!
2014-12-24 06:44:03 +01:00
edef
555a3d73c0
rename platform.s to arch.s
2014-12-24 04:16:57 +01:00
edef
e9d6146b5b
initial commit
2014-12-23 04:27:28 +01:00