Hello,
I am setting up shared memory using grant tables between two hvm guests.
In the process of doing so, the function
create_grant_host_mapping( uint64_t addr, unsigned long frame, unsigned int flags)
in
mm.c is getting called to
create a mapping at the specified virtual addr (as specified by parameter
addr in the call) for the specified machine frame address (specified by parameter
frame).
But when the function returns the guest physical address gets changed to point to the parameter value frame and the machine address of the virtual address points to 0xffffffff.
Is it because this function-create_grant_host_mapping does not work for hvm guests and i have to rewrite this function to use shadow page tables or is there some other error??
What could be the problem??
Thanks