Mill Computing, Inc. Forums The Mill Architecture Is the Mill ISA classic virtualizable?

  • Author
    Posts
  • goldbug
    Participant
    Post count: 53
    #3667 |

    Pretty straight forward question: does it meet the Popek and Goldberg virtualization requirements?

    I know the Mill does not have a privileged mode.

  • Ivan Godard
    Keymaster
    Post count: 689

    Yes and no, depending on configuration.

    As you say, Mill has no privileged instructions, and controls things through address permissions. However, the ISA exposes the full 64-bit virtual address space to the supervisor (OS), so to virtualize the supervisor (and so be able to run two of them) it is necessary to be able to provide distinct address spaces for each guest. As all the space is available, a Mill supporting VMMs must use address space identifiers (ASIDs) internally to distinguish guest address references. This costs hardware, so some Mill configs won’t support virtualization, those for embedded markets for example.

    The size of the ASID will limit how many guests can run concurrently.

    • NXTangl
      Participant
      Post count: 15

      Your reply makes me wonder what it would take to make a fully position-independent operating system that can be started in either the ALL turf or a smaller turf under a “hypervisor” in ALL. There’s certainly no advantage to doing it that way, and in fact at that point you might genuinely be in danger of running out of address space, but it’s an interesting thought experiment.

      • Ivan Godard
        Keymaster
        Post count: 689

        The Mill ISA is designed for a nano-kernel. The overwhelming bulk of what we call an OS lies outside the NK and can run happily as you describe. Whether such a system is “virtualized” is a matter of definition.

You must be logged in to reply to this topic.