> On June 25, 2014, 7 a.m., Andreas Hansson wrote:
> > Perhaps I am missing something, but why would Ruby forward the packet to 
> > the iobus in the first place if the address is not valid?
> 
> Steve Reinhardt wrote:
>     This is an FS thing, where you misspeculate in the kernel and generate a 
> bogus address in the TLB bypass region, so you have no way of knowing a 
> priori that it's not valid.  Normally what happens is you get a "bad address" 
> response from the memory bus, which flags the access as a fault, but you 
> never take the fault because the access gets squashed.  Since Ruby doesn't 
> use the memory bus, but sends all non-cacheable requests to the I/O bus, we 
> just need to reproduce that behavior there.
> 
> Andreas Hansson wrote:
>     Thanks for the clarification. Perhaps this is too heavy weight, but is 
> there any chance Ruby could actually check the address range of the port 
> connected to the piobus before forwarding the packet?

I suppose anything is possible ;).  Is there a reason you'd prefer that 
solution?


- Steve


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviews.gem5.org/r/2302/#review5156
-----------------------------------------------------------


On June 21, 2014, 9:53 a.m., Steve Reinhardt wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviews.gem5.org/r/2302/
> -----------------------------------------------------------
> 
> (Updated June 21, 2014, 9:53 a.m.)
> 
> 
> Review request for Default.
> 
> 
> Repository: gem5
> 
> 
> Description
> -------
> 
> Changeset 10239:ef2bd7e9922c
> ---------------------------
> x86: make PioBus return BadAddress errors
> 
> Stop setting the use_default_range flag in PioBus in order to
> have random bad addresses result in a BadAddress response and
> not a gem5 fatal error.  This is necessary in Ruby as Ruby is
> connected directly to PioBus, so misspeculated addresses will
> be sent there directly.  For the classic memory system, this
> change has no effect, as bad addresses are caught by the
> memory bus before being sent to the PioBus.
> 
> This work was done while Binh was an intern at AMD Research.
> 
> 
> Diffs
> -----
> 
>   src/dev/x86/Pc.py b21b3aad6bd1d01ac8a4d8030479bbca417af8d1 
> 
> Diff: http://reviews.gem5.org/r/2302/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Steve Reinhardt
> 
>

_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to