[okl4-developer] second wombat

Ashish Bijlani ashish.bijlani at gmail.com
Mon Oct 6 11:54:24 EST 2008


> showtcbext
tcb/tid/name [current]: L2_1
=== L2_1 == TCB: f0030dc0 == ID: 0002c001 = e0801f00/e0801f00 ==
APRIO/EPRIO: 0x62/0x62 ===
UIP: 00800bd0   queues: Rb      space: f0104740/8   pager: L2_syscall
USP: 01c26f30   tstate: RUNNING   ready: L2_1    :L2_1       pdir : f0105600
sndhd : NIL_THRD  blocked : NIL_THRD:NIL_THRD   waiting_for : NIL_THRD
ts length  :       0x2710 us, curr ts: 0x2710 us
resources:    00000000 [ek], ARM [PID: 31, vspace: 0, domain: 7, dom_mask 4001]
continuation: ffff0cf4   preemption_cont: 00000000
scheduler: L2_sysca    exception_handler: L2_sysca
  partner: NIL_THRD        saved partner: NIL_THRD      saved state: ABORTED
  tcb_idx: a
references: T f0101864

user handle:          00000000  cop flags:           00
preempt flags: 00 [~]
incoming notify bits: 00000000  notify mask:         00000000
last preempted_ip:    00000000  preempt_callback_ip: 00000000

mr( 0): 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
mr( 8): 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
mr(16): 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
mr(24): 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
Message Tag: 0 untyped, label = 0, flags = -

Acceptor: 00000000 (a)  Error code: 0


On Sun, Oct 5, 2008 at 8:51 PM, Ashish Bijlani <ashish.bijlani at gmail.com> wrote:
> 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