From 30e78cc68604067eecfc389b8a08970a1a5b6425 Mon Sep 17 00:00:00 2001 From: "H. Peter Anvin" Date: Tue, 31 Mar 2009 23:04:08 -0700 Subject: [PATCH] shuffler: minor cleanups in bcopyxx.inc Minor cleanups: calling convention, documentation, etc. --- core/bcopyxx.inc | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/core/bcopyxx.inc b/core/bcopyxx.inc index 3eeeaef..6af2e93 100644 --- a/core/bcopyxx.inc +++ b/core/bcopyxx.inc @@ -40,10 +40,13 @@ bcopyxx_start equ $ ; ; ECX is guaranteed to not be zero on entry. ; +; Clobbers ESI, EDI, ECX. +; pm_bcopy: push ebx push edx + push eax cmp esi,-1 je .bzero @@ -85,6 +88,7 @@ pm_bcopy: a32 movsb .fab1: .done: + pop eax pop edx pop ebx ret @@ -201,9 +205,7 @@ pm_bcopy: pm_shuffle: mov ebx,edi ; EBX <- descriptor list lea edx,[edi+ecx] ; EDX <- shuffler end location - push edx call pm_bcopy - pop edx mov edi,edx mov esi,bcopyxx_start mov ecx,bcopyxx_dwords @@ -223,9 +225,9 @@ pm_shuffle: mov edi,[ebx] mov esi,[ebx+4] mov ecx,[ebx+8] + add ebx,12 jecxz .done call pm_bcopy - add ebx,12 jmp .loop .done: and esi,esi -- 2.7.4