Port-ofppc archive

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

Re: map_isa_ioregs



Tim Rightnour wrote:

On 08.11.07 02:19:25 you wrote:

> Are you using a physical console?  It's possible I broke something in that
> realm.  I do all my work via serial console.

Not even serial console works here. But I debugged the problem today:

First, when working with physical console, checking for device_type property
"display" fails on the Pegasos. It is called "bootconsole". Additionally,
when the pckbc driver is missing, cninit_kd() would just return, instead of
falling back to the ofwbootcons.

Second, when using a serial terminal, the check for the name-property
"serial" fails, which is "failsafe" here. IMHO this check is not needed at
all, because it is a fallback to the ofwbootcons.

I fixed both with the following patch, giving me output with physical and
serial console on the Peg2:

--- ofw_consinit.c.orig 2007-11-08 20:12:03.000000000 +0100
+++ ofw_consinit.c  2007-11-08 21:16:52.000000000 +0100
@@ -150,11 +150,6 @@
        goto nocons;
 
    OFPRINTF("console type: %s\n", type);
-   if (strcmp(type, "display") == 0) {
-       cninit_kd();
-       return;
-   }
-
    if (strcmp(type, "serial") == 0) {
        struct consdev *cp;
        char name[32];
@@ -182,12 +177,12 @@
 
        OF_getprop(console_node, "name", name, sizeof(name));
        /* fallback to ofwbootcons */
-       if (strcmp(name, "serial") == 0) {
-           cp = &consdev_ofwbootcons;
-           cn_tab = cp;
-       }
+       cp = &consdev_ofwbootcons;
+       cn_tab = cp;
        return;
    }
+   else
+       cninit_kd();
 nocons:
    return;
 }
@@ -374,9 +369,9 @@
 #endif
 
    /*
-    * No keyboard is found.  Just return.
+    * No keyboard is found.  Fallback to ofwbootcons.
     */
-   printf("no console keyboard\n");
+   cn_tab = &consdev_ofwbootcons;
    return;
 
 kbd_found:;


And, it seems to me that printf() is pretty useless in this early stage. It
doesn't generate any output when anything goes wrong. Maybe we should think
about using OFPRINTF instead?

-- 
    _  Frank Wille (frank%phoenix.owl.de@localhost)
 _ //  http://sun.hasenbraten.de/~frank/
 \X/   Phx @ #AmigaGer




Home | Main Index | Thread Index | Old Index