Re: [XenAccess-devel] Error connecting to xend
Status: Beta
Brought to you by:
bdpayne
From: Bryan D. P. <br...@th...> - 2006-06-28 18:42:05
|
> That worked like a charm, thank you! I can now successfully use your > module-list and process-list examples, and sure enough they match what is > reported inside the VM using lsmod and ps. Very slick. Excellent. > However, your process-data example only partially works for me (note I > modified it to take the pid as a command line argument): > > [root@localhost examples]# ./run ./process-data 1 Memory descriptor > addresses for pid = 1: > start_code = 0xffffffff > end_code = 0xc035ac8c > start_data = 0xc035ac8c > end_data = 0x00000001 > start_brk = 0xdead4ead > brk = 0xffffffff > start_stack = 0xffffffff > arg_stack = 0xc035aca4 > arg_end = 0xc035aca4 > env_start = 0x0000008e > env_end = 0x00000017 > ERROR: cannot translate this address > failed to map memory: Success > > Notwithstanding the fact that I'm no kernel guy so I can't make sense of the > above output from the printaddr() function (but it does look a little odd to > me), I see that the attempt to "/* grab the memory...and print it out */" > fails (with an error code of "Success"?). Do you have any thoughts on this? Yes. This is a side effect of the current test code being very kernel version specific. Basically, I've hard coded offsets into the kernel memory space where I expect to find the data. Of course, these offsets are dependant on kernel version, and even the options you use to compile the kernel. Very ugly. I'm in the process of thinking about more general solutions to this problem, so hopefully this will go away down the road. For now, it does look like the introspection technique is working on your machine...it's just the specific test program that is a little broken. In the future, I imagine that XenAccess will be able to dynamically locate kernel data structures at runtime, eliminating the need for static offsets. > As an unrelated question, do you think XenAccess would also work on Linux > running in an HVM domU? My testing so far has been in a paravirtualized > domU. Unfortunately, I don't have easy access to HVM hardware so I haven't been able to test this out. I'm not really sure if it would work "out of the box" or, if not, how many changes would be needed to get it working. If you are able to test it out, I'd certainly be interested in hearing the results. -bryan |