DEFINE(IA64_PT_REGS_R2_OFFSET, offsetof (struct pt_regs, r2));
DEFINE(IA64_PT_REGS_R3_OFFSET, offsetof (struct pt_regs, r3));
#ifdef CONFIG_VTI
- DEFINE(IA64_PT_REGS_R4_OFFSET, offsetof (struct xen_regs, r4));
- DEFINE(IA64_PT_REGS_R5_OFFSET, offsetof (struct xen_regs, r5));
- DEFINE(IA64_PT_REGS_R6_OFFSET, offsetof (struct xen_regs, r6));
- DEFINE(IA64_PT_REGS_R7_OFFSET, offsetof (struct xen_regs, r7));
- DEFINE(IA64_PT_REGS_CR_IIPA_OFFSET, offsetof (struct xen_regs, cr_iipa));
- DEFINE(IA64_PT_REGS_CR_ISR_OFFSET, offsetof (struct xen_regs, cr_isr));
- DEFINE(IA64_PT_REGS_EML_UNAT_OFFSET, offsetof (struct xen_regs, eml_unat));
- DEFINE(IA64_PT_REGS_RFI_PFS_OFFSET, offsetof (struct xen_regs, rfi_pfs));
+ DEFINE(IA64_PT_REGS_R4_OFFSET, offsetof (struct pt_regs, r4));
+ DEFINE(IA64_PT_REGS_R5_OFFSET, offsetof (struct pt_regs, r5));
+ DEFINE(IA64_PT_REGS_R6_OFFSET, offsetof (struct pt_regs, r6));
+ DEFINE(IA64_PT_REGS_R7_OFFSET, offsetof (struct pt_regs, r7));
+ DEFINE(IA64_PT_REGS_CR_IIPA_OFFSET, offsetof (struct pt_regs, cr_iipa));
+ DEFINE(IA64_PT_REGS_CR_ISR_OFFSET, offsetof (struct pt_regs, cr_isr));
+ DEFINE(IA64_PT_REGS_EML_UNAT_OFFSET, offsetof (struct pt_regs, eml_unat));
+ DEFINE(IA64_PT_REGS_RFI_PFS_OFFSET, offsetof (struct pt_regs, rfi_pfs));
DEFINE(RFI_IIP_OFFSET, offsetof(struct vcpu, arch.arch_vmx.rfi_iip));
DEFINE(RFI_IPSR_OFFSET, offsetof(struct vcpu, arch.arch_vmx.rfi_ipsr));
DEFINE(RFI_IFS_OFFSET,offsetof(struct vcpu ,arch.arch_vmx.rfi_ifs));
}
new_psr.val=vmx_vcpu_get_psr(vcpu);
{
- struct xen_regs *regs = vcpu_regs(vcpu);
+ struct pt_regs *regs = vcpu_regs(vcpu);
guest_psr_buf[guest_psr_index].ip = regs->cr_iip;
guest_psr_buf[guest_psr_index].psr = new_psr.val;
if (++guest_psr_index >= 100)
return IA64_NO_FAULT;
}
-/* Adjust slot both in xen_regs and vpd, upon vpsr.ri which
+/* Adjust slot both in pt_regs and vpd, upon vpsr.ri which
* should have sync with ipsr in entry.
*
* Clear some bits due to successfully emulation.
//#include "thread.h"
#include <asm/ia64_int.h>
+#include <public/arch-ia64.h>
typedef unsigned long UINT64;
typedef unsigned int UINT;
struct vcpu;
typedef struct vcpu VCPU;
-typedef struct pt_regs REGS;
+typedef cpu_user_regs_t REGS;
#define VCPU(_v,_x) _v->vcpu_info->arch.privregs->_x
} u;
};
-#ifdef XEN_HYPERVISOR
-struct pt_regs {
-#else
-struct xen_pt_regs {
-#endif
+typedef struct cpu_user_regs{
/* The following registers are saved by SAVE_MIN: */
unsigned long b6; /* scratch */
unsigned long b7; /* scratch */
struct pt_fpreg f9; /* scratch */
struct pt_fpreg f10; /* scratch */
struct pt_fpreg f11; /* scratch */
-};
+}cpu_user_regs_t;
typedef union {
unsigned long value;
unsigned long vm_assist; /* VMASST_TYPE_* bitmap, now none on IPF */
unsigned long guest_iip; /* Guest entry point */
-#ifdef XEN_HYPERVISOR
- struct pt_regs regs;
-#else
- struct xen_pt_regs regs;
-#endif
+ cpu_user_regs_t regs;
arch_vcpu_info_t vcpu;
arch_shared_info_t shared;
} vcpu_guest_context_t;