[LinuxBIOS] MSI ms9185 linuxbios support

Stefan Reinauer stepan at coresystems.de
Fri Oct 27 10:20:57 CEST 2006


* bxshi at msik.com.cn <bxshi at msik.com.cn> [061027 04:06]:
> Index: src/southbridge/broadcom/bcm5785/bcm5785_sata.c
> ===================================================================
> --- src/southbridge/broadcom/bcm5785/bcm5785_sata.c     (revision 2475)
> +++ src/southbridge/broadcom/bcm5785/bcm5785_sata.c     (working copy)
> @@ -30,6 +32,21 @@
> 
>                 res = find_resource(dev, 0x24);
>                 base = res->base;
> +
> +               mmio_base = base;
> +               mmio_base &= 0xfffffffc;
> +               mmio_reg = (unsigned int *)( mmio_base + 0x10f0 );
> +               * mmio_reg = 0x40000001;
> +               mmio_reg = ( unsigned int *)( mmio_base + 0x8c );
> +               * mmio_reg = 0x00ff2007;
> +               mdelay( 10 );
> +               * mmio_reg = 0x78592009;
> +                mdelay( 10 );
> +               * mmio_reg = 0x00082004;
> +               mdelay( 10 );
> +               * mmio_reg = 0x00002004;
> +                mdelay( 10 );
> +
>                 //init PHY
> 
>                 printk_debug("init PHY...\n");

This is great stuff ;-) Can you add some comment like
  /* magic command sequence required for: <something> */

> Index: src/devices/emulator/biosemu.c
> ===================================================================
> --- src/devices/emulator/biosemu.c      (revision 2475)
> +++ src/devices/emulator/biosemu.c      (working copy)
> @@ -121,6 +121,7 @@
>         case 0x42:
>         case 0x6D:
>                 if (getIntVect(num) == 0x0000) {
> +                       ret = 1 ; /*to make vga work*/
>                         printk_debug("un-inited int vector\n");
>                 }

Is it really trying to set the video mode to 
00h = T  40x25  8x8   320x200  16gray    8   B800 CGA,PCjr,Tandy
at some point?

maybe we need to fix this in the 0x400 bios area instead?
I believe we want to revive parts of this instead:

/*
 * here we are really paranoid about faking a "real"
 * BIOS. Most of this information was pulled from
 * dosemu.
 */

void setup_int_vect(void)
[..]


-- 
coresystems GmbH • Brahmsstr. 16 • D-79104 Freiburg i. Br.
      Tel.: +49 761 7668825 • Fax: +49 761 7664613
Email: info at coresystems.dehttp://www.coresystems.de/




More information about the coreboot mailing list