Ok I changed the call to devmap_devmem_setup() but my driver is crashing. Any idea why this could be happening? I'm calling it from the 'attach' routine which I hope is allowed. Also all my callbacks do nothing and return 0 unless they're void i.e. I'm not setting the pvtp pointers in the callbacks or anything. Regards, Bhaskar.
-----Original Message----- From: Garrett D'Amore [mailto:garr...@damore.org] Sent: Tuesday, September 15, 2009 7:35 PM To: Jayaraman, Bhaskar Cc: opensolaris-code@opensolaris.org Subject: Re: [osol-code] Doubt in ddi_regs_map_setup! Jayaraman, Bhaskar wrote: > > Hi, I'm making this call on my driver's BAR1 which has a physical > address 0xf2000008 written on it. So I'm assuming that when I call a > hat_getpfnum(kas.a_hat, returned_address), I should get the physical > page frame number. > > Instead I get 0xffffffff as its return value (which is definitely some > error). Also the virtual address that ddi_regs_map_setup is returning > 0xc000 as the virtual address for the physical address in the BAR1. > > Please note that hat_getpfnum returns proper values for other virtual > addresses. Can someone help me understand what is going on in my case? > I'm not sure exactly why this is failing, but you do know that hat_getkpfnum() is an obsolete interface, right? Its been obsolete for quite a long time now. (I think maybe as far back as Solaris 8.) If you're using this for mmap(), you should try implementing a devmap(9e) routine instead. -- Garrett > > Regards, > > Bhaskar. > > ------------------------------------------------------------------------ > > _______________________________________________ > opensolaris-code mailing list > opensolaris-code@opensolaris.org > http://mail.opensolaris.org/mailman/listinfo/opensolaris-code > _______________________________________________ opensolaris-code mailing list opensolaris-code@opensolaris.org http://mail.opensolaris.org/mailman/listinfo/opensolaris-code