Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 13 Mar 2018 11:26:27 +0200
From:      Konstantin Belousov <kostikbel@gmail.com>
To:        Warner Losh <imp@bsdimp.com>
Cc:        Michael Zhilin <mizhka@gmail.com>, "freebsd-arm@freebsd.org" <freebsd-arm@freebsd.org>, Vishal Gupta <vishalgupta7972@gmail.com>, "freebsd-embedded@freebsd.org" <freebsd-embedded@freebsd.org>
Subject:   Re: GSOC 2018 ARM Cortex Processor
Message-ID:  <20180313092627.GL76926@kib.kiev.ua>
In-Reply-To: <CANCZdfqUwoNO33PwftJJZ=f907jiCKDtY8Di7HFcD4Lqxi44_Q@mail.gmail.com>
References:  <CAKJMsQruOFPFOEbxEJnWajrnBucT_WHGiT9wQAy4v19PMcVxWQ@mail.gmail.com> <CAF19XBJeioko7S9AEr5=L%2B83FEowhPQyPKANd2TMHJAqSK_W0Q@mail.gmail.com> <CANCZdfqUwoNO33PwftJJZ=f907jiCKDtY8Di7HFcD4Lqxi44_Q@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Mar 13, 2018 at 12:22:03AM -0600, Warner Losh wrote:
> There's not currently any other FreeBSD port that works on a system without
> a MMU. The buffer cache assumes that we can fault in pages as needed based
> on virtual address access. The TEXT sharing between programs assumes we can
No, buffer cache does not fault the pages in, but it is indeed relies
somewhat on ability to remap pages.  This is true for B_VMIO buffers,
not for the malloc-ed buffers.

> map the same page into multiple processes. The shared libraries we have
> assume something similar, and in some cases copy on write on top of that
> (though that's no different from a HW perspective than these first few
> cases).
> 
> So, if you're willing to live without these features, or find some other
> way to accomplish the same sorts of things, a cortex M/R port would be
> tricky. Also, FreeBSD's kernel size may present some obstacles. We're
> optimized for a rich memory environment, so we trade extra copies of code
> to speed up execution of code, which matches the x86 market, as well as the
> high-end of embedded quite well.
Living without the listed features means, in essence, that userspace
cannot be even started. Which, in fact, is not that fatal for the
applications where -R cores are supposed to be used. If kernel-only
operations are enough, or the application is adopted to be run as part
of the kernel, it might be quite fun project to take.



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