Displaying 20 results from an estimated 26 matches for "lhcall_set_pt".
Did you mean:
lhcall_set_pte
2009 Mar 26
0
[PATCH 2/5] lguest: wire up pte_update/pte_update_defer
...n tell the Host the
* toplevel and address this corresponds to. The Guest uses one pagetable per
* process, so we need to tell the Host which one we're changing (mm->pgd). */
+static void lguest_pte_update(struct mm_struct *mm, unsigned long addr,
+ pte_t *ptep)
+{
+ lazy_hcall(LHCALL_SET_PTE, __pa(mm->pgd), addr, ptep->pte_low);
+}
+
static void lguest_set_pte_at(struct mm_struct *mm, unsigned long addr,
pte_t *ptep, pte_t pteval)
{
*ptep = pteval;
- lazy_hcall(LHCALL_SET_PTE, __pa(mm->pgd), addr, pteval.pte_low);
+ lguest_pte_update(mm, addr, ptep);
}
/* Th...
2009 Mar 26
0
[PATCH 2/5] lguest: wire up pte_update/pte_update_defer
...n tell the Host the
* toplevel and address this corresponds to. The Guest uses one pagetable per
* process, so we need to tell the Host which one we're changing (mm->pgd). */
+static void lguest_pte_update(struct mm_struct *mm, unsigned long addr,
+ pte_t *ptep)
+{
+ lazy_hcall(LHCALL_SET_PTE, __pa(mm->pgd), addr, ptep->pte_low);
+}
+
static void lguest_set_pte_at(struct mm_struct *mm, unsigned long addr,
pte_t *ptep, pte_t pteval)
{
*ptep = pteval;
- lazy_hcall(LHCALL_SET_PTE, __pa(mm->pgd), addr, pteval.pte_low);
+ lguest_pte_update(mm, addr, ptep);
}
/* Th...
2007 May 09
1
[patch 2/9] lguest: the guest code
...ble PGE, but we don't care. */
+static unsigned long lguest_read_cr4(void)
+{
+ return 0;
+}
+
+static void lguest_write_cr4(unsigned long val)
+{
+}
+
+static void lguest_set_pte_at(struct mm_struct *mm, unsigned long addr,
+ pte_t *ptep, pte_t pteval)
+{
+ *ptep = pteval;
+ lazy_hcall(LHCALL_SET_PTE, __pa(mm->pgd), addr, pteval.pte_low);
+}
+
+/* We only support two-level pagetables at the moment. */
+static void lguest_set_pmd(pmd_t *pmdp, pmd_t pmdval)
+{
+ *pmdp = pmdval;
+ lazy_hcall(LHCALL_SET_PMD, __pa(pmdp)&PAGE_MASK,
+ (__pa(pmdp)&(PAGE_SIZE-1))/4, 0);
+}
+
+/* FIXME: E...
2007 May 09
1
[patch 2/9] lguest: the guest code
...ble PGE, but we don't care. */
+static unsigned long lguest_read_cr4(void)
+{
+ return 0;
+}
+
+static void lguest_write_cr4(unsigned long val)
+{
+}
+
+static void lguest_set_pte_at(struct mm_struct *mm, unsigned long addr,
+ pte_t *ptep, pte_t pteval)
+{
+ *ptep = pteval;
+ lazy_hcall(LHCALL_SET_PTE, __pa(mm->pgd), addr, pteval.pte_low);
+}
+
+/* We only support two-level pagetables at the moment. */
+static void lguest_set_pmd(pmd_t *pmdp, pmd_t pmdval)
+{
+ *pmdp = pmdval;
+ lazy_hcall(LHCALL_SET_PMD, __pa(pmdp)&PAGE_MASK,
+ (__pa(pmdp)&(PAGE_SIZE-1))/4, 0);
+}
+
+/* FIXME: E...
2009 Jun 05
1
[PATCH] lguest: PAE support
...uest_hcall.h b/arch/x86/include/asm/lguest_hcall.h
index 553810f..7ba1d81 100644
--- a/arch/x86/include/asm/lguest_hcall.h
+++ b/arch/x86/include/asm/lguest_hcall.h
@@ -12,6 +12,7 @@
#define LHCALL_TS 8
#define LHCALL_SET_CLOCKEVENT 9
#define LHCALL_HALT 10
+#define LHCALL_SET_PMD 13
#define LHCALL_SET_PTE 14
#define LHCALL_SET_PGD 15
#define LHCALL_LOAD_TLS 16
@@ -32,7 +33,7 @@
* operations? There are two ways: the direct way is to make a "hypercall",
* to make requests of the Host Itself.
*
- * We use the KVM hypercall mechanism. Eighteen hypercalls are
+ * We use the KVM hyp...
2009 Jun 05
1
[PATCH] lguest: PAE support
...uest_hcall.h b/arch/x86/include/asm/lguest_hcall.h
index 553810f..7ba1d81 100644
--- a/arch/x86/include/asm/lguest_hcall.h
+++ b/arch/x86/include/asm/lguest_hcall.h
@@ -12,6 +12,7 @@
#define LHCALL_TS 8
#define LHCALL_SET_CLOCKEVENT 9
#define LHCALL_HALT 10
+#define LHCALL_SET_PMD 13
#define LHCALL_SET_PTE 14
#define LHCALL_SET_PGD 15
#define LHCALL_LOAD_TLS 16
@@ -32,7 +33,7 @@
* operations? There are two ways: the direct way is to make a "hypercall",
* to make requests of the Host Itself.
*
- * We use the KVM hypercall mechanism. Eighteen hypercalls are
+ * We use the KVM hyp...
2007 Apr 18
1
[PATCH 0/8] lguest
As promised to Andrew, and with much thanks to Andi Kleen for feedback,
this is the new series of lguest patches.
Main change is the move to drivers/lguest (for future non-i386
expansion), but lots of cleanups driven by Andi's feedback and the
documentation effort (which made me examine every line of code).
It's not perfect, but it's definitely useful.
Cheers,
Rusty.
List of
2007 Apr 18
1
[PATCH 0/8] lguest
As promised to Andrew, and with much thanks to Andi Kleen for feedback,
this is the new series of lguest patches.
Main change is the move to drivers/lguest (for future non-i386
expansion), but lots of cleanups driven by Andi's feedback and the
documentation effort (which made me examine every line of code).
It's not perfect, but it's definitely useful.
Cheers,
Rusty.
List of
2007 Jul 22
0
[PATCH] Fix lguest clock when jiffies not available
...x/lguest.h Sat Jul 21 11:12:01 2007 +1000
+++ b/include/linux/lguest.h Sun Jul 22 19:10:30 2007 +1000
@@ -17,7 +17,6 @@
#define LHCALL_TS 8
#define LHCALL_SET_CLOCKEVENT 9
#define LHCALL_HALT 10
-#define LHCALL_GET_WALLCLOCK 11
#define LHCALL_BIND_DMA 12
#define LHCALL_SEND_DMA 13
#define LHCALL_SET_PTE 14
@@ -64,6 +63,9 @@ struct lguest_data
/* Virtual address of page fault. */
unsigned long cr2;
+ /* Wallclock time. */
+ struct timespec time;
+
/* Async hypercall ring. 0xFF == done, 0 == pending. */
u8 hcall_status[LHCALL_RING_SIZE];
struct hcall_ring hcalls[LHCALL_RING_SIZE];
2007 Jul 22
0
[PATCH] Fix lguest clock when jiffies not available
...x/lguest.h Sat Jul 21 11:12:01 2007 +1000
+++ b/include/linux/lguest.h Sun Jul 22 19:10:30 2007 +1000
@@ -17,7 +17,6 @@
#define LHCALL_TS 8
#define LHCALL_SET_CLOCKEVENT 9
#define LHCALL_HALT 10
-#define LHCALL_GET_WALLCLOCK 11
#define LHCALL_BIND_DMA 12
#define LHCALL_SEND_DMA 13
#define LHCALL_SET_PTE 14
@@ -64,6 +63,9 @@ struct lguest_data
/* Virtual address of page fault. */
unsigned long cr2;
+ /* Wallclock time. */
+ struct timespec time;
+
/* Async hypercall ring. 0xFF == done, 0 == pending. */
u8 hcall_status[LHCALL_RING_SIZE];
struct hcall_ring hcalls[LHCALL_RING_SIZE];
2007 Apr 18
1
[RFC/PATCH LGUEST X86_64 03/13] lguest64 core
...se LHCALL_SET_PMD:
+ guest_set_pmd(vcpu, regs->rdx, regs->rbx, regs->rcx);
+ break;
+ case LHCALL_SET_PUD:
+ guest_set_pud(vcpu, regs->rdx, regs->rbx, regs->rcx);
+ break;
+ case LHCALL_SET_PGD:
+ guest_set_pgd(vcpu, regs->rdx, regs->rbx, regs->rcx);
+ break;
+ case LHCALL_SET_PTE:
+ guest_set_pte(vcpu, regs->rdx, regs->rbx, regs->rcx);
+ break;
+
+ case LHCALL_FLUSH_TLB_SIG:
+ guest_flush_tlb_single(vcpu, regs->rdx, regs->rbx);
+ break;
+ case LHCALL_FLUSH_TLB:
+ if (regs->rdx)
+ guest_pagetable_clear_all(vcpu);
+ else
+ guest_pagetable_flush_us...
2007 Apr 18
1
[RFC/PATCH LGUEST X86_64 03/13] lguest64 core
...se LHCALL_SET_PMD:
+ guest_set_pmd(vcpu, regs->rdx, regs->rbx, regs->rcx);
+ break;
+ case LHCALL_SET_PUD:
+ guest_set_pud(vcpu, regs->rdx, regs->rbx, regs->rcx);
+ break;
+ case LHCALL_SET_PGD:
+ guest_set_pgd(vcpu, regs->rdx, regs->rbx, regs->rcx);
+ break;
+ case LHCALL_SET_PTE:
+ guest_set_pte(vcpu, regs->rdx, regs->rbx, regs->rcx);
+ break;
+
+ case LHCALL_FLUSH_TLB_SIG:
+ guest_flush_tlb_single(vcpu, regs->rdx, regs->rbx);
+ break;
+ case LHCALL_FLUSH_TLB:
+ if (regs->rdx)
+ guest_pagetable_clear_all(vcpu);
+ else
+ guest_pagetable_flush_us...
2007 Jul 20
2
[PATCH 1/7] lguest: documentation pt I: Preparation
The netfilter code had very good documentation: the Netfilter Hacking
HOWTO. Noone ever read it.
So this time I'm trying something different, using a bit of
Knuthiness. Start with drivers/lguest/README.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
---
Documentation/lguest/extract | 58 +++++++++++++++++++++++++++++++++
Documentation/lguest/lguest.c | 9
2007 Jul 20
2
[PATCH 1/7] lguest: documentation pt I: Preparation
The netfilter code had very good documentation: the Netfilter Hacking
HOWTO. Noone ever read it.
So this time I'm trying something different, using a bit of
Knuthiness. Start with drivers/lguest/README.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
---
Documentation/lguest/extract | 58 +++++++++++++++++++++++++++++++++
Documentation/lguest/lguest.c | 9
2007 Jun 07
2
[PATCH 1/7] lguest documentation: infrastructure and Chapter I
The netfilter code had very good documentation: the Netfilter Hacking
HOWTO. Noone ever read it.
So this time I'm trying something different, using a bit of
Knuthiness.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
---
Documentation/lguest/extract | 58 +++++++++++++++++++++++++++++++++
Documentation/lguest/lguest.c | 9 +++--
drivers/lguest/Makefile
2007 Jun 07
2
[PATCH 1/7] lguest documentation: infrastructure and Chapter I
The netfilter code had very good documentation: the Netfilter Hacking
HOWTO. Noone ever read it.
So this time I'm trying something different, using a bit of
Knuthiness.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
---
Documentation/lguest/extract | 58 +++++++++++++++++++++++++++++++++
Documentation/lguest/lguest.c | 9 +++--
drivers/lguest/Makefile
2009 Apr 16
1
NULL pointer dereference at __switch_to() ( __unlazy_fpu ) with lguest PAE patch
...G_X86_PAE
+static void lguest_set_pte_atomic(pte_t *ptep, pte_t pte)
+{
+ native_set_pte_atomic(ptep, pte);
if (cr3_changed)
lazy_hcall1(LHCALL_FLUSH_TLB, 1);
}
+void lguest_pte_clear(struct mm_struct *mm, unsigned long addr, pte_t *ptep)
+{
+ native_pte_clear(mm, addr, ptep);
+ lazy_hcall3(LHCALL_SET_PTE, lguest_data.pgdir, addr, 0);
+}
+
+void lguest_pmd_clear(pmd_t *pmdp)
+{
+ lguest_set_pmd(pmdp, __pmd(0));
+}
+#endif
+
/* Unfortunately for Lguest, the pv_mmu_ops for page tables were based on
* native page table operations. On native hardware you can set a new page
* table entry whenever...
2009 Apr 16
1
NULL pointer dereference at __switch_to() ( __unlazy_fpu ) with lguest PAE patch
...G_X86_PAE
+static void lguest_set_pte_atomic(pte_t *ptep, pte_t pte)
+{
+ native_set_pte_atomic(ptep, pte);
if (cr3_changed)
lazy_hcall1(LHCALL_FLUSH_TLB, 1);
}
+void lguest_pte_clear(struct mm_struct *mm, unsigned long addr, pte_t *ptep)
+{
+ native_pte_clear(mm, addr, ptep);
+ lazy_hcall3(LHCALL_SET_PTE, lguest_data.pgdir, addr, 0);
+}
+
+void lguest_pmd_clear(pmd_t *pmdp)
+{
+ lguest_set_pmd(pmdp, __pmd(0));
+}
+#endif
+
/* Unfortunately for Lguest, the pv_mmu_ops for page tables were based on
* native page table operations. On native hardware you can set a new page
* table entry whenever...
2007 Aug 08
13
[PATCH 0/7] Modify lguest32 to make room for lguest64
Hi all,
I've been working on lguest64 and in order to do this, I had to move
a lot of the i386 specific out of the way. Well, the lguest64 port
is still not ready to display, but before Rusty makes too many changes
I would like this in upstream so I don't have to keep repeating my
changes :-)
So this patch series moves lguest32 out of the way for other archs.
-- Steve
2007 Aug 08
13
[PATCH 0/7] Modify lguest32 to make room for lguest64
Hi all,
I've been working on lguest64 and in order to do this, I had to move
a lot of the i386 specific out of the way. Well, the lguest64 port
is still not ready to display, but before Rusty makes too many changes
I would like this in upstream so I don't have to keep repeating my
changes :-)
So this patch series moves lguest32 out of the way for other archs.
-- Steve