Skip to content

Use HLT Exiting on x86 #310

Description

@dreamliner787-9

In similar spirit to #115 but for x86.

A VM Exit should be triggered when the guest kernel executes HLT, which stops VCPU resumption until a virtual interrupt is asserted to yield the physical CPU for other native protection domains.

This isn't really a huge problem since the VCPU should always be at the lowest priority exclusively, which allows seL4's scheduler to preempt it for other ready protection domains. It only starts to become a problem if you have > 1 VM on 1 physical CPU

This is easy to implement but one wrinkle is that the VMX preemption timer will stop, which mean that we will need an external timer driver to drive the guest's time while the VCPU is stopped. So guest_time.c will need to be able to "migrate" between 2 different clocksources.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions