From: H. Peter Anvin Date: Wed, 1 Apr 2009 06:04:08 +0000 (-0700) Subject: shuffler: minor cleanups in bcopyxx.inc X-Git-Tag: syslinux-3.80-pre1~15^2~36^2~7 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=30e78cc68604067eecfc389b8a08970a1a5b6425;p=platform%2Fupstream%2Fsyslinux.git shuffler: minor cleanups in bcopyxx.inc Minor cleanups: calling convention, documentation, etc. --- 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