aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/hyperv
diff options
context:
space:
mode:
authorBradley T. Hughes <bhughes@FreeBSD.org>2020-12-10 13:11:52 +0000
committerBradley T. Hughes <bhughes@FreeBSD.org>2020-12-10 13:11:52 +0000
commitc05b5848f11b4b551b104a183231409ed4874c66 (patch)
tree0c5c64322f3e990c9aff73c9cb58bc886b2d1544 /sys/dev/hyperv
parent6580cc162dd5297b520fe1be21579bc787974ffb (diff)
Notes
Diffstat (limited to 'sys/dev/hyperv')
-rw-r--r--sys/dev/hyperv/vmbus/vmbus.c32
1 files changed, 15 insertions, 17 deletions
diff --git a/sys/dev/hyperv/vmbus/vmbus.c b/sys/dev/hyperv/vmbus/vmbus.c
index bcbe2d3b74cb..d3568494405e 100644
--- a/sys/dev/hyperv/vmbus/vmbus.c
+++ b/sys/dev/hyperv/vmbus/vmbus.c
@@ -1361,35 +1361,33 @@ vmbus_fb_mmio_res(device_t dev)
kmdp = preload_search_by_type("elf64 kernel");
efifb = (struct efi_fb *)preload_search_info(kmdp,
MODINFO_METADATA | MODINFOMD_EFI_FB);
- if (efifb == NULL) {
- vbefb = (struct vbe_fb *)preload_search_info(kmdp,
- MODINFO_METADATA | MODINFOMD_VBE_FB);
+ vbefb = (struct vbe_fb *)preload_search_info(kmdp,
+ MODINFO_METADATA | MODINFOMD_VBE_FB);
+ if (efifb != NULL) {
+ fb_start = efifb->fb_addr;
+ fb_end = efifb->fb_addr + efifb->fb_size;
+ fb_count = efifb->fb_size;
+ fb_height = efifb->fb_height;
+ fb_width = efifb->fb_width;
+ } else if (vbefb != NULL) {
fb_start = vbefb->fb_addr;
fb_end = vbefb->fb_addr + vbefb->fb_size;
fb_count = vbefb->fb_size;
fb_height = vbefb->fb_height;
fb_width = vbefb->fb_width;
} else {
- fb_start = efifb->fb_addr;
- fb_end = efifb->fb_addr + efifb->fb_size;
- fb_count = efifb->fb_size;
- fb_height = efifb->fb_height;
- fb_width = efifb->fb_width;
- }
-
- if (fb_start == 0) {
if (bootverbose)
device_printf(dev,
"no preloaded kernel fb information\n");
/* We are on Gen1 VM, just return. */
return;
- } else {
- if (bootverbose)
- device_printf(dev,
- "fb: fb_addr: %#jx, size: %#jx, "
- "actual size needed: 0x%x\n",
- fb_start, fb_count, fb_height * fb_width);
}
+
+ if (bootverbose)
+ device_printf(dev,
+ "fb: fb_addr: %#jx, size: %#jx, "
+ "actual size needed: 0x%x\n",
+ fb_start, fb_count, fb_height * fb_width);
hv_fb_res = pcib_host_res_alloc(&sc->vmbus_mmio_res, dev,
SYS_RES_MEMORY, &rid, fb_start, fb_end, fb_count,