igfx: aaaand the kernel part :(

This commit is contained in:
cinap_lenrek 2015-01-09 03:03:23 +01:00
parent ce8db466ba
commit 35ad5c9136

38
sys/src/9/pc/vgaigfx.c Normal file
View file

@ -0,0 +1,38 @@
#include "u.h"
#include "../port/lib.h"
#include "mem.h"
#include "dat.h"
#include "fns.h"
#include "io.h"
#include "../port/error.h"
#define Image IMAGE
#include <draw.h>
#include <memdraw.h>
#include <cursor.h>
#include "screen.h"
static void
igfxenable(VGAscr* scr)
{
Pcidev *p;
if(scr->mmio != nil)
return;
p = scr->pci;
if(p == nil)
return;
scr->mmio = vmap(p->mem[0].bar&~0x0F, p->mem[0].size);
if(scr->mmio == nil)
return;
addvgaseg("igfxmmio", p->mem[0].bar&~0x0F, p->mem[1].size);
if(scr->paddr == 0)
vgalinearpci(scr);
if(scr->apsize)
addvgaseg("igfxscreen", scr->paddr, scr->apsize);
}
VGAdev vgaigfxdev = {
"igfx",
igfxenable,
};