On Wednesday 22 April 2009 05:23:37 pm
[hidden email]
wrote:
> Hi,
>
> Sorry, I checked the wiki but I didn't search the list.
> It was because I have not set EXAMPLE=oklinux,decrypt
>
> Sorry for the post.
>
> -----Message d'origine-----
> De :
[hidden email] [mailto:
[hidden email]]De la
> part de
[hidden email]
> Envoyé : mercredi 22 avril 2009 10:39
> À :
[hidden email]
> Objet : [okl4-developer] Cross-cell-demo problem
>
>
> Hi,
>
> I'm trying to test the cross-cell-demo application in OKLinux apps but when
> I run the application, I got an error:
> buf: abc
> Got unexpected IPC from 0x80000001
> Kernel panic - not syncing: unexpected ipc message
>
> Is it mandatory to send a valid string or is it a problem with the cell
> device?
> About the cell device, where is his driver and which cell is connected to
> this device?
>
> Is there another example of communication between Linux cell and OKL4 cell
> (driver / doc) ?
I think it is a bug in the oklinux system because i have same problem as you.
the bug is in the parse_arg of arch/l4/kernel/memcpy_user_armshared.c as
following:
parse_ptabs(unsigned long address, unsigned long *offset, unsigned long
access)
{
//The bug is here. When the system tries to access the current->mm->pgd
there is a page fault. Because the pager of L_syscall thread is L_timer. But
actually L_timer just only dedicates the interrupt IPC from the kernel to the
user land. So there is kernel panic.
pte_t *ptep = lookup_pte((pgd_t *)current->mm->pgd, address);
... ...
}
In the cross_cell_demo the copy_from_user must be used but copy_from_user
invokes the parse_ptabs. And my problems is caused by parse_tabs, too which
is invoked by futex_atomic_cmpxchg_inatomic function.
About 3 days ago i found this problem. At that time i thought it's my
problem. Until now i only know where the error comes but i don't fix it yet.
Hope the okl4 guys could give us hands.
Thanks a lot.
Cheng Guanghui
_______________________________________________
Developer mailing list
[hidden email]
https://lists.okl4.org/mailman/listinfo/developer