WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] Fix PAL_PTCE_INFO and cpuid (pfmon now works)

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] Fix PAL_PTCE_INFO and cpuid (pfmon now works)
From: Xen patchbot -unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Fri, 15 Jul 2005 09:52:15 -0400
Delivery-date: Fri, 15 Jul 2005 13:53:13 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User djm@xxxxxxxxxxxxxxx
# Node ID d4ecbd89d954f34271f80fca2be6982fa3d08b21
# Parent  a87242c444173c9b5e7d77ab09864395bd9c34cb

Fix PAL_PTCE_INFO and cpuid (pfmon now works)

diff -r a87242c44417 -r d4ecbd89d954 xen/arch/ia64/vcpu.c
--- a/xen/arch/ia64/vcpu.c      Wed Jul 13 13:43:49 2005
+++ b/xen/arch/ia64/vcpu.c      Wed Jul 13 20:12:00 2005
@@ -1499,20 +1499,24 @@
        // if reg > 3
        switch(reg) {
            case 0:
+               memcpy(pval,"Xen/ia64",8);
+               break;
            case 1:
-               memcpy(pval,"Xen/ia64",8);
+               *pval = 0;
                break;
            case 2:
                *pval = 0;
                break;
            case 3:
-               *pval = 0;  //FIXME: See vol1, 3.1.11
+               *pval = ia64_get_cpuid(3);
                break;
            case 4:
-               *pval = 1;  //FIXME: See vol1, 3.1.11
+               *pval = ia64_get_cpuid(4);
                break;
            default:
-               *pval = 0;  //FIXME: See vol1, 3.1.11
+               if (reg > (ia64_get_cpuid(3) & 0xff))
+                       return IA64_RSVDREG_FAULT;
+               *pval = ia64_get_cpuid(reg);
                break;
        }
        return (IA64_NO_FAULT);
diff -r a87242c44417 -r d4ecbd89d954 xen/arch/ia64/dom_fw.c
--- a/xen/arch/ia64/dom_fw.c    Wed Jul 13 13:43:49 2005
+++ b/xen/arch/ia64/dom_fw.c    Wed Jul 13 20:12:00 2005
@@ -313,7 +313,14 @@
                status = ia64_pal_freq_ratios(&r9,&r10,&r11);
                break;
            case PAL_PTCE_INFO:
-               status = ia64_get_ptce(&r9);
+               {
+                       ia64_ptce_info_t ptce;
+                       status = ia64_get_ptce(&ptce);
+                       if (status != 0) break;
+                       r9 = ptce.base;
+                       r10 = (ptce.count[0]<<32)|(ptce.count[1]&0xffffffffL);
+                       r11 = (ptce.stride[0]<<32)|(ptce.stride[1]&0xffffffffL);
+               }
                break;
            case PAL_VERSION:
                status = ia64_pal_version(&r9,&r10);
@@ -340,18 +347,30 @@
                status = ia64_pal_register_info(in1,&r9,&r10);
                break;
            case PAL_CACHE_FLUSH:
-               return pal_emulator_static(index); /* FIXME */
+               /* FIXME */
+               printk("PAL_CACHE_FLUSH NOT IMPLEMENTED!\n");
+               BUG();
                break;
            case PAL_PERF_MON_INFO:
                {
                        unsigned long pm_buffer[16];
+                       int i;
                        status = ia64_pal_perf_mon_info(pm_buffer,&r9);
-                       if (status != 0) break;
+                       if (status != 0) {
+                               while(1)
+                               printk("PAL_PERF_MON_INFO fails 
ret=%d\n",status);
+                               break;
+                       }
                        if (copy_to_user((void __user *)in1,pm_buffer,128)) {
+                               while(1)
                                printk("xen_pal_emulator: PAL_PERF_MON_INFO "
                                        "can't copy to user!!!!\n");
                                status = -1;
+                               break;
                        }
+                       printk("PAL_PERF_MON_INFO succeeds! r9=%lx\n",r9);
+                       for (i=0; i<16;i++)
+                       printk("pm_buffer[i]=%lx\n",pm_buffer[i]);
                }
                break;
            case PAL_CACHE_INFO:
@@ -364,8 +383,10 @@
                }
                break;
            case PAL_VM_TR_READ:        /* FIXME: vcpu_get_tr?? */
+               printk("PAL_VM_TR_READ NOT IMPLEMENTED, IGNORED!\n");
                break;
            case PAL_HALT_INFO:         /* inappropriate info for guest? */
+               printk("PAL_HALT_INFO NOT IMPLEMENTED, IGNORED!\n");
                break;
            default:
                printk("xen_pal_emulator: UNIMPLEMENTED PAL CALL %d!!!!\n",

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] Fix PAL_PTCE_INFO and cpuid (pfmon now works), Xen patchbot -unstable <=