Lines Matching refs:sc

124 	struct pci_fbuf_softc *sc;  in pci_fbuf_write()  local
129 sc = pi->pi_arg; in pci_fbuf_write()
141 p = (uint8_t *)&sc->memregs + offset; in pci_fbuf_write()
161 if (!sc->gc_image->vgamode && sc->memregs.width == 0 && in pci_fbuf_write()
162 sc->memregs.height == 0) { in pci_fbuf_write()
164 sc->gc_image->vgamode = 1; in pci_fbuf_write()
165 sc->gc_width = 0; in pci_fbuf_write()
166 sc->gc_height = 0; in pci_fbuf_write()
167 } else if (sc->gc_image->vgamode && sc->memregs.width != 0 && in pci_fbuf_write()
168 sc->memregs.height != 0) { in pci_fbuf_write()
170 sc->gc_image->vgamode = 0; in pci_fbuf_write()
177 struct pci_fbuf_softc *sc; in pci_fbuf_read() local
183 sc = pi->pi_arg; in pci_fbuf_read()
192 p = (uint8_t *)&sc->memregs + offset; in pci_fbuf_read()
223 struct pci_fbuf_softc *sc; in pci_fbuf_baraddr() local
229 sc = pi->pi_arg; in pci_fbuf_baraddr()
231 if (vm_munmap_memseg(pi->pi_vmctx, sc->fbaddr, FB_SIZE) != 0) in pci_fbuf_baraddr()
233 sc->fbaddr = 0; in pci_fbuf_baraddr()
239 sc->fbaddr = address; in pci_fbuf_baraddr()
245 pci_fbuf_parse_config(struct pci_fbuf_softc *sc, nvlist_t *nvl) in pci_fbuf_parse_config() argument
250 sc->rfb_wait = get_config_bool_node_default(nvl, "wait", false); in pci_fbuf_parse_config()
269 sc->rfb_host = strndup(value + 1, cp - (value + 1)); in pci_fbuf_parse_config()
279 sc->rfb_port = atoi(cp); in pci_fbuf_parse_config()
288 sc->rfb_port = atoi(value); in pci_fbuf_parse_config()
290 sc->rfb_host = strndup(value, cp - value); in pci_fbuf_parse_config()
298 sc->rfb_port = atoi(cp); in pci_fbuf_parse_config()
304 sc->rfb_unix = get_config_value_node(nvl, "unix"); in pci_fbuf_parse_config()
310 sc->vga_enabled = 0; in pci_fbuf_parse_config()
312 sc->vga_enabled = 1; in pci_fbuf_parse_config()
313 sc->vga_full = 0; in pci_fbuf_parse_config()
315 sc->vga_enabled = 1; in pci_fbuf_parse_config()
316 sc->vga_full = 1; in pci_fbuf_parse_config()
325 sc->memregs.width = atoi(value); in pci_fbuf_parse_config()
326 if (sc->memregs.width > COLS_MAX) { in pci_fbuf_parse_config()
327 EPRINTLN("fbuf: width %d too large", sc->memregs.width); in pci_fbuf_parse_config()
330 if (sc->memregs.width == 0) in pci_fbuf_parse_config()
331 sc->memregs.width = 1920; in pci_fbuf_parse_config()
336 sc->memregs.height = atoi(value); in pci_fbuf_parse_config()
337 if (sc->memregs.height > ROWS_MAX) { in pci_fbuf_parse_config()
339 sc->memregs.height); in pci_fbuf_parse_config()
342 if (sc->memregs.height == 0) in pci_fbuf_parse_config()
343 sc->memregs.height = 1080; in pci_fbuf_parse_config()
348 sc->rfb_password = strdup(value); in pci_fbuf_parse_config()
359 struct pci_fbuf_softc *sc; in pci_fbuf_render() local
361 sc = arg; in pci_fbuf_render()
363 if (sc->vga_full && sc->gc_image->vgamode) { in pci_fbuf_render()
367 vga_render(gc, sc->vgasc); in pci_fbuf_render()
370 if (sc->gc_width != sc->memregs.width || in pci_fbuf_render()
371 sc->gc_height != sc->memregs.height) { in pci_fbuf_render()
372 bhyvegc_resize(gc, sc->memregs.width, sc->memregs.height); in pci_fbuf_render()
373 sc->gc_width = sc->memregs.width; in pci_fbuf_render()
374 sc->gc_height = sc->memregs.height; in pci_fbuf_render()
382 struct pci_fbuf_softc *sc; in pci_fbuf_init() local
389 sc = calloc(1, sizeof(struct pci_fbuf_softc)); in pci_fbuf_init()
391 pi->pi_arg = sc; in pci_fbuf_init()
399 sc->fb_base = vm_create_devmem(pi->pi_vmctx, VM_FRAMEBUFFER, in pci_fbuf_init()
401 if (sc->fb_base == MAP_FAILED) { in pci_fbuf_init()
415 sc->memregs.fbsize = FB_SIZE; in pci_fbuf_init()
416 sc->memregs.width = COLS_DEFAULT; in pci_fbuf_init()
417 sc->memregs.height = ROWS_DEFAULT; in pci_fbuf_init()
418 sc->memregs.depth = 32; in pci_fbuf_init()
420 sc->vga_enabled = 1; in pci_fbuf_init()
421 sc->vga_full = 0; in pci_fbuf_init()
423 sc->fsc_pi = pi; in pci_fbuf_init()
425 error = pci_fbuf_parse_config(sc, nvl); in pci_fbuf_init()
430 if (sc->vga_full != 0) { in pci_fbuf_init()
440 sc->fb_base, FB_SIZE)); in pci_fbuf_init()
442 console_init(sc->memregs.width, sc->memregs.height, sc->fb_base); in pci_fbuf_init()
443 console_fb_register(pci_fbuf_render, sc); in pci_fbuf_init()
445 if (sc->vga_enabled) in pci_fbuf_init()
446 sc->vgasc = vga_init(!sc->vga_full); in pci_fbuf_init()
447 sc->gc_image = console_get_image(); in pci_fbuf_init()
449 fbuf_sc = sc; in pci_fbuf_init()
451 memset((void *)sc->fb_base, 0, FB_SIZE); in pci_fbuf_init()
454 error = rfb_init(sc->rfb_host, sc->rfb_port, sc->rfb_wait, sc->rfb_password); in pci_fbuf_init()
460 if (sc->rfb_unix != NULL) { in pci_fbuf_init()
461 error = rfb_init((char *)sc->rfb_unix, -1, sc->rfb_wait, in pci_fbuf_init()
462 sc->rfb_password, name != NULL ? name : "bhyve"); in pci_fbuf_init()
464 error = rfb_init(sc->rfb_host, sc->rfb_port, sc->rfb_wait, in pci_fbuf_init()
465 sc->rfb_password, name != NULL ? name : "bhyve"); in pci_fbuf_init()
472 free(sc); in pci_fbuf_init()