gcl-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gcl-devel] Re: gcl and reverse dependencies on arm


From: Camm Maguire
Subject: [Gcl-devel] Re: gcl and reverse dependencies on arm
Date: Wed, 27 Jan 2010 16:56:22 -0500
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.2 (gnu/linux)

Greetings!  OK I think we've found it.

A long time ago, some very helpful arm developer told me how to clear
the instruction and data caches.  GCL needs to do this as it loads
compiled code into its .data section, relocates it, clears the cache,
and then executes.  

Here is the arm bit:

#define CLEAR_CACHE do {\
  void *v=memory->cfd.cfd_start,*ve=v+memory->cfd.cfd_size; \
  register unsigned long _beg __asm ("a1") = (unsigned long)(v);        \
  register unsigned long _end __asm ("a2") = (unsigned long)(ve);\
  register unsigned long _flg __asm ("a3") = 0;                 \
  __asm __volatile ("swi 0x9f0002               @ sys_cacheflush"       \
                    : "=r" (_beg)                               \
                    : "0" (_beg), "r" (_end), "r"(_flg));       \
} while (0)


Since this time, many architectures use more portable alternatives
like mprotect.  In any case, the above seems to be fine on agricola:

=============================================================================
Processor       : XScale-80219 rev 0 (v5l)
BogoMIPS        : 593.10
Features        : swp half thumb fastmult edsp 
CPU implementer : 0x69
CPU architecture: 5TE
CPU variant     : 0x0
CPU part        : 0x2e3
CPU revision    : 0
Cache type      : undefined 5
Cache clean     : undefined 5
Cache lockdown  : undefined 5
Cache format    : Harvard
I size          : 32768
I assoc         : 32
I line length   : 32
I sets          : 32
D size          : 32768
D assoc         : 32
D line length   : 32
D sets          : 32

Hardware        : Thecus N2100
Revision        : 0000
Serial          : 0000000000000000
=============================================================================
and muscat
=============================================================================
Processor       : XScale-80219 rev 0 (v5l)
BogoMIPS        : 593.10
Features        : swp half thumb fastmult edsp 
CPU implementer : 0x69
CPU architecture: 5TE
CPU variant     : 0x0
CPU part        : 0x2e3
CPU revision    : 0

Hardware        : Thecus N2100
Revision        : 0000
Serial          : 0000000000000000
=============================================================================
but not your machine:
=============================================================================
Processor       : Feroceon rev 0 (v5l)
BogoMIPS        : 999.42
Features        : swp half thumb fastmult vfp edsp 
CPU implementer : 0x41
CPU architecture: 5TE
CPU variant     : 0x1
CPU part        : 0x926
CPU revision    : 0

Hardware        : Marvell DB-78x00-BP Development Board
Revision        : 0000
Serial          : 0000000000000000
=============================================================================

Oddly, it works for many addresses, but faults on some.  This is even
with the /proc/cpu/alignment flag being 0 ("ignored").

Suggestions?

Thanks again!

Riku Voipio <address@hidden> writes:

> Greetings and sorry for the delay,
>
> ssh -p 2224 address@hidden
> sudo /usr/sbin/chroot /home/camm/chroot su - camm
>
> gcl, maxima and acl and extracted there already and have
> ther build-deps installed.
>
> On Mon, Jan 25, 2010 at 10:52:30AM -0500, Camm Maguire wrote:
>> Greetings!  This might be a duplicate -- if so, my apologies!
>> 
>> Thanks again!
>> 
>> Riku Voipio <address@hidden> writes:
>> 
>> > On Sat, Jan 23, 2010 at 11:36:30AM -0500, Camm Maguire wrote:
>> >> Thank you so much.  I'll wait to here from you then.  The issues of
>> >> importance are segafaults on object code loading, e.g.
>> >
>> > Ok. I can reproduce the issues on experimental buildd. Please send me
>> > a ssh key in a pgp signed mail with your preferred account name and I'll
>> > create a account for you.
>> >
>> > Riku
>> >
>> >
>> >
>> >
>> 
>> -- 
>> Camm Maguire                                     address@hidden
>> ==========================================================================
>> "The earth is but one country, and mankind its citizens."  --  Baha'u'llah
>
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>> 
>> Username: camm
>> 
>> ssh-rsa 
>> AAAAB3NzaC1yc2EAAAABIwAAAIEAtseLLbrS7utxoresgHYJtfUCLckotAcc6SfOqjg1MVrV77GNSuNfR+6iX7ahLDnbNtGzauDJM+8/H0hx2dM0+UMy92betwF+2TYjHfSucsoWhb2kSNUwIFiq714NdSa1vdcEEV/jLQ2v4fDCMew9X2NnzAxovCTSEcRCmMEenaU=
>>  address@hidden
>> -----BEGIN PGP SIGNATURE-----
>> Version: GnuPG v1.4.10 (GNU/Linux)
>> 
>> iEYEARECAAYFAktdvdgACgkQczG1wFfwRdwtRgCeOKbBmnQrvdVQsbGGUXjMNtmY
>> FIAAoLh5uXAEFQGB5N1EKxJFmoYZsXR4
>> =nDYr
>> -----END PGP SIGNATURE-----
>
>
>
>
>

-- 
Camm Maguire                                        address@hidden
==========================================================================
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah




reply via email to

[Prev in Thread] Current Thread [Next in Thread]