What I want to do.
Stefan Kalkowski
stefan.kalkowski at genode-labs.com
Mon Mar 8 10:14:42 CET 2021
Hello Michael,
I'm pretty sure you already know that, but just in case you don't:
within the i.MX 8M SoC there is a security mechanism called "resource
domain controller" that enables one to divide the device peripherals
in between different OSes running on the different cores. Which means
you can - beside the IRQ routing - also prevent that the wrong OS
touches a MMIO region of a device not assigned to it.
I have not used that mechanism actively, but given your use-case it
might be interesting for you.
Best regards
Stefan
On Mon, Mar 08, 2021 at 01:58:40AM +0100, Michael Grunditz wrote:
> In message <CAO3d8HiWwzqnWE+GqGYOhWaJN6KOmiidFBLB6rJC+x2_Mx7Btw at mail.gmail
> .com>
> Edoardo Mantovani <mantovani.edoardo18 at gmail.com> wrote:
>
> > Hi Michael,
> > Sorry if I am late, but only now I had time for read this:
> > http://www.update.uu.se/~micken/ronetbsd.html
>
> Thanks.
>
> > Extremely interesting and, at the same time, extremely fast to read,
> > I have only one question:
> > Have you created two more GRUB partitions (separate one from each other) to
> > boot the 2 systems?
>
> ARM doesn't use GRUB , it uses u-boot. I have only done this for RK3399
> SoC. It started with the fact that the cpu was continuing running after I
> started RISC OS on the A72 core 0. I figured that this could be (ab)used
> to run a second system.
>
> > it would be interesting to know more about the boot phase because honestly
> > I can't understand if there could be problems related to the probe of the
> > connected devices (like, if the 2 OS at the same time probe via PCI for the
> > same hardware at the same time, could an error occur? for example something
> > like "device busy, impossible to connect with it"?)
> > It would be very interesting for an article about an advanced Fault
> > Injection methodology that I've been thinking about for a long time.
>
> I am very careful not to use the same devices from the different OSes. I
> am using what is called affinity routing in the interrupt "chip" (General
> Interrupt Controller). It does route the interrupts to different CPUs.
> That means that only the supported hardware interrupts.
>
> I have written a couple of drivers for NetBSD in order to use the WiMP in
> RISC OS (the desktop) as input and display devices.
>
> The NetBSD project is the first of it kind ,according to NetBSD
> developers. There are other uses that do run a realtime system on a small
> cpu. But I haven't found anything that does run full scale OSes without
> virtualization . Correct me if I am wrong!
>
> > Let me know,
> > Regards,
> > Edoardo Mantovani, 2021
>
> <big snip>
>
> You can in theory run 4 OSes on a quad core cpu. But the OSes needs to be
> able to run quite limited.
>
>
> Best regards,
>
> Michael
>
>
> --
> Michael Grunditz
> Sent from my RISC OS workstation..
>
> _______________________________________________
> Genode users mailing list
> users at lists.genode.org
> https://lists.genode.org/listinfo/users
--
Stefan Kalkowski
Genode labs
https://github.com/skalk | https://genode.org
More information about the users
mailing list