Page MenuHomeFreeBSD

D43931.diff
No OneTemporary

D43931.diff

diff --git a/sys/x86/xen/pv.c b/sys/x86/xen/pv.c
--- a/sys/x86/xen/pv.c
+++ b/sys/x86/xen/pv.c
@@ -335,7 +335,7 @@
#endif
static void
-fixup_console(caddr_t kmdp)
+fixup_console(void)
{
struct xen_platform_op op = {
.cmd = XENPF_get_dom0_console,
@@ -346,10 +346,19 @@
struct vbe_fb vbe;
} *fb = NULL;
int size;
+ caddr_t kmdp;
+
+ kmdp = preload_search_by_type("elf kernel");
+ if (kmdp == NULL)
+ kmdp = preload_search_by_type("elf64 kernel");
+ if (kmdp == NULL) {
+ xc_printf("Unable to find kernel metadata\n");
+ return;
+ }
size = HYPERVISOR_platform_op(&op);
if (size < 0) {
- xc_printf("Failed to get dom0 video console info: %d\n", size);
+ xc_printf("Failed to get video console info: %d\n", size);
return;
}
@@ -486,7 +495,7 @@
else
strlcpy(bootmethod, "BIOS", sizeof(bootmethod));
- fixup_console(kmdp);
+ fixup_console();
} else {
/* Parse the extra boot information given by Xen */
if (start_info->cmdline_paddr != 0)

File Metadata

Mime Type
text/plain
Expires
Fri, Jun 19, 4:43 PM (13 h, 7 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
34089829
Default Alt Text
D43931.diff (991 B)

Event Timeline