From: Olof-Joachim Frahm Date: Mon, 2 Sep 2013 15:44:24 +0000 (+0200) Subject: Add syscall/sysret instructions. X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=refs%2Fheads%2Fdirect-syscalls;p=sbcl.git Add syscall/sysret instructions. --- diff --git a/src/compiler/x86-64/insts.lisp b/src/compiler/x86-64/insts.lisp index 6edbb0e..1a6462b 100644 --- a/src/compiler/x86-64/insts.lisp +++ b/src/compiler/x86-64/insts.lisp @@ -2773,6 +2773,20 @@ (:emitter (emit-byte segment #b11001001))) +;;;; 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))) + ;;;; interrupt instructions (defun snarf-error-junk (sap offset &optional length-only)