Port-ofppc archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: PegasosII + VGA



Hi! Frank,


From: Frank Wille <frank%phoenix.owl.de@localhost>
Date: Fri, 2 Oct 2009 10:26:20 +0200

> On Fri, 02 Oct 2009 15:13:35 +0900 (JST)
> KIYOHARA Takashi <kiyohara%kk.iij4u.or.jp@localhost> wrote:

> >     Memory: DDR PC2100 1G Byte with ECC     x1
> 
> Lots of memory.
> I don't know if 1GB was already tested, but 512MB was.

Also SmartFirmware hangs up with 2GB memories(1G x2).


> > I can boot single user mode with serial console.  Also multi user
> > mode. But I think very buggy it.
> 
> Which bugs did you observe with serial console?

Problems:
  1. some pmap and/or pool_cache error happen with SmartFirmware's error
     report.

> > INTERNAL ERROR: 0000000E=UNIMPLEMENTED EXTENDED OPCODE
> > [...]

     Also the BSS section was made dirty by it.  I look, can't attach
     mainbus.  Because the variable 'config_initialized' was changed to
     not 0 by it.

  2. Any process was not able to be executed, because no memory when the
     multiuser mode, in my memory.  It is logged in and will be generated
     in only about one minute...

# Oops.  I doesn't log those errors.


> > # I attach dmesg.boot to this mail.
> 
> The only problem I see is:
> genfb0 at pci1 dev 8 function 0: Silicon Integrated System 300/305 AGP VGA
> no address property
> 
> This happens when the OFW-tree entry for the display device (your graphics
> card) doesn't have an "address" property. This is normal for the Pegasos
> OFW, so ofppc/machdep.c will read it from "frame-buffer-adr" instead.
> 
> When this also failed you got the problem from above, and genfb cannot
> be initialized.


Sure.  Also edit to my source now.

Index: machdep.c
===================================================================
RCS file: /cvsroot/src/sys/arch/ofppc/ofppc/machdep.c,v
retrieving revision 1.107
diff -u -r1.107 machdep.c
--- machdep.c   11 Nov 2008 06:46:43 -0000      1.107
+++ machdep.c   2 Oct 2009 09:37:34 -0000
@@ -165,20 +165,31 @@
                        height = 600;
                }
 
+#if 0
                /* init frame buffer mode */
                sprintf(buf, "%x vesa-set-mode", mode);
                OF_interpret(buf, 0, 0);
+#endif
 
                /* set dimensions and frame buffer address in OFW */
                sprintf(buf, "%x to screen-width", width);
                OF_interpret(buf, 0, 0);
                sprintf(buf, "%x to screen-height", height);
                OF_interpret(buf, 0, 0);
+#if 0
                OF_interpret("vesa-frame-buffer-adr", 0, 1, &fbaddr);
                if (fbaddr != 0) {
                        sprintf(buf, "%x to frame-buffer-adr", fbaddr);
                        OF_interpret(buf, 0, 0);
                }
+#else
+               OF_interpret("frame-buffer-adr", 0, 1, &fbaddr);
+fbaddr = 0xc0000000;
+               if (fbaddr != 0) {
+                       sprintf(buf, "%x to frame-buffer-adr", fbaddr);
+                       OF_interpret(buf, 0, 0);
+               }
+#endif
        }
 }
 
@@ -382,7 +393,9 @@
        }
        if (!of_to_uint32_prop(dict, node, "address", "address")) {
                uint32_t fbaddr = 0;
-                       OF_interpret("frame-buffer-adr", 0, 1, &fbaddr);
+               OF_interpret("frame-buffer-adr", 0, 1, &fbaddr);
+printf("%s: fbaddr=0x%x\n", __func__, fbaddr);
+fbaddr = 0xc0000000;
                if (fbaddr != 0)
                        prop_dictionary_set_uint32(dict, "address", fbaddr);
        }


# hmm... I set fbaddr to 0xc0000000 twice. ;-)


> > I try to boot with VGA console.  However I found this message.
> > 
> > ----------------------------------------------------------------
> > 
> > INTERNAL ERROR: 0000000E=UNIMPLEMENTED EXTENDED OPCODE
> > [...]
> 
> That's a SmartFirmware problem. MorphOS works with it?

Yes.  MorphOS 2.3 works.  However, I have seen the strange message output
to the console several times up to now.


> > panic: pmap_pvo_enter: called while pmap_pvo_remove active!
> 
> Hm. I cannot remember this happened to me, but I have only 256MB.
> 
> You could either try to:
> - limit your physical memory to 512MB or 256MB

I will get some memories. (256Mx2 or 512Mx2).


> > I have the plan of merge the gt(4) from sys/dev/marvell/. Also remove
> > pegasospci and add gt(4), gtpci.  And add mvgbe(Marvell Gigabit
> > Ethernet).
> 
> That would be very nice! :)

I merge EV64260's gt(4)(Discovery) to my Marvell Orion(ARM SoC) now.  Next,
merge PegasosII's MV64361 (Discovery II).

Thanks,
--
kiyohara



Home | Main Index | Thread Index | Old Index