From: Scott Wood <scottwood@freescale.com>
To: "wilbur.chan" <wilbur512@gmail.com>
Cc: linuxppc-dev@ozlabs.org
Subject: Re: Can't write value into memory ?(E500 V2)
Date: Thu, 27 Aug 2009 11:34:01 -0500 [thread overview]
Message-ID: <4A96B579.3030907@freescale.com> (raw)
In-Reply-To: <e997b7420908270927m1ec1dbcbq51781e3b1e4db061@mail.gmail.com>
wilbur.chan wrote:
> 2009/8/27 Scott Wood <scottwood@freescale.com>:
>> Is this under Linux (it is a Linux mailing list...)? If so, there are
>> better ways of communicating that don't involve clobbering random memory and
>> overlapping userspace TLB mappings.
>
> Yes, I'm doing this under linux in kernel mode.
>
> I've used interrupt between cores, to make:
>
> 1) cpu0 carrys some data to a place (As a matter of fact ,the 'data'
> is a kernel, the 'place' is at 0, and I'm using kexec..)
>
> 2) cpu0 writes a 'flag' to a physical address(16M), to indicate that ,
>
> it has finished the carrying in step 1. And jump to new kernel directly.
OK, so it's not really "under Linux" but "between Linuxes". :-)
Don't forget to clean the cache out on the destination core -- icache is
not coherent with dcache.
> 3) cpu1 enters the loop by IRQ , checking the 'flag' from time to
> time. If the 'flag' is true, it
>
> breaks the loop and jumps to the instruction in new kernel.
>
>
>> Do both cores have a mapping with the M bit (memory coherence required) set?
>
>
> What do you mean by M bit set?
There is a bit in MAS2, labelled "M", that you must set when writing the
TLB entry for the mapping to be coherent across cores.
-Scott
prev parent reply other threads:[~2009-08-27 16:33 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-08-26 14:39 Can't write value into memory ?(E500 V2) wilbur.chan
2009-08-26 19:20 ` Scott Wood
2009-08-27 15:53 ` wilbur.chan
2009-08-27 15:59 ` Scott Wood
2009-08-27 16:27 ` wilbur.chan
2009-08-27 16:34 ` Scott Wood [this message]
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=4A96B579.3030907@freescale.com \
--to=scottwood@freescale.com \
--cc=linuxppc-dev@ozlabs.org \
--cc=wilbur512@gmail.com \
/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.