/root/src/xen/xen/include/asm/x86_64/page.h
Line | Count | Source (jump to first uncovered line) |
1 | | |
2 | | #ifndef __X86_64_PAGE_H__ |
3 | | #define __X86_64_PAGE_H__ |
4 | | |
5 | 704M | #define L1_PAGETABLE_SHIFT 12 |
6 | 745k | #define L2_PAGETABLE_SHIFT 21 |
7 | 752k | #define L3_PAGETABLE_SHIFT 30 |
8 | 742k | #define L4_PAGETABLE_SHIFT 39 |
9 | 703M | #define PAGE_SHIFT L1_PAGETABLE_SHIFT |
10 | | #define SUPERPAGE_SHIFT L2_PAGETABLE_SHIFT |
11 | | #define ROOT_PAGETABLE_SHIFT L4_PAGETABLE_SHIFT |
12 | | |
13 | 27.9M | #define PAGETABLE_ORDER 9 |
14 | 522k | #define L1_PAGETABLE_ENTRIES (1<<PAGETABLE_ORDER) |
15 | 743k | #define L2_PAGETABLE_ENTRIES (1<<PAGETABLE_ORDER) |
16 | 743k | #define L3_PAGETABLE_ENTRIES (1<<PAGETABLE_ORDER) |
17 | 742k | #define L4_PAGETABLE_ENTRIES (1<<PAGETABLE_ORDER) |
18 | | #define ROOT_PAGETABLE_ENTRIES L4_PAGETABLE_ENTRIES |
19 | 0 | #define SUPERPAGE_ORDER PAGETABLE_ORDER |
20 | 0 | #define SUPERPAGE_PAGES (1<<SUPERPAGE_ORDER) |
21 | | |
22 | | #define __XEN_VIRT_START XEN_VIRT_START |
23 | | |
24 | | /* These are architectural limits. Current CPUs support only 40-bit phys. */ |
25 | 15.5M | #define PADDR_BITS 52 |
26 | 1 | #define VADDR_BITS 48 |
27 | 15.6M | #define PADDR_MASK ((1UL << PADDR_BITS)-1) |
28 | 0 | #define VADDR_MASK ((1UL << VADDR_BITS)-1) |
29 | | |
30 | 0 | #define VADDR_TOP_BIT (1UL << (VADDR_BITS - 1)) |
31 | 0 | #define CANONICAL_MASK (~0UL & ~VADDR_MASK) |
32 | | |
33 | 5.67M | #define is_canonical_address(x) (((long)(x) >> 47) == ((long)(x) >> 63)) |
34 | | |
35 | | #ifndef __ASSEMBLY__ |
36 | | |
37 | | #include <asm/types.h> |
38 | | |
39 | | #include <xen/pdx.h> |
40 | | |
41 | | extern unsigned long xen_virt_end; |
42 | | |
43 | | /* |
44 | | * Note: These are solely for the use by page_{get,set}_owner(), and |
45 | | * therefore don't need to handle the XEN_VIRT_{START,END} range. |
46 | | */ |
47 | 4.08M | #define virt_to_pdx(va) (((unsigned long)(va) - DIRECTMAP_VIRT_START) >> \ |
48 | 4.08M | PAGE_SHIFT) |
49 | 14.1M | #define pdx_to_virt(pdx) ((void *)(DIRECTMAP_VIRT_START + \ |
50 | 14.1M | ((unsigned long)(pdx) << PAGE_SHIFT))) |
51 | | |
52 | | static inline unsigned long __virt_to_maddr(unsigned long va) |
53 | 27.3M | { |
54 | 27.3M | ASSERT(va < DIRECTMAP_VIRT_END); |
55 | 27.3M | if ( va >= DIRECTMAP_VIRT_START ) |
56 | 218k | va -= DIRECTMAP_VIRT_START; |
57 | 27.3M | else |
58 | 27.1M | { |
59 | 27.1M | BUILD_BUG_ON(XEN_VIRT_END - XEN_VIRT_START != GB(1)); |
60 | 27.1M | /* Signed, so ((long)XEN_VIRT_START >> 30) fits in an imm32. */ |
61 | 27.1M | ASSERT(((long)va >> (PAGE_ORDER_1G + PAGE_SHIFT)) == |
62 | 27.1M | ((long)XEN_VIRT_START >> (PAGE_ORDER_1G + PAGE_SHIFT))); |
63 | 27.1M | |
64 | 27.1M | va += xen_phys_start - XEN_VIRT_START; |
65 | 27.1M | } |
66 | 27.3M | return (va & ma_va_bottom_mask) | |
67 | 27.3M | ((va << pfn_pdx_hole_shift) & ma_top_mask); |
68 | 27.3M | } Unexecuted instantiation: mmconfig-shared.c:__virt_to_maddr Unexecuted instantiation: mmconfig_64.c:__virt_to_maddr Unexecuted instantiation: mmconf-fam10h.c:__virt_to_maddr Unexecuted instantiation: acpi_mmcfg.c:__virt_to_maddr Unexecuted instantiation: ro-page-fault.c:__virt_to_maddr Unexecuted instantiation: misc-hypercalls.c:__virt_to_maddr Unexecuted instantiation: iret.c:__virt_to_maddr Unexecuted instantiation: emul-priv-op.c:__virt_to_maddr Unexecuted instantiation: emul-inv-op.c:__virt_to_maddr Unexecuted instantiation: emul-gate-op.c:__virt_to_maddr Unexecuted instantiation: descriptor-tables.c:__virt_to_maddr Unexecuted instantiation: callback.c:__virt_to_maddr Unexecuted instantiation: backtrace.c:__virt_to_maddr Unexecuted instantiation: op_model_athlon.c:__virt_to_maddr Unexecuted instantiation: op_model_ppro.c:__virt_to_maddr Unexecuted instantiation: op_model_p4.c:__virt_to_maddr Unexecuted instantiation: nmi_int.c:__virt_to_maddr Unexecuted instantiation: nested_ept.c:__virt_to_maddr Unexecuted instantiation: nested_hap.c:__virt_to_maddr Unexecuted instantiation: hap.c:__virt_to_maddr Unexecuted instantiation: multi.c:__virt_to_maddr Unexecuted instantiation: mem_sharing.c:__virt_to_maddr Unexecuted instantiation: mem_paging.c:__virt_to_maddr Unexecuted instantiation: guest_walk.c:__virt_to_maddr Unexecuted instantiation: altp2m.c:__virt_to_maddr Unexecuted instantiation: p2m-pod.c:__virt_to_maddr Unexecuted instantiation: p2m-ept.c:__virt_to_maddr Unexecuted instantiation: p2m-pt.c:__virt_to_maddr Unexecuted instantiation: p2m.c:__virt_to_maddr Unexecuted instantiation: paging.c:__virt_to_maddr Unexecuted instantiation: vvmx.c:__virt_to_maddr Unexecuted instantiation: vmx.c:__virt_to_maddr Line | Count | Source | 53 | 48 | { | 54 | 48 | ASSERT(va < DIRECTMAP_VIRT_END); | 55 | 48 | if ( va >= DIRECTMAP_VIRT_START ) | 56 | 48 | va -= DIRECTMAP_VIRT_START; | 57 | 48 | else | 58 | 0 | { | 59 | 0 | BUILD_BUG_ON(XEN_VIRT_END - XEN_VIRT_START != GB(1)); | 60 | 0 | /* Signed, so ((long)XEN_VIRT_START >> 30) fits in an imm32. */ | 61 | 0 | ASSERT(((long)va >> (PAGE_ORDER_1G + PAGE_SHIFT)) == | 62 | 0 | ((long)XEN_VIRT_START >> (PAGE_ORDER_1G + PAGE_SHIFT))); | 63 | 0 |
| 64 | 0 | va += xen_phys_start - XEN_VIRT_START; | 65 | 0 | } | 66 | 48 | return (va & ma_va_bottom_mask) | | 67 | 48 | ((va << pfn_pdx_hole_shift) & ma_top_mask); | 68 | 48 | } |
Unexecuted instantiation: realmode.c:__virt_to_maddr Unexecuted instantiation: vmcb.c:__virt_to_maddr Unexecuted instantiation: svmdebug.c:__virt_to_maddr Unexecuted instantiation: svm.c:__virt_to_maddr Unexecuted instantiation: nestedsvm.c:__virt_to_maddr Unexecuted instantiation: intr.c:__virt_to_maddr Unexecuted instantiation: vpt.c:__virt_to_maddr Unexecuted instantiation: vpic.c:__virt_to_maddr Unexecuted instantiation: vmsi.c:__virt_to_maddr Unexecuted instantiation: vlapic.c:__virt_to_maddr Unexecuted instantiation: viridian.c:__virt_to_maddr Unexecuted instantiation: vioapic.c:__virt_to_maddr Unexecuted instantiation: stdvga.c:__virt_to_maddr Unexecuted instantiation: save.c:__virt_to_maddr Unexecuted instantiation: rtc.c:__virt_to_maddr Unexecuted instantiation: pmtimer.c:__virt_to_maddr Unexecuted instantiation: nestedhvm.c:__virt_to_maddr Unexecuted instantiation: mtrr.c:__virt_to_maddr Unexecuted instantiation: ioreq.c:__virt_to_maddr Unexecuted instantiation: intercept.c:__virt_to_maddr Unexecuted instantiation: i8254.c:__virt_to_maddr Unexecuted instantiation: hvm.c:__virt_to_maddr Unexecuted instantiation: emulate.c:__virt_to_maddr Unexecuted instantiation: dm.c:__virt_to_maddr Unexecuted instantiation: asid.c:__virt_to_maddr Unexecuted instantiation: probe.c:__virt_to_maddr Unexecuted instantiation: delivery.c:__virt_to_maddr Unexecuted instantiation: default.c:__virt_to_maddr Unexecuted instantiation: x2apic.c:__virt_to_maddr Unexecuted instantiation: bigsmp.c:__virt_to_maddr Unexecuted instantiation: main.c:__virt_to_maddr Unexecuted instantiation: generic.c:__virt_to_maddr Unexecuted instantiation: vmce.c:__virt_to_maddr Unexecuted instantiation: util.c:__virt_to_maddr Unexecuted instantiation: non-fatal.c:__virt_to_maddr Unexecuted instantiation: mce_intel.c:__virt_to_maddr Unexecuted instantiation: mce-apei.c:__virt_to_maddr Unexecuted instantiation: mce.c:__virt_to_maddr Unexecuted instantiation: mctelem.c:__virt_to_maddr Unexecuted instantiation: barrier.c:__virt_to_maddr Unexecuted instantiation: mcaction.c:__virt_to_maddr Unexecuted instantiation: mce_amd.c:__virt_to_maddr Unexecuted instantiation: amd_nonfatal.c:__virt_to_maddr Unexecuted instantiation: vpmu_intel.c:__virt_to_maddr Unexecuted instantiation: vpmu_amd.c:__virt_to_maddr Unexecuted instantiation: vpmu.c:__virt_to_maddr Unexecuted instantiation: mwait-idle.c:__virt_to_maddr Unexecuted instantiation: intel_cacheinfo.c:__virt_to_maddr Unexecuted instantiation: intel.c:__virt_to_maddr Line | Count | Source | 53 | 2 | { | 54 | 2 | ASSERT(va < DIRECTMAP_VIRT_END); | 55 | 2 | if ( va >= DIRECTMAP_VIRT_START ) | 56 | 0 | va -= DIRECTMAP_VIRT_START; | 57 | 2 | else | 58 | 2 | { | 59 | 2 | BUILD_BUG_ON(XEN_VIRT_END - XEN_VIRT_START != GB(1)); | 60 | 2 | /* Signed, so ((long)XEN_VIRT_START >> 30) fits in an imm32. */ | 61 | 2 | ASSERT(((long)va >> (PAGE_ORDER_1G + PAGE_SHIFT)) == | 62 | 2 | ((long)XEN_VIRT_START >> (PAGE_ORDER_1G + PAGE_SHIFT))); | 63 | 2 | | 64 | 2 | va += xen_phys_start - XEN_VIRT_START; | 65 | 2 | } | 66 | 2 | return (va & ma_va_bottom_mask) | | 67 | 2 | ((va << pfn_pdx_hole_shift) & ma_top_mask); | 68 | 2 | } |
Unexecuted instantiation: centaur.c:__virt_to_maddr Unexecuted instantiation: amd.c:__virt_to_maddr Unexecuted instantiation: powernow.c:__virt_to_maddr Unexecuted instantiation: cpuidle_menu.c:__virt_to_maddr Unexecuted instantiation: cpu_idle.c:__virt_to_maddr Unexecuted instantiation: suspend.c:__virt_to_maddr Unexecuted instantiation: power.c:__virt_to_maddr Unexecuted instantiation: lib.c:__virt_to_maddr Unexecuted instantiation: xstate.c:__virt_to_maddr Unexecuted instantiation: hpet.c:__virt_to_maddr Unexecuted instantiation: tboot.c:__virt_to_maddr Unexecuted instantiation: x86_emulate.c:__virt_to_maddr Unexecuted instantiation: usercopy.c:__virt_to_maddr Unexecuted instantiation: traps.c:__virt_to_maddr Unexecuted instantiation: srat.c:__virt_to_maddr smpboot.c:__virt_to_maddr Line | Count | Source | 53 | 22 | { | 54 | 22 | ASSERT(va < DIRECTMAP_VIRT_END); | 55 | 22 | if ( va >= DIRECTMAP_VIRT_START ) | 56 | 0 | va -= DIRECTMAP_VIRT_START; | 57 | 22 | else | 58 | 22 | { | 59 | 22 | BUILD_BUG_ON(XEN_VIRT_END - XEN_VIRT_START != GB(1)); | 60 | 22 | /* Signed, so ((long)XEN_VIRT_START >> 30) fits in an imm32. */ | 61 | 22 | ASSERT(((long)va >> (PAGE_ORDER_1G + PAGE_SHIFT)) == | 62 | 22 | ((long)XEN_VIRT_START >> (PAGE_ORDER_1G + PAGE_SHIFT))); | 63 | 22 | | 64 | 22 | va += xen_phys_start - XEN_VIRT_START; | 65 | 22 | } | 66 | 22 | return (va & ma_va_bottom_mask) | | 67 | 22 | ((va << pfn_pdx_hole_shift) & ma_top_mask); | 68 | 22 | } |
Line | Count | Source | 53 | 31 | { | 54 | 31 | ASSERT(va < DIRECTMAP_VIRT_END); | 55 | 31 | if ( va >= DIRECTMAP_VIRT_START ) | 56 | 7 | va -= DIRECTMAP_VIRT_START; | 57 | 31 | else | 58 | 24 | { | 59 | 24 | BUILD_BUG_ON(XEN_VIRT_END - XEN_VIRT_START != GB(1)); | 60 | 24 | /* Signed, so ((long)XEN_VIRT_START >> 30) fits in an imm32. */ | 61 | 24 | ASSERT(((long)va >> (PAGE_ORDER_1G + PAGE_SHIFT)) == | 62 | 24 | ((long)XEN_VIRT_START >> (PAGE_ORDER_1G + PAGE_SHIFT))); | 63 | 24 | | 64 | 24 | va += xen_phys_start - XEN_VIRT_START; | 65 | 24 | } | 66 | 31 | return (va & ma_va_bottom_mask) | | 67 | 31 | ((va << pfn_pdx_hole_shift) & ma_top_mask); | 68 | 31 | } |
Unexecuted instantiation: psr.c:__virt_to_maddr Unexecuted instantiation: platform_hypercall.c:__virt_to_maddr Unexecuted instantiation: physdev.c:__virt_to_maddr Unexecuted instantiation: percpu.c:__virt_to_maddr Unexecuted instantiation: nmi.c:__virt_to_maddr mpparse.c:__virt_to_maddr Line | Count | Source | 53 | 1 | { | 54 | 1 | ASSERT(va < DIRECTMAP_VIRT_END); | 55 | 1 | if ( va >= DIRECTMAP_VIRT_START ) | 56 | 1 | va -= DIRECTMAP_VIRT_START; | 57 | 1 | else | 58 | 0 | { | 59 | 0 | BUILD_BUG_ON(XEN_VIRT_END - XEN_VIRT_START != GB(1)); | 60 | 0 | /* Signed, so ((long)XEN_VIRT_START >> 30) fits in an imm32. */ | 61 | 0 | ASSERT(((long)va >> (PAGE_ORDER_1G + PAGE_SHIFT)) == | 62 | 0 | ((long)XEN_VIRT_START >> (PAGE_ORDER_1G + PAGE_SHIFT))); | 63 | 0 |
| 64 | 0 | va += xen_phys_start - XEN_VIRT_START; | 65 | 0 | } | 66 | 1 | return (va & ma_va_bottom_mask) | | 67 | 1 | ((va << pfn_pdx_hole_shift) & ma_top_mask); | 68 | 1 | } |
Line | Count | Source | 53 | 46 | { | 54 | 46 | ASSERT(va < DIRECTMAP_VIRT_END); | 55 | 46 | if ( va >= DIRECTMAP_VIRT_START ) | 56 | 45 | va -= DIRECTMAP_VIRT_START; | 57 | 46 | else | 58 | 1 | { | 59 | 1 | BUILD_BUG_ON(XEN_VIRT_END - XEN_VIRT_START != GB(1)); | 60 | 1 | /* Signed, so ((long)XEN_VIRT_START >> 30) fits in an imm32. */ | 61 | 1 | ASSERT(((long)va >> (PAGE_ORDER_1G + PAGE_SHIFT)) == | 62 | 1 | ((long)XEN_VIRT_START >> (PAGE_ORDER_1G + PAGE_SHIFT))); | 63 | 1 | | 64 | 1 | va += xen_phys_start - XEN_VIRT_START; | 65 | 1 | } | 66 | 46 | return (va & ma_va_bottom_mask) | | 67 | 46 | ((va << pfn_pdx_hole_shift) & ma_top_mask); | 68 | 46 | } |
Unexecuted instantiation: microcode.c:__virt_to_maddr Unexecuted instantiation: microcode_intel.c:__virt_to_maddr Unexecuted instantiation: microcode_amd.c:__virt_to_maddr Unexecuted instantiation: machine_kexec.c:__virt_to_maddr Unexecuted instantiation: ioport_emulate.c:__virt_to_maddr Unexecuted instantiation: msr.c:__virt_to_maddr Unexecuted instantiation: io_apic.c:__virt_to_maddr Unexecuted instantiation: i8259.c:__virt_to_maddr Unexecuted instantiation: i387.c:__virt_to_maddr Unexecuted instantiation: hypercall.c:__virt_to_maddr Unexecuted instantiation: flushtlb.c:__virt_to_maddr Unexecuted instantiation: extable.c:__virt_to_maddr Unexecuted instantiation: e820.c:__virt_to_maddr domain_page.c:__virt_to_maddr Line | Count | Source | 53 | 27.1M | { | 54 | 27.1M | ASSERT(va < DIRECTMAP_VIRT_END); | 55 | 27.1M | if ( va >= DIRECTMAP_VIRT_START ) | 56 | 0 | va -= DIRECTMAP_VIRT_START; | 57 | 27.1M | else | 58 | 27.1M | { | 59 | 27.1M | BUILD_BUG_ON(XEN_VIRT_END - XEN_VIRT_START != GB(1)); | 60 | 27.1M | /* Signed, so ((long)XEN_VIRT_START >> 30) fits in an imm32. */ | 61 | 27.1M | ASSERT(((long)va >> (PAGE_ORDER_1G + PAGE_SHIFT)) == | 62 | 27.1M | ((long)XEN_VIRT_START >> (PAGE_ORDER_1G + PAGE_SHIFT))); | 63 | 27.1M | | 64 | 27.1M | va += xen_phys_start - XEN_VIRT_START; | 65 | 27.1M | } | 66 | 27.1M | return (va & ma_va_bottom_mask) | | 67 | 27.1M | ((va << pfn_pdx_hole_shift) & ma_top_mask); | 68 | 27.1M | } |
Unexecuted instantiation: delay.c:__virt_to_maddr Unexecuted instantiation: debug.c:__virt_to_maddr Unexecuted instantiation: crash.c:__virt_to_maddr Unexecuted instantiation: compat.c:__virt_to_maddr Unexecuted instantiation: cpuid.c:__virt_to_maddr Unexecuted instantiation: apic.c:__virt_to_maddr Unexecuted instantiation: xsm_core.c:__virt_to_maddr Unexecuted instantiation: vesa.c:__virt_to_maddr Unexecuted instantiation: vga.c:__virt_to_maddr Unexecuted instantiation: apei-io.c:__virt_to_maddr Unexecuted instantiation: apei-base.c:__virt_to_maddr Unexecuted instantiation: hest.c:__virt_to_maddr Unexecuted instantiation: erst.c:__virt_to_maddr Unexecuted instantiation: utglobal.c:__virt_to_maddr Unexecuted instantiation: tbutils.c:__virt_to_maddr Unexecuted instantiation: reboot.c:__virt_to_maddr Unexecuted instantiation: hwregs.c:__virt_to_maddr Unexecuted instantiation: pmstat.c:__virt_to_maddr Line | Count | Source | 53 | 12 | { | 54 | 12 | ASSERT(va < DIRECTMAP_VIRT_END); | 55 | 12 | if ( va >= DIRECTMAP_VIRT_START ) | 56 | 12 | va -= DIRECTMAP_VIRT_START; | 57 | 12 | else | 58 | 0 | { | 59 | 0 | BUILD_BUG_ON(XEN_VIRT_END - XEN_VIRT_START != GB(1)); | 60 | 0 | /* Signed, so ((long)XEN_VIRT_START >> 30) fits in an imm32. */ | 61 | 0 | ASSERT(((long)va >> (PAGE_ORDER_1G + PAGE_SHIFT)) == | 62 | 0 | ((long)XEN_VIRT_START >> (PAGE_ORDER_1G + PAGE_SHIFT))); | 63 | 0 |
| 64 | 0 | va += xen_phys_start - XEN_VIRT_START; | 65 | 0 | } | 66 | 12 | return (va & ma_va_bottom_mask) | | 67 | 12 | ((va << pfn_pdx_hole_shift) & ma_top_mask); | 68 | 12 | } |
Unexecuted instantiation: numa.c:__virt_to_maddr Unexecuted instantiation: iommu_guest.c:__virt_to_maddr Unexecuted instantiation: iommu_cmd.c:__virt_to_maddr Unexecuted instantiation: iommu_intr.c:__virt_to_maddr Unexecuted instantiation: pci_amd_iommu.c:__virt_to_maddr Unexecuted instantiation: iommu_map.c:__virt_to_maddr Unexecuted instantiation: iommu_init.c:__virt_to_maddr Unexecuted instantiation: ats.c:__virt_to_maddr Unexecuted instantiation: vtd.c:__virt_to_maddr Unexecuted instantiation: quirks.c:__virt_to_maddr Unexecuted instantiation: intremap.c:__virt_to_maddr Line | Count | Source | 53 | 218k | { | 54 | 218k | ASSERT(va < DIRECTMAP_VIRT_END); | 55 | 218k | if ( va >= DIRECTMAP_VIRT_START ) | 56 | 218k | va -= DIRECTMAP_VIRT_START; | 57 | 218k | else | 58 | 67 | { | 59 | 67 | BUILD_BUG_ON(XEN_VIRT_END - XEN_VIRT_START != GB(1)); | 60 | 67 | /* Signed, so ((long)XEN_VIRT_START >> 30) fits in an imm32. */ | 61 | 67 | ASSERT(((long)va >> (PAGE_ORDER_1G + PAGE_SHIFT)) == | 62 | 67 | ((long)XEN_VIRT_START >> (PAGE_ORDER_1G + PAGE_SHIFT))); | 63 | 67 | | 64 | 67 | va += xen_phys_start - XEN_VIRT_START; | 65 | 67 | } | 66 | 218k | return (va & ma_va_bottom_mask) | | 67 | 218k | ((va << pfn_pdx_hole_shift) & ma_top_mask); | 68 | 218k | } |
Unexecuted instantiation: utils.c:__virt_to_maddr Unexecuted instantiation: dmar.c:__virt_to_maddr Unexecuted instantiation: io.c:__virt_to_maddr Unexecuted instantiation: iommu.c:__virt_to_maddr Unexecuted instantiation: msix.c:__virt_to_maddr Unexecuted instantiation: msi.c:__virt_to_maddr Unexecuted instantiation: header.c:__virt_to_maddr Unexecuted instantiation: vpci.c:__virt_to_maddr Unexecuted instantiation: pci.c:__virt_to_maddr Unexecuted instantiation: utility.c:__virt_to_maddr Unexecuted instantiation: cpufreq_misc_governors.c:__virt_to_maddr Unexecuted instantiation: cpufreq_ondemand.c:__virt_to_maddr Unexecuted instantiation: cpufreq.c:__virt_to_maddr Unexecuted instantiation: serial.c:__virt_to_maddr Unexecuted instantiation: ehci-dbgp.c:__virt_to_maddr Unexecuted instantiation: ns16550.c:__virt_to_maddr Unexecuted instantiation: console.c:__virt_to_maddr Unexecuted instantiation: libelf-dominfo.c:__virt_to_maddr Unexecuted instantiation: libelf-loader.c:__virt_to_maddr Unexecuted instantiation: libelf-tools.c:__virt_to_maddr Unexecuted instantiation: llvm.c:__virt_to_maddr Unexecuted instantiation: tmem_control.c:__virt_to_maddr Unexecuted instantiation: tmem_xen.c:__virt_to_maddr Unexecuted instantiation: tmem.c:__virt_to_maddr Unexecuted instantiation: xmalloc_tlsf.c:__virt_to_maddr Unexecuted instantiation: xenoprof.c:__virt_to_maddr Unexecuted instantiation: wait.c:__virt_to_maddr Unexecuted instantiation: vsprintf.c:__virt_to_maddr Unexecuted instantiation: vmap.c:__virt_to_maddr Unexecuted instantiation: vm_event.c:__virt_to_maddr Unexecuted instantiation: virtual_region.c:__virt_to_maddr Unexecuted instantiation: trace.c:__virt_to_maddr Unexecuted instantiation: timer.c:__virt_to_maddr Unexecuted instantiation: time.c:__virt_to_maddr Unexecuted instantiation: tasklet.c:__virt_to_maddr Unexecuted instantiation: sysctl.c:__virt_to_maddr Unexecuted instantiation: symbols.c:__virt_to_maddr Unexecuted instantiation: stop_machine.c:__virt_to_maddr Unexecuted instantiation: spinlock.c:__virt_to_maddr Unexecuted instantiation: smp.c:__virt_to_maddr Unexecuted instantiation: softirq.c:__virt_to_maddr Unexecuted instantiation: shutdown.c:__virt_to_maddr Unexecuted instantiation: schedule.c:__virt_to_maddr Unexecuted instantiation: sched_null.c:__virt_to_maddr Unexecuted instantiation: sched_rt.c:__virt_to_maddr Unexecuted instantiation: sched_credit2.c:__virt_to_maddr Unexecuted instantiation: sched_credit.c:__virt_to_maddr Unexecuted instantiation: sched_arinc653.c:__virt_to_maddr Unexecuted instantiation: rwlock.c:__virt_to_maddr Unexecuted instantiation: rcupdate.c:__virt_to_maddr Unexecuted instantiation: radix-tree.c:__virt_to_maddr Unexecuted instantiation: rangeset.c:__virt_to_maddr Unexecuted instantiation: random.c:__virt_to_maddr Unexecuted instantiation: preempt.c:__virt_to_maddr Unexecuted instantiation: pdx.c:__virt_to_maddr Unexecuted instantiation: page_alloc.c:__virt_to_maddr Unexecuted instantiation: notifier.c:__virt_to_maddr Unexecuted instantiation: multicall.c:__virt_to_maddr Unexecuted instantiation: monitor.c:__virt_to_maddr Unexecuted instantiation: memory.c:__virt_to_maddr Unexecuted instantiation: mem_access.c:__virt_to_maddr Unexecuted instantiation: kimage.c:__virt_to_maddr Unexecuted instantiation: kexec.c:__virt_to_maddr Unexecuted instantiation: keyhandler.c:__virt_to_maddr Unexecuted instantiation: kernel.c:__virt_to_maddr Unexecuted instantiation: irq.c:__virt_to_maddr Unexecuted instantiation: guestcopy.c:__virt_to_maddr grant_table.c:__virt_to_maddr Line | Count | Source | 53 | 1 | { | 54 | 1 | ASSERT(va < DIRECTMAP_VIRT_END); | 55 | 1 | if ( va >= DIRECTMAP_VIRT_START ) | 56 | 1 | va -= DIRECTMAP_VIRT_START; | 57 | 1 | else | 58 | 0 | { | 59 | 0 | BUILD_BUG_ON(XEN_VIRT_END - XEN_VIRT_START != GB(1)); | 60 | 0 | /* Signed, so ((long)XEN_VIRT_START >> 30) fits in an imm32. */ | 61 | 0 | ASSERT(((long)va >> (PAGE_ORDER_1G + PAGE_SHIFT)) == | 62 | 0 | ((long)XEN_VIRT_START >> (PAGE_ORDER_1G + PAGE_SHIFT))); | 63 | 0 |
| 64 | 0 | va += xen_phys_start - XEN_VIRT_START; | 65 | 0 | } | 66 | 1 | return (va & ma_va_bottom_mask) | | 67 | 1 | ((va << pfn_pdx_hole_shift) & ma_top_mask); | 68 | 1 | } |
Unexecuted instantiation: event_fifo.c:__virt_to_maddr Unexecuted instantiation: event_channel.c:__virt_to_maddr Unexecuted instantiation: event_2l.c:__virt_to_maddr Line | Count | Source | 53 | 12 | { | 54 | 12 | ASSERT(va < DIRECTMAP_VIRT_END); | 55 | 12 | if ( va >= DIRECTMAP_VIRT_START ) | 56 | 0 | va -= DIRECTMAP_VIRT_START; | 57 | 12 | else | 58 | 12 | { | 59 | 12 | BUILD_BUG_ON(XEN_VIRT_END - XEN_VIRT_START != GB(1)); | 60 | 12 | /* Signed, so ((long)XEN_VIRT_START >> 30) fits in an imm32. */ | 61 | 12 | ASSERT(((long)va >> (PAGE_ORDER_1G + PAGE_SHIFT)) == | 62 | 12 | ((long)XEN_VIRT_START >> (PAGE_ORDER_1G + PAGE_SHIFT))); | 63 | 12 | | 64 | 12 | va += xen_phys_start - XEN_VIRT_START; | 65 | 12 | } | 66 | 12 | return (va & ma_va_bottom_mask) | | 67 | 12 | ((va << pfn_pdx_hole_shift) & ma_top_mask); | 68 | 12 | } |
Line | Count | Source | 53 | 4 | { | 54 | 4 | ASSERT(va < DIRECTMAP_VIRT_END); | 55 | 4 | if ( va >= DIRECTMAP_VIRT_START ) | 56 | 4 | va -= DIRECTMAP_VIRT_START; | 57 | 4 | else | 58 | 0 | { | 59 | 0 | BUILD_BUG_ON(XEN_VIRT_END - XEN_VIRT_START != GB(1)); | 60 | 0 | /* Signed, so ((long)XEN_VIRT_START >> 30) fits in an imm32. */ | 61 | 0 | ASSERT(((long)va >> (PAGE_ORDER_1G + PAGE_SHIFT)) == | 62 | 0 | ((long)XEN_VIRT_START >> (PAGE_ORDER_1G + PAGE_SHIFT))); | 63 | 0 |
| 64 | 0 | va += xen_phys_start - XEN_VIRT_START; | 65 | 0 | } | 66 | 4 | return (va & ma_va_bottom_mask) | | 67 | 4 | ((va << pfn_pdx_hole_shift) & ma_top_mask); | 68 | 4 | } |
Unexecuted instantiation: cpupool.c:__virt_to_maddr Unexecuted instantiation: cpu.c:__virt_to_maddr Unexecuted instantiation: core_parking.c:__virt_to_maddr Unexecuted instantiation: stub.c:__virt_to_maddr |
69 | | |
70 | | static inline void *__maddr_to_virt(unsigned long ma) |
71 | 43.7M | { |
72 | 43.7M | ASSERT(pfn_to_pdx(ma >> PAGE_SHIFT) < (DIRECTMAP_SIZE >> PAGE_SHIFT)); |
73 | 43.7M | return (void *)(DIRECTMAP_VIRT_START + |
74 | 43.7M | ((ma & ma_va_bottom_mask) | |
75 | 43.7M | ((ma & ma_top_mask) >> pfn_pdx_hole_shift))); |
76 | 43.7M | } Unexecuted instantiation: stub.c:__maddr_to_virt Unexecuted instantiation: core_parking.c:__maddr_to_virt Unexecuted instantiation: cpu.c:__maddr_to_virt Unexecuted instantiation: cpupool.c:__maddr_to_virt Unexecuted instantiation: domctl.c:__maddr_to_virt Unexecuted instantiation: domain.c:__maddr_to_virt Unexecuted instantiation: event_2l.c:__maddr_to_virt Unexecuted instantiation: event_channel.c:__maddr_to_virt Unexecuted instantiation: event_fifo.c:__maddr_to_virt Unexecuted instantiation: grant_table.c:__maddr_to_virt Unexecuted instantiation: guestcopy.c:__maddr_to_virt Unexecuted instantiation: irq.c:__maddr_to_virt Unexecuted instantiation: kernel.c:__maddr_to_virt Unexecuted instantiation: keyhandler.c:__maddr_to_virt Unexecuted instantiation: kexec.c:__maddr_to_virt Unexecuted instantiation: kimage.c:__maddr_to_virt Unexecuted instantiation: mem_access.c:__maddr_to_virt Unexecuted instantiation: memory.c:__maddr_to_virt Unexecuted instantiation: monitor.c:__maddr_to_virt Unexecuted instantiation: multicall.c:__maddr_to_virt Unexecuted instantiation: notifier.c:__maddr_to_virt page_alloc.c:__maddr_to_virt Line | Count | Source | 71 | 1 | { | 72 | 1 | ASSERT(pfn_to_pdx(ma >> PAGE_SHIFT) < (DIRECTMAP_SIZE >> PAGE_SHIFT)); | 73 | 1 | return (void *)(DIRECTMAP_VIRT_START + | 74 | 1 | ((ma & ma_va_bottom_mask) | | 75 | 1 | ((ma & ma_top_mask) >> pfn_pdx_hole_shift))); | 76 | 1 | } |
Unexecuted instantiation: pdx.c:__maddr_to_virt Unexecuted instantiation: preempt.c:__maddr_to_virt Unexecuted instantiation: random.c:__maddr_to_virt Unexecuted instantiation: rangeset.c:__maddr_to_virt Unexecuted instantiation: radix-tree.c:__maddr_to_virt Unexecuted instantiation: rcupdate.c:__maddr_to_virt Unexecuted instantiation: rwlock.c:__maddr_to_virt Unexecuted instantiation: sched_arinc653.c:__maddr_to_virt Unexecuted instantiation: sched_credit.c:__maddr_to_virt Unexecuted instantiation: sched_credit2.c:__maddr_to_virt Unexecuted instantiation: sched_rt.c:__maddr_to_virt Unexecuted instantiation: sched_null.c:__maddr_to_virt Unexecuted instantiation: schedule.c:__maddr_to_virt Unexecuted instantiation: shutdown.c:__maddr_to_virt Unexecuted instantiation: softirq.c:__maddr_to_virt Unexecuted instantiation: smp.c:__maddr_to_virt Unexecuted instantiation: spinlock.c:__maddr_to_virt Unexecuted instantiation: stop_machine.c:__maddr_to_virt Unexecuted instantiation: symbols.c:__maddr_to_virt Unexecuted instantiation: sysctl.c:__maddr_to_virt Unexecuted instantiation: tasklet.c:__maddr_to_virt Unexecuted instantiation: time.c:__maddr_to_virt Unexecuted instantiation: timer.c:__maddr_to_virt Unexecuted instantiation: trace.c:__maddr_to_virt Unexecuted instantiation: virtual_region.c:__maddr_to_virt Unexecuted instantiation: vm_event.c:__maddr_to_virt Unexecuted instantiation: vmap.c:__maddr_to_virt Unexecuted instantiation: vsprintf.c:__maddr_to_virt Unexecuted instantiation: wait.c:__maddr_to_virt Unexecuted instantiation: xenoprof.c:__maddr_to_virt Unexecuted instantiation: xmalloc_tlsf.c:__maddr_to_virt Unexecuted instantiation: tmem.c:__maddr_to_virt Unexecuted instantiation: tmem_xen.c:__maddr_to_virt Unexecuted instantiation: tmem_control.c:__maddr_to_virt Unexecuted instantiation: llvm.c:__maddr_to_virt Unexecuted instantiation: libelf-tools.c:__maddr_to_virt Unexecuted instantiation: libelf-loader.c:__maddr_to_virt Unexecuted instantiation: libelf-dominfo.c:__maddr_to_virt Unexecuted instantiation: console.c:__maddr_to_virt Unexecuted instantiation: ns16550.c:__maddr_to_virt Unexecuted instantiation: ehci-dbgp.c:__maddr_to_virt Unexecuted instantiation: serial.c:__maddr_to_virt Unexecuted instantiation: cpufreq.c:__maddr_to_virt Unexecuted instantiation: cpufreq_ondemand.c:__maddr_to_virt Unexecuted instantiation: cpufreq_misc_governors.c:__maddr_to_virt Unexecuted instantiation: utility.c:__maddr_to_virt Unexecuted instantiation: pci.c:__maddr_to_virt Unexecuted instantiation: vpci.c:__maddr_to_virt Unexecuted instantiation: header.c:__maddr_to_virt Unexecuted instantiation: msi.c:__maddr_to_virt Unexecuted instantiation: msix.c:__maddr_to_virt Unexecuted instantiation: iommu.c:__maddr_to_virt Unexecuted instantiation: io.c:__maddr_to_virt Line | Count | Source | 71 | 2 | { | 72 | 2 | ASSERT(pfn_to_pdx(ma >> PAGE_SHIFT) < (DIRECTMAP_SIZE >> PAGE_SHIFT)); | 73 | 2 | return (void *)(DIRECTMAP_VIRT_START + | 74 | 2 | ((ma & ma_va_bottom_mask) | | 75 | 2 | ((ma & ma_top_mask) >> pfn_pdx_hole_shift))); | 76 | 2 | } |
Unexecuted instantiation: utils.c:__maddr_to_virt Unexecuted instantiation: qinval.c:__maddr_to_virt Unexecuted instantiation: intremap.c:__maddr_to_virt Unexecuted instantiation: quirks.c:__maddr_to_virt Unexecuted instantiation: vtd.c:__maddr_to_virt Unexecuted instantiation: ats.c:__maddr_to_virt Unexecuted instantiation: iommu_init.c:__maddr_to_virt Unexecuted instantiation: iommu_map.c:__maddr_to_virt Unexecuted instantiation: pci_amd_iommu.c:__maddr_to_virt Unexecuted instantiation: iommu_intr.c:__maddr_to_virt Unexecuted instantiation: iommu_cmd.c:__maddr_to_virt Unexecuted instantiation: iommu_guest.c:__maddr_to_virt Unexecuted instantiation: numa.c:__maddr_to_virt Line | Count | Source | 71 | 9 | { | 72 | 9 | ASSERT(pfn_to_pdx(ma >> PAGE_SHIFT) < (DIRECTMAP_SIZE >> PAGE_SHIFT)); | 73 | 9 | return (void *)(DIRECTMAP_VIRT_START + | 74 | 9 | ((ma & ma_va_bottom_mask) | | 75 | 9 | ((ma & ma_top_mask) >> pfn_pdx_hole_shift))); | 76 | 9 | } |
Unexecuted instantiation: pmstat.c:__maddr_to_virt Unexecuted instantiation: hwregs.c:__maddr_to_virt Unexecuted instantiation: reboot.c:__maddr_to_virt Unexecuted instantiation: tbutils.c:__maddr_to_virt Unexecuted instantiation: utglobal.c:__maddr_to_virt Line | Count | Source | 71 | 2 | { | 72 | 2 | ASSERT(pfn_to_pdx(ma >> PAGE_SHIFT) < (DIRECTMAP_SIZE >> PAGE_SHIFT)); | 73 | 2 | return (void *)(DIRECTMAP_VIRT_START + | 74 | 2 | ((ma & ma_va_bottom_mask) | | 75 | 2 | ((ma & ma_top_mask) >> pfn_pdx_hole_shift))); | 76 | 2 | } |
Line | Count | Source | 71 | 2 | { | 72 | 2 | ASSERT(pfn_to_pdx(ma >> PAGE_SHIFT) < (DIRECTMAP_SIZE >> PAGE_SHIFT)); | 73 | 2 | return (void *)(DIRECTMAP_VIRT_START + | 74 | 2 | ((ma & ma_va_bottom_mask) | | 75 | 2 | ((ma & ma_top_mask) >> pfn_pdx_hole_shift))); | 76 | 2 | } |
Unexecuted instantiation: apei-base.c:__maddr_to_virt Unexecuted instantiation: apei-io.c:__maddr_to_virt Unexecuted instantiation: vga.c:__maddr_to_virt Unexecuted instantiation: vesa.c:__maddr_to_virt Unexecuted instantiation: xsm_core.c:__maddr_to_virt Unexecuted instantiation: apic.c:__maddr_to_virt Unexecuted instantiation: cpuid.c:__maddr_to_virt Unexecuted instantiation: compat.c:__maddr_to_virt Unexecuted instantiation: crash.c:__maddr_to_virt Unexecuted instantiation: debug.c:__maddr_to_virt Unexecuted instantiation: delay.c:__maddr_to_virt domain_page.c:__maddr_to_virt Line | Count | Source | 71 | 43.7M | { | 72 | 43.7M | ASSERT(pfn_to_pdx(ma >> PAGE_SHIFT) < (DIRECTMAP_SIZE >> PAGE_SHIFT)); | 73 | 43.7M | return (void *)(DIRECTMAP_VIRT_START + | 74 | 43.7M | ((ma & ma_va_bottom_mask) | | 75 | 43.7M | ((ma & ma_top_mask) >> pfn_pdx_hole_shift))); | 76 | 43.7M | } |
Unexecuted instantiation: e820.c:__maddr_to_virt Unexecuted instantiation: extable.c:__maddr_to_virt Unexecuted instantiation: flushtlb.c:__maddr_to_virt Unexecuted instantiation: hypercall.c:__maddr_to_virt Unexecuted instantiation: i387.c:__maddr_to_virt Unexecuted instantiation: i8259.c:__maddr_to_virt Unexecuted instantiation: io_apic.c:__maddr_to_virt Unexecuted instantiation: msr.c:__maddr_to_virt Unexecuted instantiation: ioport_emulate.c:__maddr_to_virt Unexecuted instantiation: machine_kexec.c:__maddr_to_virt Unexecuted instantiation: microcode_amd.c:__maddr_to_virt Unexecuted instantiation: microcode_intel.c:__maddr_to_virt microcode.c:__maddr_to_virt Line | Count | Source | 71 | 1 | { | 72 | 1 | ASSERT(pfn_to_pdx(ma >> PAGE_SHIFT) < (DIRECTMAP_SIZE >> PAGE_SHIFT)); | 73 | 1 | return (void *)(DIRECTMAP_VIRT_START + | 74 | 1 | ((ma & ma_va_bottom_mask) | | 75 | 1 | ((ma & ma_top_mask) >> pfn_pdx_hole_shift))); | 76 | 1 | } |
Line | Count | Source | 71 | 28.3k | { | 72 | 28.3k | ASSERT(pfn_to_pdx(ma >> PAGE_SHIFT) < (DIRECTMAP_SIZE >> PAGE_SHIFT)); | 73 | 28.3k | return (void *)(DIRECTMAP_VIRT_START + | 74 | 28.3k | ((ma & ma_va_bottom_mask) | | 75 | 28.3k | ((ma & ma_top_mask) >> pfn_pdx_hole_shift))); | 76 | 28.3k | } |
mpparse.c:__maddr_to_virt Line | Count | Source | 71 | 3 | { | 72 | 3 | ASSERT(pfn_to_pdx(ma >> PAGE_SHIFT) < (DIRECTMAP_SIZE >> PAGE_SHIFT)); | 73 | 3 | return (void *)(DIRECTMAP_VIRT_START + | 74 | 3 | ((ma & ma_va_bottom_mask) | | 75 | 3 | ((ma & ma_top_mask) >> pfn_pdx_hole_shift))); | 76 | 3 | } |
Unexecuted instantiation: nmi.c:__maddr_to_virt Unexecuted instantiation: percpu.c:__maddr_to_virt Unexecuted instantiation: physdev.c:__maddr_to_virt Unexecuted instantiation: platform_hypercall.c:__maddr_to_virt Unexecuted instantiation: psr.c:__maddr_to_virt Line | Count | Source | 71 | 30 | { | 72 | 30 | ASSERT(pfn_to_pdx(ma >> PAGE_SHIFT) < (DIRECTMAP_SIZE >> PAGE_SHIFT)); | 73 | 30 | return (void *)(DIRECTMAP_VIRT_START + | 74 | 30 | ((ma & ma_va_bottom_mask) | | 75 | 30 | ((ma & ma_top_mask) >> pfn_pdx_hole_shift))); | 76 | 30 | } |
smpboot.c:__maddr_to_virt Line | Count | Source | 71 | 44 | { | 72 | 44 | ASSERT(pfn_to_pdx(ma >> PAGE_SHIFT) < (DIRECTMAP_SIZE >> PAGE_SHIFT)); | 73 | 44 | return (void *)(DIRECTMAP_VIRT_START + | 74 | 44 | ((ma & ma_va_bottom_mask) | | 75 | 44 | ((ma & ma_top_mask) >> pfn_pdx_hole_shift))); | 76 | 44 | } |
Unexecuted instantiation: srat.c:__maddr_to_virt Unexecuted instantiation: traps.c:__maddr_to_virt Unexecuted instantiation: usercopy.c:__maddr_to_virt Unexecuted instantiation: x86_emulate.c:__maddr_to_virt Unexecuted instantiation: tboot.c:__maddr_to_virt Unexecuted instantiation: hpet.c:__maddr_to_virt Unexecuted instantiation: xstate.c:__maddr_to_virt Line | Count | Source | 71 | 5 | { | 72 | 5 | ASSERT(pfn_to_pdx(ma >> PAGE_SHIFT) < (DIRECTMAP_SIZE >> PAGE_SHIFT)); | 73 | 5 | return (void *)(DIRECTMAP_VIRT_START + | 74 | 5 | ((ma & ma_va_bottom_mask) | | 75 | 5 | ((ma & ma_top_mask) >> pfn_pdx_hole_shift))); | 76 | 5 | } |
Unexecuted instantiation: power.c:__maddr_to_virt Unexecuted instantiation: suspend.c:__maddr_to_virt Unexecuted instantiation: cpu_idle.c:__maddr_to_virt Unexecuted instantiation: cpuidle_menu.c:__maddr_to_virt Unexecuted instantiation: powernow.c:__maddr_to_virt Unexecuted instantiation: amd.c:__maddr_to_virt Unexecuted instantiation: centaur.c:__maddr_to_virt Line | Count | Source | 71 | 1 | { | 72 | 1 | ASSERT(pfn_to_pdx(ma >> PAGE_SHIFT) < (DIRECTMAP_SIZE >> PAGE_SHIFT)); | 73 | 1 | return (void *)(DIRECTMAP_VIRT_START + | 74 | 1 | ((ma & ma_va_bottom_mask) | | 75 | 1 | ((ma & ma_top_mask) >> pfn_pdx_hole_shift))); | 76 | 1 | } |
Unexecuted instantiation: intel.c:__maddr_to_virt Unexecuted instantiation: intel_cacheinfo.c:__maddr_to_virt Unexecuted instantiation: mwait-idle.c:__maddr_to_virt Unexecuted instantiation: vpmu.c:__maddr_to_virt Unexecuted instantiation: vpmu_amd.c:__maddr_to_virt Unexecuted instantiation: vpmu_intel.c:__maddr_to_virt Unexecuted instantiation: amd_nonfatal.c:__maddr_to_virt Unexecuted instantiation: mce_amd.c:__maddr_to_virt Unexecuted instantiation: mcaction.c:__maddr_to_virt Unexecuted instantiation: barrier.c:__maddr_to_virt Unexecuted instantiation: mctelem.c:__maddr_to_virt Unexecuted instantiation: mce.c:__maddr_to_virt Unexecuted instantiation: mce-apei.c:__maddr_to_virt Unexecuted instantiation: mce_intel.c:__maddr_to_virt Unexecuted instantiation: non-fatal.c:__maddr_to_virt Unexecuted instantiation: util.c:__maddr_to_virt Unexecuted instantiation: vmce.c:__maddr_to_virt Unexecuted instantiation: generic.c:__maddr_to_virt Unexecuted instantiation: main.c:__maddr_to_virt Unexecuted instantiation: bigsmp.c:__maddr_to_virt Unexecuted instantiation: x2apic.c:__maddr_to_virt Unexecuted instantiation: default.c:__maddr_to_virt Unexecuted instantiation: delivery.c:__maddr_to_virt Unexecuted instantiation: probe.c:__maddr_to_virt Unexecuted instantiation: asid.c:__maddr_to_virt Unexecuted instantiation: dm.c:__maddr_to_virt Unexecuted instantiation: emulate.c:__maddr_to_virt Unexecuted instantiation: hvm.c:__maddr_to_virt Unexecuted instantiation: i8254.c:__maddr_to_virt Unexecuted instantiation: intercept.c:__maddr_to_virt Unexecuted instantiation: ioreq.c:__maddr_to_virt Unexecuted instantiation: mtrr.c:__maddr_to_virt Unexecuted instantiation: nestedhvm.c:__maddr_to_virt Unexecuted instantiation: pmtimer.c:__maddr_to_virt Unexecuted instantiation: rtc.c:__maddr_to_virt Unexecuted instantiation: save.c:__maddr_to_virt Unexecuted instantiation: stdvga.c:__maddr_to_virt Unexecuted instantiation: vioapic.c:__maddr_to_virt Unexecuted instantiation: viridian.c:__maddr_to_virt Unexecuted instantiation: vlapic.c:__maddr_to_virt Unexecuted instantiation: vmsi.c:__maddr_to_virt Unexecuted instantiation: vpic.c:__maddr_to_virt Unexecuted instantiation: vpt.c:__maddr_to_virt Unexecuted instantiation: intr.c:__maddr_to_virt Unexecuted instantiation: nestedsvm.c:__maddr_to_virt Unexecuted instantiation: svm.c:__maddr_to_virt Unexecuted instantiation: svmdebug.c:__maddr_to_virt Unexecuted instantiation: vmcb.c:__maddr_to_virt Unexecuted instantiation: realmode.c:__maddr_to_virt Unexecuted instantiation: vmcs.c:__maddr_to_virt Unexecuted instantiation: vmx.c:__maddr_to_virt Unexecuted instantiation: vvmx.c:__maddr_to_virt Unexecuted instantiation: paging.c:__maddr_to_virt Unexecuted instantiation: p2m.c:__maddr_to_virt Unexecuted instantiation: p2m-pt.c:__maddr_to_virt Unexecuted instantiation: p2m-ept.c:__maddr_to_virt Unexecuted instantiation: p2m-pod.c:__maddr_to_virt Unexecuted instantiation: altp2m.c:__maddr_to_virt Unexecuted instantiation: guest_walk.c:__maddr_to_virt Unexecuted instantiation: mem_paging.c:__maddr_to_virt Unexecuted instantiation: mem_sharing.c:__maddr_to_virt Unexecuted instantiation: multi.c:__maddr_to_virt Unexecuted instantiation: hap.c:__maddr_to_virt Unexecuted instantiation: nested_hap.c:__maddr_to_virt Unexecuted instantiation: nested_ept.c:__maddr_to_virt Unexecuted instantiation: nmi_int.c:__maddr_to_virt Unexecuted instantiation: op_model_p4.c:__maddr_to_virt Unexecuted instantiation: op_model_ppro.c:__maddr_to_virt Unexecuted instantiation: op_model_athlon.c:__maddr_to_virt Unexecuted instantiation: backtrace.c:__maddr_to_virt Unexecuted instantiation: callback.c:__maddr_to_virt Unexecuted instantiation: descriptor-tables.c:__maddr_to_virt Unexecuted instantiation: emul-gate-op.c:__maddr_to_virt Unexecuted instantiation: emul-inv-op.c:__maddr_to_virt Unexecuted instantiation: emul-priv-op.c:__maddr_to_virt Unexecuted instantiation: iret.c:__maddr_to_virt Unexecuted instantiation: misc-hypercalls.c:__maddr_to_virt Unexecuted instantiation: ro-page-fault.c:__maddr_to_virt Unexecuted instantiation: acpi_mmcfg.c:__maddr_to_virt Unexecuted instantiation: mmconf-fam10h.c:__maddr_to_virt Unexecuted instantiation: mmconfig_64.c:__maddr_to_virt Unexecuted instantiation: mmconfig-shared.c:__maddr_to_virt |
77 | | |
78 | | /* read access (should only be used for debug printk's) */ |
79 | | typedef u64 intpte_t; |
80 | | #define PRIpte "016lx" |
81 | | |
82 | | typedef struct { intpte_t l1; } l1_pgentry_t; |
83 | | typedef struct { intpte_t l2; } l2_pgentry_t; |
84 | | typedef struct { intpte_t l3; } l3_pgentry_t; |
85 | | typedef struct { intpte_t l4; } l4_pgentry_t; |
86 | | typedef l4_pgentry_t root_pgentry_t; |
87 | | |
88 | | #endif /* !__ASSEMBLY__ */ |
89 | | |
90 | | #define pte_read_atomic(ptep) read_atomic(ptep) |
91 | 6.20k | #define pte_write_atomic(ptep, pte) write_atomic(ptep, pte) |
92 | 18.4E | #define pte_write(ptep, pte) write_atomic(ptep, pte) |
93 | | |
94 | | /* Given a virtual address, get an entry offset into a linear page table. */ |
95 | 0 | #define l1_linear_offset(_a) (((_a) & VADDR_MASK) >> L1_PAGETABLE_SHIFT) |
96 | 0 | #define l2_linear_offset(_a) (((_a) & VADDR_MASK) >> L2_PAGETABLE_SHIFT) |
97 | 0 | #define l3_linear_offset(_a) (((_a) & VADDR_MASK) >> L3_PAGETABLE_SHIFT) |
98 | | #define l4_linear_offset(_a) (((_a) & VADDR_MASK) >> L4_PAGETABLE_SHIFT) |
99 | | |
100 | | #define is_guest_l2_slot(_d, _t, _s) \ |
101 | 0 | ( !is_pv_32bit_domain(_d) || \ |
102 | 0 | !((_t) & PGT_pae_xen_l2) || \ |
103 | 0 | ((_s) < COMPAT_L2_PAGETABLE_FIRST_XEN_SLOT(_d)) ) |
104 | | #define is_guest_l4_slot(_d, _s) \ |
105 | 0 | ( is_pv_32bit_domain(_d) \ |
106 | 0 | ? ((_s) == 0) \ |
107 | 0 | : (((_s) < ROOT_PAGETABLE_FIRST_XEN_SLOT) || \ |
108 | 0 | ((_s) > ROOT_PAGETABLE_LAST_XEN_SLOT))) |
109 | | |
110 | | #define root_get_pfn l4e_get_pfn |
111 | | #define root_get_flags l4e_get_flags |
112 | | #define root_get_intpte l4e_get_intpte |
113 | | #define root_empty l4e_empty |
114 | | #define root_from_paddr l4e_from_paddr |
115 | 0 | #define PGT_root_page_table PGT_l4_page_table |
116 | | |
117 | | /* |
118 | | * PTE pfn and flags: |
119 | | * 40-bit pfn = (pte[51:12]) |
120 | | * 24-bit flags = (pte[63:52],pte[11:0]) |
121 | | */ |
122 | | |
123 | | /* Extract flags into 24-bit integer, or turn 24-bit flags into a pte mask. */ |
124 | | #ifndef __ASSEMBLY__ |
125 | | static inline unsigned int get_pte_flags(intpte_t x) |
126 | 1.89M | { |
127 | 1.89M | return ((x >> 40) & ~0xfff) | (x & 0xfff); |
128 | 1.89M | } Unexecuted instantiation: stub.c:get_pte_flags Unexecuted instantiation: mmconfig-shared.c:get_pte_flags Unexecuted instantiation: core_parking.c:get_pte_flags Unexecuted instantiation: cpu.c:get_pte_flags Unexecuted instantiation: cpupool.c:get_pte_flags Unexecuted instantiation: domctl.c:get_pte_flags Unexecuted instantiation: domain.c:get_pte_flags Unexecuted instantiation: event_2l.c:get_pte_flags Unexecuted instantiation: event_channel.c:get_pte_flags Unexecuted instantiation: event_fifo.c:get_pte_flags Unexecuted instantiation: grant_table.c:get_pte_flags Unexecuted instantiation: guestcopy.c:get_pte_flags Unexecuted instantiation: irq.c:get_pte_flags Unexecuted instantiation: kernel.c:get_pte_flags Unexecuted instantiation: keyhandler.c:get_pte_flags Unexecuted instantiation: kexec.c:get_pte_flags Unexecuted instantiation: kimage.c:get_pte_flags Unexecuted instantiation: mem_access.c:get_pte_flags Unexecuted instantiation: memory.c:get_pte_flags Unexecuted instantiation: monitor.c:get_pte_flags Unexecuted instantiation: multicall.c:get_pte_flags Unexecuted instantiation: notifier.c:get_pte_flags Unexecuted instantiation: page_alloc.c:get_pte_flags Unexecuted instantiation: pdx.c:get_pte_flags Unexecuted instantiation: preempt.c:get_pte_flags Unexecuted instantiation: random.c:get_pte_flags Unexecuted instantiation: rangeset.c:get_pte_flags Unexecuted instantiation: radix-tree.c:get_pte_flags Unexecuted instantiation: rcupdate.c:get_pte_flags Unexecuted instantiation: rwlock.c:get_pte_flags Unexecuted instantiation: sched_arinc653.c:get_pte_flags Unexecuted instantiation: sched_credit.c:get_pte_flags Unexecuted instantiation: sched_credit2.c:get_pte_flags Unexecuted instantiation: sched_rt.c:get_pte_flags Unexecuted instantiation: sched_null.c:get_pte_flags Unexecuted instantiation: schedule.c:get_pte_flags Unexecuted instantiation: shutdown.c:get_pte_flags Unexecuted instantiation: softirq.c:get_pte_flags Unexecuted instantiation: smp.c:get_pte_flags Unexecuted instantiation: spinlock.c:get_pte_flags Unexecuted instantiation: stop_machine.c:get_pte_flags Unexecuted instantiation: symbols.c:get_pte_flags Unexecuted instantiation: sysctl.c:get_pte_flags Unexecuted instantiation: tasklet.c:get_pte_flags Unexecuted instantiation: time.c:get_pte_flags Unexecuted instantiation: timer.c:get_pte_flags Unexecuted instantiation: trace.c:get_pte_flags Unexecuted instantiation: virtual_region.c:get_pte_flags Unexecuted instantiation: vm_event.c:get_pte_flags Unexecuted instantiation: vmap.c:get_pte_flags Unexecuted instantiation: vsprintf.c:get_pte_flags Unexecuted instantiation: wait.c:get_pte_flags Unexecuted instantiation: xenoprof.c:get_pte_flags Unexecuted instantiation: xmalloc_tlsf.c:get_pte_flags Unexecuted instantiation: tmem.c:get_pte_flags Unexecuted instantiation: tmem_xen.c:get_pte_flags Unexecuted instantiation: tmem_control.c:get_pte_flags Unexecuted instantiation: llvm.c:get_pte_flags Unexecuted instantiation: libelf-tools.c:get_pte_flags Unexecuted instantiation: libelf-loader.c:get_pte_flags Unexecuted instantiation: libelf-dominfo.c:get_pte_flags Unexecuted instantiation: console.c:get_pte_flags Unexecuted instantiation: ns16550.c:get_pte_flags Unexecuted instantiation: ehci-dbgp.c:get_pte_flags Unexecuted instantiation: serial.c:get_pte_flags Unexecuted instantiation: cpufreq.c:get_pte_flags Unexecuted instantiation: cpufreq_ondemand.c:get_pte_flags Unexecuted instantiation: cpufreq_misc_governors.c:get_pte_flags Unexecuted instantiation: utility.c:get_pte_flags Unexecuted instantiation: pci.c:get_pte_flags Unexecuted instantiation: vpci.c:get_pte_flags Unexecuted instantiation: header.c:get_pte_flags Unexecuted instantiation: msi.c:get_pte_flags Unexecuted instantiation: msix.c:get_pte_flags Unexecuted instantiation: iommu.c:get_pte_flags Unexecuted instantiation: io.c:get_pte_flags Unexecuted instantiation: dmar.c:get_pte_flags Unexecuted instantiation: utils.c:get_pte_flags Unexecuted instantiation: qinval.c:get_pte_flags Unexecuted instantiation: intremap.c:get_pte_flags Unexecuted instantiation: quirks.c:get_pte_flags Unexecuted instantiation: vtd.c:get_pte_flags Unexecuted instantiation: ats.c:get_pte_flags Unexecuted instantiation: iommu_init.c:get_pte_flags Unexecuted instantiation: iommu_map.c:get_pte_flags Unexecuted instantiation: pci_amd_iommu.c:get_pte_flags Unexecuted instantiation: iommu_intr.c:get_pte_flags Unexecuted instantiation: iommu_cmd.c:get_pte_flags Unexecuted instantiation: iommu_guest.c:get_pte_flags Unexecuted instantiation: numa.c:get_pte_flags Unexecuted instantiation: osl.c:get_pte_flags Unexecuted instantiation: pmstat.c:get_pte_flags Unexecuted instantiation: hwregs.c:get_pte_flags Unexecuted instantiation: reboot.c:get_pte_flags Unexecuted instantiation: tbutils.c:get_pte_flags Unexecuted instantiation: utglobal.c:get_pte_flags Unexecuted instantiation: erst.c:get_pte_flags Unexecuted instantiation: hest.c:get_pte_flags Unexecuted instantiation: apei-base.c:get_pte_flags Unexecuted instantiation: apei-io.c:get_pte_flags Unexecuted instantiation: vga.c:get_pte_flags Unexecuted instantiation: vesa.c:get_pte_flags Unexecuted instantiation: xsm_core.c:get_pte_flags Unexecuted instantiation: apic.c:get_pte_flags Unexecuted instantiation: cpuid.c:get_pte_flags Unexecuted instantiation: compat.c:get_pte_flags Unexecuted instantiation: crash.c:get_pte_flags Unexecuted instantiation: debug.c:get_pte_flags Unexecuted instantiation: delay.c:get_pte_flags Unexecuted instantiation: domain_page.c:get_pte_flags Unexecuted instantiation: e820.c:get_pte_flags Unexecuted instantiation: extable.c:get_pte_flags Unexecuted instantiation: flushtlb.c:get_pte_flags Unexecuted instantiation: hypercall.c:get_pte_flags Unexecuted instantiation: i387.c:get_pte_flags Unexecuted instantiation: i8259.c:get_pte_flags Unexecuted instantiation: io_apic.c:get_pte_flags Unexecuted instantiation: msr.c:get_pte_flags Unexecuted instantiation: ioport_emulate.c:get_pte_flags Unexecuted instantiation: machine_kexec.c:get_pte_flags Unexecuted instantiation: microcode_amd.c:get_pte_flags Unexecuted instantiation: microcode_intel.c:get_pte_flags Unexecuted instantiation: microcode.c:get_pte_flags Line | Count | Source | 126 | 71.6k | { | 127 | 71.6k | return ((x >> 40) & ~0xfff) | (x & 0xfff); | 128 | 71.6k | } |
Unexecuted instantiation: mpparse.c:get_pte_flags Unexecuted instantiation: nmi.c:get_pte_flags Unexecuted instantiation: percpu.c:get_pte_flags Unexecuted instantiation: physdev.c:get_pte_flags Unexecuted instantiation: platform_hypercall.c:get_pte_flags Unexecuted instantiation: psr.c:get_pte_flags Unexecuted instantiation: setup.c:get_pte_flags Unexecuted instantiation: smpboot.c:get_pte_flags Unexecuted instantiation: srat.c:get_pte_flags Unexecuted instantiation: traps.c:get_pte_flags Unexecuted instantiation: usercopy.c:get_pte_flags Unexecuted instantiation: x86_emulate.c:get_pte_flags Unexecuted instantiation: tboot.c:get_pte_flags Unexecuted instantiation: hpet.c:get_pte_flags Unexecuted instantiation: xstate.c:get_pte_flags Unexecuted instantiation: lib.c:get_pte_flags Unexecuted instantiation: power.c:get_pte_flags Unexecuted instantiation: suspend.c:get_pte_flags Unexecuted instantiation: cpu_idle.c:get_pte_flags Unexecuted instantiation: cpuidle_menu.c:get_pte_flags Unexecuted instantiation: powernow.c:get_pte_flags Unexecuted instantiation: amd.c:get_pte_flags Unexecuted instantiation: centaur.c:get_pte_flags Unexecuted instantiation: common.c:get_pte_flags Unexecuted instantiation: intel.c:get_pte_flags Unexecuted instantiation: intel_cacheinfo.c:get_pte_flags Unexecuted instantiation: mwait-idle.c:get_pte_flags Unexecuted instantiation: vpmu.c:get_pte_flags Unexecuted instantiation: vpmu_amd.c:get_pte_flags Unexecuted instantiation: vpmu_intel.c:get_pte_flags Unexecuted instantiation: amd_nonfatal.c:get_pte_flags Unexecuted instantiation: mce_amd.c:get_pte_flags Unexecuted instantiation: mcaction.c:get_pte_flags Unexecuted instantiation: barrier.c:get_pte_flags Unexecuted instantiation: mctelem.c:get_pte_flags Unexecuted instantiation: mce.c:get_pte_flags Unexecuted instantiation: mce-apei.c:get_pte_flags Unexecuted instantiation: mce_intel.c:get_pte_flags Unexecuted instantiation: non-fatal.c:get_pte_flags Unexecuted instantiation: util.c:get_pte_flags Unexecuted instantiation: vmce.c:get_pte_flags Unexecuted instantiation: generic.c:get_pte_flags Unexecuted instantiation: main.c:get_pte_flags Unexecuted instantiation: bigsmp.c:get_pte_flags Unexecuted instantiation: x2apic.c:get_pte_flags Unexecuted instantiation: default.c:get_pte_flags Unexecuted instantiation: delivery.c:get_pte_flags Unexecuted instantiation: probe.c:get_pte_flags Unexecuted instantiation: asid.c:get_pte_flags Unexecuted instantiation: dm.c:get_pte_flags Unexecuted instantiation: emulate.c:get_pte_flags Unexecuted instantiation: hvm.c:get_pte_flags Unexecuted instantiation: i8254.c:get_pte_flags Unexecuted instantiation: intercept.c:get_pte_flags Unexecuted instantiation: ioreq.c:get_pte_flags Unexecuted instantiation: mtrr.c:get_pte_flags Unexecuted instantiation: nestedhvm.c:get_pte_flags Unexecuted instantiation: pmtimer.c:get_pte_flags Unexecuted instantiation: rtc.c:get_pte_flags Unexecuted instantiation: save.c:get_pte_flags Unexecuted instantiation: stdvga.c:get_pte_flags Unexecuted instantiation: vioapic.c:get_pte_flags Unexecuted instantiation: viridian.c:get_pte_flags Unexecuted instantiation: vlapic.c:get_pte_flags Unexecuted instantiation: vmsi.c:get_pte_flags Unexecuted instantiation: vpic.c:get_pte_flags Unexecuted instantiation: vpt.c:get_pte_flags Unexecuted instantiation: intr.c:get_pte_flags Unexecuted instantiation: nestedsvm.c:get_pte_flags Unexecuted instantiation: svm.c:get_pte_flags Unexecuted instantiation: svmdebug.c:get_pte_flags Unexecuted instantiation: vmcb.c:get_pte_flags Unexecuted instantiation: realmode.c:get_pte_flags Unexecuted instantiation: vmcs.c:get_pte_flags Unexecuted instantiation: vmx.c:get_pte_flags Unexecuted instantiation: vvmx.c:get_pte_flags Unexecuted instantiation: paging.c:get_pte_flags Unexecuted instantiation: p2m.c:get_pte_flags Unexecuted instantiation: p2m-pt.c:get_pte_flags Unexecuted instantiation: p2m-ept.c:get_pte_flags Unexecuted instantiation: p2m-pod.c:get_pte_flags Unexecuted instantiation: altp2m.c:get_pte_flags guest_walk.c:get_pte_flags Line | Count | Source | 126 | 1.81M | { | 127 | 1.81M | return ((x >> 40) & ~0xfff) | (x & 0xfff); | 128 | 1.81M | } |
Unexecuted instantiation: mem_paging.c:get_pte_flags Unexecuted instantiation: mem_sharing.c:get_pte_flags Unexecuted instantiation: multi.c:get_pte_flags Unexecuted instantiation: hap.c:get_pte_flags Unexecuted instantiation: nested_hap.c:get_pte_flags Unexecuted instantiation: nested_ept.c:get_pte_flags Unexecuted instantiation: nmi_int.c:get_pte_flags Unexecuted instantiation: op_model_p4.c:get_pte_flags Unexecuted instantiation: op_model_ppro.c:get_pte_flags Unexecuted instantiation: op_model_athlon.c:get_pte_flags Unexecuted instantiation: backtrace.c:get_pte_flags Unexecuted instantiation: callback.c:get_pte_flags Unexecuted instantiation: descriptor-tables.c:get_pte_flags Unexecuted instantiation: emul-gate-op.c:get_pte_flags Unexecuted instantiation: emul-inv-op.c:get_pte_flags Unexecuted instantiation: emul-priv-op.c:get_pte_flags Unexecuted instantiation: iret.c:get_pte_flags Unexecuted instantiation: misc-hypercalls.c:get_pte_flags Unexecuted instantiation: ro-page-fault.c:get_pte_flags Unexecuted instantiation: acpi_mmcfg.c:get_pte_flags Unexecuted instantiation: mmconf-fam10h.c:get_pte_flags Unexecuted instantiation: mmconfig_64.c:get_pte_flags |
129 | | |
130 | | static inline intpte_t put_pte_flags(unsigned int x) |
131 | 234k | { |
132 | 234k | return (((intpte_t)x & ~0xfff) << 40) | (x & 0xfff); |
133 | 234k | } Unexecuted instantiation: core_parking.c:put_pte_flags Unexecuted instantiation: mmconfig-shared.c:put_pte_flags Unexecuted instantiation: mmconfig_64.c:put_pte_flags Unexecuted instantiation: mmconf-fam10h.c:put_pte_flags Unexecuted instantiation: acpi_mmcfg.c:put_pte_flags Unexecuted instantiation: ro-page-fault.c:put_pte_flags Unexecuted instantiation: misc-hypercalls.c:put_pte_flags Unexecuted instantiation: iret.c:put_pte_flags Unexecuted instantiation: emul-priv-op.c:put_pte_flags Unexecuted instantiation: emul-inv-op.c:put_pte_flags Unexecuted instantiation: emul-gate-op.c:put_pte_flags Unexecuted instantiation: descriptor-tables.c:put_pte_flags Unexecuted instantiation: callback.c:put_pte_flags Unexecuted instantiation: backtrace.c:put_pte_flags Unexecuted instantiation: op_model_athlon.c:put_pte_flags Unexecuted instantiation: op_model_ppro.c:put_pte_flags Unexecuted instantiation: op_model_p4.c:put_pte_flags Unexecuted instantiation: nmi_int.c:put_pte_flags Unexecuted instantiation: nested_ept.c:put_pte_flags Unexecuted instantiation: nested_hap.c:put_pte_flags Unexecuted instantiation: hap.c:put_pte_flags Unexecuted instantiation: multi.c:put_pte_flags Unexecuted instantiation: mem_sharing.c:put_pte_flags Unexecuted instantiation: mem_paging.c:put_pte_flags guest_walk.c:put_pte_flags Line | Count | Source | 131 | 225k | { | 132 | 225k | return (((intpte_t)x & ~0xfff) << 40) | (x & 0xfff); | 133 | 225k | } |
Unexecuted instantiation: altp2m.c:put_pte_flags Unexecuted instantiation: p2m-pod.c:put_pte_flags Unexecuted instantiation: p2m-ept.c:put_pte_flags Unexecuted instantiation: p2m-pt.c:put_pte_flags Unexecuted instantiation: p2m.c:put_pte_flags Unexecuted instantiation: paging.c:put_pte_flags Unexecuted instantiation: vvmx.c:put_pte_flags Unexecuted instantiation: vmx.c:put_pte_flags Unexecuted instantiation: vmcs.c:put_pte_flags Unexecuted instantiation: realmode.c:put_pte_flags Unexecuted instantiation: vmcb.c:put_pte_flags Unexecuted instantiation: svmdebug.c:put_pte_flags Unexecuted instantiation: svm.c:put_pte_flags Unexecuted instantiation: nestedsvm.c:put_pte_flags Unexecuted instantiation: intr.c:put_pte_flags Unexecuted instantiation: vpt.c:put_pte_flags Unexecuted instantiation: vpic.c:put_pte_flags Unexecuted instantiation: vmsi.c:put_pte_flags Unexecuted instantiation: vlapic.c:put_pte_flags Unexecuted instantiation: viridian.c:put_pte_flags Unexecuted instantiation: vioapic.c:put_pte_flags Unexecuted instantiation: stdvga.c:put_pte_flags Unexecuted instantiation: save.c:put_pte_flags Unexecuted instantiation: rtc.c:put_pte_flags Unexecuted instantiation: pmtimer.c:put_pte_flags Unexecuted instantiation: nestedhvm.c:put_pte_flags Unexecuted instantiation: mtrr.c:put_pte_flags Unexecuted instantiation: ioreq.c:put_pte_flags Unexecuted instantiation: intercept.c:put_pte_flags Unexecuted instantiation: i8254.c:put_pte_flags Unexecuted instantiation: hvm.c:put_pte_flags Unexecuted instantiation: emulate.c:put_pte_flags Unexecuted instantiation: dm.c:put_pte_flags Unexecuted instantiation: asid.c:put_pte_flags Unexecuted instantiation: probe.c:put_pte_flags Unexecuted instantiation: delivery.c:put_pte_flags Unexecuted instantiation: default.c:put_pte_flags Unexecuted instantiation: x2apic.c:put_pte_flags Unexecuted instantiation: bigsmp.c:put_pte_flags Unexecuted instantiation: main.c:put_pte_flags Unexecuted instantiation: generic.c:put_pte_flags Unexecuted instantiation: vmce.c:put_pte_flags Unexecuted instantiation: util.c:put_pte_flags Unexecuted instantiation: non-fatal.c:put_pte_flags Unexecuted instantiation: mce_intel.c:put_pte_flags Unexecuted instantiation: mce-apei.c:put_pte_flags Unexecuted instantiation: mce.c:put_pte_flags Unexecuted instantiation: mctelem.c:put_pte_flags Unexecuted instantiation: barrier.c:put_pte_flags Unexecuted instantiation: mcaction.c:put_pte_flags Unexecuted instantiation: mce_amd.c:put_pte_flags Unexecuted instantiation: amd_nonfatal.c:put_pte_flags Unexecuted instantiation: vpmu_intel.c:put_pte_flags Unexecuted instantiation: vpmu_amd.c:put_pte_flags Unexecuted instantiation: vpmu.c:put_pte_flags Unexecuted instantiation: mwait-idle.c:put_pte_flags Unexecuted instantiation: intel_cacheinfo.c:put_pte_flags Unexecuted instantiation: intel.c:put_pte_flags Unexecuted instantiation: common.c:put_pte_flags Unexecuted instantiation: centaur.c:put_pte_flags Unexecuted instantiation: amd.c:put_pte_flags Unexecuted instantiation: powernow.c:put_pte_flags Unexecuted instantiation: cpuidle_menu.c:put_pte_flags Unexecuted instantiation: cpu_idle.c:put_pte_flags Unexecuted instantiation: suspend.c:put_pte_flags Unexecuted instantiation: power.c:put_pte_flags Unexecuted instantiation: lib.c:put_pte_flags Unexecuted instantiation: xstate.c:put_pte_flags Unexecuted instantiation: hpet.c:put_pte_flags Unexecuted instantiation: tboot.c:put_pte_flags Unexecuted instantiation: x86_emulate.c:put_pte_flags Unexecuted instantiation: usercopy.c:put_pte_flags Unexecuted instantiation: traps.c:put_pte_flags Unexecuted instantiation: srat.c:put_pte_flags Unexecuted instantiation: smpboot.c:put_pte_flags Unexecuted instantiation: setup.c:put_pte_flags Unexecuted instantiation: psr.c:put_pte_flags Unexecuted instantiation: platform_hypercall.c:put_pte_flags Unexecuted instantiation: physdev.c:put_pte_flags Unexecuted instantiation: percpu.c:put_pte_flags Unexecuted instantiation: nmi.c:put_pte_flags Unexecuted instantiation: mpparse.c:put_pte_flags Line | Count | Source | 131 | 8.96k | { | 132 | 8.96k | return (((intpte_t)x & ~0xfff) << 40) | (x & 0xfff); | 133 | 8.96k | } |
Unexecuted instantiation: microcode.c:put_pte_flags Unexecuted instantiation: microcode_intel.c:put_pte_flags Unexecuted instantiation: microcode_amd.c:put_pte_flags Unexecuted instantiation: machine_kexec.c:put_pte_flags Unexecuted instantiation: ioport_emulate.c:put_pte_flags Unexecuted instantiation: msr.c:put_pte_flags Unexecuted instantiation: io_apic.c:put_pte_flags Unexecuted instantiation: i8259.c:put_pte_flags Unexecuted instantiation: i387.c:put_pte_flags Unexecuted instantiation: hypercall.c:put_pte_flags Unexecuted instantiation: flushtlb.c:put_pte_flags Unexecuted instantiation: extable.c:put_pte_flags Unexecuted instantiation: e820.c:put_pte_flags Unexecuted instantiation: domain_page.c:put_pte_flags Unexecuted instantiation: delay.c:put_pte_flags Unexecuted instantiation: debug.c:put_pte_flags Unexecuted instantiation: crash.c:put_pte_flags Unexecuted instantiation: compat.c:put_pte_flags Unexecuted instantiation: cpuid.c:put_pte_flags Unexecuted instantiation: apic.c:put_pte_flags Unexecuted instantiation: xsm_core.c:put_pte_flags Unexecuted instantiation: vesa.c:put_pte_flags Unexecuted instantiation: vga.c:put_pte_flags Unexecuted instantiation: apei-io.c:put_pte_flags Unexecuted instantiation: apei-base.c:put_pte_flags Unexecuted instantiation: hest.c:put_pte_flags Unexecuted instantiation: erst.c:put_pte_flags Unexecuted instantiation: utglobal.c:put_pte_flags Unexecuted instantiation: tbutils.c:put_pte_flags Unexecuted instantiation: reboot.c:put_pte_flags Unexecuted instantiation: hwregs.c:put_pte_flags Unexecuted instantiation: pmstat.c:put_pte_flags Unexecuted instantiation: osl.c:put_pte_flags Unexecuted instantiation: numa.c:put_pte_flags Unexecuted instantiation: iommu_guest.c:put_pte_flags Unexecuted instantiation: iommu_cmd.c:put_pte_flags Unexecuted instantiation: iommu_intr.c:put_pte_flags Unexecuted instantiation: pci_amd_iommu.c:put_pte_flags Unexecuted instantiation: iommu_map.c:put_pte_flags Unexecuted instantiation: iommu_init.c:put_pte_flags Unexecuted instantiation: ats.c:put_pte_flags Unexecuted instantiation: vtd.c:put_pte_flags Unexecuted instantiation: quirks.c:put_pte_flags Unexecuted instantiation: intremap.c:put_pte_flags Unexecuted instantiation: qinval.c:put_pte_flags Unexecuted instantiation: utils.c:put_pte_flags Unexecuted instantiation: dmar.c:put_pte_flags Unexecuted instantiation: io.c:put_pte_flags Unexecuted instantiation: iommu.c:put_pte_flags Unexecuted instantiation: msix.c:put_pte_flags Unexecuted instantiation: msi.c:put_pte_flags Unexecuted instantiation: header.c:put_pte_flags Unexecuted instantiation: vpci.c:put_pte_flags Unexecuted instantiation: pci.c:put_pte_flags Unexecuted instantiation: utility.c:put_pte_flags Unexecuted instantiation: cpufreq_misc_governors.c:put_pte_flags Unexecuted instantiation: cpufreq_ondemand.c:put_pte_flags Unexecuted instantiation: cpufreq.c:put_pte_flags Unexecuted instantiation: serial.c:put_pte_flags Unexecuted instantiation: ehci-dbgp.c:put_pte_flags Unexecuted instantiation: ns16550.c:put_pte_flags Unexecuted instantiation: console.c:put_pte_flags Unexecuted instantiation: libelf-dominfo.c:put_pte_flags Unexecuted instantiation: libelf-loader.c:put_pte_flags Unexecuted instantiation: libelf-tools.c:put_pte_flags Unexecuted instantiation: llvm.c:put_pte_flags Unexecuted instantiation: tmem_control.c:put_pte_flags Unexecuted instantiation: tmem_xen.c:put_pte_flags Unexecuted instantiation: tmem.c:put_pte_flags Unexecuted instantiation: xmalloc_tlsf.c:put_pte_flags Unexecuted instantiation: xenoprof.c:put_pte_flags Unexecuted instantiation: wait.c:put_pte_flags Unexecuted instantiation: vsprintf.c:put_pte_flags Unexecuted instantiation: vmap.c:put_pte_flags Unexecuted instantiation: vm_event.c:put_pte_flags Unexecuted instantiation: virtual_region.c:put_pte_flags Unexecuted instantiation: trace.c:put_pte_flags Unexecuted instantiation: timer.c:put_pte_flags Unexecuted instantiation: time.c:put_pte_flags Unexecuted instantiation: tasklet.c:put_pte_flags Unexecuted instantiation: sysctl.c:put_pte_flags Unexecuted instantiation: symbols.c:put_pte_flags Unexecuted instantiation: stop_machine.c:put_pte_flags Unexecuted instantiation: spinlock.c:put_pte_flags Unexecuted instantiation: smp.c:put_pte_flags Unexecuted instantiation: softirq.c:put_pte_flags Unexecuted instantiation: shutdown.c:put_pte_flags Unexecuted instantiation: schedule.c:put_pte_flags Unexecuted instantiation: sched_null.c:put_pte_flags Unexecuted instantiation: sched_rt.c:put_pte_flags Unexecuted instantiation: sched_credit2.c:put_pte_flags Unexecuted instantiation: sched_credit.c:put_pte_flags Unexecuted instantiation: sched_arinc653.c:put_pte_flags Unexecuted instantiation: rwlock.c:put_pte_flags Unexecuted instantiation: rcupdate.c:put_pte_flags Unexecuted instantiation: radix-tree.c:put_pte_flags Unexecuted instantiation: rangeset.c:put_pte_flags Unexecuted instantiation: random.c:put_pte_flags Unexecuted instantiation: preempt.c:put_pte_flags Unexecuted instantiation: pdx.c:put_pte_flags Unexecuted instantiation: page_alloc.c:put_pte_flags Unexecuted instantiation: notifier.c:put_pte_flags Unexecuted instantiation: multicall.c:put_pte_flags Unexecuted instantiation: monitor.c:put_pte_flags Unexecuted instantiation: memory.c:put_pte_flags Unexecuted instantiation: mem_access.c:put_pte_flags Unexecuted instantiation: kimage.c:put_pte_flags Unexecuted instantiation: kexec.c:put_pte_flags Unexecuted instantiation: keyhandler.c:put_pte_flags Unexecuted instantiation: kernel.c:put_pte_flags Unexecuted instantiation: irq.c:put_pte_flags Unexecuted instantiation: guestcopy.c:put_pte_flags Unexecuted instantiation: grant_table.c:put_pte_flags Unexecuted instantiation: event_fifo.c:put_pte_flags Unexecuted instantiation: event_channel.c:put_pte_flags Unexecuted instantiation: event_2l.c:put_pte_flags Unexecuted instantiation: domain.c:put_pte_flags Unexecuted instantiation: domctl.c:put_pte_flags Unexecuted instantiation: cpupool.c:put_pte_flags Unexecuted instantiation: cpu.c:put_pte_flags Unexecuted instantiation: stub.c:put_pte_flags |
134 | | #endif |
135 | | |
136 | | /* |
137 | | * Protection keys define a new 4-bit protection key field |
138 | | * (PKEY) in bits 62:59 of leaf entries of the page tables. |
139 | | * This corresponds to bit 22:19 of a 24-bit flags. |
140 | | * |
141 | | * Notice: Bit 22 is used by _PAGE_GNTTAB which is visible to PV guests, |
142 | | * so Protection keys must be disabled on PV guests. |
143 | | */ |
144 | 225k | #define _PAGE_PKEY_BITS (0x780000) /* Protection Keys, 22:19 */ |
145 | | |
146 | 0 | #define get_pte_pkey(x) (MASK_EXTR(get_pte_flags(x), _PAGE_PKEY_BITS)) |
147 | | |
148 | | /* Bit 23 of a 24-bit flag mask. This corresponds to bit 63 of a pte.*/ |
149 | 796k | #define _PAGE_NX_BIT (1U<<23) |
150 | | |
151 | | /* Bit 22 of a 24-bit flag mask. This corresponds to bit 62 of a pte.*/ |
152 | 0 | #define _PAGE_GNTTAB (1U<<22) |
153 | | |
154 | | /* |
155 | | * Bit 12 of a 24-bit flag mask. This corresponds to bit 52 of a pte. |
156 | | * This is needed to distinguish between user and kernel PTEs since _PAGE_USER |
157 | | * is asserted for both. |
158 | | */ |
159 | 0 | #define _PAGE_GUEST_KERNEL (1U<<12) |
160 | | |
161 | 1 | #define PAGE_HYPERVISOR_RO (__PAGE_HYPERVISOR_RO | _PAGE_GLOBAL) |
162 | 8.09k | #define PAGE_HYPERVISOR_RW (__PAGE_HYPERVISOR_RW | _PAGE_GLOBAL) |
163 | 13 | #define PAGE_HYPERVISOR_RX (__PAGE_HYPERVISOR_RX | _PAGE_GLOBAL) |
164 | 0 | #define PAGE_HYPERVISOR_RWX (__PAGE_HYPERVISOR | _PAGE_GLOBAL) |
165 | | |
166 | | #ifdef __ASSEMBLY__ |
167 | | /* Dependency on NX being available can't be expressed. */ |
168 | | # define PAGE_HYPERVISOR PAGE_HYPERVISOR_RWX |
169 | | # define PAGE_HYPERVISOR_UCMINUS (__PAGE_HYPERVISOR_UCMINUS | _PAGE_GLOBAL) |
170 | | # define PAGE_HYPERVISOR_UC (__PAGE_HYPERVISOR_UC | _PAGE_GLOBAL) |
171 | | #else |
172 | 8.09k | # define PAGE_HYPERVISOR PAGE_HYPERVISOR_RW |
173 | 38 | # define PAGE_HYPERVISOR_UCMINUS (__PAGE_HYPERVISOR_UCMINUS | \ |
174 | 38 | _PAGE_GLOBAL | _PAGE_NX) |
175 | 1 | # define PAGE_HYPERVISOR_UC (__PAGE_HYPERVISOR_UC | \ |
176 | 1 | _PAGE_GLOBAL | _PAGE_NX) |
177 | | #endif |
178 | | |
179 | | #endif /* __X86_64_PAGE_H__ */ |
180 | | |
181 | | /* |
182 | | * Local variables: |
183 | | * mode: C |
184 | | * c-file-style: "BSD" |
185 | | * c-basic-offset: 4 |
186 | | * tab-width: 4 |
187 | | * indent-tabs-mode: nil |
188 | | * End: |
189 | | */ |