Made phys_fill fill its 4-byte pattern any number of bytes (instead of

rounded down to a 4-byte multiple)

Fixed dependency omission
This commit is contained in:
Ben Gras 2005-07-19 16:00:25 +00:00
parent 1d7bdd4ab1
commit c24f72d433
2 changed files with 19 additions and 3 deletions

View file

@ -35,8 +35,10 @@ clean:
depend:
cd system && $(MAKE) -$(MAKEFLAGS) $@
/usr/bin/mkdep "$(CC) -E $(CPPFLAGS)" *.c > .depend
/usr/bin/mkdep "$(CC) -E $(CPPFLAGS)" *.c *.s > .depend
# Include generated dependencies.
klib.o: klib386.s klib88.s
mpx.o: mpx386.s mpx88.s
include .depend

View file

@ -442,8 +442,9 @@ pc_small:
!*===========================================================================*
!* phys_fill *
!*===========================================================================*
! PUBLIC void phys_fill(phys_bytes source, phys_bytes bytecount, char char);
! Zero a block of physical memory.
! PUBLIC void phys_fill(phys_bytes source, phys_bytes bytecount,
! unsigned long pattern);
! Fill a block of physical memory with pattern.
.align 16
@ -464,6 +465,19 @@ fill_start:
add esi, 4
dec eax
jnz fill_start
! Any remaining bytes?
mov eax, 12(ebp)
and eax, 3
remain_fill:
cmp eax, 0
jz fill_done
movb bl, 16(ebp)
movb (esi), bl
add esi, 1
inc ebp
dec eax
jmp remain_fill
fill_done:
pop ds
pop ebx
pop esi