Hello, I have been facing the following weird problem for some time, being unable to reach a solution or understand the nature of the problem.
My target machine runs Solaris 10 and I am trying to get the virtual to physical address translation in Flexus, by invoking Simics's SIM_logical_to_physical() function. In particular, I try to register all the V to P translations corresponding to a buffer. To do that, the procedure I follow is: - Allocate the buffer using memalign - Pin the pages that the buffer comprises using mlock - Write the contents of a single buffer page, invoke a magic breakpoint, which flexus grabs and asks Simics for that page's translation, and do this iteratively until all of the buffer's pages are registered. As I increase the size of the buffer, at some point this procedure stops working (around 128k, although I have seen that buffer size is not the only thing that determines if the translation request works or not). I get the following message from Simics: Exception in hap handler: No translation Unfortunately, the Simics manual is not really descriptive; there is no analysis of any implications of this function call and why it might fail. Does anyone have some experience on that? Any pointers/suggestions/possible problems would be greatly appreciated. Thank you, Alexandros
