public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot-Users] disabling d-cache in 'bootelf' for QNX
@ 2008-01-02 17:40 Rafal Jaworowski
  2008-01-03 10:16 ` Stefan Roese
  0 siblings, 1 reply; 10+ messages in thread
From: Rafal Jaworowski @ 2008-01-02 17:40 UTC (permalink / raw)
  To: u-boot

Hi,

Currently do_bootelf() disables data cache just before passing control to the
entry point:

        /*
         * QNX images require the data cache is disabled.
         * Data cache is already flushed, so just turn it off.
         */
        if (dcache_status ())
                dcache_disable ();

With this piece of code present I'm seeing strange effects (corrupt data
access, hangs) in standalone apps running from the ELF envelope. A pure binary
made of this same ELF works without problems. Contrary to the comment above,
there's no quarantee in do_bootelf() code flow that all data cache has been
flushed and it seems there needs to be flush_data_cache() executed before the
disable.

1. Does it really hold true that QNX requires d-cache disabled upon passing
control to it?

2. If so, this is a custom QNX thing that belongs to do_bootm_qnxelf() and
should be handled there and not at the common ELF handling level.

Any objections to pushing this down to do_bootm_qnxelf()? I can provide a
patch, but cannot test it with any QNX system. Is there anyone with such setup
that would give this a try?

Rafal

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2008-01-07  9:35 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-01-02 17:40 [U-Boot-Users] disabling d-cache in 'bootelf' for QNX Rafal Jaworowski
2008-01-03 10:16 ` Stefan Roese
2008-01-03 10:30   ` Rafal Jaworowski
2008-01-03 11:12     ` Stefan Roese
2008-01-05 22:18       ` Rafal Jaworowski
2008-01-06  1:58         ` Josh Boyer
2008-01-06 14:11           ` Rafal Jaworowski
2008-01-07  9:14             ` Matthias Fuchs
2008-01-07  9:35               ` Stefan Roese
2008-01-03 16:45     ` Wolfgang Denk

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox