[TDX] [Kernel] Define the device tree kernel interface for the AP mailbox protocol
[Migrated from https://github.com/microsoft/HvLite/issues/315]
Need to define where we want to put the device tree discovery for the gpa of the mailbox protocol. The kernel will define the interface that underhill_boot will use to tell the kernel where the interface is for.
@jyiang5 initially posted on LKML (https://lore.kernel.org/lkml/[email protected]/). The discussion digressed into using the proposed new enable-method for virtual devices. The proposed enable-method is not required to be used only on virtual devices. I can be used on any machine, physical or virtual.
Other architectures use the enable-method as a per-CPU property when describing the system on a device tree.
I will write an updated prototype of the new enable-method and try to get feedback from the maintainers.
Submitted pull request here: https://github.com/microsoft/OHCL-Linux-Kernel/pull/81
@chris-oo said he was OK merging the kernel changes into the OHCL-Linux-Kernel once the code changes are validated agains the openvmm changes (needed to enumerate the mailbox in the DeviceTree).
Meanwhile, discussion progresses on LKML (see https://lore.kernel.org/all/[email protected]/). Reviewers appear to be OK with the code in the Linux kernel that discovers the mailbox. The discussion has been focused on how to write the DT bindings for the mailbox.
There was initial pushback from the DeviceTree maintainer Krzysztof Kozlowski on referring to the ACPI spec in the schema file that define the wakeup bindings. The maintainers object to systems that use ACPI tables to enumerate DeviceTree properties. After clarifying that this openvmm uses a DeviceTree-based firmware, they seem OK with referring to the ACPI spec.
I have not received feedback from the x86 maintainers, but I have incorporated feedback from Thomas Gleixner that we received in previous versions.
I received Reviewed-by tags from Michael Kelley for the Hyper-V changes.
I will submit a v4 of the patches with the feedback received.
I submitted v4 to LKML: https://lore.kernel.org/all/[email protected]/
I updated my pull request (https://github.com/microsoft/OHCL-Linux-Kernel/pull/81) to reflect the changes made on v4 on LKML.
Patch is on the mailing list
I submitted a new pull request to update this patchset to the latest submission to LKML: https://github.com/microsoft/OHCL-Linux-Kernel/pull/108