On Mon, Oct 01, 2001 at 05:12:17PM -0400, Roland McGrath wrote: > The keyboard and video questions are really quite separate, > so I am answering them in two separate threads. > > I believe that everything should already be in place in Mach (both flavors) > and in the Hurd for mapping physical device memory such as the frame buffer. > mmap on /dev/mem ought to dtrt already. If not, it's a bug.
Ugh, except that I can't map a part of the mem device, because of libstore breakage: static error_t dev_map (const struct store *store, vm_prot_t prot, mach_port_t *memobj) { size_t nruns = store->num_runs; if (nruns > 1 || (nruns == 1 && store->runs[0].start != 0)) return EOPNOTSUPP; else { /* We pass in 0 for the OFFSET and SIZE argument because in many cases we can't supply them (devices that can't otherwise do I/O are often still mappable) and mach ignores them entirely. XXXX */ error_t err = device_map (store->port, prot, 0, 0, memobj, 0); if (err == ED_INVALID_OPERATION) err = EOPNOTSUPP; /* This device doesn't support paging. */ return err; } } We should fix Mach where it ignores the offsets and just make this function do the obvious thing. Shouldn't we? The user can provide the size == 0 argument for Mach devices that need them. I am not sure it's libstore's job to hide the Mach breakage where it exists. OSKit Mach seems to deal with offsets, at least in the mem device. Thanks, Marcus -- `Rhubarb is no Egyptian god.' Debian http://www.debian.org [EMAIL PROTECTED] Marcus Brinkmann GNU http://www.gnu.org [EMAIL PROTECTED] [EMAIL PROTECTED] http://www.marcus-brinkmann.de _______________________________________________ Bug-hurd mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-hurd