From mint-bounce@lists.fishpool.fi Fri Dec 18 16:15:59 2009 Message-ID: <4B2BF08D.4070101@freesbee.fr> Date: Fri, 18 Dec 2009 22:13:49 +0100 From: =?ISO-8859-1?Q?Vincent_Rivi=E8re?= User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9.1.5) Gecko/20091204 Thunderbird/3.0 MIME-Version: 1.0 To: mint@lists.fishpool.fi Subject: Re: [MiNT] Missing clobbered register in gemlib References: <20091210202514.b9397305.mandin.patrice@orange.fr> <4B2234E7.7070006@freesbee.fr> <1260533779.20336.1191.camel@jetpack.demon.co.uk> <4B223881.6020406@freesbee.fr> <1260535050.20336.1192.camel@jetpack.demon.co.uk> <11a6f2b10912110733l55d394d2l1bf7c1408e4f6f54@mail.gmail.com> <4B226796.1010200@freesbee.fr> <11a6f2b10912110857x7fb9dfcfvc7f1db5dd4fee059@mail.gmail.com> <11a6f2b10912111232v8baf75et40b4a19215306b97@mail.gmail.com> <4B2B616B.4040707@freesbee.fr> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed X-Antivirus: avast! (VPS 091218-0, 18/12/2009), Outbound message X-Antivirus-Status: Clean X-ecartis-version: Ecartis v1.0.0 Sender: mint-bounce@lists.fishpool.fi Errors-to: mint-bounce@lists.fishpool.fi X-original-sender: vincent.riviere@freesbee.fr Precedence: bulk List-help: List-unsubscribe: List-Id: X-List-ID: List-subscribe: List-owner: List-post: Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by mail.sparemint.org id nBILFwRa007239 Le 18/12/2009 20:23, Helmut Karlowski wrote: > Now the pixel-detection also works, but not in 16-bit video - I get the > same EF40 as in the previous version. I'm quite lost between different issues, versions and testcases. Can this issue be tested from outside XaAES ? A small GEM program, for example ? > Also v_clswk still bombs. > > pid 19 (AESSYS): Setexc 256, E0EDE6 -> E1DA36 > pid 19 (AESSYS): signal #10 raised [syscall_pc 0x657DA, exception_pc > 0xE00F24] As v_clswk() taks only one parameter, it is unlikely to be related to the clobbered registers problems, but who knows... Again, a very simple testcase would help. > Is it really sure that there are no more clobbered regs in gemlib? No. It is better, but maybe not perfect. GEM/assembler specialists should have a look at the following code from the GemLib: In gemlib/gem_aesP.h: static inline void _aes_trap (AESPB * aespb) { __asm__ volatile ( "move.l %0,d1\n\t" /* &aespb */ "move.w #200,d0\n\t" "trap #2" : : "a"(aespb) : "d0","d1","a0","memory" /* <--- Clobber List here */ ); } The Clobber List assumes that a trap #2 for AES does not change the value of a2 and other registers. Is this true ? One could add other registers to the clobber list (at least a1, maybe d2 and a2) to see what happens. This could prevent some optimization to occur (very, very little), but in no case it could introduce bugs. Similar stuff in gemlib/gem_vdiP.h: _vdi_trap_esc _vdi_trap_00 -- Vincent Rivière