Review Board 2.0.15


Ruby: Ensure snoop requests are sent using sendTimingSnoopReq

Review Request #1179 - Created May 3, 2012 and submitted - Latest diff uploaded

Information
Andreas Hansson
gem5
default
Reviewers
Default
Ruby: Ensure snoop requests are sent using sendTimingSnoopReq

This patch fixes a bug that caused snoop requests to be placed in a
packet queue. Instead, the packet is now sent immediately using
sendTimingSnoopReq, thus bypassing the packet queue and any normal
responses waiting to be sent.
Limited testing done with: build/X86/gem5.opt configs/example/ruby_fs.py --num-cpus=2 --kernel x86_64-vmlinux-2.6.22.9.smp --cpu-type=detailed

Before this patch it fails due to snoop requests being placed in a packet queue, with the patch applied however:

gem5.opt: build/X86/arch/x86/tlb.cc:104: X86ISA::TlbEntry* X86ISA::TLB::insert(Addr, X86ISA::TlbEntry&): Assertion `newEntry->vaddr = vpn' failed.
Program aborted at cycle 7479500
Abort

As far as I can tell, this patch should first be committed to address the sending of the snoop request.