2.7 Virtio P9 device component

The VirtioP9Device component is included in Base, BaseR, and A-profile VE platforms. It implements a subset of the Plan 9 file protocol over a virtio transport. It enables accessing a directory on the host's filesystem within Linux, or another operating system that implements the protocol, running on a platform model.

Setting up VirtioP9Device

Take the following steps to use this component:

  • Use a version of Linux that supports v9fs over virtio and virtio-mmio devices.
  • Update the device tree to include the VirtioP9Device component, or specify it on the kernel command-line, as shown below. The address range for both VE and Base platforms is 0x1C140000-0x1C14FFFF.

    The interrupt number is 43, or IRQ 75, for both VE and Base platforms.

  • Set the following parameter to the directory on the host that you want to mount in the model:

    VE:
    motherboard.virtiop9device.root_path
    Base:
    bp.virtiop9device.root_path
  • On Linux, mount the host directory by using the following command in the model:
    $ mount -t 9p -o trans=virtio,version=9p2000.L FM <mount point>

Example kernel command-line argument

virtio_mmio.device=0x10000@0x1c140000:75

Example entry for DTS files

Add this entry next to the corresponding virtio_block entry:

virtio_p9@0140000 {
       compatible = "virtio,mmio"; 
       reg = <0x0 0x1c140000 0x0 0x1000>; 
       interrupts = <0x0 0x2b 0x4>; 
};
Non-ConfidentialPDF file icon PDF version100966_1180_00_en
Copyright © 2014–2019 Arm Limited or its affiliates. All rights reserved.