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

[Xen-changelog] More hyperprivops (slow for now)



ChangeSet 1.1709.1.10, 2005/06/15 14:26:42-06:00, djm@xxxxxxxxxxxxxxx

        More hyperprivops (slow for now)
        Signed-off-by: Dan Magenheimer <dan.magenheimer@xxxxxx>



 privop.c  |   25 ++++++++++++++++++++++++-
 process.c |    2 +-
 2 files changed, 25 insertions(+), 2 deletions(-)


diff -Nru a/xen/arch/ia64/privop.c b/xen/arch/ia64/privop.c
--- a/xen/arch/ia64/privop.c    2005-06-19 14:04:48 -04:00
+++ b/xen/arch/ia64/privop.c    2005-06-19 14:04:48 -04:00
@@ -748,10 +748,16 @@
 #define HYPERPRIVOP_ITC_D              0x5
 #define HYPERPRIVOP_ITC_I              0x6
 #define HYPERPRIVOP_SSM_I              0x7
-#define HYPERPRIVOP_MAX                        0x7
+#define HYPERPRIVOP_GET_IVR            0x8
+#define HYPERPRIVOP_GET_TPR            0x9
+#define HYPERPRIVOP_SET_TPR            0xa
+#define HYPERPRIVOP_EOI                        0xb
+#define HYPERPRIVOP_SET_ITM            0xc
+#define HYPERPRIVOP_MAX                        0xc
 
 char *hyperpriv_str[HYPERPRIVOP_MAX+1] = {
        0, "rfi", "rsm.dt", "ssm.dt", "cover", "itc.d", "itc.i", "ssm.i",
+       "=ivr", "=tpr", "tpr=", "eoi", "itm=",
        0
 };
 
@@ -796,6 +802,23 @@
                return 1;
            case HYPERPRIVOP_SSM_I:
                (void)vcpu_set_psr_i(v);
+               return 1;
+           case HYPERPRIVOP_GET_IVR:
+               (void)vcpu_get_ivr(v,&val);
+               regs->r8 = val;
+               return 1;
+           case HYPERPRIVOP_GET_TPR:
+               (void)vcpu_get_tpr(v,&val);
+               regs->r8 = val;
+               return 1;
+           case HYPERPRIVOP_SET_TPR:
+               (void)vcpu_set_tpr(v,regs->r8);
+               return 1;
+           case HYPERPRIVOP_EOI:
+               (void)vcpu_set_eoi(v,0L);
+               return 1;
+           case HYPERPRIVOP_SET_ITM:
+               (void)vcpu_set_itm(v,regs->r8);
                return 1;
        }
        return 0;
diff -Nru a/xen/arch/ia64/process.c b/xen/arch/ia64/process.c
--- a/xen/arch/ia64/process.c   2005-06-19 14:04:48 -04:00
+++ b/xen/arch/ia64/process.c   2005-06-19 14:04:48 -04:00
@@ -754,7 +754,7 @@
                vcpu_set_gr(current,8,-1L);
                break;
            default:
-               printf("ia64_handle_break: bad ssc code %lx, 
iip=%p\n",ssc,regs->cr_iip);
+               printf("ia64_handle_break: bad ssc code %lx, iip=%p, 
b0=%p\n",ssc,regs->cr_iip,regs->b0);
                break;
        }
        vcpu_increment_iip(current);

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


 


Rackspace

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