;------------------------------------------------------------------------------\r
;\r
-; Copyright (c) 2010 - 2013, Intel Corporation. All rights reserved.<BR>\r
+; Copyright (c) 2010 - 2015, Intel Corporation. All rights reserved.<BR>\r
; This program and the accompanying materials\r
; are licensed and made available under the terms and conditions of the BSD License\r
; which accompanies this distribution. The full text of the license may be found at\r
mov rax, dr0\r
push rax\r
\r
+ ;; Clear Direction Flag\r
+ cld\r
+\r
sub rsp, 512\r
mov rdi, rsp\r
+ ;; Clear the buffer\r
+ xor rax, rax\r
+ push rcx\r
+ mov rcx, 64 ;= 512 / 8\r
+ rep stosq\r
+ pop rcx\r
+ mov rdi, rsp\r
db 0fh, 0aeh, 00000111y ;fxsave [rdi]\r
\r
;; save the exception data\r
push qword ptr [rbp + 16]\r
\r
- ;; Clear Direction Flag\r
- cld\r
- \r
; call the C interrupt process function\r
mov rdx, rsp ; Structure\r
mov r15, rcx ; save vector in r15\r