gem5 doesn't model things like PCI in detail, but you can tailor the bus model to have the bandwidth and latency you want to approximate the performance of a PCI link. There are several PCI DMA devices implemented, including a couple of different Ethernet NICs; see the src/dev directory. At this point we don't have an IOMMU model though (at least not for the x86 platform; I don't know if the ARM folks have one or not).
If you run configs/example/fs.py with the --dual option you should get two full-system nodes connected by an Ethernet link. Steve On Sat, Jun 15, 2013 at 12:09 PM, Besta Maciej <maciej.be...@inf.ethz.ch>wrote: > Hello everyone, > > I'd like to use / extend gem5 in order to perform some simulations related > to the PCI and other peripherals. However, before I plunge into the code > and start developing all the necessary extensions, I just want to make sure > that what I want to achieve is feasible and ask for some starting point. > > So, I'd like to perform a simulation of a rather complicated system. I > need to have two machines that communicate over the network. The target > protocol of network communication is RDMA-like (the machines will access > each other's memories directly). On each machine, I need to simulate the > interactions of many of the peripherals and the units close to peripherals: > NIC, IOMMU, PCI bus, bridges, DMA cache controller. And, of course, the > main memory and the CPU will be involved as well. PCI bus has to transmit > the packets using the PCI protocol, and the DMA cache controller has to > react to the packets coming from the NIC and perform invalidations targeted > at the CPU caches. > > First question - can I achieve all this stuff by extending gem5? From what > I've seen on the gem5 website, it is more CPU-centric (even if it comes > with the options to simulate some basic peripherals) and that's why I'm > asking. > > Second question - are there any example configuration files that provide > the simulation basis for the peripherals (PCI bus, NICs etc)? I could > probably use them as a starting point. > > Thanks a lot for any advice / answer. > > Best regards, > Maciej > _______________________________________________ > gem5-users mailing list > gem5-users@gem5.org > http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users >
_______________________________________________ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users