debuggers.hg

view xen/include/asm-ia64/domain.h @ 4619:5b9e241131fb

bitkeeper revision 1.1329 (42661815u5WPq8d5f4_axi2xWheybA)

Merge firebug.cl.cam.ac.uk:/local/scratch/kaf24/xen-unstable.bk
into firebug.cl.cam.ac.uk:/local/scratch/kaf24/xeno-unstable-ia64.bk
author kaf24@firebug.cl.cam.ac.uk
date Wed Apr 20 08:51:33 2005 +0000 (2005-04-20)
parents 7fc6eac6da3a 58efb3448933
children 38a02ee9a9c8 65b28c74cec2
line source
1 #ifndef __ASM_DOMAIN_H__
2 #define __ASM_DOMAIN_H__
4 #include <linux/thread_info.h>
6 extern void arch_do_createdomain(struct exec_domain *);
8 extern int arch_final_setup_guestos(
9 struct exec_domain *, full_execution_context_t *);
11 extern void domain_relinquish_resources(struct domain *);
13 struct arch_domain {
14 struct mm_struct *active_mm;
15 struct mm_struct *mm;
16 int metaphysical_rid;
17 int starting_rid; /* first RID assigned to domain */
18 int ending_rid; /* one beyond highest RID assigned to domain */
19 int rid_bits; /* number of virtual rid bits (default: 18) */
20 int breakimm;
21 u64 xen_vastart;
22 u64 xen_vaend;
23 u64 shared_info_va;
24 #ifdef DOMU_AUTO_RESTART
25 u64 image_start;
26 u64 image_len;
27 u64 entry;
28 #endif
29 };
30 #define metaphysical_rid arch.metaphysical_rid
31 #define starting_rid arch.starting_rid
32 #define ending_rid arch.ending_rid
33 #define rid_bits arch.rid_bits
34 #define breakimm arch.breakimm
35 #define xen_vastart arch.xen_vastart
36 #define xen_vaend arch.xen_vaend
37 #define shared_info_va arch.shared_info_va
39 struct arch_exec_domain {
40 void *regs; /* temporary until find a better way to do privops */
41 struct thread_struct _thread;
42 struct mm_struct *active_mm;
43 };
44 #define active_mm arch.active_mm
45 #define thread arch._thread
47 // FOLLOWING FROM linux-2.6.7/include/sched.h
49 struct mm_struct {
50 struct vm_area_struct * mmap; /* list of VMAs */
51 #ifndef XEN
52 struct rb_root mm_rb;
53 #endif
54 struct vm_area_struct * mmap_cache; /* last find_vma result */
55 unsigned long free_area_cache; /* first hole */
56 pgd_t * pgd;
57 atomic_t mm_users; /* How many users with user space? */
58 atomic_t mm_count; /* How many references to "struct mm_struct" (users count as 1) */
59 int map_count; /* number of VMAs */
60 #ifndef XEN
61 struct rw_semaphore mmap_sem;
62 #endif
63 spinlock_t page_table_lock; /* Protects task page tables and mm->rss */
65 struct list_head mmlist; /* List of all active mm's. These are globally strung
66 * together off init_mm.mmlist, and are protected
67 * by mmlist_lock
68 */
70 unsigned long start_code, end_code, start_data, end_data;
71 unsigned long start_brk, brk, start_stack;
72 unsigned long arg_start, arg_end, env_start, env_end;
73 unsigned long rss, total_vm, locked_vm;
74 unsigned long def_flags;
76 unsigned long saved_auxv[40]; /* for /proc/PID/auxv */
78 unsigned dumpable:1;
79 #ifdef CONFIG_HUGETLB_PAGE
80 int used_hugetlb;
81 #endif
82 #ifndef XEN
83 cpumask_t cpu_vm_mask;
85 /* Architecture-specific MM context */
86 mm_context_t context;
88 /* coredumping support */
89 int core_waiters;
90 struct completion *core_startup_done, core_done;
92 /* aio bits */
93 rwlock_t ioctx_list_lock;
94 struct kioctx *ioctx_list;
96 struct kioctx default_kioctx;
97 #endif
98 };
100 extern struct mm_struct init_mm;
102 #include <asm/uaccess.h> /* for KERNEL_DS */
103 #include <asm/pgtable.h>
105 #endif /* __ASM_DOMAIN_H__ */
107 /*
108 * Local variables:
109 * mode: C
110 * c-set-style: "BSD"
111 * c-basic-offset: 4
112 * tab-width: 4
113 * indent-tabs-mode: nil
114 * End:
115 */