#------------------------------------------------------------------------------\r
#\r
-# Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>\r
# Portitions copyright (c) 2011, Apple Inc. All rights reserved.\r
# This program and the accompanying materials\r
# are licensed and made available under the terms and conditions of the BSD License\r
pushq %rdx // Save TemporaryMemoryBase\r
pushq %r8 // Save PermanentMemoryBase\r
pushq %r9 // Save CopySize\r
- \r
+\r
//\r
// Copy all of temp RAM to permanent memory, including stack\r
//\r
// %rcx, %rdx, %r8\r
movq %r8, %rcx // Shift arguments\r
movq %r9, %r8\r
+ subq $0x28, %rsp // Allocate register spill area & 16-byte align stack\r
call ASM_PFX(CopyMem)\r
// Temp mem stack now copied to permanent location. %esp still in temp memory\r
- \r
+ addq $0x28, %rsp\r
+\r
popq %r9 // CopySize (old stack)\r
popq %r8 // PermanentMemoryBase (old stack)\r
popq %rdx // TemporaryMemoryBase (old stack)\r
// ZeroMem (TemporaryMemoryBase /* rcx */, CopySize /* rdx */);\r
movq %rdx, %rcx\r
movq %r9, %rdx\r
+ subq $0x28, %rsp // Allocate register spill area & 16-byte align stack\r
call ASM_PFX(ZeroMem)\r
+ addq $0x28, %rsp\r
\r
// This data comes off the NEW stack\r
popq %rbp\r