search for: __page_hypervisor

Displaying 12 results from an estimated 12 matches for "__page_hypervisor".

2011 May 06
14
[PATCH 0 of 4] Use superpages on restore/migrate
This patch series restores the use of superpages when restoring or migrating a VM, while retaining efficient batching of 4k pages when superpages are not appropriate or available. Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com> _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
2005 Sep 05
0
[PATCH][4/6] Add to virtual device operations
...printk("alloc_domheap_page failed\n"); + return -1; + } + l1_mfn = page_to_pfn(l1_mfn_info); + printk("map_param_share_page: alloc page at 0x%lx\n", l1_mfn); + + /* set l2 page table entry */ + mpl2e[l2_table_offset(hva)] = + l2e_from_pfn (l1_mfn, __PAGE_HYPERVISOR); + printk("map_param_share_page: set l2 page table entry\n"); + + /* set l1 page table */ + mpl1e = (l1_pgentry_t *)map_domain_page(l1_mfn); + memset(mpl1e, 0, PAGE_SIZE); + mpl1e[l1_table_offset(hva)] = + l1e_from_pfn(mfn, __PAGE_HYPERVISOR); + unmap_domain_page...
2011 Mar 09
0
[PATCH 1/5] x86: don''t BUG() post-boot in alloc_xen_pagetable()
...0,6 +101,9 @@ l3_pgentry_t *virt_to_xen_l3e(unsigned l if ( !(l4e_get_flags(*pl4e) & _PAGE_PRESENT) ) { l3_pgentry_t *pl3e = alloc_xen_pagetable(); + + if ( !pl3e ) + return NULL; clear_page(pl3e); l4e_write(pl4e, l4e_from_paddr(__pa(pl3e), __PAGE_HYPERVISOR)); } @@ -112,9 +116,15 @@ l2_pgentry_t *virt_to_xen_l2e(unsigned l l3_pgentry_t *pl3e; pl3e = virt_to_xen_l3e(v); + if ( !pl3e ) + return NULL; + if ( !(l3e_get_flags(*pl3e) & _PAGE_PRESENT) ) { l2_pgentry_t *pl2e = alloc_xen_pagetable(); + +...
2006 Aug 31
5
x86-64''s paging_init()
While adding code to create the compatibility p2m table mappings it seemed to me that the creation of the native ones is restricted to memory below the 512G boundary - otherwise, additional L2 tables would need to be allocated (currently other memory following the one L2 page getting allocated would be blindly overwritten). While I realize that machines this big aren''t likely to be
2009 Aug 06
2
[PATCH] hvm emul: fix cmpxchg emulation to use an atomic operation
...going to need the LDT for HVM guests, + * and only HVM guests are allowed unaligned writes. */ + map = (void *)LDT_VIRT_START(v); + offset = l1_linear_offset((unsigned long) map); + l1e_write(&__linear_l1_table[offset], + l1e_from_pfn(mfn_x(mfn1), __PAGE_HYPERVISOR)); + l1e_write(&__linear_l1_table[offset + 1], + l1e_from_pfn(mfn_x(mfn2), __PAGE_HYPERVISOR)); + flush_tlb_local(); + map += (vaddr & ~PAGE_MASK); + } + + return map; +} + +/* Tidy up after the emulated write: undo the mapping */ +static void emu...
2013 Aug 26
5
[RFC PATCH 0/2] GLOBAL() macro for asm code.
Hello, This series has been split into two patches, one for arm and one for x86. I figured that this was easier than doing it as a single combined patch, especially as the changes are functionally independent. x86 has been boot tested, but arm has not even been compile tested as I lack a suitable cross compiler. However, the changes are just text replacement, so I dont expect any issues. The
2007 Feb 14
4
[PATCH 3/12] Provide basic Xen PM infrastructure
...l %cr3, %eax movl %eax, %cr3 diff -r 13e258a58044 xen/arch/x86/x86_32/mm.c --- a/xen/arch/x86/x86_32/mm.c Wed Feb 14 11:13:40 2007 +0800 +++ b/xen/arch/x86/x86_32/mm.c Wed Feb 14 11:13:40 2007 +0800 @@ -34,6 +34,7 @@ unsigned int PAGE_HYPERVISOR_NOCACHE = _ unsigned int PAGE_HYPERVISOR_NOCACHE = __PAGE_HYPERVISOR_NOCACHE; static unsigned long mpt_size; +int nx_enabled = 0; struct page_info *alloc_xen_pagetable(void) { @@ -132,7 +133,7 @@ void __init setup_idle_pagetable(void) __PAGE_HYPERVISOR)); } -void __init zap_low_mappings(l2_pgentry_t *base) +void zap_low_map...
2007 Jan 05
0
The mfn_valid on shadow_set_p2m_entry()
...+967,13 @@ shadow_set_p2m_entry(struct domain *d, u p2m_entry = p2m_find_entry(table, &gfn_remainder, gfn, 0, L1_PAGETABLE_ENTRIES); ASSERT(p2m_entry); - if ( valid_mfn(mfn) ) + if ( mfn_valid(mfn) ) *p2m_entry = l1e_from_pfn(mfn_x(mfn), __PAGE_HYPERVISOR|_PAGE_USER); else *p2m_entry = l1e_empty(); /* Track the highest gfn for which we have ever had a valid mapping */ - if ( valid_mfn(mfn) && (gfn > d->arch.max_mapped_pfn) ) + if ( mfn_valid(mfn) && (gfn > d->arch.max_mapped_pfn) ) d-&gt...
2008 Jul 24
2
[RFC] i386 highmem assist hypercalls
...ask_to_pcpu return pmask; } +#ifdef __i386__ +static inline void *fixmap_domain_page(unsigned long mfn) +{ + unsigned int cpu = smp_processor_id(); + void *ptr = (void *)fix_to_virt(FIX_PAE_HIGHMEM_0 + cpu); + + l1e_write(fix_pae_highmem_pl1e - cpu, + l1e_from_pfn(mfn, __PAGE_HYPERVISOR)); + flush_tlb_one_local(ptr); + return ptr; +} +static inline void fixunmap_domain_page(const void *ptr) +{ + unsigned int cpu = virt_to_fix((unsigned long)ptr) - FIX_PAE_HIGHMEM_0; + + l1e_write(fix_pae_highmem_pl1e - cpu, l1e_empty()); + this_cpu(make_cr3_timestamp) = this_cpu(tlb...
2009 Jan 29
0
[PATCH v2] txt: 2/5 - ACPI Generic Address Structure for tboot shutdown
...else - { - map_base = 0; - map_size = PFN_UP(0xa0000); - } + map_base = PFN_DOWN(g_tboot_shared->tboot_base); + map_size = PFN_UP(g_tboot_shared->tboot_size); err = map_pages_to_xen(map_base << PAGE_SHIFT, map_base, map_size, __PAGE_HYPERVISOR); diff -r ecb74962f6f4 -r 9ba8aecc3a15 xen/include/asm-x86/tboot.h --- a/xen/include/asm-x86/tboot.h Wed Jan 28 21:56:22 2009 -0800 +++ b/xen/include/asm-x86/tboot.h Wed Jan 28 22:09:02 2009 -0800 @@ -37,7 +37,11 @@ #ifndef __TBOOT_H__ #define __TBOOT_H__ -typedef struct __attribute_...
2005 Mar 14
4
[patch/unstable] page table cleanups
...) { unsigned long pfn; - pfn = phys_to_machine_mapping(value >> PAGE_SHIFT); + pfn = phys_to_machine_mapping(l2_pgentry_val(value) >> PAGE_SHIFT); ed->arch.hl2_vtable[l2_table_offset(va)] = mk_l2_pgentry((pfn << PAGE_SHIFT) | __PAGE_HYPERVISOR); - ed->arch.guest_vtable[l2_table_offset(va)] = mk_l2_pgentry(value); + ed->arch.guest_vtable[l2_table_offset(va)] = value; } else { - linear_l2_table[l2_table_offset(va)] = mk_l2_pgentry(value); + linear_l2_table[l2_table_offset(va)] = value;...
2008 Oct 17
6
[PATCH, RFC] i386: highmem access assistance hypercalls
...ask_to_pcpu return pmask; } +#ifdef __i386__ +static inline void *fixmap_domain_page(unsigned long mfn) +{ + unsigned int cpu = smp_processor_id(); + void *ptr = (void *)fix_to_virt(FIX_PAE_HIGHMEM_0 + cpu); + + l1e_write(fix_pae_highmem_pl1e - cpu, + l1e_from_pfn(mfn, __PAGE_HYPERVISOR)); + flush_tlb_one_local(ptr); + return ptr; +} +static inline void fixunmap_domain_page(const void *ptr) +{ + unsigned int cpu = virt_to_fix((unsigned long)ptr) - FIX_PAE_HIGHMEM_0; + + l1e_write(fix_pae_highmem_pl1e - cpu, l1e_empty()); + this_cpu(make_cr3_timestamp) = this_cpu(tlb...