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>