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

Reply via email to