Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/vt/hw/efifb/efifb.c
Show First 20 Lines • Show All 44 Lines • ▼ Show 20 Lines | |||||
#include <vm/vm.h> | #include <vm/vm.h> | ||||
#include <vm/pmap.h> | #include <vm/pmap.h> | ||||
#include <dev/vt/vt.h> | #include <dev/vt/vt.h> | ||||
#include <dev/vt/hw/fb/vt_fb.h> | #include <dev/vt/hw/fb/vt_fb.h> | ||||
#include <dev/vt/colors/vt_termcolors.h> | #include <dev/vt/colors/vt_termcolors.h> | ||||
static vd_init_t vt_efifb_init; | static vd_init_t vt_efifb_init; | ||||
static vd_fini_t vt_efifb_fini; | |||||
static vd_probe_t vt_efifb_probe; | static vd_probe_t vt_efifb_probe; | ||||
static struct vt_driver vt_efifb_driver = { | static struct vt_driver vt_efifb_driver = { | ||||
.vd_name = "efifb", | .vd_name = "efifb", | ||||
.vd_probe = vt_efifb_probe, | .vd_probe = vt_efifb_probe, | ||||
.vd_init = vt_efifb_init, | .vd_init = vt_efifb_init, | ||||
.vd_fini = vt_efifb_fini, | |||||
.vd_blank = vt_fb_blank, | .vd_blank = vt_fb_blank, | ||||
.vd_bitblt_text = vt_fb_bitblt_text, | .vd_bitblt_text = vt_fb_bitblt_text, | ||||
.vd_invalidate_text = vt_fb_invalidate_text, | .vd_invalidate_text = vt_fb_invalidate_text, | ||||
.vd_bitblt_bmp = vt_fb_bitblt_bitmap, | .vd_bitblt_bmp = vt_fb_bitblt_bitmap, | ||||
.vd_drawrect = vt_fb_drawrect, | .vd_drawrect = vt_fb_drawrect, | ||||
.vd_setpixel = vt_fb_setpixel, | .vd_setpixel = vt_fb_setpixel, | ||||
.vd_fb_ioctl = vt_fb_ioctl, | .vd_fb_ioctl = vt_fb_ioctl, | ||||
.vd_fb_mmap = vt_fb_mmap, | .vd_fb_mmap = vt_fb_mmap, | ||||
▲ Show 20 Lines • Show All 72 Lines • ▼ Show 20 Lines | vt_efifb_init(struct vt_device *vd) | ||||
info->fb_size = info->fb_height * info->fb_stride; | info->fb_size = info->fb_height * info->fb_stride; | ||||
info->fb_pbase = efifb->fb_addr; | info->fb_pbase = efifb->fb_addr; | ||||
info->fb_vbase = (intptr_t)pmap_mapdev_attr(info->fb_pbase, | info->fb_vbase = (intptr_t)pmap_mapdev_attr(info->fb_pbase, | ||||
info->fb_size, VM_MEMATTR_WRITE_COMBINING); | info->fb_size, VM_MEMATTR_WRITE_COMBINING); | ||||
vt_fb_init(vd); | vt_fb_init(vd); | ||||
return (CN_INTERNAL); | return (CN_INTERNAL); | ||||
} | |||||
static void | |||||
vt_efifb_fini(struct vt_device *vd, void *softc) | |||||
{ | |||||
struct fb_info *info = softc; | |||||
pstef: style nit: double space | |||||
vt_fb_fini(vd, softc); | |||||
pmap_unmapdev(info->fb_vbase, info->fb_size); | |||||
} | } |
style nit: double space