Subject: Re: CVS commit: src/sys/arch/vax/boot/common
To: Anders Magnusson <ragge@netbsd.org>
From: David Laight <david@l8s.co.uk>
List: source-changes
Date: 10/07/2003 13:42:31
On Tue, Oct 07, 2003 at 12:01:27PM +0000, Anders Magnusson wrote:
> 
> Module Name:	src
> Committed By:	ragge
> Date:		Tue Oct  7 12:01:27 UTC 2003
> 
> Modified Files:
> 	src/sys/arch/vax/boot/common: str.S
> 
> Log Message:
> The last commit broke the boot code (memset may be larger than 64k).
> Johnny Billquist fixed it and bugfixed some routines.

A couple of minor points (from the person who broke it! [1])
- memcpy (and bcopy) don't need to support overlapped copies
- the return value of memcpy/memset should be the target buffer address
- The ENTRY macro aligns the code on a 64byte (?) boundary, on other
  architectures you can avoid this problem by just defining a label.
  But, IIRC, on vax there is a 'magic' word at the start of each function.
- maybe memmove() ought to be here?
- I don't like the $250 in strcmp - maybe 'clr %r3' instead?

It might be worth trawling for the bcopy/bzero calls in the boot code
and removing them (as was done for the kernel a while ago).

	David

[1] trying to get the boot code to fit having used memcpy/memset in it.

-- 
David Laight: david@l8s.co.uk