[coreboot] filo circular console list
Jordan Crouse
jordan.crouse at amd.com
Thu Oct 30 15:53:28 CET 2008
On 30/10/08 08:38 -0600, Jordan Crouse wrote:
> On 30/10/08 13:14 +0100, Arne Georg Gleditsch wrote:
> > Hi,
> >
> > The latest svn revisions of filo and libpayload (r83 and r3708) conspire
> > to add the video console driver twice to the console_out list. This
> > causes the list to become circular, with the effect that device_putchar
> > spins in a loop printing the first character it is given. ("F".)
> >
> > Trivial patch and .config appended. (One might perhaps also consider
> > making device_putchar or console_add_* more robust in the face of this
> > kind of error, but I settled for this.)
>
> Hmmm - okay - I think I sort of see whats going on here. I'm not
> sure why they are calling console_init() (or video_console_init())
> and lib_get_sysinfo() in the first place - that should have already
> been run before callin main(). If you are right about
> the console_out list, and I think you are, then running console_init()
> twice should cause the same problem (or perhaps it doesn't end up
> looping). Anyway, thats bad. We need to get Patrick and Stefan to
> explain what they did here.
My bad - they are using a custom entry point (see i386/switch.S in filo).
So, they do need to call console_init() and lib_get_sysinfo(). Your
patch is correct.
Acked-by: Jordan Crouse <jordan.crouse at amd.com>
> Jordan
>
> > Index: main/filo.c
> > ===================================================================
> > --- main/filo.c (revision 83)
> > +++ main/filo.c (working copy)
> > @@ -49,9 +49,6 @@
> > {
> > /* Set up the consoles. */
> > console_init();
> > -#ifdef CONFIG_VIDEO_CONSOLE
> > - video_console_init();
> > -#endif
> >
> > /* Gather system information, and implicitly sets up timers */
> > lib_get_sysinfo();
>
> > #
> > # Automatically generated make config: don't edit
> > # FILO version: 0.6.0rc1
> > # Thu Oct 30 12:01:16 2008
> > #
> > CONFIG_TARGET_I386=y
> > # CONFIG_REVIEW is not set
> >
> > #
> > # Interface Options
> > #
> > CONFIG_USE_GRUB=y
> > CONFIG_PROMPT="filo"
> > CONFIG_MENULST_FILE="hde1:/grub/menu.lst"
> > CONFIG_MENULST_TIMEOUT=3
> > CONFIG_USE_MD5_PASSWORDS=y
> >
> > #
> > # Drivers
> > #
> > CONFIG_IDE_DISK=y
> > CONFIG_IDE_DISK_POLL_DELAY=0
> > # CONFIG_SLOW_SATA is not set
> > # CONFIG_PCMCIA_CF is not set
> > CONFIG_USB_NEW_DISK=y
> > # CONFIG_USB_DISK is not set
> > # CONFIG_FLASH_DISK is not set
> > CONFIG_SUPPORT_PCI=y
> > # CONFIG_PCI_BRUTE_SCAN is not set
> > # CONFIG_SUPPORT_SOUND is not set
> >
> > #
> > # Filesystems
> > #
> > CONFIG_FSYS_EXT2FS=y
> > CONFIG_FSYS_FAT=y
> > # CONFIG_FSYS_JFS is not set
> > # CONFIG_FSYS_MINIX is not set
> > # CONFIG_FSYS_REISERFS is not set
> > # CONFIG_FSYS_XFS is not set
> > CONFIG_FSYS_ISO9660=y
> > CONFIG_ELTORITO=y
> > # CONFIG_FSYS_CRAMFS is not set
> > # CONFIG_FSYS_SQUASHFS is not set
> >
> > #
> > # Loaders
> > #
> > CONFIG_LINUX_LOADER=y
> > # CONFIG_WINCE_LOADER is not set
> > # CONFIG_ARTEC_BOOT is not set
> >
> > #
> > # Debugging & Experimental
> > #
> > # CONFIG_EXPERIMENTAL is not set
> > # CONFIG_DEBUG_ALL is not set
> > # CONFIG_DEBUG_ELFBOOT is not set
> > # CONFIG_DEBUG_ELFNOTE is not set
> > # CONFIG_DEBUG_SEGMENT is not set
> > # CONFIG_DEBUG_SYS_INFO is not set
> > # CONFIG_DEBUG_BLOCKDEV is not set
> > # CONFIG_DEBUG_VFS is not set
> > # CONFIG_DEBUG_FSYS_EXT2FS is not set
> > # CONFIG_DEBUG_PCI is not set
> > # CONFIG_DEBUG_LINUXLOAD is not set
> > # CONFIG_DEBUG_IDE is not set
> > # CONFIG_DEBUG_ELTORITO is not set
> > CONFIG_DEVELOPER_TOOLS=y
>
> > --
> > coreboot mailing list: coreboot at coreboot.org
> > http://www.coreboot.org/mailman/listinfo/coreboot
>
>
> --
> Jordan Crouse
> Systems Software Development Engineer
> Advanced Micro Devices, Inc.
--
Jordan Crouse
Systems Software Development Engineer
Advanced Micro Devices, Inc.
More information about the coreboot
mailing list