Hi,
I understand that the tool has the following features (MEMU Version)
- Simulates Multiple Hosts
- Multiple Hosts can Share a CXL 3.0 Memory Device
- Supports Back-Invalidate Snoops
Here is how we build the tool and simulate
- Build the QEMU Integration
cd qemu_integration && mkdir build
cd build
cmake ...
make -j 8
sudo make install
- Start MemSim Server and QEMU VMs (after adjusting the hostnames and IPs in CXL Images)
# Inside qemu_integration/build
./start_server 9999 ./topology_simple.txt
# In Terminal 1
../launch_qemu_cxl.sh
# In Terminal 2
../launch_qemu_cxl1.sh
- Expose CXL Memory Node as a DAX
# In both QEMU VMs, run the following
sh ./setup_cxl_numa.sh # Make sure to adjust the IP
I want to make sure the steps I have performed are in line with the setup. I want to simulate two hosts which share a Type 3 CXL memory device and see the requests on back-invalidate snoop channel
How do I run a workload on both QEMU virtual machines and how utilize the shared memory?