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>
