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 31 commits into
base: main
Choose a base branch
from

Commits on Apr 3, 2024

  1. Configuration menu
    Copy the full SHA
    32940b7 View commit details
    Browse the repository at this point in the history
  2. bugfix

    KimGSandstrom committed Apr 3, 2024
    Configuration menu
    Copy the full SHA
    288cb92 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    2ff3c02 View commit details
    Browse the repository at this point in the history

Commits on Apr 9, 2024

  1. Configuration menu
    Copy the full SHA
    ac858d3 View commit details
    Browse the repository at this point in the history

Commits on Apr 10, 2024

  1. Configuration menu
    Copy the full SHA
    71cd4dc View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    722e698 View commit details
    Browse the repository at this point in the history
  3. Refactoring of code because of merge with newest tiiuae Ghaf

    - 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 committed Apr 10, 2024
    Configuration menu
    Copy the full SHA
    39803c4 View commit details
    Browse the repository at this point in the history

Commits on Apr 12, 2024

  1. Towards a working gpio-vmi

    The vda device is removed from the gpio-vm because it will not work
    while we do not have the proper Device Tree in the VM.
    KimGSandstrom committed Apr 12, 2024
    Configuration menu
    Copy the full SHA
    3f52d35 View commit details
    Browse the repository at this point in the history

Commits on Apr 15, 2024

  1. Configuration menu
    Copy the full SHA
    85fc63d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    aa7ec4f View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    739ec6d View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    0ade0eb View commit details
    Browse the repository at this point in the history

Commits on Apr 16, 2024

  1. fails to build the right device tree for microvm@gpio-vm

    startup of VM fails because the DT does not provide the vda device
    KimGSandstrom committed Apr 16, 2024
    Configuration menu
    Copy the full SHA
    7e477eb View commit details
    Browse the repository at this point in the history

Commits on Apr 17, 2024

  1. Configuration menu
    Copy the full SHA
    674129a View commit details
    Browse the repository at this point in the history

Commits on Apr 18, 2024

  1. gpio-vm starts up with an unique Device Tree

    gpio-vm's device tree tegra234-p3701-0000-gpio-passthrough.dtb declares
    the vda device needed for passthrough.
    
    gpio-vm goes into emergency mode because it cannot open AMA0 as a
    console. Uarta passthrough is disabled because of conflicts with GPIO
    passthrough. We need to disable the QEMU console. Somewhere in the code
    console=ttyAMA0 is set for QEMU. It is not obvious where.
    KimGSandstrom committed Apr 18, 2024
    Configuration menu
    Copy the full SHA
    ea5f76b View commit details
    Browse the repository at this point in the history

Commits on Apr 19, 2024

  1. Fixing overlays in gpio-vm

    At the moment device tree overlays are not working when applied
    according to template from other VM's. Posible cause is big changes
    introduced in upstream. Will merge with tiiuae after this commit.
    KimGSandstrom committed Apr 19, 2024
    Configuration menu
    Copy the full SHA
    50c3e84 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5c07324 View commit details
    Browse the repository at this point in the history

Commits on Apr 24, 2024

  1. gpio-vm running and starting up linux but with wrong qemu parameters

    VM kernel params are
      -amend rootwait console=ttyS3
    No qemu.extraArgs are set
    KimGSandstrom committed Apr 24, 2024
    Configuration menu
    Copy the full SHA
    b347665 View commit details
    Browse the repository at this point in the history

Commits on May 2, 2024

  1. Partially back tracking to older version on tiiuae/ghaf on git

    Recent merge is partially retrenched. Newer files breaks this GPIO version
    because the host dtb overlay is broken by netvm-wlan-pci-passthrough.
    The changes in tiiuae git are realated to pci passthrough, optee kernel,
    "machine" option for microvm/qemu and a patch provided for
    netvm-wlan-pci-passthrough
    KimGSandstrom committed May 2, 2024
    Configuration menu
    Copy the full SHA
    c387817 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    cbee01b View commit details
    Browse the repository at this point in the history

Commits on May 6, 2024

  1. Towards working guest driver for GPIO passthrough

    GPIO guest driver in VM throws error at initialisation of shared qemu
    memory.
    ioremap fails:
    mem_iova = ioremap(gpio_vpa, MEM_SIZE);
    KimGSandstrom committed May 6, 2024
    Configuration menu
    Copy the full SHA
    607fc1f View commit details
    Browse the repository at this point in the history

Commits on May 14, 2024

  1. Updated testing kernel with readl and writel passthrough

    Guest proxy driver can passtrough low level readl and writel to host
    proxy. This might (meaning: still being tested) be necessary to allow
    guest to set up GPIO pins declared in guest's Device Tree.
    KimGSandstrom committed May 14, 2024
    Configuration menu
    Copy the full SHA
    2fa90aa View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    cd58e4f View commit details
    Browse the repository at this point in the history

Commits on May 22, 2024

  1. Configuration menu
    Copy the full SHA
    64611e3 View commit details
    Browse the repository at this point in the history

Commits on Jun 26, 2024

  1. generation 207 -- drivers/kernel: 91eacb4cc1b6eee65cbef01e028442ba166…

    …99608/72089e71a1f3d9f2d854711c6e16b703f1a426da
    KimGSandstrom committed Jun 26, 2024
    Configuration menu
    Copy the full SHA
    6b4dc82 View commit details
    Browse the repository at this point in the history

Commits on Jul 10, 2024

  1. Configuration menu
    Copy the full SHA
    ce9e53d View commit details
    Browse the repository at this point in the history

Commits on Jul 12, 2024

  1. Gpio works from chardev devices in guest and gpio-host-proxy

    - New baseline for adding more passthrough functions
    - ./simple-chardev-test.sh works in /dev/gpio-host and /dev/gpio.guest
    - readl/writel execution blocked in host
    - Guest kernel is not aware of pins in host (gpioinfo gives false data)
    - use qemu: 8c5b0acccd3b4f47ba84d23b628ef294533e662a
    - kernel: e3a4e96cd08ab8d1a31498a10f8f7320ef53bd9d/2d96cc2e8e1c4ee4a3e973023b6c398a98dc0d93
    - precompiled as nix generation 233
    KimGSandstrom committed Jul 12, 2024
    Configuration menu
    Copy the full SHA
    e558bec View commit details
    Browse the repository at this point in the history

Commits on Jul 25, 2024

  1. write return value to char buffer in write()

    - return value written to char buffer in write()
    - return values from host seem reliable
    - return value is 64 bit written at offset 2 words, 2*8 bytes
    - full chain to guest does not work (qemu problem?)
    - platform to fix qemu problem
    - Guest kernel is not aware of pins in host (gpioinfo gives false data)
    - kernel: 5b7326f7ce046a8ae6c943e238a645356f237f7b/e625198f19ab6874ea89e0a7b1c5c4dfacb38710
    - precompiled as nix generation 274
    KimGSandstrom committed Jul 25, 2024
    Configuration menu
    Copy the full SHA
    674d97b View commit details
    Browse the repository at this point in the history

Commits on Aug 2, 2024

  1. kernel has working passthrough for GPIO

      - gpio-virt commit 71192f60bd8b8f6be4d529c49b7c33529e21a1e2
      - kernel 5.10 commit fb9220ac23c9892ec6433f0e839b8f919511a927
      - qemu in ghaf is not yet updated
      - use qemu 8.1.2 patch
              in commit 95d5cdb19713369a9dceab53659628292d9ff884
      - precompiled into generation 299 (on dev system)
    KimGSandstrom committed Aug 2, 2024
    Configuration menu
    Copy the full SHA
    93d5c8a View commit details
    Browse the repository at this point in the history

Commits on Sep 3, 2024

  1. Merged with new tiiuae ghaf

    - added source patches:
      - kernel adfe63ef006a696e7384b9cee340f05bf7f4f1b3
        from git@github.com:KimGSandstrom/tegra_kernel-5.10.git
      - gpio-virt patch d90bd5625957fd164e4eb50803bd724fda89ba68
        from git@github.com:KimGSandstrom/gpio-virt.git
      - qemu 9.0.2 GPIO passthrough patch b077b3cb519958d091cd753f7015ffafd3bfcaee
        from git@github.com:KimGSandstrom/qemu-passthrough
    
      - GPIO passthrough works with provided qemu
      - microvm@gpio-vm.service does not start up correctly
    KimGSandstrom committed Sep 3, 2024
    Configuration menu
    Copy the full SHA
    3b37bb6 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    97f198a View commit details
    Browse the repository at this point in the history