[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