Re: [XenAccess-devel] Towards HVM support
Status: Beta
Brought to you by:
bdpayne
From: Bryan D. P. <br...@th...> - 2006-08-11 03:47:01
|
> This seems to be the crux. HVM domains do NOT boot off a kernel > stored in > dom0. This is why you can run a Windows guest for example. It > acts more > like VMware: all the files are in the guest's image, including the / > boot > directory. The image is partitioned as if it were a separate hard > drive, > with separate /boot and / partitions and file systems. Ok, this makes sense. > I now see that XenAccess opens the System map file on the host, and > I have > no idea how to have it grab a file from inside the guest. So I > copied the > guest's System.map onto the host and with some hacking of your code > and some Yes, I think that this is the only way (at least for the near term). > extra printf's I've gotten this far: > > # ./run ./module_list 16 > dom!=NULL > kernel_name=hvm > sysmap=/boot/System.map-2.6.17 > swapper_pg_dir=e000 > XA_PAGE_OFFSET=0 > memory=NULL > failed to init XenAccess library: Bad address > > As you say, where are we at now? I don't know if > swapper_pg_dir=e000 is > correct of if it should have been c044e000. I also don't know if the > XA_PAGE_OFFSET should be 0 or not. It seems that either: > > (1) these values are correct and the method you/libvirt use to get > memory > from a guest only works for paravirtualized VMs, or > (2) these values are incorrect, and the memory access method may or > may not > work for HVMs. Interesting. So it looks to me like these values are wrong. Specifically, the value for swapper_pg_dir should match what you see in the System.map file. It looks like the value is getting truncated somewhere (perhaps just formatted wrong in printf?). Also, XA_PAGE_OFFSET is defined in xenaccess.h and should not be zero (again, perhaps a printf formatting issue?). > Either way, where do you think I should go from here? The next step is to figure out why those two values appear wrong in the printout. If it's just printf, then that's simple. But if the values are wrong, then we will need to figure out why. If the values are correct, then I'm a little confused as I would have expected it to work from there. But I'll research how xen handles memory in a HVM domain while you look into the variable values. Hopefully one of us will find something :-) Cheers, bryan - Bryan D. Payne Graduate Student, Computer Science Georgia Tech Information Security Center http://www.bryanpayne.org |