From mboxrd@z Thu Jan 1 00:00:00 1970 From: Aggelos Manousarides Date: Mon, 05 Nov 2007 14:58:59 +0200 Subject: [U-Boot-Users] Spartan FPGA patch In-Reply-To: <20071103214618.36C8724756@gemini.denx.de> References: <20071103214618.36C8724756@gemini.denx.de> Message-ID: <472F1393.7040306@inaccessnetworks.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Wolfgang Denk wrote: > In message <472752F9.9000307@inaccessnetworks.com> you wrote: >> The following patch fixes a bug in the slave serial programming mode for >> the xilinx spartan2 FPGA. A "char val" is declared, but it is used as a >> signed char. The check for negative value (<0) is always true on arm, or >> any other platform in which the char is not signed by default. As a >> result the FPGA cannot be programmed. > > I have to admit that I hate to see "signed char" in the code. Is > there any special reaso why "val" has to be a "char" type? Why not > making it an "int" ? Another way to do this safely is to declare it as an "unsigned char" and instead of doing "val < 0", do "val & 0x80". I don't like the current code either. Shifting a signed char and testing for negativity is definitely not the best way to test that the MSB is set. -- Angelos Manousaridis