On Mon, Mar 14, 2016 at 09:07:37AM +0000, Roderick wrote:
> What about AMD Opteron A-Series? Does OpenBSD run on it?
> 
> http://www.amd.com/en-us/products/server/opteron-a-series
> 
> Rodrigo.
> 

The raspberry pi 3 has its good and bad sides.  It's easy to use,
everywhere available and rather cheap.  Yes, there's the ODROID-C2
which is similarly cheap and better, but the raspberry pi might
actually be easier to support.

First of all, the blobs.  Every ARM machine has some kind of blob.  Some
are hidden, like stored on a flash.  Some are visible, e. g. stored on
the SD card.  The raspberry pi is of the latter.  Its blobs have to be
stored on the SD card so that it can boot.  The Cubox-i is similar, it
also needs a blob on the SD card.  The difference though is that the
cubox blobs can be compiled from some u-boot repository on github.  The
raspberry pi blobs are not open source.

Still, both have blobs that run as part of the boot stage, and are not
driver blobs that have to be run on the CPU, like a kernel module.
Though, the raspberry pi blobs are a bit special.  They actually run on
the GPU, not the CPU, and take care of the boot stage.  This means that
the GPU is booted first, from a blob stored on the SD card, which then
loads the kernel from the SD card into memory, and then starts the CPU.

That's not nice.  There's no IOMMU, though we can't secure ourselves
against malicious memory access from the GPU.  But I'm not sure that's
much worse than other machines, where the blob isn't visible.

The USB Controller is crap, but it's the same as the octeon, so we got a
driver for that.  HDMI is controlled by the GPU.  For a simple
framebuffer the GPU provides an interface to ask for framebuffer memory.
This means it's comparatively easy to actually have HDMI output: you
just ask the GPU's API to kindly provide it.

Making OpenBSD run on the raspberry pi is feasible, though (without
adding hacks) it's only feasible with proper device tree support, which
is a work in progress at the moment.

The AMD machine is quite nice actually.  As it's based on a Cortex-A57,
which is backwards compatible to 32-bit armv7, it might be possible to
run OpenBSD/ARMv7 on it.

For that we will need some kind of mechanism to boot a 32-bit kernel.
The machine, as far as I know, boots using UEFI.  So maybe we'll need
an efiboot for ARMv8, which can boot an ARMv7 kernel.  Or maybe one can
use u-boot as a payload for EFI?  No idea.  Also one needs to port the
10 GbE ethernet controller driver, or write a new one.  The one in linux
is dual-licensed, so in theory it could be pulled over.

Oh, and that machine is kind of expensive.  But there'll be $300 USD
96boards (enterprise edition) available this year, which is much cheaper
than the original devkit from AMD.

That's my brain dump, hopefully that clears some things up.

Patrick

Reply via email to