From: Zhang Xiantao <[EMAIL PROTECTED]>
Date: Wed, 19 Dec 2007 14:14:21 +0800
Subject: [PATCH] kvm/ia64: Add tr operation routines for ia64.

This patches creates kvm_tr.S, which used as tr
operations(insert/purge).
Signed-off-by: Zhang Xiantao <[EMAIL PROTECTED]>
---
 arch/ia64/kvm/kvm_tr.S |   82
++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 82 insertions(+), 0 deletions(-)
 create mode 100644 arch/ia64/kvm/kvm_tr.S

diff --git a/arch/ia64/kvm/kvm_tr.S b/arch/ia64/kvm/kvm_tr.S
new file mode 100644
index 0000000..c48cac0
--- /dev/null
+++ b/arch/ia64/kvm/kvm_tr.S
@@ -0,0 +1,82 @@
+/*
+ * kvm_tr.S: Utility for TR operation
+ *
+ *     Copyright (C) 2007 Intel Corperation
+ *     Zhang Xiantao <[EMAIL PROTECTED]>
+ *
+ * This program is free software you can redistribute it and/or modify
it
+ * under the terms and conditions of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope it will be useful, but
WITHOUT
+ * ANY WARRANTY without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License
along with
+ * this program if not, write to the Free Software Foundation, Inc., 59
Temple
+ * Place - Suite 330, Boston, MA 02111-1307 USA.
+ */
+#include <asm/asmmacro.h>
+
+/*  __kvm_insert_idtr(trnum, vaddr, paddr, ps)
+ *  Ensure irq is disabled before called here!!!
+ *  Description:  Insert mapping into ITR & DTR with current region ID.
+ *  trnum: tr number
+ *  vaddr: virtual address (format refers to IFA format, in SDV Vol2
4.1.1.5
+ *  paddr: physical address (format refers to GR format, in SDV Vol2
4.1.1.5
+ *  ps: log 2 of page size
+ */
+GLOBAL_ENTRY (__kvm_insert_idtr)
+    .regstk 4,0,0,0
+       rsm     psr.ic
+       ;;
+       srlz.d
+       ;;
+       shl     in3=in3, 2
+       ;;
+       mov     cr.itir=in3
+       mov     cr.ifa=in1
+       ;;
+       ptr.i in1,in3
+       ;;
+       srlz.i
+       ;;
+       itr.i   itr[in0]=in2
+       ;;
+       srlz.i
+       ;;
+       ptr.d in1,in3
+       ;;
+       srlz.d
+       ;;
+       itr.d   dtr[in0]=in2
+       ;;
+       srlz.d
+       ;;
+       ssm psr.ic
+       ;;
+       srlz.d
+       ;;
+       br.ret.sptk b0
+END(__kvm_insert_idtr)
+
+ /*  __kvm_purge_dtr_rr(vaddr, ps,)
+ *  vaddr: virtual address (format refers to IFA format, in SDV Vol2
4.1.1.5
+ *  ps: log 2 of page size
+ */
+
+GLOBAL_ENTRY(__kvm_purge_idtr)
+    .regstk 2,0,0,0
+       shl in1 = in1,2
+       ;;
+       ptr.i in0,in1
+       ;;
+       srlz.i
+       ptr.d in0,in1
+       ;;
+       srlz.d
+       ;;
+       br.ret.sptk b0
+END(__kvm_purge_idtr)
+
-- 
1.5.2

Attachment: 0005-kvm-ia64-Add-tr-operation-routines-for-ia64.patch
Description: 0005-kvm-ia64-Add-tr-operation-routines-for-ia64.patch

-------------------------------------------------------------------------
SF.Net email is sponsored by:
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services
for just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
kvm-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/kvm-devel

Reply via email to