]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
pci: Tidy up logging and reporting for video BIOS
authorSimon Glass <sjg@chromium.org>
Sun, 16 Jul 2023 03:38:57 +0000 (21:38 -0600)
committerBin Meng <bmeng@tinylab.org>
Mon, 17 Jul 2023 09:12:26 +0000 (17:12 +0800)
When running the ROM the code is not very helpful when something goes
wrong. Add a little more debugging and some logging of return values to
improve this.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
drivers/pci/pci_rom.c

index f0dfe6314907807c310beeba2c1dcb93dfbe33d1..51dcdf9749a17113a98a8d37db01c318b028296f 100644 (file)
@@ -254,14 +254,16 @@ int dm_pci_run_vga_bios(struct udevice *dev, int (*int15_handler)(void),
 
        ret = pci_rom_probe(dev, &rom);
        if (ret)
-               return ret;
+               return log_msg_ret("pro", ret);
 
        ret = pci_rom_load(rom, &ram, &alloced);
-       if (ret)
+       if (ret) {
+               ret = log_msg_ret("ld", ret);
                goto err;
+       }
 
        if (!board_should_run_oprom(dev)) {
-               ret = -ENXIO;
+               ret = log_msg_ret("run", -ENXIO);
                goto err;
        }
 
@@ -299,21 +301,25 @@ int dm_pci_run_vga_bios(struct udevice *dev, int (*int15_handler)(void),
 #ifdef CONFIG_BIOSEMU
                BE_VGAInfo *info;
 
+               log_debug("Running video BIOS with emulator...");
                ret = biosemu_setup(dev, &info);
                if (ret)
                        goto err;
                biosemu_set_interrupt_handler(0x15, int15_handler);
                ret = biosemu_run(dev, (uchar *)ram, 1 << 16, info,
                                  true, vesa_mode, &mode_info);
+               log_debug("done\n");
                if (ret)
                        goto err;
 #endif
        } else {
 #if defined(CONFIG_X86) && (CONFIG_IS_ENABLED(X86_32BIT_INIT) || CONFIG_TPL)
+               log_debug("Running video BIOS...");
                bios_set_interrupt_handler(0x15, int15_handler);
 
                bios_run_on_x86(dev, (unsigned long)ram, vesa_mode,
                                &mode_info);
+               log_debug("done\n");
 #endif
        }
        debug("Final vesa mode %#x\n", mode_info.video_mode);