linux-l: kernel hacker vor

Carsten Paeth calle at calle.in-berlin.de
So Apr 19 14:10:25 CEST 1998


> 
> > #define SCREENSIZE	80*25
> > unsigned char *screenmem;
> > int fd;
> > fd = open("/dev/vcs1", O_RDWR);
> > screenmem = mmap(0,  SCREENSIZE, PROT_READ|PROT_WRITE, MAP_FILE, fd, 0);
> > 
> Segmentation fault
> > calle
> > 
> danke, aber ich sehe auch in dem angegebenen source nicht, das da ein
> zeiger fuer mmap herausgegeben wird (nach umrechnung von
> phys->virt->userspace) - wie geht das? oder ist dieses mmap dann
> garnicht schneller, da da hin & her kopiert wird?

Man kann nicht ohne Treiber einfach physikalischen Speicher
in einen Userprocess mappen. /dev/vcs1 ist eine Umsetzung des
aktuellen Bildschirminhaltes (ohne Attribute) von /dev/tty1.
Wenn du selbst auf dem Videospeicher rummachen willst solltest
du dir den Sourcecode von der svgalib ansehen.

calle

> 
> -- 
> -----------------------------------------------------Michael Dietrich
>                                   private mailto:mdt at mdt.in-berlin.de
>                                          http://mdt.in-berlin.de/~mdt
>                                 commercial mailto:mdt at stargate.all.de
>                                                   fax:+49.171.8029279
>                                                    PGP KeyID:28033EFD
> 




Mehr Informationen über die Mailingliste linux-l