Add these to the end of uba.c maptouser(vaddress) caddr_t vaddress; { Sysmap[(((unsigned)(vaddress))-0x80000000) >> 9].pg_prot = (PG_UW>>27); } unmaptouser(vaddress) caddr_t vaddress; { Sysmap[(((unsigned)(vaddress))-0x80000000) >> 9].pg_prot = (PG_KW>>27); } and then call them from an IOCTL in the device driver.