Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 16 Aug 2010 22:13:21 +1200
From:      Andrew Turner <andrew@fubar.geek.nz>
To:        "M. Warner Losh" <imp@bsdimp.com>
Cc:        freebsd-arm@FreeBSD.org
Subject:   Re: FreeBSD EABI ARM & Network boot image howto?
Message-ID:  <20100816221321.180cf466@fubar.geek.nz>
In-Reply-To: <20100815.153437.722022410199781366.imp@bsdimp.com>
References:  <20100815.085312.690091871549704621.imp@bsdimp.com> <20100816081533.30ff461f@fubar.geek.nz> <1281907405.27697.19.camel@xeon.thinmesh.com> <20100815.153437.722022410199781366.imp@bsdimp.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 15 Aug 2010 15:34:37 -0600 (MDT)
"M. Warner Losh" <imp@bsdimp.com> wrote:
> There was talk about NetBSD making this move too, but I don't know
> what became of it.
I haven't looked at if NetBSD supports it or not. My work was mostly a
weekend hacking to prove it is possible.

> I'm guessing it won't be a huge deal to make this work, just a bunch
> of elbow grease in the syscalls...

The main problem is getting a list of syscalls that need to be changed.
I found I could boot to single user mode by only changing stat and
fstat. I'm currently in the process of converting my hack to using the
same method to provide 32 bit and Linux compatability support.

We also need to decide if we follow what Linux has done where it
changed it's syscall ABI when it moved to the EABI. They changed from
reading the instruction from memory to get the syscall number to
storing it in r7. The idea is to reduce the cost of the data cache miss
as the page will be in the instruction cache. I hacked up some code to
do the same but haven't had a chance to properly benchmark the change
yet.

Andrew



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100816221321.180cf466>