Hi, forgot the patch in my last message...
Marcus --- ../colortext-0.3/screen.c Mon Oct 11 17:05:47 1999 +++ screen.c Mon Oct 1 23:58:33 2001 @@ -24,6 +24,7 @@ #include <assert.h> /* assert */ #include <string.h> /* memmove */ #include <mach/machine/pio.h> /* outb */ +#include <paths.h> /* _PATH_MEM */ #include "util.h" /* xmalloc */ #if 0 # include "mach_i386.h" /* i386_io_port_add */ @@ -39,7 +40,6 @@ #define VIDMMAP_BEGIN 0xB8000 #define VIDMMAP_SIZE (0xC0000 - 0xB8000) -#define VIDMMAP_KDOFS 0xA0000 /* == kd_bitmap_start in mach/i386/i386at/kd.c */ void screen_init_thread (void) @@ -59,39 +59,21 @@ map_videomem (void) { error_t err; - device_t device_master = MACH_PORT_NULL; - memory_object_t kd_mem = MACH_PORT_NULL; - vm_address_t mapped; + int mem; if (videomem) return; /* already mapped */ - err = get_privileged_ports (0, &device_master); - if (err) - error (EXIT_FAILURE, err, "get_privileged_ports"); - - err = device_open (device_master, D_WRITE, "kd", &kd_device); - if (err) - error (EXIT_FAILURE, err, "device_open"); - - err = device_map (kd_device, VM_PROT_READ | VM_PROT_WRITE, - VIDMMAP_BEGIN - VIDMMAP_KDOFS, VIDMMAP_SIZE, - &kd_mem, 0); - if (err) - error (EXIT_FAILURE, err, "device_map"); - - err = vm_map (mach_task_self (), &mapped, VIDMMAP_SIZE, - 0, 1, kd_mem, VIDMMAP_BEGIN - VIDMMAP_KDOFS, 0, - VM_PROT_READ | VM_PROT_WRITE, VM_PROT_READ | VM_PROT_WRITE, - VM_INHERIT_NONE); - if (err) - error (EXIT_FAILURE, err, "vm_map"); + mem = open (_PATH_MEM, O_RDWR); + if (mem < 0) + error (EXIT_FAILURE, errno, "opening " _PATH_MEM); + + videomem = mmap (0, VIDMMAP_SIZE, PROT_READ | PROT_WRITE, + MAP_SHARED, mem &kd_mem, VIDMMAP_BEGIN); + close (mem); - videomem = (uint16_t *) mapped; - assert (videomem != NULL); - - mach_port_deallocate (mach_task_self (), device_master); - mach_port_deallocate (mach_task_self (), kd_mem); + if (videomem < 0) + error (EXIT_FAILURE, errno, "mmap"); } struct screen * -- `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