ia64/xen-unstable

changeset 10437:8314141cfe54

[IA64] build linux kernel without using asm-xsi-offsets.h

All the relevent information are already exported with arch-ia64.h
Use linux asm-offsets.h to write xsi offsets defines.

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
[Removed xen-mkbuildtree-post/-pre]
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
author awilliam@lappy
date Tue Jun 20 17:02:22 2006 -0600 (2006-06-20)
parents f8310e19fcaf
children 9031316e5203
files linux-2.6-xen-sparse/arch/ia64/kernel/asm-offsets.c linux-2.6-xen-sparse/arch/ia64/xen-mkbuildtree-post linux-2.6-xen-sparse/arch/ia64/xen-mkbuildtree-pre linux-2.6-xen-sparse/arch/ia64/xen/xenentry.S linux-2.6-xen-sparse/arch/ia64/xen/xenivt.S linux-2.6-xen-sparse/arch/ia64/xen/xenpal.S linux-2.6-xen-sparse/include/asm-ia64/xen/privop.h xen/arch/ia64/asm-xsi-offsets.c xen/arch/ia64/xen/fw_emul.c xen/arch/ia64/xen/vcpu.c xen/include/asm-ia64/vmx.h xen/include/public/arch-ia64.h
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/linux-2.6-xen-sparse/arch/ia64/kernel/asm-offsets.c	Tue Jun 20 17:02:22 2006 -0600
     1.3 @@ -0,0 +1,298 @@
     1.4 +/*
     1.5 + * Generate definitions needed by assembly language modules.
     1.6 + * This code generates raw asm output which is post-processed
     1.7 + * to extract and format the required data.
     1.8 + */
     1.9 +
    1.10 +#define ASM_OFFSETS_C 1
    1.11 +#include <linux/config.h>
    1.12 +
    1.13 +#include <linux/sched.h>
    1.14 +
    1.15 +#include <asm-ia64/processor.h>
    1.16 +#include <asm-ia64/ptrace.h>
    1.17 +#include <asm-ia64/siginfo.h>
    1.18 +#include <asm-ia64/sigcontext.h>
    1.19 +#include <asm-ia64/mca.h>
    1.20 +
    1.21 +#include "../kernel/sigframe.h"
    1.22 +
    1.23 +#define DEFINE(sym, val) \
    1.24 +        asm volatile("\n->" #sym " %0 " #val : : "i" (val))
    1.25 +
    1.26 +#define BLANK() asm volatile("\n->" : : )
    1.27 +
    1.28 +void foo(void)
    1.29 +{
    1.30 +	DEFINE(IA64_TASK_SIZE, sizeof (struct task_struct));
    1.31 +	DEFINE(IA64_THREAD_INFO_SIZE, sizeof (struct thread_info));
    1.32 +	DEFINE(IA64_PT_REGS_SIZE, sizeof (struct pt_regs));
    1.33 +	DEFINE(IA64_SWITCH_STACK_SIZE, sizeof (struct switch_stack));
    1.34 +	DEFINE(IA64_SIGINFO_SIZE, sizeof (struct siginfo));
    1.35 +	DEFINE(IA64_CPU_SIZE, sizeof (struct cpuinfo_ia64));
    1.36 +	DEFINE(SIGFRAME_SIZE, sizeof (struct sigframe));
    1.37 +	DEFINE(UNW_FRAME_INFO_SIZE, sizeof (struct unw_frame_info));
    1.38 +
    1.39 +	BLANK();
    1.40 +
    1.41 +	DEFINE(TI_FLAGS, offsetof(struct thread_info, flags));
    1.42 +	DEFINE(TI_PRE_COUNT, offsetof(struct thread_info, preempt_count));
    1.43 +
    1.44 +	BLANK();
    1.45 +
    1.46 +	DEFINE(IA64_TASK_BLOCKED_OFFSET,offsetof (struct task_struct, blocked));
    1.47 +	DEFINE(IA64_TASK_CLEAR_CHILD_TID_OFFSET,offsetof (struct task_struct, clear_child_tid));
    1.48 +	DEFINE(IA64_TASK_GROUP_LEADER_OFFSET, offsetof (struct task_struct, group_leader));
    1.49 +	DEFINE(IA64_TASK_PENDING_OFFSET,offsetof (struct task_struct, pending));
    1.50 +	DEFINE(IA64_TASK_PID_OFFSET, offsetof (struct task_struct, pid));
    1.51 +	DEFINE(IA64_TASK_REAL_PARENT_OFFSET, offsetof (struct task_struct, real_parent));
    1.52 +	DEFINE(IA64_TASK_SIGHAND_OFFSET,offsetof (struct task_struct, sighand));
    1.53 +	DEFINE(IA64_TASK_SIGNAL_OFFSET,offsetof (struct task_struct, signal));
    1.54 +	DEFINE(IA64_TASK_TGID_OFFSET, offsetof (struct task_struct, tgid));
    1.55 +	DEFINE(IA64_TASK_THREAD_KSP_OFFSET, offsetof (struct task_struct, thread.ksp));
    1.56 +	DEFINE(IA64_TASK_THREAD_ON_USTACK_OFFSET, offsetof (struct task_struct, thread.on_ustack));
    1.57 +
    1.58 +	BLANK();
    1.59 +
    1.60 +	DEFINE(IA64_SIGHAND_SIGLOCK_OFFSET,offsetof (struct sighand_struct, siglock));
    1.61 +
    1.62 +	BLANK();
    1.63 +
    1.64 +	DEFINE(IA64_SIGNAL_GROUP_STOP_COUNT_OFFSET,offsetof (struct signal_struct,
    1.65 +							     group_stop_count));
    1.66 +	DEFINE(IA64_SIGNAL_SHARED_PENDING_OFFSET,offsetof (struct signal_struct, shared_pending));
    1.67 +
    1.68 +	BLANK();
    1.69 +
    1.70 +	DEFINE(IA64_PT_REGS_B6_OFFSET, offsetof (struct pt_regs, b6));
    1.71 +	DEFINE(IA64_PT_REGS_B7_OFFSET, offsetof (struct pt_regs, b7));
    1.72 +	DEFINE(IA64_PT_REGS_AR_CSD_OFFSET, offsetof (struct pt_regs, ar_csd));
    1.73 +	DEFINE(IA64_PT_REGS_AR_SSD_OFFSET, offsetof (struct pt_regs, ar_ssd));
    1.74 +	DEFINE(IA64_PT_REGS_R8_OFFSET, offsetof (struct pt_regs, r8));
    1.75 +	DEFINE(IA64_PT_REGS_R9_OFFSET, offsetof (struct pt_regs, r9));
    1.76 +	DEFINE(IA64_PT_REGS_R10_OFFSET, offsetof (struct pt_regs, r10));
    1.77 +	DEFINE(IA64_PT_REGS_R11_OFFSET, offsetof (struct pt_regs, r11));
    1.78 +	DEFINE(IA64_PT_REGS_CR_IPSR_OFFSET, offsetof (struct pt_regs, cr_ipsr));
    1.79 +	DEFINE(IA64_PT_REGS_CR_IIP_OFFSET, offsetof (struct pt_regs, cr_iip));
    1.80 +	DEFINE(IA64_PT_REGS_CR_IFS_OFFSET, offsetof (struct pt_regs, cr_ifs));
    1.81 +	DEFINE(IA64_PT_REGS_AR_UNAT_OFFSET, offsetof (struct pt_regs, ar_unat));
    1.82 +	DEFINE(IA64_PT_REGS_AR_PFS_OFFSET, offsetof (struct pt_regs, ar_pfs));
    1.83 +	DEFINE(IA64_PT_REGS_AR_RSC_OFFSET, offsetof (struct pt_regs, ar_rsc));
    1.84 +	DEFINE(IA64_PT_REGS_AR_RNAT_OFFSET, offsetof (struct pt_regs, ar_rnat));
    1.85 +
    1.86 +	DEFINE(IA64_PT_REGS_AR_BSPSTORE_OFFSET, offsetof (struct pt_regs, ar_bspstore));
    1.87 +	DEFINE(IA64_PT_REGS_PR_OFFSET, offsetof (struct pt_regs, pr));
    1.88 +	DEFINE(IA64_PT_REGS_B0_OFFSET, offsetof (struct pt_regs, b0));
    1.89 +	DEFINE(IA64_PT_REGS_LOADRS_OFFSET, offsetof (struct pt_regs, loadrs));
    1.90 +	DEFINE(IA64_PT_REGS_R1_OFFSET, offsetof (struct pt_regs, r1));
    1.91 +	DEFINE(IA64_PT_REGS_R12_OFFSET, offsetof (struct pt_regs, r12));
    1.92 +	DEFINE(IA64_PT_REGS_R13_OFFSET, offsetof (struct pt_regs, r13));
    1.93 +	DEFINE(IA64_PT_REGS_AR_FPSR_OFFSET, offsetof (struct pt_regs, ar_fpsr));
    1.94 +	DEFINE(IA64_PT_REGS_R15_OFFSET, offsetof (struct pt_regs, r15));
    1.95 +	DEFINE(IA64_PT_REGS_R14_OFFSET, offsetof (struct pt_regs, r14));
    1.96 +	DEFINE(IA64_PT_REGS_R2_OFFSET, offsetof (struct pt_regs, r2));
    1.97 +	DEFINE(IA64_PT_REGS_R3_OFFSET, offsetof (struct pt_regs, r3));
    1.98 +	DEFINE(IA64_PT_REGS_R16_OFFSET, offsetof (struct pt_regs, r16));
    1.99 +	DEFINE(IA64_PT_REGS_R17_OFFSET, offsetof (struct pt_regs, r17));
   1.100 +	DEFINE(IA64_PT_REGS_R18_OFFSET, offsetof (struct pt_regs, r18));
   1.101 +	DEFINE(IA64_PT_REGS_R19_OFFSET, offsetof (struct pt_regs, r19));
   1.102 +	DEFINE(IA64_PT_REGS_R20_OFFSET, offsetof (struct pt_regs, r20));
   1.103 +	DEFINE(IA64_PT_REGS_R21_OFFSET, offsetof (struct pt_regs, r21));
   1.104 +	DEFINE(IA64_PT_REGS_R22_OFFSET, offsetof (struct pt_regs, r22));
   1.105 +	DEFINE(IA64_PT_REGS_R23_OFFSET, offsetof (struct pt_regs, r23));
   1.106 +	DEFINE(IA64_PT_REGS_R24_OFFSET, offsetof (struct pt_regs, r24));
   1.107 +	DEFINE(IA64_PT_REGS_R25_OFFSET, offsetof (struct pt_regs, r25));
   1.108 +	DEFINE(IA64_PT_REGS_R26_OFFSET, offsetof (struct pt_regs, r26));
   1.109 +	DEFINE(IA64_PT_REGS_R27_OFFSET, offsetof (struct pt_regs, r27));
   1.110 +	DEFINE(IA64_PT_REGS_R28_OFFSET, offsetof (struct pt_regs, r28));
   1.111 +	DEFINE(IA64_PT_REGS_R29_OFFSET, offsetof (struct pt_regs, r29));
   1.112 +	DEFINE(IA64_PT_REGS_R30_OFFSET, offsetof (struct pt_regs, r30));
   1.113 +	DEFINE(IA64_PT_REGS_R31_OFFSET, offsetof (struct pt_regs, r31));
   1.114 +	DEFINE(IA64_PT_REGS_AR_CCV_OFFSET, offsetof (struct pt_regs, ar_ccv));
   1.115 +	DEFINE(IA64_PT_REGS_F6_OFFSET, offsetof (struct pt_regs, f6));
   1.116 +	DEFINE(IA64_PT_REGS_F7_OFFSET, offsetof (struct pt_regs, f7));
   1.117 +	DEFINE(IA64_PT_REGS_F8_OFFSET, offsetof (struct pt_regs, f8));
   1.118 +	DEFINE(IA64_PT_REGS_F9_OFFSET, offsetof (struct pt_regs, f9));
   1.119 +	DEFINE(IA64_PT_REGS_F10_OFFSET, offsetof (struct pt_regs, f10));
   1.120 +	DEFINE(IA64_PT_REGS_F11_OFFSET, offsetof (struct pt_regs, f11));
   1.121 +
   1.122 +	BLANK();
   1.123 +
   1.124 +	DEFINE(IA64_SWITCH_STACK_CALLER_UNAT_OFFSET, offsetof (struct switch_stack, caller_unat));
   1.125 +	DEFINE(IA64_SWITCH_STACK_AR_FPSR_OFFSET, offsetof (struct switch_stack, ar_fpsr));
   1.126 +	DEFINE(IA64_SWITCH_STACK_F2_OFFSET, offsetof (struct switch_stack, f2));
   1.127 +	DEFINE(IA64_SWITCH_STACK_F3_OFFSET, offsetof (struct switch_stack, f3));
   1.128 +	DEFINE(IA64_SWITCH_STACK_F4_OFFSET, offsetof (struct switch_stack, f4));
   1.129 +	DEFINE(IA64_SWITCH_STACK_F5_OFFSET, offsetof (struct switch_stack, f5));
   1.130 +	DEFINE(IA64_SWITCH_STACK_F12_OFFSET, offsetof (struct switch_stack, f12));
   1.131 +	DEFINE(IA64_SWITCH_STACK_F13_OFFSET, offsetof (struct switch_stack, f13));
   1.132 +	DEFINE(IA64_SWITCH_STACK_F14_OFFSET, offsetof (struct switch_stack, f14));
   1.133 +	DEFINE(IA64_SWITCH_STACK_F15_OFFSET, offsetof (struct switch_stack, f15));
   1.134 +	DEFINE(IA64_SWITCH_STACK_F16_OFFSET, offsetof (struct switch_stack, f16));
   1.135 +	DEFINE(IA64_SWITCH_STACK_F17_OFFSET, offsetof (struct switch_stack, f17));
   1.136 +	DEFINE(IA64_SWITCH_STACK_F18_OFFSET, offsetof (struct switch_stack, f18));
   1.137 +	DEFINE(IA64_SWITCH_STACK_F19_OFFSET, offsetof (struct switch_stack, f19));
   1.138 +	DEFINE(IA64_SWITCH_STACK_F20_OFFSET, offsetof (struct switch_stack, f20));
   1.139 +	DEFINE(IA64_SWITCH_STACK_F21_OFFSET, offsetof (struct switch_stack, f21));
   1.140 +	DEFINE(IA64_SWITCH_STACK_F22_OFFSET, offsetof (struct switch_stack, f22));
   1.141 +	DEFINE(IA64_SWITCH_STACK_F23_OFFSET, offsetof (struct switch_stack, f23));
   1.142 +	DEFINE(IA64_SWITCH_STACK_F24_OFFSET, offsetof (struct switch_stack, f24));
   1.143 +	DEFINE(IA64_SWITCH_STACK_F25_OFFSET, offsetof (struct switch_stack, f25));
   1.144 +	DEFINE(IA64_SWITCH_STACK_F26_OFFSET, offsetof (struct switch_stack, f26));
   1.145 +	DEFINE(IA64_SWITCH_STACK_F27_OFFSET, offsetof (struct switch_stack, f27));
   1.146 +	DEFINE(IA64_SWITCH_STACK_F28_OFFSET, offsetof (struct switch_stack, f28));
   1.147 +	DEFINE(IA64_SWITCH_STACK_F29_OFFSET, offsetof (struct switch_stack, f29));
   1.148 +	DEFINE(IA64_SWITCH_STACK_F30_OFFSET, offsetof (struct switch_stack, f30));
   1.149 +	DEFINE(IA64_SWITCH_STACK_F31_OFFSET, offsetof (struct switch_stack, f31));
   1.150 +	DEFINE(IA64_SWITCH_STACK_R4_OFFSET, offsetof (struct switch_stack, r4));
   1.151 +	DEFINE(IA64_SWITCH_STACK_R5_OFFSET, offsetof (struct switch_stack, r5));
   1.152 +	DEFINE(IA64_SWITCH_STACK_R6_OFFSET, offsetof (struct switch_stack, r6));
   1.153 +	DEFINE(IA64_SWITCH_STACK_R7_OFFSET, offsetof (struct switch_stack, r7));
   1.154 +	DEFINE(IA64_SWITCH_STACK_B0_OFFSET, offsetof (struct switch_stack, b0));
   1.155 +	DEFINE(IA64_SWITCH_STACK_B1_OFFSET, offsetof (struct switch_stack, b1));
   1.156 +	DEFINE(IA64_SWITCH_STACK_B2_OFFSET, offsetof (struct switch_stack, b2));
   1.157 +	DEFINE(IA64_SWITCH_STACK_B3_OFFSET, offsetof (struct switch_stack, b3));
   1.158 +	DEFINE(IA64_SWITCH_STACK_B4_OFFSET, offsetof (struct switch_stack, b4));
   1.159 +	DEFINE(IA64_SWITCH_STACK_B5_OFFSET, offsetof (struct switch_stack, b5));
   1.160 +	DEFINE(IA64_SWITCH_STACK_AR_PFS_OFFSET, offsetof (struct switch_stack, ar_pfs));
   1.161 +	DEFINE(IA64_SWITCH_STACK_AR_LC_OFFSET, offsetof (struct switch_stack, ar_lc));
   1.162 +	DEFINE(IA64_SWITCH_STACK_AR_UNAT_OFFSET, offsetof (struct switch_stack, ar_unat));
   1.163 +	DEFINE(IA64_SWITCH_STACK_AR_RNAT_OFFSET, offsetof (struct switch_stack, ar_rnat));
   1.164 +	DEFINE(IA64_SWITCH_STACK_AR_BSPSTORE_OFFSET, offsetof (struct switch_stack, ar_bspstore));
   1.165 +	DEFINE(IA64_SWITCH_STACK_PR_OFFSET, offsetof (struct switch_stack, pr));
   1.166 +
   1.167 +	BLANK();
   1.168 +
   1.169 +	DEFINE(IA64_SIGCONTEXT_IP_OFFSET, offsetof (struct sigcontext, sc_ip));
   1.170 +	DEFINE(IA64_SIGCONTEXT_AR_BSP_OFFSET, offsetof (struct sigcontext, sc_ar_bsp));
   1.171 +	DEFINE(IA64_SIGCONTEXT_AR_FPSR_OFFSET, offsetof (struct sigcontext, sc_ar_fpsr));
   1.172 +	DEFINE(IA64_SIGCONTEXT_AR_RNAT_OFFSET, offsetof (struct sigcontext, sc_ar_rnat));
   1.173 +	DEFINE(IA64_SIGCONTEXT_AR_UNAT_OFFSET, offsetof (struct sigcontext, sc_ar_unat));
   1.174 +	DEFINE(IA64_SIGCONTEXT_B0_OFFSET, offsetof (struct sigcontext, sc_br[0]));
   1.175 +	DEFINE(IA64_SIGCONTEXT_CFM_OFFSET, offsetof (struct sigcontext, sc_cfm));
   1.176 +	DEFINE(IA64_SIGCONTEXT_FLAGS_OFFSET, offsetof (struct sigcontext, sc_flags));
   1.177 +	DEFINE(IA64_SIGCONTEXT_FR6_OFFSET, offsetof (struct sigcontext, sc_fr[6]));
   1.178 +	DEFINE(IA64_SIGCONTEXT_PR_OFFSET, offsetof (struct sigcontext, sc_pr));
   1.179 +	DEFINE(IA64_SIGCONTEXT_R12_OFFSET, offsetof (struct sigcontext, sc_gr[12]));
   1.180 +	DEFINE(IA64_SIGCONTEXT_RBS_BASE_OFFSET,offsetof (struct sigcontext, sc_rbs_base));
   1.181 +	DEFINE(IA64_SIGCONTEXT_LOADRS_OFFSET, offsetof (struct sigcontext, sc_loadrs));
   1.182 +
   1.183 +	BLANK();
   1.184 +
   1.185 +	DEFINE(IA64_SIGPENDING_SIGNAL_OFFSET, offsetof (struct sigpending, signal));
   1.186 +
   1.187 +	BLANK();
   1.188 +
   1.189 +	DEFINE(IA64_SIGFRAME_ARG0_OFFSET, offsetof (struct sigframe, arg0));
   1.190 +	DEFINE(IA64_SIGFRAME_ARG1_OFFSET, offsetof (struct sigframe, arg1));
   1.191 +	DEFINE(IA64_SIGFRAME_ARG2_OFFSET, offsetof (struct sigframe, arg2));
   1.192 +	DEFINE(IA64_SIGFRAME_HANDLER_OFFSET, offsetof (struct sigframe, handler));
   1.193 +	DEFINE(IA64_SIGFRAME_SIGCONTEXT_OFFSET, offsetof (struct sigframe, sc));
   1.194 +	BLANK();
   1.195 +    /* for assembly files which can't include sched.h: */
   1.196 +	DEFINE(IA64_CLONE_VFORK, CLONE_VFORK);
   1.197 +	DEFINE(IA64_CLONE_VM, CLONE_VM);
   1.198 +
   1.199 +	BLANK();
   1.200 +	DEFINE(IA64_CPUINFO_NSEC_PER_CYC_OFFSET,
   1.201 +	       offsetof (struct cpuinfo_ia64, nsec_per_cyc));
   1.202 +	DEFINE(IA64_CPUINFO_PTCE_BASE_OFFSET,
   1.203 +	       offsetof (struct cpuinfo_ia64, ptce_base));
   1.204 +	DEFINE(IA64_CPUINFO_PTCE_COUNT_OFFSET,
   1.205 +	       offsetof (struct cpuinfo_ia64, ptce_count));
   1.206 +	DEFINE(IA64_CPUINFO_PTCE_STRIDE_OFFSET,
   1.207 +	       offsetof (struct cpuinfo_ia64, ptce_stride));
   1.208 +	BLANK();
   1.209 +	DEFINE(IA64_TIMESPEC_TV_NSEC_OFFSET,
   1.210 +	       offsetof (struct timespec, tv_nsec));
   1.211 +
   1.212 +	DEFINE(CLONE_SETTLS_BIT, 19);
   1.213 +#if CLONE_SETTLS != (1<<19)
   1.214 +# error "CLONE_SETTLS_BIT incorrect, please fix"
   1.215 +#endif
   1.216 +
   1.217 +	BLANK();
   1.218 +	DEFINE(IA64_MCA_CPU_MCA_STACK_OFFSET,
   1.219 +	       offsetof (struct ia64_mca_cpu, mca_stack));
   1.220 +	DEFINE(IA64_MCA_CPU_INIT_STACK_OFFSET,
   1.221 +	       offsetof (struct ia64_mca_cpu, init_stack));
   1.222 +	BLANK();
   1.223 +	DEFINE(IA64_SAL_OS_STATE_COMMON_OFFSET,
   1.224 +	       offsetof (struct ia64_sal_os_state, sal_ra));
   1.225 +	DEFINE(IA64_SAL_OS_STATE_OS_GP_OFFSET,
   1.226 +	       offsetof (struct ia64_sal_os_state, os_gp));
   1.227 +	DEFINE(IA64_SAL_OS_STATE_PAL_MIN_STATE_OFFSET,
   1.228 +	       offsetof (struct ia64_sal_os_state, pal_min_state));
   1.229 +	DEFINE(IA64_SAL_OS_STATE_PROC_STATE_PARAM_OFFSET,
   1.230 +	       offsetof (struct ia64_sal_os_state, proc_state_param));
   1.231 +	DEFINE(IA64_SAL_OS_STATE_SIZE,
   1.232 +	       sizeof (struct ia64_sal_os_state));
   1.233 +	DEFINE(IA64_PMSA_GR_OFFSET,
   1.234 +	       offsetof (struct pal_min_state_area_s, pmsa_gr));
   1.235 +	DEFINE(IA64_PMSA_BANK1_GR_OFFSET,
   1.236 +	       offsetof (struct pal_min_state_area_s, pmsa_bank1_gr));
   1.237 +	DEFINE(IA64_PMSA_PR_OFFSET,
   1.238 +	       offsetof (struct pal_min_state_area_s, pmsa_pr));
   1.239 +	DEFINE(IA64_PMSA_BR0_OFFSET,
   1.240 +	       offsetof (struct pal_min_state_area_s, pmsa_br0));
   1.241 +	DEFINE(IA64_PMSA_RSC_OFFSET,
   1.242 +	       offsetof (struct pal_min_state_area_s, pmsa_rsc));
   1.243 +	DEFINE(IA64_PMSA_IIP_OFFSET,
   1.244 +	       offsetof (struct pal_min_state_area_s, pmsa_iip));
   1.245 +	DEFINE(IA64_PMSA_IPSR_OFFSET,
   1.246 +	       offsetof (struct pal_min_state_area_s, pmsa_ipsr));
   1.247 +	DEFINE(IA64_PMSA_IFS_OFFSET,
   1.248 +	       offsetof (struct pal_min_state_area_s, pmsa_ifs));
   1.249 +	DEFINE(IA64_PMSA_XIP_OFFSET,
   1.250 +	       offsetof (struct pal_min_state_area_s, pmsa_xip));
   1.251 +	BLANK();
   1.252 +
   1.253 +	/* used by fsys_gettimeofday in arch/ia64/kernel/fsys.S */
   1.254 +	DEFINE(IA64_TIME_INTERPOLATOR_ADDRESS_OFFSET, offsetof (struct time_interpolator, addr));
   1.255 +	DEFINE(IA64_TIME_INTERPOLATOR_SOURCE_OFFSET, offsetof (struct time_interpolator, source));
   1.256 +	DEFINE(IA64_TIME_INTERPOLATOR_SHIFT_OFFSET, offsetof (struct time_interpolator, shift));
   1.257 +	DEFINE(IA64_TIME_INTERPOLATOR_NSEC_OFFSET, offsetof (struct time_interpolator, nsec_per_cyc));
   1.258 +	DEFINE(IA64_TIME_INTERPOLATOR_OFFSET_OFFSET, offsetof (struct time_interpolator, offset));
   1.259 +	DEFINE(IA64_TIME_INTERPOLATOR_LAST_CYCLE_OFFSET, offsetof (struct time_interpolator, last_cycle));
   1.260 +	DEFINE(IA64_TIME_INTERPOLATOR_LAST_COUNTER_OFFSET, offsetof (struct time_interpolator, last_counter));
   1.261 +	DEFINE(IA64_TIME_INTERPOLATOR_JITTER_OFFSET, offsetof (struct time_interpolator, jitter));
   1.262 +	DEFINE(IA64_TIME_INTERPOLATOR_MASK_OFFSET, offsetof (struct time_interpolator, mask));
   1.263 +	DEFINE(IA64_TIME_SOURCE_CPU, TIME_SOURCE_CPU);
   1.264 +	DEFINE(IA64_TIME_SOURCE_MMIO64, TIME_SOURCE_MMIO64);
   1.265 +	DEFINE(IA64_TIME_SOURCE_MMIO32, TIME_SOURCE_MMIO32);
   1.266 +	DEFINE(IA64_TIMESPEC_TV_NSEC_OFFSET, offsetof (struct timespec, tv_nsec));
   1.267 +
   1.268 +#ifdef CONFIG_XEN
   1.269 +	BLANK();
   1.270 +
   1.271 +	DEFINE(XSI_PSR_I_ADDR_OFS, (XSI_OFS + offsetof(mapped_regs_t, interrupt_mask_addr)));
   1.272 +	DEFINE(XSI_IPSR_OFS, (XSI_OFS + offsetof(mapped_regs_t, ipsr)));
   1.273 +	DEFINE(XSI_IIP_OFS, (XSI_OFS + offsetof(mapped_regs_t, iip)));
   1.274 +	DEFINE(XSI_IFS_OFS, (XSI_OFS + offsetof(mapped_regs_t, ifs)));
   1.275 +	DEFINE(XSI_PRECOVER_IFS_OFS, (XSI_OFS + offsetof(mapped_regs_t, precover_ifs)));
   1.276 +	DEFINE(XSI_ISR_OFS, (XSI_OFS + offsetof(mapped_regs_t, isr)));
   1.277 +	DEFINE(XSI_IFA_OFS, (XSI_OFS + offsetof(mapped_regs_t, ifa)));
   1.278 +	DEFINE(XSI_IIPA_OFS, (XSI_OFS + offsetof(mapped_regs_t, iipa)));
   1.279 +	DEFINE(XSI_IIM_OFS, (XSI_OFS + offsetof(mapped_regs_t, iim)));
   1.280 +	DEFINE(XSI_TPR_OFS, (XSI_OFS + offsetof(mapped_regs_t, tpr)));
   1.281 +	DEFINE(XSI_IHA_OFS, (XSI_OFS + offsetof(mapped_regs_t, iha)));
   1.282 +	DEFINE(XSI_ITIR_OFS, (XSI_OFS + offsetof(mapped_regs_t, itir)));
   1.283 +	DEFINE(XSI_ITV_OFS, (XSI_OFS + offsetof(mapped_regs_t, itv)));
   1.284 +	DEFINE(XSI_PTA_OFS, (XSI_OFS + offsetof(mapped_regs_t, pta)));
   1.285 +	DEFINE(XSI_PSR_IC_OFS, (XSI_OFS + offsetof(mapped_regs_t, interrupt_collection_enabled)));
   1.286 +	DEFINE(XSI_PEND_OFS, (XSI_OFS + offsetof(mapped_regs_t, pending_interruption)));
   1.287 +	DEFINE(XSI_INCOMPL_REGFR_OFS, (XSI_OFS + offsetof(mapped_regs_t, incomplete_regframe)));
   1.288 +	DEFINE(XSI_METAPHYS_OFS, (XSI_OFS + offsetof(mapped_regs_t, metaphysical_mode)));
   1.289 +
   1.290 +	DEFINE(XSI_BANKNUM_OFS, (XSI_OFS + offsetof(mapped_regs_t, banknum)));
   1.291 +
   1.292 +	DEFINE(XSI_BANK0_R16_OFS, (XSI_OFS + offsetof(mapped_regs_t, bank0_regs[0])));
   1.293 +	DEFINE(XSI_BANK1_R16_OFS, (XSI_OFS + offsetof(mapped_regs_t, bank1_regs[0])));
   1.294 +	DEFINE(XSI_B0NATS_OFS, (XSI_OFS + offsetof(mapped_regs_t, vbnat)));
   1.295 +	DEFINE(XSI_B1NATS_OFS, (XSI_OFS + offsetof(mapped_regs_t, vnat)));
   1.296 +	DEFINE(XSI_RR0_OFS, (XSI_OFS + offsetof(mapped_regs_t, rrs[0])));
   1.297 +	DEFINE(XSI_KR0_OFS, (XSI_OFS + offsetof(mapped_regs_t, krs[0])));
   1.298 +	DEFINE(XSI_PKR0_OFS, (XSI_OFS + offsetof(mapped_regs_t, pkrs[0])));
   1.299 +	DEFINE(XSI_TMP0_OFS, (XSI_OFS + offsetof(mapped_regs_t, tmp[0])));
   1.300 +#endif /* CONFIG_XEN */
   1.301 +}
     2.1 --- a/linux-2.6-xen-sparse/arch/ia64/xen-mkbuildtree-post	Tue Jun 20 16:29:59 2006 -0600
     2.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.3 @@ -1,2 +0,0 @@
     2.4 -#!/bin/bash
     2.5 -echo 'NOTHING YET IN ' ${0}
     3.1 --- a/linux-2.6-xen-sparse/arch/ia64/xen-mkbuildtree-pre	Tue Jun 20 16:29:59 2006 -0600
     3.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.3 @@ -1,12 +0,0 @@
     3.4 -#!/bin/bash
     3.5 -# restructure directories to match future drivers/xen plan
     3.6 -# and move aside xen/x86 specific changes
     3.7 -# WARNING!: This directory movement really confuses hg which makes
     3.8 -# it difficult to do development in a directory which is being used
     3.9 -# for building (as all files in mv'd directories are thought by hg
    3.10 -# to have been deleted).  I don't know how to avoid this right now,
    3.11 -# but if someone has a better way, I'm all ears
    3.12 -
    3.13 -#eventually asm-xsi-offsets needs to be part of hypervisor.h/hypercall.h
    3.14 -ln -sf ../../../../xen/include/asm-ia64/asm-xsi-offsets.h include/asm-ia64/xen/
    3.15 -
     4.1 --- a/linux-2.6-xen-sparse/arch/ia64/xen/xenentry.S	Tue Jun 20 16:29:59 2006 -0600
     4.2 +++ b/linux-2.6-xen-sparse/arch/ia64/xen/xenentry.S	Tue Jun 20 17:02:22 2006 -0600
     4.3 @@ -765,7 +765,7 @@ skip_rbs_switch:
     4.4  #ifdef CONFIG_XEN
     4.5  	movl r25=XSI_IPSR
     4.6  	;;
     4.7 -	st8[r25]=r29,XSI_IFS-XSI_IPSR
     4.8 +	st8[r25]=r29,XSI_IFS_OFS-XSI_IPSR_OFS
     4.9  	;;
    4.10  #else
    4.11  	mov cr.ipsr=r29		// M2
    4.12 @@ -776,7 +776,7 @@ skip_rbs_switch:
    4.13  #ifdef CONFIG_XEN
    4.14  (p9)	st8 [r25]=r30
    4.15  	;;
    4.16 -	adds r25=XSI_IIP-XSI_IFS,r25
    4.17 +	adds r25=XSI_IIP_OFS-XSI_IFS_OFS,r25
    4.18  	;;
    4.19  #else
    4.20  (p9)	mov cr.ifs=r30		// M2
     5.1 --- a/linux-2.6-xen-sparse/arch/ia64/xen/xenivt.S	Tue Jun 20 16:29:59 2006 -0600
     5.2 +++ b/linux-2.6-xen-sparse/arch/ia64/xen/xenivt.S	Tue Jun 20 17:02:22 2006 -0600
     5.3 @@ -446,7 +446,7 @@ ENTRY(alt_itlb_miss)
     5.4  #ifdef CONFIG_XEN
     5.5  	movl r31=XSI_IPSR
     5.6  	;;
     5.7 -	ld8 r21=[r31],XSI_IFA-XSI_IPSR	// get ipsr, point to ifa
     5.8 +	ld8 r21=[r31],XSI_IFA_OFS-XSI_IPSR_OFS	// get ipsr, point to ifa
     5.9  	movl r17=PAGE_KERNEL
    5.10  	;;
    5.11  	ld8 r16=[r31]		// get ifa
    5.12 @@ -508,10 +508,10 @@ ENTRY(alt_dtlb_miss)
    5.13  #ifdef CONFIG_XEN
    5.14  	movl r31=XSI_IPSR
    5.15  	;;
    5.16 -	ld8 r21=[r31],XSI_ISR-XSI_IPSR	// get ipsr, point to isr
    5.17 +	ld8 r21=[r31],XSI_ISR_OFS-XSI_IPSR_OFS	// get ipsr, point to isr
    5.18  	movl r17=PAGE_KERNEL
    5.19  	;;
    5.20 -	ld8 r20=[r31],XSI_IFA-XSI_ISR	// get isr, point to ifa
    5.21 +	ld8 r20=[r31],XSI_IFA_OFS-XSI_ISR_OFS	// get isr, point to ifa
    5.22  	movl r19=(((1 << IA64_MAX_PHYS_BITS) - 1) & ~0xfff)
    5.23  	;;
    5.24  	ld8 r16=[r31]		// get ifa
    5.25 @@ -688,12 +688,12 @@ ENTRY(page_fault)
    5.26  #ifdef CONFIG_XEN
    5.27  	movl r3=XSI_ISR
    5.28  	;;
    5.29 -	ld8 out1=[r3],XSI_IFA-XSI_ISR		// get vcr.isr, point to ifa
    5.30 +	ld8 out1=[r3],XSI_IFA_OFS-XSI_ISR_OFS	// get vcr.isr, point to ifa
    5.31  	;;
    5.32  	ld8 out0=[r3]				// get vcr.ifa
    5.33  	mov r14=1
    5.34  	;;
    5.35 -	add r3=XSI_PSR_IC-XSI_IFA, r3		// point to vpsr.ic
    5.36 +	add r3=XSI_PSR_IC_OFS-XSI_IFA_OFS, r3	// point to vpsr.ic
    5.37  	;;
    5.38  	st4 [r3]=r14				// vpsr.ic = 1
    5.39  	adds r3=8,r2				// set up second base pointer
    5.40 @@ -737,7 +737,7 @@ xen_page_fault:
    5.41  	;;
    5.42  (p15)	ld8 r3=[r3]
    5.43  	;;
    5.44 -(p15)	st1 [r3]=r0,XSI_PEND-XSI_PSR_I_ADDR	// if (p15) vpsr.i = 1
    5.45 +(p15)	st1 [r3]=r0,XSI_PEND_OFS-XSI_PSR_I_ADDR_OFS	// if (p15) vpsr.i = 1
    5.46  	mov r14=r0
    5.47  	;;
    5.48  (p15)	ld4 r14=[r3]				// if (pending_interrupts)
    5.49 @@ -1047,7 +1047,7 @@ ENTRY(break_fault)
    5.50  #ifdef CONFIG_XEN
    5.51  	movl r22=XSI_IPSR
    5.52  	;;
    5.53 -	ld8 r29=[r22],XSI_IIM-XSI_IPSR		// get ipsr, point to iip
    5.54 +	ld8 r29=[r22],XSI_IIM_OFS-XSI_IPSR_OFS	// get ipsr, point to iip
    5.55  #else
    5.56  	mov r29=cr.ipsr				// M2 (12 cyc)
    5.57  #endif
    5.58 @@ -1055,7 +1055,7 @@ ENTRY(break_fault)
    5.59  
    5.60  #ifdef CONFIG_XEN
    5.61  	;;
    5.62 -	ld8 r17=[r22],XSI_IIP-XSI_IIM
    5.63 +	ld8 r17=[r22],XSI_IIP_OFS-XSI_IIM_OFS
    5.64  #else
    5.65  	mov r17=cr.iim				// M2 (2 cyc)
    5.66  #endif
    5.67 @@ -1156,7 +1156,7 @@ 1:
    5.68  	movl r16=XSI_PSR_IC
    5.69  	mov r3=1
    5.70  	;;
    5.71 -	st4 [r16]=r3,XSI_PSR_I_ADDR-XSI_PSR_IC	// vpsr.ic = 1
    5.72 +	st4 [r16]=r3,XSI_PSR_I_ADDR_OFS-XSI_PSR_IC_OFS	// vpsr.ic = 1
    5.73  #else
    5.74  	ssm psr.ic | PSR_DEFAULT_BITS		// M2	now it's safe to re-enable intr.-collection
    5.75  #endif
    5.76 @@ -1170,7 +1170,7 @@ 1:
    5.77  #ifdef CONFIG_XEN
    5.78  (p15)	ld8 r16=[r16]				// vpsr.i
    5.79  	;;
    5.80 -(p15)	st1 [r16]=r0,XSI_PEND-XSI_PSR_I_ADDR	// if (p15) vpsr.i = 1
    5.81 +(p15)	st1 [r16]=r0,XSI_PEND_OFS-XSI_PSR_I_ADDR_OFS	// if (p15) vpsr.i = 1
    5.82  	mov r2=r0
    5.83  	;;
    5.84  (p15)	ld4 r2=[r16]				// if (pending_interrupts)
     6.1 --- a/linux-2.6-xen-sparse/arch/ia64/xen/xenpal.S	Tue Jun 20 16:29:59 2006 -0600
     6.2 +++ b/linux-2.6-xen-sparse/arch/ia64/xen/xenpal.S	Tue Jun 20 17:02:22 2006 -0600
     6.3 @@ -45,7 +45,7 @@ 1:	{
     6.4  	;;
     6.5  (p6)	st4 [r31]=r0
     6.6  	;;
     6.7 -(p7)	adds r31=XSI_PSR_I_ADDR-XSI_PSR_IC,r31
     6.8 +(p7)	adds r31=XSI_PSR_I_ADDR_OFS-XSI_PSR_IC_OFS,r31
     6.9  (p7)	mov r22=1
    6.10  	;;
    6.11  (p7)	ld8 r31=[r31]
     7.1 --- a/linux-2.6-xen-sparse/include/asm-ia64/xen/privop.h	Tue Jun 20 16:29:59 2006 -0600
     7.2 +++ b/linux-2.6-xen-sparse/include/asm-ia64/xen/privop.h	Tue Jun 20 17:02:22 2006 -0600
     7.3 @@ -10,11 +10,13 @@
     7.4   */
     7.5  
     7.6  
     7.7 -#include <asm/xen/asm-xsi-offsets.h>
     7.8  #include <xen/interface/arch-ia64.h>
     7.9  
    7.10  #define IA64_PARAVIRTUALIZED
    7.11  
    7.12 +#define XSI_OFS		XSI_SIZE
    7.13 +#define XPRIVREG_BASE	(XSI_BASE + XSI_SIZE)
    7.14 +
    7.15  #ifdef __ASSEMBLY__
    7.16  #define	XEN_HYPER_RFI			break HYPERPRIVOP_RFI
    7.17  #define	XEN_HYPER_RSM_PSR_DT		break HYPERPRIVOP_RSM_DT
    7.18 @@ -39,6 +41,21 @@
    7.19  #define	XEN_HYPER_GET_PMD		break HYPERPRIVOP_GET_PMD
    7.20  #define	XEN_HYPER_GET_EFLAG		break HYPERPRIVOP_GET_EFLAG
    7.21  #define	XEN_HYPER_SET_EFLAG		break HYPERPRIVOP_SET_EFLAG
    7.22 +
    7.23 +#define XSI_IFS			(XSI_BASE + XSI_IFS_OFS)
    7.24 +#define XSI_PRECOVER_IFS	(XSI_BASE + XSI_PRECOVER_IFS_OFS)
    7.25 +#define XSI_INCOMPL_REGFR	(XSI_BASE + XSI_INCOMPL_REGFR_OFS)
    7.26 +#define XSI_IFA			(XSI_BASE + XSI_IFA_OFS)
    7.27 +#define XSI_ISR			(XSI_BASE + XSI_ISR_OFS)
    7.28 +#define XSI_IIM			(XSI_BASE + XSI_IIM_OFS)
    7.29 +#define XSI_ITIR		(XSI_BASE + XSI_ITIR_OFS)
    7.30 +#define XSI_PSR_I_ADDR		(XSI_BASE + XSI_PSR_I_ADDR_OFS)
    7.31 +#define XSI_PSR_IC		(XSI_BASE + XSI_PSR_IC_OFS)
    7.32 +#define XSI_IPSR		(XSI_BASE + XSI_IPSR_OFS)
    7.33 +#define XSI_IIP			(XSI_BASE + XSI_IIP_OFS)
    7.34 +#define XSI_BANK1_R16		(XSI_BASE + XSI_BANK1_R16_OFS)
    7.35 +#define XSI_BANKNUM		(XSI_BASE + XSI_BANKNUM_OFS)
    7.36 +#define XSI_IHA			(XSI_BASE + XSI_IHA_OFS)
    7.37  #endif
    7.38  
    7.39  #ifndef __ASSEMBLY__
    7.40 @@ -81,15 +98,16 @@ extern void xen_set_eflag(unsigned long)
    7.41   * Others, like "pend", are abstractions based on privileged registers.
    7.42   * "Pend" is guaranteed to be set if reading cr.ivr would return a
    7.43   * (non-spurious) interrupt. */
    7.44 +#define XEN_PRIVREGS ((struct mapped_regs *)XPRIVREG_BASE)
    7.45  #define XSI_PSR_I			\
    7.46 -	(*(uint64_t *)(XSI_PSR_I_ADDR))
    7.47 +	(*XEN_PRIVREGS->interrupt_mask_addr)
    7.48  #define xen_get_virtual_psr_i()		\
    7.49 -	(!(*(uint8_t *)(XSI_PSR_I)))
    7.50 +	(!XSI_PSR_I)
    7.51  #define xen_set_virtual_psr_i(_val)	\
    7.52 -	({ *(uint8_t *)(XSI_PSR_I) = (uint8_t)(_val) ? 0:1; })
    7.53 +	({ XSI_PSR_I = (uint8_t)(_val) ? 0 : 1; })
    7.54  #define xen_set_virtual_psr_ic(_val)	\
    7.55 -	({ *(int *)(XSI_PSR_IC) = _val ? 1:0; })
    7.56 -#define xen_get_virtual_pend()		(*(int *)(XSI_PEND))
    7.57 +	({ XEN_PRIVREGS->interrupt_collection_enabled = _val ? 1 : 0; })
    7.58 +#define xen_get_virtual_pend()		(XEN_PRIVREGS->pending_interruption)
    7.59  
    7.60  /* Hyperprivops are "break" instructions with a well-defined API.
    7.61   * In particular, the virtual psr.ic bit must be off; in this way
     8.1 --- a/xen/arch/ia64/asm-xsi-offsets.c	Tue Jun 20 16:29:59 2006 -0600
     8.2 +++ b/xen/arch/ia64/asm-xsi-offsets.c	Tue Jun 20 17:02:22 2006 -0600
     8.3 @@ -48,7 +48,7 @@
     8.4  void foo(void)
     8.5  {
     8.6  	/* First is shared info page, and then arch specific vcpu context */
     8.7 -	DEFINE(XSI_BASE, SHAREDINFO_ADDR);
     8.8 +	//DEFINE(XSI_BASE, SHAREDINFO_ADDR);
     8.9  
    8.10  	DEFINE(XSI_PSR_I_ADDR_OFS, (XSI_OFS + offsetof(mapped_regs_t, interrupt_mask_addr)));
    8.11  	DEFINE(XSI_PSR_I_ADDR, (SHARED_ARCHINFO_ADDR+offsetof(mapped_regs_t, interrupt_mask_addr)));
     9.1 --- a/xen/arch/ia64/xen/fw_emul.c	Tue Jun 20 16:29:59 2006 -0600
     9.2 +++ b/xen/arch/ia64/xen/fw_emul.c	Tue Jun 20 17:02:22 2006 -0600
     9.3 @@ -373,7 +373,7 @@ again:
     9.4  		if (*fault != IA64_NO_FAULT) return 0;
     9.5  	}
     9.6  
     9.7 -	virt = domain_mpa_to_imva(v->domain, mpaddr);
     9.8 +	virt = (unsigned long)domain_mpa_to_imva(v->domain, mpaddr);
     9.9  	*page = virt_to_page(virt);
    9.10  	if (get_page(*page, current->domain) == 0) {
    9.11  		if (page_get_owner(*page) != current->domain) {
    10.1 --- a/xen/arch/ia64/xen/vcpu.c	Tue Jun 20 16:29:59 2006 -0600
    10.2 +++ b/xen/arch/ia64/xen/vcpu.c	Tue Jun 20 17:02:22 2006 -0600
    10.3 @@ -174,7 +174,8 @@ void vcpu_init_regs (struct vcpu *v)
    10.4  		VCPU(v, banknum) = 1;
    10.5  		VCPU(v, metaphysical_mode) = 1;
    10.6  		VCPU(v, interrupt_mask_addr) =
    10.7 -		    v->domain->arch.shared_info_va + INT_ENABLE_OFFSET(v);
    10.8 +		             (unsigned char *)v->domain->arch.shared_info_va +
    10.9 +		             INT_ENABLE_OFFSET(v);
   10.10  		VCPU(v, itv) = (1 << 16); /* timer vector masked */
   10.11  	}
   10.12  
    11.1 --- a/xen/include/asm-ia64/vmx.h	Tue Jun 20 16:29:59 2006 -0600
    11.2 +++ b/xen/include/asm-ia64/vmx.h	Tue Jun 20 17:02:22 2006 -0600
    11.3 @@ -55,6 +55,7 @@ extern void vmx_intr_assist(struct vcpu 
    11.4  extern void set_illegal_op_isr (struct vcpu *vcpu);
    11.5  extern void illegal_op (struct vcpu *vcpu);
    11.6  extern void vmx_relinquish_vcpu_resources(struct vcpu *v);
    11.7 +extern void vmx_die_if_kernel(char *str, struct pt_regs *regs, long err);
    11.8  
    11.9  static inline vcpu_iodata_t *get_vio(struct domain *d, unsigned long cpu)
   11.10  {
    12.1 --- a/xen/include/public/arch-ia64.h	Tue Jun 20 16:29:59 2006 -0600
    12.2 +++ b/xen/include/public/arch-ia64.h	Tue Jun 20 17:02:22 2006 -0600
    12.3 @@ -283,7 +283,7 @@ struct mapped_regs {
    12.4               * shared info area now. interrupt_mask_addr is the address
    12.5               * of evtchn_upcall_mask for current vcpu
    12.6               */
    12.7 -            unsigned long interrupt_mask_addr;
    12.8 +            unsigned char *interrupt_mask_addr;
    12.9              int pending_interruption;
   12.10              int incomplete_regframe; // see SDM vol2 6.8
   12.11              unsigned char vpsr_pp;
   12.12 @@ -380,6 +380,14 @@ DEFINE_XEN_GUEST_HANDLE(vcpu_guest_conte
   12.13  
   12.14  #endif /* !__ASSEMBLY__ */
   12.15  
   12.16 +/* Address of shared_info in domain virtual space.  */
   12.17 +#define XSI_BASE	0xf100000000000000
   12.18 +/* Size of the shared_info area (this is not related to page size).  */
   12.19 +#define XSI_LOG_SIZE	14
   12.20 +#define XSI_SIZE	(1 << XSI_LOG_SIZE)
   12.21 +/* Log size of mapped_regs area (64 KB - only 4KB is used).  */
   12.22 +#define XASI_LOG_SIZE	16
   12.23 +
   12.24  /* Hyperprivops.  */
   12.25  #define HYPERPRIVOP_RFI			0x1
   12.26  #define HYPERPRIVOP_RSM_DT		0x2