Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GPIO proxy drivers ready for passthrough testing in VM using systemd #552

Draft
wants to merge 10 commits into
base: main
Choose a base branch
from

Conversation

KimGSandstrom
Copy link

Kernel update for GPIO passthrough.
Starts gpio-vm VM for testing

KimGSandstrom and others added 6 commits April 3, 2024 11:49
- The kernel contains two additional drivers
  TEGRA_GPIO_HOST_PROXYTEGRA_GPIO_HOST_PROXY and TEGRA_GPIO_GUEST_PROXY
- microvm starts a qemu VM for GPIO passthrouh.
- Host and VM -- i.e. Guest -- run the same patched Linux kernel
- Guest starts a systemd service called gpiotest which runs a script
  with a very brief sanity test of GPIO passthrough.
- kernel configuration for all virtualisation is set in the same file
  it is a todo to diversify it.

Signed-off-by: Kim Sandström <kim.sandstrom@unikie.com>
@KimGSandstrom KimGSandstrom temporarily deployed to internal-build-workflow April 10, 2024 10:30 — with GitHub Actions Inactive
@KimGSandstrom
Copy link
Author

After merging with newest tiiuae ghaf the virtual machine and its service (microvm@gpio-vm.service) do not start up anymore. No VM seem to be running.

this is missing:
./targets/nvidia-jetson-orin/default.nix: virtualization.microvm.gpiovm.enable = true;

- changes concern activation and deactivation of virtualised elements
  in passthough of uarta, bpmp, gpio.
- code deactivates uarta and bpmp because bpmp kernel patches conflict
  with gpio patches. This could be fixed by remaking the bpmp patches.
@KimGSandstrom KimGSandstrom temporarily deployed to internal-build-workflow April 10, 2024 16:11 — with GitHub Actions Inactive
@KimGSandstrom
Copy link
Author

The guest's device tree is not set. That's why the guest kernel fails at startup of microvm@gpio-vm

@brianmcgillion brianmcgillion marked this pull request as draft April 11, 2024 10:45
@KimGSandstrom KimGSandstrom temporarily deployed to internal-build-workflow April 15, 2024 07:18 — with GitHub Actions Inactive
GPIO guest driver in VM throws error at initialisation of
shared qemu memory. ioremap fails at:
mem_iova = ioremap(gpio_vpa, MEM_SIZE);
@KimGSandstrom KimGSandstrom temporarily deployed to internal-build-workflow May 6, 2024 12:45 — with GitHub Actions Inactive
@KimGSandstrom KimGSandstrom requested a deployment to external-build-workflow May 6, 2024 12:45 — with GitHub Actions Waiting
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant