From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tom Rini Date: Mon, 19 Oct 2020 18:58:19 -0400 Subject: [PATCH] Revert "Fix data abort caused by mis-aligning FIT data" In-Reply-To: <4f9c0170-1c52-0f2d-c6f8-972ed082cd36@denx.de> References: <20201019214026.888876-1-marex@denx.de> <669974501aec485c9263fe5127c4ccb5@4rf.com> <38fc6118-b7d7-8455-2c05-3cbe368c4f12@denx.de> <20201019224558.GR14816@bill-the-cat> <4f9c0170-1c52-0f2d-c6f8-972ed082cd36@denx.de> Message-ID: <20201019225819.GS14816@bill-the-cat> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Tue, Oct 20, 2020 at 12:54:35AM +0200, Marek Vasut wrote: > On 10/20/20 12:45 AM, Tom Rini wrote: > > On Mon, Oct 19, 2020 at 11:59:22PM +0200, Marek Vasut wrote: > >> On 10/19/20 11:50 PM, Reuben Dowle wrote: > >>> The alignment of 8 bytes would also work if code was expecting 4 byte alignment. So the explanation you give for reverting this does not make sense to me. > >> > >> Well, since U-Boot 2020.10-rc5, any STM32MP1 board does no longer boot > >> and if I revert this patch, it works again (per git bisect). But this > >> also applies to any other arm32 boards which load fitImage in SPL, all > >> of those boards are broken in U-Boot 2020.10. > >> > >> It seems that the end of the U-Boot image is at 4-byte aligned offset on > >> arm32, and that is where the DT is also loaded ; but your patch forces > >> the alignment to 8-bytes, so suddenly the DT location is 4-bytes off. > > > > I think this needs some more investigation to figure out what's going > > on and where the underlying bugs are. This section of the code is where > > U-Boot is saying it will copy the device tree to. If we're using a > > device tree in place that's NOT being copied (and someone else has > > ensured 8 byte alignment of) we need to set the address of where the > > device tree is, at that time. > > The problem is that the previous alignment was 4 byte, now it is 8 byte > and that breaks all the other assumptions. So, this patch should be > reverted to fix the platforms which used to work (or use ALIGN(...4), > which is the same as reverting it really). > > And likely the signed image which caused the breakage should be > generated with mkimage -E / -B 8, which would insure the alignment, so > then there is no need to change anything in the code itself. 4 byte alignment is wrong. -- Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 659 bytes Desc: not available URL: