On Wed, Jun 6, 2012 at 11:31 PM, Ian Campbell
<Ian.Campbell@xxxxxxxxxx> wrote:
Please don't top post, it makes it hard to follow the flow of the
conversation.
You might also find it useful to read
http://wiki.xen.org/wiki/Asking_Xen_Devel_Questions
On Thu, 2012-06-07 at 05:29 +0100, Zeinab Alebouyeh wrote:
> Thanks but I think if I find the base physical address of xen image I
> can convert virtual address to physical address
I'm not sure what this has to do with taking the address of a label,
like you originally asked, but...
There are macros to convert a xenheap virtual address into a physical
one and back, see __pa and __va. (Note that these only work for xenheap
addresses).
> I'm working in xen4 and my platform is: Processor AMD 64 and Centos 6
> i386 with 8G of RAM
Are you using a 32-bit or 64-bit hypervisor?
I strongly recommend basing all future x86 work on 64-bit Xen, even if
you are using a 32 bit dom0.
> Can anyone tell me The physical address that xen image load in it?
> This physical address depends on platform?
Yes, Xen will relocate itself at start of day. You should be able to
figure out the details from the implementation of __pa and __va.
It might be helpful if you described what you are actually trying to
achieve here -- what is your end goal?
Ian.
Hi
Because currently I'm not in lab I don't know my hypervisor is 32b or 64 bit.
I'm working in a security project. for improve security of applications running in virtualized environment. I want to use the security instruction of AMD SVM named SKINIT.
because this instruction must run in ring0, I add a hypercall in xen and write my codes in my hypercall function.
The skinit instruction takes the physical address of a block as an input operand( in the eax register) and establish a secure execution environment for a software component(block)
I have a label in my hypercall function that is the start of my block. In order to use skinit I want grab the physical address of my label to save in eax register.
Thanks if anyone help me.