From mboxrd@z Thu Jan 1 00:00:00 1970 From: Albert ARIBAUD Date: Sat, 04 Dec 2010 19:18:21 +0100 Subject: [U-Boot] [PATCH] at91rm9200: fix lowlevel_init() SMRDATA size In-Reply-To: References: <1291361167-9880-1-git-send-email-biessmann@corscience.de> <4CF9245F.8030505@scharsoft.de> <9F070302-8F01-4B12-A8E1-8BC5BDDF3C94@googlemail.com> <4CFA27E6.9040505@scharsoft.de> <4CFA2E69.6050604@free.fr> Message-ID: <4CFA85ED.3090009@free.fr> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi Andreas, Le 04/12/2010 14:14, Andreas Bie?mann a ?crit : >>> 1. In start.s the vector table is relocated from _start to 0x00. But at this time 0x00 is remaped to nor flash. >> >> Hmm... This copy (not a relocation) should be done after cpu_init_crit / >> lowlevel_init, which should have at least configured some RAM; but you >> are right that mapping to 0 is somewhat arbitrary, since the reset >> vectors could be some other places (0xffff0000, for instance). > > I think this is historic. I remind of the same sequence in an old atmel provided pre-loader code. > I think we can omit this and let the linker do the location of vector table, are we? Will have a look for that tomorrow evening. Just a note: the linker will place the reset vector and some others at the location where reset actually occurs (hopefully), but the system, once started, may well redefine the *exception* vectors, for instance to get interrupts working (some boards use IRQs). On targets that boot from NOR, the system cannot overwrite the exception vectors at the link-time NOR location: it must move the vectors location to RAM. So no, the linker cannot always do the location of the vector table. > regards > > Andreas Bie?mann Amicalement, -- Albert.