Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 15 Mar 1999 21:59:10 +1030
From:      Ian West <ian@apdata.com.au>
To:        freebsd-scsi@freebsd.org
Subject:   cam_periph_mapmem: attempt to map 66560 bytes, which is greater than  DFLTPHYS(65536)
Message-ID:  <36ECEF06.80D63F63@apdata.com.au>

next in thread | raw e-mail | index | archive | help
I have the following error when trying to write a cd using the latest
version of cdrecord (1.8a17). I worked around it by (probably wrongly,
but it works) doubling the sizes of DFLTPHYS, and MAXPHYS in
src/i386/param.h. The system is running fine, and it allowed me to write
my cd.

cam_periph_mapmem: attempt to map 66560 bytes, which is greater than
DFLTPHYS(65536)

Looking into this for a 'proper' answer, the section of code in
cam_periph (line 552) which seems to relate is below...

       if ((lengths[i] +
            (((vm_offset_t)(*data_ptrs[i])) & PAGE_MASK)) > DFLTPHYS){
            printf("cam_periph_mapmem: attempt to map %u bytes, "
                   "which is greater than DFLTPHYS(%d)\n",
                   lengths[i] +
                   (((vm_offset_t)(*data_ptrs[i])) & PAGE_MASK),
                   DFLTPHYS);
            return(E2BIG);

seems to be where the error is ocuring. As I understand it, this allows
for the possibility of having the users buffer offset from the start of
a page. If the user is allowed to request up to DFLTPHYS bytes of
transfer, should the comparison not be for MAXPHYS ?
Am I missing the point completely ? Is this simply a code error in
cdrecord ?

Thankyou...


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-scsi" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?36ECEF06.80D63F63>