AMP: Combining bare-metal emulation with Linux on the same Pi

want to talk about MESS/model b/beebem/b-em/electrem/elkulator? do it here!
User avatar
BigEd
Posts: 1397
Joined: Sun Jan 24, 2010 10:24 am
Location: West
Contact:

AMP: Combining bare-metal emulation with Linux on the same Pi

Postby BigEd » Sat Jul 29, 2017 4:49 am

This looked very interesting at first sight: on a multi-core Pi, you can run a bare metal 6502 emulation on one core and run a feature-full OS like Linux on the others - so the OS can do file system and network access on behalf of the full-speed bare metal emulation.

Image

To keep the emulation full speed, it would need to be running in per-core cache. Which is only 16k instruction + 16k data. So maybe this isn't going to fly in a PiTubeDirect kind of model where we have real-time constraints on the emulation speed. But is it still a usable idea somehow?

paulb
Posts: 764
Joined: Mon Jan 20, 2014 9:02 pm

Re: AMP: Combining bare-metal emulation with Linux on the same Pi

Postby paulb » Sat Jul 29, 2017 10:45 am

I'm not familiar with the details of the Raspberry Pi series, but this sounds like the kind of thing people do with hypervisor/microkernel solutions. I've been playing around with Fiasco.OC recently, and it seems that people do rather similar things to this with that technology.

In other words, people deploy the hypervisor or microkernel and then have something like L4Linux running as one task and whatever else their device demands running as another. Although the example you reference involves a fixed partitioning of the cores, maybe it is possible to achieve this with some kind of "affinity" policy so that the emulation task gets to run on its own core.

Anyway, that sounds like the more elegant solution and intersects with something I've been looking at recently, so that's why I've mentioned it. I think Fiasco.OC and L4Linux also work on at least one of the Raspberry Pi models, although I wouldn't take claims of board support at face value, given that I've had to add extra support and apply various fixes to get another supposedly-supported board working.

User avatar
BigEd
Posts: 1397
Joined: Sun Jan 24, 2010 10:24 am
Location: West
Contact:

Re: AMP: Combining bare-metal emulation with Linux on the same Pi

Postby BigEd » Sat Jul 29, 2017 10:51 am

Thanks for the links!

User avatar
hjalfi
Posts: 70
Joined: Sat May 13, 2017 10:17 pm
Location: Zürich, Switzelrand
Contact:

Re: AMP: Combining bare-metal emulation with Linux on the same Pi

Postby hjalfi » Sat Jul 29, 2017 4:44 pm

It'd be interesting to look into using the VideoCore IV GPU for running the emulator on --- the ARM's actually a coprocessor for the VC4, and it's a thoroughly capable dual-core DSPish processor which is normally underutilised.


Return to “emulators”

Who is online

Users browsing this forum: No registered users and 3 guests