projects
/
sbcl.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
69e6aef
)
Add syscall/sysret instructions.
direct-syscalls
author
Olof-Joachim Frahm
<olof@macrolet.net>
Mon, 2 Sep 2013 15:44:24 +0000
(17:44 +0200)
committer
Olof-Joachim Frahm
<olof@macrolet.net>
Wed, 23 Oct 2013 21:28:44 +0000
(23:28 +0200)
src/compiler/x86-64/insts.lisp
patch
|
blob
|
history
diff --git
a/src/compiler/x86-64/insts.lisp
b/src/compiler/x86-64/insts.lisp
index
6edbb0e
..
1a6462b
100644
(file)
--- a/
src/compiler/x86-64/insts.lisp
+++ b/
src/compiler/x86-64/insts.lisp
@@
-2773,6
+2773,20
@@
(:emitter
(emit-byte segment #b11001001)))
\f
(:emitter
(emit-byte segment #b11001001)))
\f
+;;;; syscall/sysret
+
+(define-instruction syscall (segment)
+ (:printer two-bytes ((op '(#b00001111 #b00000101))))
+ (:emitter
+ (emit-byte segment #b00001111)
+ (emit-byte segment #b00000101)))
+
+(define-instruction sysret (segment)
+ (:printer two-bytes ((op '(#b00001111 #b00000111))))
+ (:emitter
+ (emit-byte segment #b00001111)
+ (emit-byte segment #b00000111)))
+
\f
;;;; interrupt instructions
(defun snarf-error-junk (sap offset &optional length-only)
;;;; interrupt instructions
(defun snarf-error-junk (sap offset &optional length-only)