[okl4-developer] okl4 in qemu emulated gumstix environment (fixed!! but...)

Ashish Bijlani ashish.bijlani at gmail.com
Thu Aug 28 20:56:47 EST 2008


This is what KDB->Tracepoints show:

DABT @ 8001aed4 [8001aed4], pc = 80302340, tcb = f0030420, fs = b
SYS_INTERRUPT_CONTROL: tid=NIL_THRD, control=80 (count=0 , op=2 ,
req=0, notify_bit=0)
timeslice expired for vserial
DABT @ 8120b6e4 [8120b6e4], pc = 80300644, tcb = f0030420, fs = 9
SYS_IPC: current: vserial, to_tid: NIL_THRD, from_tid: ANY_THRD, tag:
0x4016 (label=0x0, sR~, u=22)

vserial does IPC to NILTHREAD!! Is this normal?

-ashish

On Thu, Aug 28, 2008 at 6:46 AM, Ashish Bijlani
<ashish.bijlani at gmail.com> wrote:
> it seems two instances of wombat causes some problem with vserial.
> system WORKS FINE with single wombat. i suppose the problem arises
> when okl4 scheduler switches to wombat2; probably vserial fails to
> switch to ig_serial in  wombat2. may be the current release of okl4
> registers just once client of vserial, which happens to be the
> ig_serial in first instance of wombat.
>
> -ashish
>
> On Thu, Aug 28, 2008 at 6:16 AM, Jean-Christophe DUBOIS
> <jcd at tribudubois.net> wrote:
>>
>> Just a thought...
>>
>> As it seems you are still running 2 instances of linux, I am wondering how
>> you configured your Linux kernels. For example is it possible that the 2
>> linux instances try to do the PCI enumeration (or something similar.
>> Basically probing the hardware and trying to attach a driver) ? In this
>> case I think you could end up with some trouble.
>>
>> As long as you access the hardware through an OKL4 server (like ig_serial)
>> everything is nice and the hardware can be shared. But if several
>> partitions try to handle the same hardware ...
>>
>> This is obviously an interesting subject: How to manage hardware and
>> permission to the hardware for the various partitions? How to forbid
>> hardware access for some partition ...
>>
>> Do you have the last message printed on the console before it freezes?
>>
>> JC
>>
>> On Thu, 28 Aug 2008 05:28:14 -0400, "Ashish Bijlani"
>> <ashish.bijlani at gmail.com> wrote:
>>> i found the problem. linux kernel sys_opens /dev/console before
>>> calling init in file "init/main.c". but "/etc/init.d/rcS" in rootfs
>>> deletes /dev/console and creates a new /dev/console in an attempt to
>>> change permissions. this breaks the link to /dev/console's inode that
>>> was installed previsouly in init's PCB/FCB because FS will assign a
>>> new inode to this newly created "/dev/console"  hence i couldn't see
>>> any messages on serial once init would start. i was using okl4-2.1. it
>>> seems latest release of okl4 viz okl4-2.1.1-patch9 fixes this issue
>>> and code to delete /dev/console has been removed from new init.d/rcS
>>>
>>> however, the console/shell freezes after sometime. any ideas why?
>>> could this be because of another instance of ig_serial asi'm running
>>> two instances of wombat?  how can i debug this?
>>>
>>> -ashish
>>>
>>> On Wed, Aug 27, 2008 at 2:11 AM, Geoffrey Lee <glee at ok-labs.com> wrote:
>>>> On Wed, Aug 27, 2008 at 01:50:45AM -0400, Ashish Bijlani wrote:
>>>>> my keystrokes are reaching ig_serial :
>>>>>
>>>>> NET: Registered protocol family 1
>>>>> NET: Registered protocol family 17
>>>>> NET: Registered protocol family 15
>>>>> 802.1Q VLAN Support v1.8 Big_serial [ig_serial_open] :end
>>>>> en Greear <greearb at candelatech.com>
>>>>> All bugs added by David S. Miller <davem at redhat.com>
>>>>> VFS: Mounted root (ext2 filesystem) readonly.
>>>>> ig_serial [ig_serial_open] :start
>>>>> vserial: init done (handle: 0, owner: 18001, mask: 2)
>>>>> ig_serial [ig_serial_open] :end
>>>>> ig_serial [ig_serial_open] :start
>>>>> ig_serial [ig_serial_open] :end
>>>>> ig_serial [ig_serial_open] :start
>>>>> ig_serial [ig_serial_open] :end
>>>>> ig_serial [ig_serial_open] :start
>>>>> ig_serial [ig_serial_open] :end
>>>>> ig_serial [ig_serial_write] :start
>>>>> ig_serial [ig_serial_write] :start
>>>>> ig_serial [ig_serial_write] :start
>>>>> --- KD# User: breakin ---
>>>>> > showqueue
>>>>> Key: (X) blocked, <X> on CPU, {X} halted, !X! aborted
>>>>>
>>>>> [255]: (roottask)
>>>>> [240]: (vtimer) (vrtc)
>>>>> [200]: (event)
>>>>> [110]: <vserial>
>>>>> [100]: (L_timer) (L_timer)
>>>>> [ 99]: (L_syscal) (L_syscal)
>>>>> [ 98]: (L_1) L_1 (L_52)
>>>>> idle : idle_thread
>>>>>
>>>>> > go
>>>>> ig_serial [ig_serial_interrupt] :start
>>>>> ig_serial [ig_serial_interrupt] :start
>>>>>
>>>>> what could be wrong now? should i pass console=ttyS0,115200n8 as
>>>>> kernel command line arguments? where would /dev/console point to
>>>>> without these args?
>>>>
>>>> Maybe your character is somehow not being passed down to the Linux
>>>> tty layer.  The console= argument is not meaningful in this case,
>>>> the driver is in vserial and ig_serial is only a client
>>>> of vserial.
>>>>
>>>>>
>>>>> i tested qemu gumstix serial emulation with pflash and linux. it seems
>>>>> to be working fine.
>>>>
>>>> This is not sufficient, as it could still indicate an issue
>>>> with qemu emulation.  The pxa serial driver used by vserial
>>>> is written from scratch and is different to the driver
>>>> used in native Linux.
>>>>
>>>>
>>>>        -gl
>>>>
>>>>
>>>>>
>>>>> -ashish
>>>>>
>>>>> On Wed, Aug 27, 2008 at 12:14 AM, Ashish Bijlani
>>>>> <ashish.bijlani at gmail.com> wrote:
>>>>> > serial works fine on skyeye but network doesn't work because skyeye
>>> is
>>>>> > missing smc9x card emulation which is used by gumstix...i'll debug
>>>>> > serial handling in qemu...thanks geoff.
>>>>> >
>>>>> > -ashish
>>>>> >
>>>>> > On Wed, Aug 27, 2008 at 12:07 AM, Geoffrey Lee <glee at ok-labs.com>
>>> wrote:
>>>>> >> On Tue, Aug 26, 2008 at 11:52:10PM -0400, Ashish Bijlani wrote:
>>>>> >>> no i'm using the in-built ramdisk....i've not made any changes
>>>>> >>>
>>>>> >>
>>>>> >> We do testing on both skyeye and hardware, so ig_serial should
>>>>> >> be known to work.  Is it possible for you to either do your
>>>>> >> work on skyeye or hardware?  I am guessing there might
>>>>> >> be a possible issue with qemu's handling of the serial.
>>>>> >>
>>>>> >>
>>>>> >>        -gl
>>>>> >>
>>>>> >>> On Tue, Aug 26, 2008 at 11:45 PM, Geoffrey Lee <glee at ok-labs.com>
>>> wrote:
>>>>> >>> > On Tue, Aug 26, 2008 at 11:20:36PM -0400, Ashish Bijlani wrote:
>>>>> >>> >> ig_serial fails to register in qemu emulated gumstix environemt.
>>> thats
>>>>> >>> >> why i don't get console over ttyS0. I get the following message:
>>>>> >>> >>
>>>>> >>> >> kobject_add failed for ttyS0 with -EEXIST
>>>>> >>> >
>>>>> >>> > I doubt that's the cause of your error, we see this message
>>>>> >>> > printed but the serial is fine for us.
>>>>> >>> >
>>>>> >>> >>
>>>>> >>> >> i'm running okl4-2.1.1 with "ttyS0::askfirst:-/bin/sh" in
>>>>> >>> >> /etc/inittab. any ideas why this error.
>>>>> >>> >
>>>>> >>> > Are you using the supplied ramdisk or are you using your own?
>>>>> >>> >
>>>>> >>> >        -gl
>>>>> >>> >
>>>>> >>> >>
>>>>> >>> >> thanks,
>>>>> >>> >> ashish
>>>>> >>> >>
>>>>> >>> >> On Tue, Aug 26, 2008 at 8:17 PM, Geoffrey Lee <glee at ok-labs.com>
>>> wrote:
>>>>> >>> >> > On Tue, Aug 26, 2008 at 07:51:20AM -0400, Ashish Bijlani
>>> wrote:
>>>>> >>> >> >> thanks for the suggestion geoff. btw, how do you emulate net
>>> when
>>>>> >>> >> >> running on skyeye?
>>>>> >>> >> >
>>>>> >>> >> > I have not personally used the emulated networking support on
>>>>> >>> >> > skyeye before, so I am not sure what's the best way to go
>>> about it.
>>>>> >>> >> > They seem to have some README in the source tarball which
>>> documents
>>>>> >>> >> > this however.
>>>>> >>> >> >
>>>>> >>> >> >> -ashish
>>>>> >>> >> >
>>>>> >>> >> >        -gl
>>>>> >>> >> >
>>>>> >>> >> >>
>>>>> >>> >> >> On Tue, Aug 26, 2008 at 7:43 AM, Geoffrey Lee
>>> <glee at ok-labs.com> wrote:
>>>>> >>> >> >> > On Tue, Aug 26, 2008 at 06:05:28AM -0400, Ashish Bijlani
>>> wrote:
>>>>> >>> >> >> >> The latest code doesn't have networking for gumstix.
>>> CONFIG_SMC is
>>>>> >>> >> >> >> missing in
>>> "linux/kernel-2.6.23-v2/l4linux_config_gumstix". Simply
>>>>> >>> >> >> >> adding CONFIG_SMC doesn't work in the latest code base.
>>>>> >>> >> >> >
>>>>> >>> >> >> >
>>>>> >>> >> >> > Generally to avoid missing dependencies and other things it
>>> is
>>>>> >>> >> >> > best to edit the configuration file with menuconfig or
>>> similar
>>>>> >>> >> >> > to modify the Linux configuration.
>>>>> >>> >> >> >
>>>>> >>> >> >> > My feeling is you may find it easier to forward port the
>>> bits required
>>>>> >>> >> >> > to make the SMC driver work than deal with the limitations
>>>>> >>> >> >> > of using an older OKL4 release.
>>>>> >>> >> >> >
>>>>> >>> >> >> >        -gl
>>>>> >>> >> >> >
>>>>> >>> >> >> >>
>>>>> >>> >> >> >> -Ashish
>>>>> >>> >> >> >>
>>>>> >>> >> >> >> On Tue, Aug 26, 2008 at 6:02 AM, Geoffrey Lee
>>> <glee at ok-labs.com> wrote:
>>>>> >>> >> >> >> > On Tue, Aug 26, 2008 at 05:55:28AM -0400, Ashish Bijlani
>>> wrote:
>>>>> >>> >> >> >> >> I'm using okl4-1.4.1.1 and it doesn't seem to be having
>>> ig_serial
>>>>> >>> >> >> >> >> under "linux/kernel/arch/l4/drivers", however it has
>>> "l4e_console". Is
>>>>> >>> >> >> >> >> this normal? How do I enter KDB before executing
>>> /etc/init.d/rc?
>>>>> >>> >> >> >> >
>>>>> >>> >> >> >> > The serial driver in 1.4.1.1 is quite different to
>>> what's in the
>>>>> >>> >> >> >> > current release, hence it is normal not to find
>>> ig_serial.c.  Best
>>>>> >>> >> >> >> > thing you can do is trace the execution path inside your
>>> driver.
>>>>> >>> >> >> >> >
>>>>> >>> >> >> >> > You can manually call L4_KDB_Enter() to enter the
>>> debugger.
>>>>> >>> >> >> >> >
>>>>> >>> >> >> >> > By the way is there any reason you cannot use a newer
>>> version of
>>>>> >>> >> >> >> > OKL4?
>>>>> >>> >> >> >> >
>>>>> >>> >> >> >> >
>>>>> >>> >> >> >> >        -gl
>>>>> >>> >> >> >> >
>>>>> >>> >> >> >> >>
>>>>> >>> >> >> >> >> Thanks,
>>>>> >>> >> >> >> >> Ashish
>>>>> >>> >> >> >> >>
>>>>> >>> >> >> >> >> On Tue, Aug 26, 2008 at 5:49 AM, Geoffrey Lee
>>> <glee at ok-labs.com> wrote:
>>>>> >>> >> >> >> >> > On Tue, Aug 26, 2008 at 05:43:51AM -0400, Ashish
>>> Bijlani wrote:
>>>>> >>> >> >> >> >> >> Thanks for your quick reply. However, I'm using
>>> okl4-1.4 and I didn't
>>>>> >>> >> >> >> >> >> change anything in it. I get shell using skyeye but
>>> no network as
>>>>> >>> >> >> >> >> >> skyeye does not emulate smc91x network card. I don't
>>> get shell in
>>>>> >>> >> >> >> >> >> qemu. The face that it runs fine on skyeye,
>>> indicates that ig_serial
>>>>> >>> >> >> >> >> >> has been configured properly, isn't it?
>>>>> >>> >> >> >> >> >
>>>>> >>> >> >> >> >> > Not necessarily, the simulator may sometimes behave
>>> differently
>>>>> >>> >> >> >> >> > to how the hardware really behaves.  Please have a
>>> look around
>>>>> >>> >> >> >> >> > the system to see if there are any clues of
>>> misbehavior, for
>>>>> >>> >> >> >> >> > example, are you actually receiving any interrupts at
>>> all when
>>>>> >>> >> >> >> >> > you hit a key on the serial?  Is the serial driver
>>> initialized
>>>>> >>> >> >> >> >> > properly, or if vserial is present on the system at
>>> all?  Is there
>>>>> >>> >> >> >> >> > any interaction between the vserial and OK Linux?
>>> The KDB should be
>>>>> >>> >> >> >> >> > quite helpful here.
>>>>> >>> >> >> >> >> >
>>>>> >>> >> >> >> >> >
>>>>> >>> >> >> >> >> >        -gl
>>>>> >>> >> >> >> >> >>
>>>>> >>> >> >> >> >> >> -Ashish
>>>>> >>> >> >> >> >> >>
>>>>> >>> >> >> >> >> >> On Tue, Aug 26, 2008 at 5:39 AM, Geoffrey Lee
>>> <glee at ok-labs.com> wrote:
>>>>> >>> >> >> >> >> >> > On Tue, Aug 26, 2008 at 05:04:57AM -0400, Ashish
>>> Bijlani wrote:
>>>>> >>> >> >> >> >> >> >> Hi,
>>>>> >>> >> >> >> >> >> >>
>>>>> >>> >> >> >> >> >> >> I'm able to boot OKL4 in QEMU emulated gumstix
>>> environment. However,
>>>>> >>> >> >> >> >> >> >> I'm not able to get "Linux user startup!" and
>>> following messages on
>>>>> >>> >> >> >> >> >> >> the qemu serial console. Any ideas why?
>>>>> >>> >> >> >> >> >> >>
>>>>> >>> >> >> >> >> >> >> This is what I did:
>>>>> >>> >> >> >> >> >> >>
>>>>> >>> >> >> >> >> >> >> cp build/image.boot /tftpboot/.
>>>>> >>> >> >> >> >> >> >> ../qemu-gumstix/arm-softmmu/qemu-system-arm -M
>>> gumstix -hda
>>>>> >>> >> >> >> >> >> >> ../connex-gumstix/flash -net nic -net
>>> tap,ifname=qtap0  -m 256
>>>>> >>> >> >> >> >> >> >> -monitor null -serial stdio -m 289 -nographic
>>>>> >>> >> >> >> >> >> >>
>>>>> >>> >> >> >> >> >> >> GUM>
>>>>> >>> >> >> >> >> >> >> GUM> setenv ipaddr 10.0.0.231
>>>>> >>> >> >> >> >> >> >> GUM> setenv serverip 10.0.0.29
>>>>> >>> >> >> >> >> >> >> GUM> tftpboot a2000000 image.boot
>>>>> >>> >> >> >> >> >> >> GUM> bootelf a2000000
>>>>> >>> >> >> >> >> >> >>
>>>>> >>> >> >> >> >> >> >> The OKL4 kernel, wombat, iguana everything is
>>> loaded and booted
>>>>> >>> >> >> >> >> >> >> properly. However, I don't see any messages after
>>> :
>>>>> >>> >> >> >> >> >> >>
>>>>> >>> >> >> >> >> >> >> NET: Registered protocol family 15
>>>>> >>> >> >> >> >> >> >> VFS: Mounted root (ext2 filesystem) readonly.
>>>>> >>> >> >> >> >> >> >
>>>>> >>> >> >> >> >> >> > This probably means ig_serial.c or the user-level
>>> serial driver
>>>>> >>> >> >> >> >> >> > in drivers/ is misconfigured.  The kernel bootup
>>> messages get
>>>>> >>> >> >> >> >> >> > shown via the KDB console, which gets routed to
>>> the driver
>>>>> >>> >> >> >> >> >> > in the OKL4 kernel.  Once you get to Linux user
>>> startup
>>>>> >>> >> >> >> >> >> > output gets routed through /dev/ttyS0, which is
>>> backed by
>>>>> >>> >> >> >> >> >> > ig_serial.
>>>>> >>> >> >> >> >> >> >
>>>>> >>> >> >> >> >> >> >        -gl
>>>>> >>> >> >> >> >> >> >
>>>>> >>> >> >> >> >> >> >>
>>>>> >>> >> >> >> >> >> >> Am I missing something?
>>>>> >>> >> >> >> >> >> >>
>>>>> >>> >> >> >> >> >> >> Thanks,
>>>>> >>> >> >> >> >> >> >> Ashish
>>>>> >>> >> >> >> >> >> >>
>>>>> >>> >> >> >> >> >> >> _______________________________________________
>>>>> >>> >> >> >> >> >> >> Developer mailing list
>>>>> >>> >> >> >> >> >> >> Developer at okl4.org
>>>>> >>> >> >> >> >> >> >> https://lists.okl4.org/mailman/listinfo/developer
>>>>> >>> >> >> >> >> >> >>
>>>>> >>> >> >> >> >> >> >
>>>>> >>> >> >> >> >> >> > --
>>>>> >>> >> >> >> >> >> >
>>>>> >>> >> >> >> >> >> >
>>>>> >>> >> >> >> >> >>
>>>>> >>> >> >> >> >> >
>>>>> >>> >> >> >> >> > --
>>>>> >>> >> >> >> >> >
>>>>> >>> >> >> >> >> >
>>>>> >>> >> >> >> >>
>>>>> >>> >> >> >> >
>>>>> >>> >> >> >> > --
>>>>> >>> >> >> >> >
>>>>> >>> >> >> >> >
>>>>> >>> >> >> >>
>>>>> >>> >> >> >
>>>>> >>> >> >> > --
>>>>> >>> >> >> >
>>>>> >>> >> >> >
>>>>> >>> >> >>
>>>>> >>> >> >
>>>>> >>> >> > --
>>>>> >>> >> >
>>>>> >>> >> >
>>>>> >>> >>
>>>>> >>> >
>>>>> >>> > --
>>>>> >>> >
>>>>> >>> >
>>>>> >>>
>>>>> >>
>>>>> >> --
>>>>> >>
>>>>> >>
>>>>> >
>>>>>
>>>>
>>>> --
>>>>
>>>>
>>>
>>> _______________________________________________
>>> Developer mailing list
>>> Developer at okl4.org
>>> https://lists.okl4.org/mailman/listinfo/developer
>>
>>
>



More information about the Developer mailing list