From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexander Holler Date: Sun, 19 Dec 2010 11:22:39 +0100 Subject: [U-Boot] [RFC PATCH v2] ARM: Avoid compiler optimization for usages of readb, writeb and friends. In-Reply-To: <4D0DB994.1020703@googlemail.com> References: <1292711230-3234-1-git-send-email-holler@ahsoftware.de> <4D0DB994.1020703@googlemail.com> Message-ID: <4D0DDCEF.2040806@ahsoftware.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hello, On 19.12.2010 08:51, Dirk Behme wrote: > On 18.12.2010 23:27, Alexander Holler wrote: >> gcc 4.5.1 seems to ignore (at least some) volatile definitions, >> avoid that as done in the kernel. >> > Acked-by: Dirk Behme Thanks for the ack, but I have to say, that those barriers are having side effects here. Reading NAND now fails on my BeagleBoard. Regardless if I use gcc 4.3.5 or gcc 4.5.1, after applying that patch the wrong ID of the NAND is read. In nand_get_flash_type() (drivers/mtd/nand/nand_base.c) without that patch I will get the following: *maf_id: 44, dev_id: 186 with the patch the following is read: *maf_id: 128, dev_id: 85 Which just is wrong. I haven't looked further up to now, maybe thats just a side effect of some wrong clock settings because of different timings through those barrieres or whatever. Regards, Alexander