All of lore.kernel.org
 help / color / mirror / Atom feed
* [parisc-linux] B2k and CONFIG_PDC_CONSOLE pb: followup
@ 2004-01-21 18:03 Joel Soete
  2004-01-22  5:31 ` Grant Grundler
  0 siblings, 1 reply; 12+ messages in thread
From: Joel Soete @ 2004-01-21 18:03 UTC (permalink / raw)
  To: PARISC list

Hi all,

On the my b2k when I add 'CONFIG_PDC_CONSOLE' the system hang just after
"Searching for devices..." leting the led CDROM continuously bright ???

With some printk, I reach to figure out that is at the pdc_suspend_usb()
point where the boot hang. I try to bypass this and so it boot well.

In fact the big difference with a kernel without CONFIG_PDC_CONSOLE is the
early call to pdc_console_init_force() which (before register the pdc_cons
do:
[snip]
        /* If the console is duplex then copy the COUT parameters to CIN.*/
        if (PAGE0->mem_cons.cl_class == CL_DUPLEX)
                memcpy(&PAGE0->mem_kbd, &PAGE0->mem_cons, sizeof(PAGE0->mem_cons));

        /* register the pdc console */
        register_console(&pdc_cons);
}

I also try to bypass this memcpy (and restore pdc_suspend_usb() call) and
it boot also well.

In sumary, on the b2k, this early memcpy() seems to break something in the
later pdc_suspend_usb() call. My problem is the pdc_suspend_usb()
which results finaly in a call to real32_call_asm(): actualy asm code in
which
it's difficult to insert printk to analyse the difference of behaviour ?)

I also already get a toc but didn't give me any relevant info on what happen
:(

Any idea to help me to get more details about this pb?

Thanks in advance,
    Joel

PS:
I added some printk to get some pdc addresses:
static void pdc_console_init_force(void)
{
        if (pdc_console_initialized)
                return;
        ++pdc_console_initialized;

        if (PAGE0->mem_cons.cl_class == CL_DUPLEX) {
                printk(KERN_INFO "pdc_console_init_force() would set a CL_DUP.\n");
                printk(KERN_INFO "PAGE0->mem_cons address: %p.\n", &PAGE0->mem_cons);
                printk(KERN_INFO "PAGE0->mem_kbd address: %p.\n", &PAGE0->mem_kbd);
                printk(KERN_INFO "PAGE0->mem_kbd size: %d.\n", sizeof(PAGE0->mem_cons));
        };
        /* If the console is duplex then copy the COUT parameters to CON.*/
/*
        if (PAGE0->mem_cons.cl_class == CL_DUPLEX)
                memcpy(&PAGE0->mem_kbd, &PAGE0->mem_cons, sizeof(PAGE0->mem_cons));
 */

        /* register the pdc console */
        register_console(&pdc_cons);
}

The 32-bit Kernel has started...
pdc_console_init_force() would set a CL_DUP.
PAGE0->mem_cons address: 100003a0.
PAGE0->mem_kbd address: 10000400.
PAGE0->mem_kbd size: 48.

But that couldn't help more for the moment :(



-------------------------------------------------------------------------
Tiscali ADSL: 12 mois à 29,50 €/mois! L'Internet rapide, c'est pour tout
le monde.
http://reg.tiscali.be/default.asp?lg=fr

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2004-01-27 17:17 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-01-21 18:03 [parisc-linux] B2k and CONFIG_PDC_CONSOLE pb: followup Joel Soete
2004-01-22  5:31 ` Grant Grundler
2004-01-22 15:18   ` Joel Soete
2004-01-23 18:54   ` Joel Soete
2004-01-23 19:45     ` Grant Grundler
2004-01-24 11:12       ` Joel Soete
2004-01-24 21:03         ` Grant Grundler
2004-01-26 17:00           ` [parisc-linux] A fix for B2k and CONFIG_PDC_CONSOLE pb Joel Soete
2004-01-26 17:25             ` Matthew Wilcox
2004-01-26 18:20               ` Joel Soete
2004-01-26 18:38                 ` Joel Soete
2004-01-27 17:17               ` Joel Soete

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.