Print this page
use NULL getmemid segop as a shorthand for ENODEV
Instead of forcing every segment driver to implement a dummy function to
return (hopefully) ENODEV, handle NULL getmemid segop function pointer as
"return ENODEV" shorthand.

*** 91,101 **** static int segkp_unlock(struct hat *hat, struct seg *seg, caddr_t vaddr, size_t len, struct segkp_data *kpd, uint_t flags); static int segkp_load(struct hat *hat, struct seg *seg, caddr_t vaddr, size_t len, struct segkp_data *kpd, uint_t flags); static struct segkp_data *segkp_find(struct seg *seg, caddr_t vaddr); - static int segkp_getmemid(struct seg *seg, caddr_t addr, memid_t *memidp); /* * Lock used to protect the hash table(s) and caches. */ static kmutex_t segkp_lock; --- 91,100 ----
*** 143,153 **** .fault = segkp_fault, .checkprot = segkp_checkprot, .kluster = segkp_kluster, .dump = segkp_dump, .pagelock = segkp_pagelock, - .getmemid = segkp_getmemid, }; static void segkpinit_mem_config(struct seg *); --- 142,151 ----
*** 1359,1375 **** struct page ***ppp, enum lock_type type, enum seg_rw rw) { return (ENOTSUP); } - /*ARGSUSED*/ - static int - segkp_getmemid(struct seg *seg, caddr_t addr, memid_t *memidp) - { - return (ENODEV); - } - #include <sys/mem_config.h> /*ARGSUSED*/ static void segkp_mem_config_post_add(void *arg, pgcnt_t delta_pages) --- 1357,1366 ----