Instructions cache flush on ARM (was: N800 Video playback)

2007-04-22 Thread Siarhei Siamashka
On Friday 20 April 2007 19:04, you wrote:

  I have seen your code in xserver which does the same job for downscaling,
  but in nonoptimized C and with much higher impact on quality. Using JIT
  scaler there can improve both image quality and performance a lot. The
  only my concern is about instruction cache coherency. As ARM requires
  explicit instructions cache flush for self modyfying or dynamically
  generated code, I wonder if  using just mmap is safe (does it flush cache
  for allocated region of  memory?). Maybe maemo kernel hackers/developers
  can help with this information?

 arm linux support flush icache by syscall cacheflush,

 qemu have this function:
 static inline void flush_icache_range(unsigned long start, unsigned long
 stop)
 {
 register unsigned long _beg __asm (a1) = start;
 register unsigned long _end __asm (a2) = stop;
 register unsigned long _flg __asm (a3) = 0;
 __asm __volatile__ (swi 0x9f0002 : : r (_beg), r (_end), r
 (_flg));
 }

 you can reference kernel source arch/arm/kernel/traps.c and
 include/asm-arm/unistd.h

Thanks, it works. But I'm worried about [1]. Looks like EABI has a new syscall
interface and this code from qemu uses old ABI. And from reading description 
at the wiki page, compatibility with old ABI can be disabled (and it makes
sense disabling it as this compatibility reduces performance a bit).

I wonder if there is a better portable solution (running on any ARM linux or
even better on any POSIX compatible system). It would be reasonable to 
assume that allocating memory with mmap implies that we are going to 
execute code from that area and instructions cache should be flushed for it:
mmap(0, some_buffer_size, PROT_READ | PROT_WRITE | PROT_EXEC, 
MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);

But I wonder if mmap requesting executable block of memory really does 
instructions cache flush in reality?

I just want to submit this ARM optimized scaler to upstream ffmpeg and want to
make it as portable as possible.

1. 
http://wiki.debian.org/ArmEabiPort#head-96054c6cb4209b4a589e645dd50ac0fe133b8ced
___
maemo-developers mailing list
maemo-developers@maemo.org
https://maemo.org/mailman/listinfo/maemo-developers


Re: IT2007 Hacker Edition - First impression: Onscreen keyboard

2007-04-22 Thread Krischan Keitsch
Hi,

I just couldn't resist and installed the hackeredition (fiasco image) on my 
n770. It worked well for some time but now I get Systemerror 2. message on 
start up and I don't have the onscreen keyboard anymore. Anytime I click a 
textinput field nothing happens. Any ideas?

Regards Krischan

___
maemo-developers mailing list
maemo-developers@maemo.org
https://maemo.org/mailman/listinfo/maemo-developers


Re: Compiling latest kernel (from kernel.org) in n800

2007-04-22 Thread Leandro Melo de Sales

Daniel,

  I finally compiled linux-omap git version. But now, when I flash
zImage into n800 the system hangs at Nokia Logo. Any clue?

Thank you,
Leandro

2007/4/18, Leandro Melo de Sales [EMAIL PROTECTED]:

Daniel,

still cannot compile linux-omap for n800_defconfig and kernel git.
Can you please give me a point to solve this problem?

Thank you,
Leandro.

2007/4/17, Leandro Melo de Sales [EMAIL PROTECTED]:
 If I type make n770_defconfig I can compile the kernel, but if I type
 n800_defconfig I can't, make output is as bellow... any clue?

 2007/4/17, Leandro Melo de Sales [EMAIL PROTECTED]:
  Hi Daniel,
 
I download the git version and then, after some commands I got the 
following:
 
  [sbox-SDK_ARMEL: ~/maemo_kernel_git/linux-omap]  make zImage
CHK include/linux/version.h
  make[1]: `include/asm-arm/mach-types.h' is up to date.
CHK include/linux/utsrelease.h
CHK include/linux/compile.h
CC  arch/arm/mach-omap2/board-n800.o
  arch/arm/mach-omap2/board-n800.c:507: error: `MACH_TYPE_NOKIA_N800'
  undeclared here (not in a function)
  arch/arm/mach-omap2/board-n800.c:507: error: initializer element is not 
constant
  arch/arm/mach-omap2/board-n800.c:507: error: (near initialization for
  `__mach_desc_NOKIA_N800.nr')
  make[1]: *** [arch/arm/mach-omap2/board-n800.o] Error 1
  make: *** [arch/arm/mach-omap2] Error 2
 
  What is the problem, do you know? I'm using scratchbox.
 
  Thank you,
  Leandro.
 
  2007/4/17, Daniel Stone [EMAIL PROTECTED]:
   On Tue, Apr 17, 2007 at 05:00:38PM -0300, ext Leandro Melo de Sales wrote:
 Do you say, linux-omap tree of kernel.org, right? I'm getting the
git version of the following tree:
 
http://www.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git
   
Is it right?
  
   Yeah, that's the one.
  
   Cheers,
   Daniel
  
   -BEGIN PGP SIGNATURE-
   Version: GnuPG v1.4.3 (GNU/Linux)
  
   iD8DBQFGJS2I68xJuWtYYdURAgAjAJ4oA4wZzbHW+zxA40Vt/cQMw52c7wCff0El
   zil+hl7Cb3jSvDWuAj1Fl8A=
   =KygY
   -END PGP SIGNATURE-
  
  
 



___
maemo-developers mailing list
maemo-developers@maemo.org
https://maemo.org/mailman/listinfo/maemo-developers


Quiver Image Viewer for 770 / N800

2007-04-22 Thread Mike Morrison

Hello:

I have been porting my image viewer (quiver) to the maemo platform and
I now think it is in a reasonable enough state for others to try.

I've created builds for bora and gregale which you can get from one of
the following locations:

http://downloads.maemo.org/product/quiver/
http://mike.yi.org/projects/quiver/wiki/QuiverForMaemo

If you try it out, let me know what you think of it.

Mike
___
maemo-developers mailing list
maemo-developers@maemo.org
https://maemo.org/mailman/listinfo/maemo-developers


How to Run the Cosole based Application in Maemo

2007-04-22 Thread chetan nanda
Hi,

I am new to this platform and i have done some thread programming and socket 
programming and now i want to run that on maemo. so how can i run it ...

is there any console and if there is any console then how to lauch it and how 
to run my application on it..

plz  guide me waiting for ur reply

chetan


CHETAN NANDA| Junior Software Engineer
Mobile:+91 9912075769 (IND)| Office:+91046429 | [EMAIL PROTECTED]

QVANTEL SOFTWARE SOLUTIONS LIMITED | PLOT NO 296, ROAD NO 25, 
JUBILEE HILLS, HYDERABAD-500033, INDIA | www.qvantel.com
   
-
 Check out what you're missing if you're not on Yahoo! Messenger ___
maemo-developers mailing list
maemo-developers@maemo.org
https://maemo.org/mailman/listinfo/maemo-developers


Re: init start/stop script won't work when battery is charging

2007-04-22 Thread Kalle Valo
ext wolfg [EMAIL PROTECTED] writes:

 My init script works fine on 770/N800 when not charging. But if the
 charger is connected, turn device off then on, it doesn't work.  How
 to solve this problem?

When you turn off with charger connected, only the runlevel is
changed. Make sure that your init script run when changing to that
runlevel.

-- 
Kalle Valo

___
maemo-developers mailing list
maemo-developers@maemo.org
https://maemo.org/mailman/listinfo/maemo-developers


Re: trouble to disconnect from WiFi AP

2007-04-22 Thread Patrik Flykt

Hi,

On Fri, 2007-04-20 at 11:04 +0200, ext Jan Vachun wrote:
 When N800 is already connected to another WiFi AP, calling
 osso_iap_connect() blocks application until WiFi connection is
 dropped using Connection manager UI.

The blocking thing seems more like a bug to me, but eventually
osso_iap_connect should return latest after ~3 minutes due to the D-Bus
timeout used.

Connectivity works with the following policy in N800:
1) if the requested connection is on, the connect request succeeds
2) if there is no connection on, the requested one is created
3) if there is another connection on, the requested connection is not
  connected

In the majority of cases where applications just ask for any connection,
everything works all the time, it's the specific connections that cannot
be connected at will.

Then there is also the OSSO_IAP_TIMED_CONNECT flag. It must be set if
the application triggers a network connection request by itself without
user intervention. When this flag is set, case 2) above does not apply,
i.e. no application can by itself turn on an (expensive GPRS or CS)
network connection.

 calling osso_iap_disconnect(...) with OSSO_IAP_ANY or with realIAP
 profile name as parameter returns no error but doesn't disconnect
 current WiFi connection.

Yes. Connectivity policy again. In 770 there was a reference count that
disconnected the network connection after the last user exited. As N800
tries to be online as much as possible, the reference count is omitted
and the connection does not get disconnected.

 I have also tried to disconnect through D-BUS using
 disconnect_iap_async() in following code, but it didn't work either.

The library is already using that D-Bus interface, so it will work
identically.

What is the exact use case where policy 3) above jams your application?

HTH,

Patrik


___
maemo-developers mailing list
maemo-developers@maemo.org
https://maemo.org/mailman/listinfo/maemo-developers