Index: dev/hyperv/vmbus/vmbus.c =================================================================== --- dev/hyperv/vmbus/vmbus.c (revision 349331) +++ dev/hyperv/vmbus/vmbus.c (working copy) @@ -1292,7 +1292,35 @@ vmbus_get_mmio_res_pass(dev, parse_32); } +#if 1 /*XXX */ +#define VMBUS_FB_MMIO_START 0xf8000000 +#define VMBUS_FB_MMIO_END 0xf8800000 +#define VMBUS_FB_MMIO_SIZE 0x800000 + +static struct resource *hv_fb_res; + static void +vmbus_fb_mmio_res(device_t dev) +{ + struct vmbus_softc *sc = device_get_softc(dev); + int rid = 0; + + hv_fb_res = pcib_host_res_alloc(&sc->vmbus_mmio_res, dev, + SYS_RES_MEMORY, &rid, + VMBUS_FB_MMIO_START, VMBUS_FB_MMIO_END, VMBUS_FB_MMIO_SIZE, + RF_ACTIVE | rman_make_alignment_flags(PAGE_SIZE)); + + if (hv_fb_res && bootverbose) + device_printf(dev, + "successfully reserved memory for framebuffer\n"); + + if (!hv_fb_res) + device_printf(dev, + "XXX failed to reserve memory for framebuffer\n"); +} +#endif + +static void vmbus_free_mmio_res(device_t dev) { struct vmbus_softc *sc = device_get_softc(dev); @@ -1347,6 +1375,7 @@ #ifdef NEW_PCIB vmbus_get_mmio_res(sc->vmbus_dev); + vmbus_fb_mmio_res(sc->vmbus_dev); #endif sc->vmbus_flags |= VMBUS_FLAG_ATTACHED;