Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/xen Implement xpq_queue_machphys_update(), which qu...



details:   https://anonhg.NetBSD.org/src/rev/8293524f2ea7
branches:  trunk
changeset: 583738:8293524f2ea7
user:      bouyer <bouyer%NetBSD.org@localhost>
date:      Sat Aug 20 19:20:54 2005 +0000

description:
Implement xpq_queue_machphys_update(), which queues a request to
update the machine to physical table (to be used after a
MEMOP_increase_reservation).

diffstat:

 sys/arch/xen/i386/xen_machdep.c |  13 +++++++++++--
 sys/arch/xen/include/xenpmap.h  |   3 ++-
 2 files changed, 13 insertions(+), 3 deletions(-)

diffs (51 lines):

diff -r 1b6554a6fceb -r 8293524f2ea7 sys/arch/xen/i386/xen_machdep.c
--- a/sys/arch/xen/i386/xen_machdep.c   Sat Aug 20 19:18:11 2005 +0000
+++ b/sys/arch/xen/i386/xen_machdep.c   Sat Aug 20 19:20:54 2005 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: xen_machdep.c,v 1.10 2005/06/15 22:08:08 bouyer Exp $  */
+/*     $NetBSD: xen_machdep.c,v 1.11 2005/08/20 19:20:54 bouyer Exp $  */
 
 /*
  *
@@ -33,7 +33,7 @@
 
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: xen_machdep.c,v 1.10 2005/06/15 22:08:08 bouyer Exp $");
+__KERNEL_RCSID(0, "$NetBSD: xen_machdep.c,v 1.11 2005/08/20 19:20:54 bouyer Exp $");
 
 #include "opt_xen.h"
 
@@ -587,6 +587,15 @@
 }
 
 void
+xpq_queue_machphys_update(paddr_t ma, paddr_t pa)
+{
+       XENPRINTK2(("xpq_queue_machphys_update ma=%p pa=%p\n", (void *)ma, (void *)pa));
+       xpq_queue[xpq_idx].pa.ptr = ma | MMU_MACHPHYS_UPDATE;
+       xpq_queue[xpq_idx].pa.val = (pa - XPMAP_OFFSET) >> PAGE_SHIFT;
+       xpq_increment_idx();
+}
+
+void
 xpq_queue_invlpg(vaddr_t va)
 {
 
diff -r 1b6554a6fceb -r 8293524f2ea7 sys/arch/xen/include/xenpmap.h
--- a/sys/arch/xen/include/xenpmap.h    Sat Aug 20 19:18:11 2005 +0000
+++ b/sys/arch/xen/include/xenpmap.h    Sat Aug 20 19:20:54 2005 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: xenpmap.h,v 1.7 2005/05/31 12:36:56 yamt Exp $ */
+/*     $NetBSD: xenpmap.h,v 1.8 2005/08/20 19:20:54 bouyer Exp $       */
 
 /*
  *
@@ -37,6 +37,7 @@
 
 #define        INVALID_P2M_ENTRY       (~0UL)
 
+void xpq_queue_machphys_update(paddr_t, paddr_t);
 void xpq_queue_invlpg(vaddr_t);
 void xpq_queue_pde_update(pd_entry_t *, pd_entry_t);
 void xpq_queue_pte_update(pt_entry_t *, pt_entry_t);



Home | Main Index | Thread Index | Old Index