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->...
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...