From: Arnaud Patard (Rtp) <arnaud.patard@rtp-net.org>
To: Florian Lohoff <flo@rfc822.org>
Cc: Aurelien Jarno <aurelien@aurel32.net>, linux-mips@linux-mips.org
Subject: Re: Syncing CPU caches from userland on MIPS
Date: Wed, 25 Nov 2009 15:39:01 +0100 [thread overview]
Message-ID: <87pr76acu2.fsf@lechat.rtp-net.org> (raw)
In-Reply-To: <20091125140105.GB13938@paradigm.rfc822.org> (Florian Lohoff's message of "Wed\, 25 Nov 2009 15\:01\:05 +0100")
Florian Lohoff <flo@rfc822.org> writes:
Hi,
> On Tue, Nov 24, 2009 at 07:28:41PM +0100, Aurelien Jarno wrote:
>> Hi all,
>>
>> This question is not really kernel related, but still MIPS related, I
>> hope you don't mind.
>>
>> Arnaud Patard and myself are trying to get qemu working on MIPS [1],
>> which includes translating TCG code (internal representation) into MIPS
>> instructions, that are then executed. Most of the code works, but we
>> have some strange behaviors that seems related to CPU caches.
>>
>> The code is written to a buffer, which is then executed. Before the
>> execution, the caches are synced using the cacheflush syscall:
>>
>> | #include <sys/cachectl.h>
>> |
>> |
>> | static inline void flush_icache_range(unsigned long start, unsigned long stop)
>> | {
>> | cacheflush ((void *)start, stop-start, ICACHE);
>> | }
>
> Would this only evict stuff from the ICACHE? When trying to execute
> a just written buffer and with a writeback DCACHE you would need to
> explicitly writeback the DCACHE to memory and invalidate the ICACHE.
we already though about using BCACHE instead of ICACHE only but it
didn't make any difference. the bug is still there.
Arnaud
next prev parent reply other threads:[~2009-11-25 14:30 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-11-24 18:28 Syncing CPU caches from userland on MIPS Aurelien Jarno
2009-11-24 21:04 ` David Daney
2009-11-24 21:35 ` Aurelien Jarno
2009-11-25 14:01 ` Florian Lohoff
2009-11-25 14:39 ` Arnaud Patard [this message]
2009-11-25 14:32 ` Florian Lohoff
2009-11-25 14:48 ` Arnaud Patard
2009-11-25 15:18 ` peter fuerst
2009-11-25 15:01 ` Ralf Baechle
2009-11-25 15:00 ` Ralf Baechle
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87pr76acu2.fsf@lechat.rtp-net.org \
--to=arnaud.patard@rtp-net.org \
--cc=aurelien@aurel32.net \
--cc=flo@rfc822.org \
--cc=linux-mips@linux-mips.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.