[okl4-developer] second wombat

Ashish Bijlani ashish.bijlani at gmail.com
Mon Oct 6 11:51:37 EST 2008


Hi,

I'm running two wombats on emulated (skyeye) gumstix platform.
However, the wombat that boots up last doesn't prints any msgs on the
serial console. AFAIK, once linux starts "init" process msgs over
serial console appear through vserial server/client model and not
through L4KDB. However, the latter wombat either doesn't get serial
console to dump msgs or it is blocked on some event; I'm not sure
though. I've modified vserial server in iguana to make the latter
wombat's vserial client as the active_virtual client, but I don't see
any output. What could be the reason?

snippet from vserial to make the last wombat as active_virtual

"
    for (i = 0; i < 4; i++)
    {
        if (virtual_device_instance[i].valid_instance)
        {
            virtual_device_instance[i].serial_device = (void *)(serial_device);
            // XXX virtual_device_instance[i].thread = *thread;
            // XXX virtual_device_instance[i].mask = mask;

            virtual_device_instance[i].si_start =
virtual_device_instance[i].si_end = NULL;
            virtual_device_instance[i].si_comp_end =
virtual_device_instance[i].si_comp_start = NULL;

            if (serial_device->active_virtual == NULL)
            {
                serial_device->active_virtual    = &virtual_device_instance[i];
                serial_device->last_virtual      = &virtual_device_instance[i];
            }
            else
            {
                serial_device->active_virtual    = &virtual_device_instance[i];
                serial_device->last_virtual->next = &virtual_device_instance[i];
                serial_device->last_virtual       = &virtual_device_instance[i];
            }
        }
    }
"

Output snippet

"
NET: Registered protocol family 15
VFS: Mounted root (ext2 filesystem) readonly.
PXA FFUART IRQ: 33
vserial: init done (handle: 0, owner: 18001, mask: 2)

 Client:  0x0
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered (default)
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
loop: module loaded
tun: Universal TUN/TAP device driver, 1.6
tun: (C) 1999-2004 Max Krasnyansky <maxk at qualcomm.com>
 igms0: unknown partition table
Iguana ramdisk driver initialized
kobject_add failed for ttyS0 with -EEXIST, don't try to register
things with the same name in the same directory.
This architecture does not implement dump_stack()
Iguana virtual serial driver v1.0
TCP cubic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
NET: Registered protocol family 15
VFS: Mounted root (ext2 filesystem) readonly.
vserial: init done (handle: 1, owner: 1c001, mask: 2)

 Client:  0x1c001
start_thread current = 8282bd60  pc = 800bd0, sp = 1c26f30

 Client:  0x1c001

 Client:  0x1c001

 Client:  0x1c001

 Client:  0x1c001

"

It doesn't prints anything after this. For the first "vserial: init
done (handle: 0, owner: 18001, mask: 2)" it shows Client as NULL.
Second time it shows the correct client.


> showqueue
Key: (X) blocked, <X> on CPU, {X} halted, !X! aborted

[255]:
WAIT_FOREVER
 (roottask)

[240]:
WAIT_FOREVER
 (vtimer)
WAIT_FOREVER
 (vrtc)

[200]:
WAIT_FOREVER
 (event)

[110]:
RUNNING
 <vserial>

[100]:
WAIT_FOREVER
(L_timer)
WAIT_FOREVER
(L2_timer)

[ 99]:
WAIT_FOREVER
(L_syscal)
WAIT_FOREVER
(L2_sysca)

[ 98]:
WAIT_FOREVER
(L_1)
RUNNING
L2_1
WAIT_FOREVER
(L_49)
idle : idle_thread

L2_1 represents the init process in wombat 2. This always shows L2_1
as RUNNING. But doesn't prints it within "<" and ">".

Thanks,
Ashish



More information about the Developer mailing list