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

[Xen-ia64-devel] PATCH: 4k-correction, tak emulation


  • To: xen-ia64-devel <xen-ia64-devel@xxxxxxxxxxxxxxxxxxx>
  • From: Juergen Gross <juergen.gross@xxxxxxxxxxxxxxxxxxx>
  • Date: Tue, 11 Sep 2007 10:34:37 +0200
  • Delivery-date: Tue, 11 Sep 2007 01:34:52 -0700
  • Domainkey-signature: s=s768; d=fujitsu-siemens.com; c=nofws; q=dns; h=Received:X-SBRSScore:X-IronPort-AV:Received:Received: Message-ID:Date:From:Organization:User-Agent: MIME-Version:To:Subject:X-Enigmail-Version: Content-Type; b=i3M057L+lQPdCGZo6pSXIXNonl3H0z+51fTBNL1+Dw0rskQ4+g+Im ax0junCAntE/fOCNQybGyCYSaNkB0YX6H+seV4fXdXnNXyba99E1H Y8J20J0eGqy3Nj79agYT3j;
  • List-id: Discussion of the ia64 port of Xen <xen-ia64-devel.lists.xensource.com>

Hi,

attached is another patch needed to run BS2000 as DomU. With this patch BS2000
is coming up into multi-user mode.

Changes:
- a correction in 4k page size support
- emulation of the "tak" instruction

Juergen

-- 
Juergen Gross                             Principal Developer
IP SW OS6                      Telephone: +49 (0) 89 636 47950
Fujitsu Siemens Computers         e-mail: juergen.gross@xxxxxxxxxxxxxxxxxxx
Otto-Hahn-Ring 6                Internet: www.fujitsu-siemens.com
D-81739 Muenchen         Company details: www.fujitsu-siemens.com/imprint.html
# HG changeset patch
# User juergen.gross@xxxxxxxxxxxxxxxxxx
# Node ID 1668a62e1c1fff8dc8d552c4fb459ecb19663157
# Parent  f16bff0934d7ea2f000b166c05fb6b2fd8103fa9

tak emulation, minor 4k-page correction

Signed-off-by: Juergen Gross juergen.gross@xxxxxxxxxxxxxxxxxxx

diff -r f16bff0934d7 -r 1668a62e1c1f xen/arch/ia64/xen/mm.c
--- a/xen/arch/ia64/xen/mm.c    Fri Sep  7 13:56:50 2007 -0600
+++ b/xen/arch/ia64/xen/mm.c    Tue Sep 11 10:29:49 2007 +0200
@@ -527,7 +527,7 @@ u64 translate_domain_pte(u64 pteval, u64
 
        pteval2 = lookup_domain_mpa(d, mpaddr, entry);
        if (ps < PAGE_SHIFT)
-               pteval2 |= address & (PAGE_SIZE - 1) & ~((1L << ps) - 1);
+               pteval2 |= mpaddr & (PAGE_SIZE - 1) & ~((1L << ps) - 1);
 
        /* Check access rights.  */
        arflags  = pteval  & _PAGE_AR_MASK;
diff -r f16bff0934d7 -r 1668a62e1c1f xen/arch/ia64/xen/vcpu.c
--- a/xen/arch/ia64/xen/vcpu.c  Fri Sep  7 13:56:50 2007 -0600
+++ b/xen/arch/ia64/xen/vcpu.c  Tue Sep 11 10:29:49 2007 +0200
@@ -1817,10 +1817,16 @@ IA64FAULT vcpu_tpa(VCPU * vcpu, u64 vadr
 
 IA64FAULT vcpu_tak(VCPU * vcpu, u64 vadr, u64 * key)
 {
-       printk("vcpu_tak: tak instruction unsupported\n");
-       return IA64_ILLOP_FAULT;
-       // HACK ALERT: tak does a thash for now
-       //return vcpu_thash(vcpu,vadr,key);
+       u64 pteval, itir, mask, iha;
+       IA64FAULT fault;
+
+       fault = vcpu_translate(vcpu, vadr, TRUE, &pteval, &itir, &iha);
+       if (fault == IA64_NO_FAULT || fault == IA64_USE_TLB) {
+               *key = itir & IA64_ITIR_KEY_MASK;
+       } else {
+               *key = 1;
+       }
+       return IA64_NO_FAULT;
 }
 
 /**************************************************************************
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.