Am Thu, 27 Apr 2017 07:44:56 -0700
schrieb jonas <[email protected]>:

> > > Hi,
> > > Thanks for the reply.
> > > So as you said,
> > > 1)I've augmented the jetson-tk1-demo.c config with an ivshmem
> > > device and a shared mem region, using to
> > > configs/jetson-tk1-linux-demo.c as reference.
> > > 
> > > 2)I replicated the ivshmem-demo from x86 to inmates/demos/arm and
> > > hooked it up in the Makefile I tried to cross compile the same
> > > and I have encountered a few errors. From what I've observed, the
> > > errors are mainly regarding the pci related functions. How can I
> > > proceed with this? PFA the error log.  
> > 
> > As Jan said, you will have to move the pci library into the ARM
> > inmate as well. You will basically need a version of
> > inmates/lib/x86/pci.c that uses mmio instead of pio. So you will
> > have to change the two functions pci_(read|write)_config to use
> > mmio.
> > 
> > Henning
> >   
> 
> Hi,
> 
> I'm also experimenting with ivshmem between the root-cell and a bare
> metal cell. In my case, however, on BananaPi M1.
> 
> Could you elaborate on modifying the functions
> pci_(read|write)_config to use mmio instead of pio?
> 
> I guess it's a matter of accessing the appropriate memory mapped PCI
> configuration space of the (virtual) PCI devices available to the
> guest/inmate instead of accessing PCI_REG_ADDR_PORT and
> PCI_REG_DATA_PORT using functions(out|in)[bwl]?

Exactly mmio = memory mapped IO, pio = port IO (in|out). The outs and
ins will not work, instead the whole config space will be in physical
memory. The location can be found in the root-cell configuration
.pci_mmconfig_base.
Some more information can be found here.
http://wiki.osdev.org/PCI

The method currently implemented is called method #1 on that wiki. Make
sure to keep your access aligned with the size that is requested.

Code that is similar to what you will need can be found in the
hypervisor. hypervisor/pci.c include/jailhouse/mmio.h

Henning


> Best regards - Jonas Weståker
> 

-- 
You received this message because you are subscribed to the Google Groups 
"Jailhouse" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to