Date: Tue, 27 Aug 2013 11:49:30 +0200 From: Andre Oppermann <andre@freebsd.org> To: Andrew Turner <andrew@fubar.geek.nz> Cc: freebsd-arm <freebsd-arm@FreeBSD.org> Subject: Re: ARM network trouble after recent mbuf changes Message-ID: <521C762A.2080109@freebsd.org> In-Reply-To: <20130827102810.37e2dfc7@bender> References: <1377550636.1111.156.camel@revolution.hippie.lan> <521BC472.7040804@freebsd.org> <521BD531.4090104@sbcglobal.net> <521C4CD9.4050308@freebsd.org> <20130827102810.37e2dfc7@bender>
next in thread | previous in thread | raw e-mail | index | archive | help
On 27.08.2013 11:28, Andrew Turner wrote: > On Tue, 27 Aug 2013 08:53:13 +0200 > Andre Oppermann <andre@freebsd.org> wrote: >> Please try the patch below to confirm. If it fixes your problem for >> now I'm going to commit as an immediate fix while searching for a >> better long term stable solution. >> > > I tried this with a CTASSERT to check if struct m_hdr is the correct > length. In this test the size is incorrect. It appears __ILP32__ is not > defined on ARM. > > I have tested a fix suggested by Hans Petter Selasky where we mark > m_hdr with __aligned(8). With this change I can netboot a PandaBoard. There is no guarantee with __aligned(8) that the padding is included in sizeof(struct m_hdr). It only guarantees that the start of m_hdr is aligned on a 8 byte multiple. In your case it appears that the padding is included. I'm not certain that we can rely on it with both gcc and clang (or some other compiler). -- Andre
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?521C762A.2080109>