> All code interacting with FreeBSD data structures resides in the open
> part of the kernel module; a pointer to the newly allocated object is
> passed to rm_alloc_agp_pages as an opaque pointer, it is required later
> when the NVIDIA AGP GART driver needs to obtain the physical addresses
> of the individual pages in the allocation. This happens with calls to
> nv_agp_translate_address.

I don't see rm_alloc_agp_pages anywhere in the open part of the source
code. I just looked again... I see the function prototype in nv.h, but
that's it.

screwdriver:~/dl_temp/NVIDIA_FreeBSD-1.0-3203:> grep -R rm_alloc_agp_pages
*
Binary file obj/Module-nvkernel matches
src/nvidia_subr.c:        if (rm_alloc_agp_pages(nv, address, count,
class, private,
src/nvidia_subr.c:        if (rm_alloc_agp_pages(nv, address, count,
class, private,
src/nv.h:RM_STATUS  rm_alloc_agp_pages       (nv_state_t *, VOID **, U032,
U032, VOID **, U032 *);

so from what I can tell, it IS in the proprietary part of the driver.

> It'd be interesting to learn if the code path you suspect really is
> the one taken in the case of this failure. Is this problem easily
> reproducible on your machine? If so, how and with what hard/software
> combination?
>
Given the above, I'm inclined to think my original trace through the code
is correct, although I didn't look to closely.

Ken


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to