[net.unix-wizards] Mapping Kernel memory to user space

"Jonathan P. Leech" <jon@cit-vax.ARPA> (11/20/84)

	We are running 4.2 on a 780. Recently our system manager implemented
a device driver which uses statically allocated RAM to emulate a frame buffer.
This works fine, but it would be nice to remove the overhead of system calls
on each read/write to the 'frame buffer'. Can anyone tell me how to make kernel
memory read and writeable from a normal process?
	Thanks,
	Jon Leech
	jon@cit-vax

Ron Natalie <ron@BRL-TGR.ARPA> (11/20/84)

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.