Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 19 May 2009 16:00:52 -0500 (CDT)
From:      Mark Tinguely <tinguely@casselton.net>
To:        chuckr@telenix.org, freebsd-arm@freebsd.org
Subject:   Re: crosscompiler and porting notes
Message-ID:  <200905192100.n4JL0qNx079696@casselton.net>
In-Reply-To: <4A12D46B.8040808@telenix.org>

next in thread | previous in thread | raw e-mail | index | archive | help

sorry for the blank reply. It should have said

Looking at the current sources for the GNU assembler, it appears to me that
the "gas" sources do not have some new and important ARMv7 commands such as
"dmb", "dsb", and "isb" (barriers). There ARMv6 equivalent command, but
are not recommended.
			---
I looked at the Cortex document, the first thing that changed in ARMv7
is the information registers (for example information on the caches).
You will need to replace the CPU information and intialization code.

It would be nice to get an ARMv7 ARM. Someone with authority, like the
FreeBSD Foundation may be needed.
			---
You will need to write a new cpufunc_asm_XXX.S file of routines. The
existing routines assume the pmap will flush the caches on context change.
			---
I would suggest you start by using the existing memory model of flushing
caches on context changes until we learn more on the Cortex cache - are they
*really* not effected by the cache coloring problem.

If you can get the console working, and are willing to put some test
code into somewhere like pmap_bootstrap(), to test if the cache coloring
is really fixed, I would write it up.
			---
I have some rough code for the new ARMv6/ARMv7 TLS registers, the tlb ASID
and load and store exclusive. You have plenty to do to get the board up
to single user, without having to worry about this other stuff.

--Mark.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200905192100.n4JL0qNx079696>