/dev/kmem read return value is double requested value

Marcel Moolenaar marcel at xcllnt.net
Wed Jun 4 15:01:59 PDT 2003


On Tue, Jun 03, 2003 at 08:50:52AM +0200, Alan Robinson wrote:
> 
> > I'll take a look at it when I have a spare cycle.
> > 
> I compared the ia64/i386 mmrw() and another answer is to add 
> a 'continue' after the /dev/kmem uiomove just like in i386.

Fix committed. Thanks.

BTW: don't try to read from the direct mapped regions (region 6
or region 7) with an address that uses the unimplemented phys.
address bits. Instant machine check. I don't know what happens
if the physical address is valid (from an architectural POV),
but there's no memory installed at that address. Also, I don't
know what happens if we access UC memory through region 7 (WB).

In short: the direct mapped case is extremely buggy.

-- 
 Marcel Moolenaar	  USPA: A-39004		 marcel at xcllnt.net


More information about the freebsd-ia64 mailing list