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

collect configuration of mmio devices #968

Merged
merged 6 commits into from
Nov 9, 2023
Merged

Commits on Nov 9, 2023

  1. collect configuration of mmio devices

    Firecracker pass the configuration of all mmio device by a Linux kernel parameter
    This parameter is defined as followd:
    
    virtio_mmio.device=
       [VMMIO] Memory mapped virtio (platform) device.
    
          <size>@<baseaddr>:<irq>[:<id>]
       where:
          <size>     := size (can use standard suffixes like K, M and G)
          <baseaddr> := physical base address
          <irq>      := interrupt number (as passed to request_irq())
          <id>       := (optional) platform device id
       example:
                     virtio_mmio.device=1K@0x100b0000:48:7
       Can be used multiple times for multiple devices.
    
    This patch parse the command line and store the string
    <size>@<baseaddr>:<irq>[:<id>] in a vector, which is part of CLI.
    
    This PR based on preliminary work of @duanyu-yu
    
    Co-authored-by: Yu Duan <yu_duan@yahoo.com>
    2 people authored and mkroening committed Nov 9, 2023
    Configuration menu
    Copy the full SHA
    3f52552 View commit details
    Browse the repository at this point in the history
  2. use linux arguments to determine mmio address of the NIC

    Firecracker parse the linux argument virtio_mmio.device to the
    kernel, which specifies the mmio addresses for VirtIO devices.
    This patch uses these arguments to find the network interface.wq:
    stlankes authored and mkroening committed Nov 9, 2023
    Configuration menu
    Copy the full SHA
    c8bcf1e View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    7173f97 View commit details
    Browse the repository at this point in the history
  4. remove dependency to VIRTIO_NET_F_STATUS

    This feature is not required. If VIRTIO_NET_F_STATUS is not announce,
    the driver assumes that the link is always active.
    
    This behavior is conform to the VirtIO standard.
    stlankes authored and mkroening committed Nov 9, 2023
    Configuration menu
    Copy the full SHA
    edd3a97 View commit details
    Browse the repository at this point in the history
  5. reserve more memory for io devices

    stlankes authored and mkroening committed Nov 9, 2023
    Configuration menu
    Copy the full SHA
    8fe9fd5 View commit details
    Browse the repository at this point in the history
  6. drop too small ethernet frames

    stlankes authored and mkroening committed Nov 9, 2023
    Configuration menu
    Copy the full SHA
    f2a7eff View commit details
    Browse the repository at this point in the history