ia64/xen-unstable

diff xen/include/public/arch-ia64.h @ 10692:306d7857928c

[IA64] Save & restore.

xc_ia64_linux_save.c and xc_ia64_linux_restore.c added.
vcpu context has more registers and states (eg: tr registers).
Per cpu irqs are deallocated when cpu is switched off.
#if/#endif added in reboot.c for ia64.

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
author awilliam@xenbuild.aw
date Tue Jul 11 12:51:18 2006 -0600 (2006-07-11)
parents 63595abd80c5
children 8d501f39286c
line diff
     1.1 --- a/xen/include/public/arch-ia64.h	Tue Jul 11 11:29:25 2006 -0600
     1.2 +++ b/xen/include/public/arch-ia64.h	Tue Jul 11 12:51:18 2006 -0600
     1.3 @@ -302,10 +302,27 @@ typedef struct arch_shared_info arch_sha
     1.4  
     1.5  typedef unsigned long xen_callback_t;
     1.6  
     1.7 +struct ia64_tr_entry {
     1.8 +    unsigned long pte;
     1.9 +    unsigned long itir;
    1.10 +    unsigned long vadr;
    1.11 +    unsigned long rid;
    1.12 +};
    1.13 +
    1.14 +struct vcpu_extra_regs {
    1.15 +    struct ia64_tr_entry itrs[8];
    1.16 +    struct ia64_tr_entry dtrs[8];
    1.17 +    unsigned long iva;
    1.18 +    unsigned long dcr;
    1.19 +    unsigned long event_callback_ip;
    1.20 +};
    1.21 +
    1.22  struct vcpu_guest_context {
    1.23 +#define VGCF_EXTRA_REGS (1<<1)	/* Get/Set extra regs.  */
    1.24      unsigned long flags;       /* VGCF_* flags */
    1.25  
    1.26      struct cpu_user_regs user_regs;
    1.27 +    struct vcpu_extra_regs extra_regs;
    1.28      unsigned long privregs_pfn;
    1.29  };
    1.30  typedef struct vcpu_guest_context vcpu_guest_context_t;