Le 13/06/2012 18:27, Roger Pau Monné a écrit :
Is the P2M table (xpmap_phys_to_machine_mapping) entry for this addressmarked as INVALID_MFN?I'm not sure if this is correct, but I've done a:pfn_to_mfn((0x3f800000 - XPMAP_OFFSET) >> PAGE_SHIFT) and it is 239540
Should be. Out of interest, what it the value of pfn_to_mfn((0x3f800000) >> PAGE_SHIFT
without taking the .text offset into account?
Also, the syscall HYPERVISOR_mmu_update returns the error -22 (EINVAL).
It is definitely the hypervisor refusing the mapping, but it does not log why (and according to pfn_to_mfn(), this entry is valid, so there is something it does not like about it -- maybe a bit set where it is not expected to be for this type of address).
Next possible step: instrument the hypervisor (xen/arch/x86/mm.c) and see the path that leads to EINVAL in do_mmu_update().
-- Jean-Yves Migeon