b-man / Xavier-KVM

Patches and instructions for enabling KVM on the Nvidia Jetson AGX Xavier
10 stars 5 forks source link

Adding support for booting Windows on Arm. #2

Closed woachk closed 4 years ago

woachk commented 4 years ago

Note however that this isn't the preferable way for VHE, as with VHE, the kernel uses the EL2 physical timers, which would allow us to directly expose the EL1 physical timer to the guest.

On Carmel, the resulting Windows on Arm VM is very slow and slows down the host too. A cache flushing or TLB issue is suspected. Shutting the VM down makes everything return as normal. This does not affect Linux VMs.

On the documentation side: removing the signing instructions as they are not required with CBoot. Note also that installing the qemu-user(-static) package is enough to make those tools directly run on a Xavier.

b-man commented 4 years ago

Awesome! Thanks for the contribution, @woachk. According to Page 491 of the Xavier SoC TRM it looks like the Carmel cores do implement a generic timer that implements the necessary components to support VHE properly. I'll do some investigating to see what can be done to configure the timer (I'm assuming that HCR_EL2.TGE and HCR_EL2.E2H need to be set in ATF?). I'm sure we might see at least some improvement in performance once the timer is configured properly.

woachk commented 4 years ago

https://github.com/torvalds/linux/commit/9e01dc76be6a3b5768cb02130d2ff0055a68809a for reference.