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>