ia64/xen-unstable

view xen/include/asm-ia64/config.h @ 5082:fa6017bfc76d

bitkeeper revision 1.1472.3.1 (4290dc73cMlPc5EvXdqDP501vv78Vw)

config.h, Makefile:
CONFIG_PCI disabled in xen

Signed-off-by: Arun Sharma <arun.sharma@intel.com>
author adsharma@linux-t08.sc.intel.com
date Sun May 22 19:24:35 2005 +0000 (2005-05-22)
parents 035a3dd3409a
children 2ea8c80c91eb
line source
1 // control flags for turning on/off features under test
2 #undef CLONE_DOMAIN0
3 //#define CLONE_DOMAIN0 1
4 #define DOMU_BUILD_STAGING
5 #define VHPT_GLOBAL
6 #define DOMU_AUTO_RESTART
8 // manufactured from component pieces
10 // defined in linux/arch/ia64/defconfig
11 //#define CONFIG_IA64_GENERIC
12 #define CONFIG_IA64_HP_SIM
13 #define CONFIG_IA64_L1_CACHE_SHIFT 7
14 // needed by include/asm-ia64/page.h
15 #define CONFIG_IA64_PAGE_SIZE_16KB // 4KB doesn't work?!?
16 #define CONFIG_IA64_GRANULE_16MB
18 #ifndef __ASSEMBLY__
20 // can't find where this typedef was before?!?
21 // needed by include/asm-ia64/processor.h (and other places)
22 typedef int pid_t;
24 // from include/linux/kernel.h
25 #define ALIGN(x,a) (((x)+(a)-1)&~((a)-1))
27 //////////////////////////////////////
29 #define FASTCALL(x) x // see linux/include/linux/linkage.h
30 #define fastcall // " "
32 #define watchdog_disable() ((void)0)
33 #define watchdog_enable() ((void)0)
34 // from linux/include/linux/types.h
35 #define CLEAR_BITMAP(name,bits) \
36 memset(name, 0, BITS_TO_LONGS(bits)*sizeof(unsigned long))
38 // FIXME?: x86-ism used in xen/mm.h
39 #define LOCK_PREFIX
41 extern unsigned long xenheap_phys_end;
42 extern unsigned long xen_pstart;
43 extern unsigned long xenheap_size;
45 // from linux/include/linux/mm.h
46 extern struct page *mem_map;
48 // xen/include/asm/config.h
49 extern char _end[]; /* standard ELF symbol */
51 // linux/include/linux/compiler.h
52 #define __attribute_const__
53 #define __user
54 //#define __kernel
55 //#define __safe
56 #define __force
57 #define __chk_user_ptr(x) (void)0
58 //#define __chk_io_ptr(x) (void)0
59 //#define __builtin_warning(x, y...) (1)
60 //#define __acquires(x)
61 //#define __releases(x)
62 //#define __acquire(x) (void)0
63 //#define __release(x) (void)0
64 //#define __cond_lock(x) (x)
65 #define __must_check
66 #define __deprecated
68 // xen/include/asm/config.h
69 #define HZ 100
70 // leave SMP for a later time
71 #define NR_CPUS 1
72 //#define NR_CPUS 16
73 //#define CONFIG_NR_CPUS 16
74 #define barrier() __asm__ __volatile__("": : :"memory")
76 ///////////////////////////////////////////////////////////////
77 // xen/include/asm/config.h
78 // Natural boundary upon TR size to define xenheap space
79 #define XENHEAP_DEFAULT_MB (1 << (KERNEL_TR_PAGE_SHIFT - 20))
80 #define XENHEAP_DEFAULT_SIZE (1 << KERNEL_TR_PAGE_SHIFT)
81 #define ELFSIZE 64
83 ///////////////////////////////////////////////////////////////
85 // get rid of difficult circular include dependency
86 #define CMPXCHG_BUGCHECK(v)
87 #define CMPXCHG_BUGCHECK_DECL
89 // from include/asm-ia64/smp.h
90 #ifdef CONFIG_SMP
91 #error "Lots of things to fix to enable CONFIG_SMP!"
92 #endif
93 #define get_cpu() 0
94 #define put_cpu() do {} while(0)
96 // from linux/include/linux/mm.h
97 struct page;
99 // function calls; see decl in xen/include/xen/sched.h
100 #undef free_task_struct
101 #undef alloc_task_struct
103 // initial task has a different name in Xen
104 //#define idle0_task init_task
105 #define idle0_exec_domain init_task
107 // avoid redefining task_t in asm/thread_info.h
108 #define task_t struct domain
110 // avoid redefining task_struct in asm/current.h
111 #define task_struct exec_domain
113 // linux/include/asm-ia64/machvec.h (linux/arch/ia64/lib/io.c)
114 #define platform_inb __ia64_inb
115 #define platform_inw __ia64_inw
116 #define platform_inl __ia64_inl
117 #define platform_outb __ia64_outb
118 #define platform_outw __ia64_outw
119 #define platform_outl __ia64_outl
121 // FIXME: This just overrides a use in a typedef (not allowed in ia64,
122 // or maybe just in older gcc's?) used in ac_timer.c but should be OK
123 // (and indeed is probably required!) elsewhere
124 #undef __cacheline_aligned
125 #undef ____cacheline_aligned
126 #undef ____cacheline_aligned_in_smp
127 #define __cacheline_aligned
128 #define __cacheline_aligned_in_smp
129 #define ____cacheline_aligned
130 #define ____cacheline_aligned_in_smp
131 #define ____cacheline_maxaligned_in_smp
133 #include "asm/types.h" // for u64
135 // warning: unless search_extable is declared, the return value gets
136 // truncated to 32-bits, causing a very strange error in privop handling
137 struct exception_table_entry;
139 const struct exception_table_entry *
140 search_extable(const struct exception_table_entry *first,
141 const struct exception_table_entry *last,
142 unsigned long value);
143 void sort_extable(struct exception_table_entry *start,
144 struct exception_table_entry *finish);
145 void sort_main_extable(void);
147 #define printk printf
149 #undef __ARCH_IRQ_STAT
151 #define find_first_set_bit(x) (ffs(x)-1) // FIXME: Is this right???
153 // from include/asm-x86/*/uaccess.h
154 #define array_access_ok(addr,count,size) \
155 (likely(sizeof(count) <= 4) /* disallow 64-bit counts */ && \
156 access_ok(type,addr,count*size))
158 // without this, uart_config_stageX does outb's which are non-portable
159 #define NO_UART_CONFIG_OK
161 // see drivers/char/console.c
162 #define OPT_CONSOLE_STR "com1"
164 #define __attribute_used__ __attribute__ ((unused))
166 // see include/asm-x86/atomic.h (different from standard linux)
167 #define _atomic_set(v,i) (((v).counter) = (i))
168 #define _atomic_read(v) ((v).counter)
169 // FIXME following needs work
170 #define atomic_compareandswap(old, new, v) old
172 // see include/asm-ia64/mm.h, handle remaining pfn_info uses until gone
173 #define pfn_info page
175 // see common/keyhandler.c
176 #define nop() asm volatile ("nop 0")
178 // from include/linux/preempt.h (needs including from interrupt.h or smp.h)
179 #define preempt_enable() do { } while (0)
180 #define preempt_disable() do { } while (0)
182 // needed for include/xen/linuxtime.h
183 typedef s64 time_t;
184 typedef s64 suseconds_t;
186 // needed for include/linux/jiffies.h
187 typedef long clock_t;
189 // from include/linux/kernel.h, needed by jiffies.h
190 #define typecheck(type,x) \
191 ({ type __dummy; \
192 typeof(x) __dummy2; \
193 (void)(&__dummy == &__dummy2); \
194 1; \
195 })
197 // from include/linux/timex.h, needed by arch/ia64/time.c
198 #define TIME_SOURCE_CPU 0
200 // used in common code
201 #define softirq_pending(cpu) (cpu_data(cpu)->softirq_pending)
203 // dup'ed from signal.h to avoid changes to includes
204 #define SA_SHIRQ 0x04000000
205 #define SA_INTERRUPT 0x20000000
207 // needed for setup.c
208 extern unsigned long loops_per_jiffy;
209 extern char saved_command_line[];
210 struct screen_info { };
211 #define seq_printf(a,b...) printf(b)
212 #define CONFIG_BLK_DEV_INITRD // needed to reserve memory for domain0
214 // needed for newer ACPI code
215 #define asmlinkage
217 #define FORCE_CRASH() asm("break 0;;");
219 // these declarations got moved at some point, find a better place for them
220 extern int opt_noht;
221 extern int ht_per_core;
223 // needed for include/xen/smp.h
224 #define __smp_processor_id() 0
226 // xen/include/asm/config.h
227 /******************************************************************************
228 * config.h
229 *
230 * A Linux-style configuration list.
231 */
233 #ifndef __XEN_IA64_CONFIG_H__
234 #define __XEN_IA64_CONFIG_H__
236 #undef CONFIG_X86
238 #define CONFIG_MCKINLEY
240 //#define CONFIG_SMP 1
241 //#define CONFIG_NR_CPUS 2
242 //leave SMP for a later time
243 #undef CONFIG_SMP
244 #undef CONFIG_X86_LOCAL_APIC
245 #undef CONFIG_X86_IO_APIC
246 #undef CONFIG_X86_L1_CACHE_SHIFT
248 // this needs to be on to run on hp zx1 with more than 4GB
249 // it is hacked around for now though
250 //#define CONFIG_VIRTUAL_MEM_MAP
252 //#ifndef CONFIG_IA64_HP_SIM
253 // looks like this is hard to turn off for Xen
254 #define CONFIG_ACPI 1
255 #define CONFIG_ACPI_BOOT 1
256 //#endif
258 #define CONFIG_XEN_ATTENTION_KEY 1
259 #endif /* __ASSEMBLY__ */
260 #endif /* __XEN_IA64_CONFIG_H__ */
262 // FOLLOWING ADDED FOR XEN POST-NGIO and/or LINUX 2.6.7
264 // following derived from linux/include/linux/compiler-gcc3.h
265 // problem because xen (over?)simplifies include/xen/compiler.h
266 #if __GNUC_MAJOR < 3 || __GNUC_MINOR__ >= 3
267 # define __attribute_used__ __attribute__((__used__))
268 #else
269 # define __attribute_used__ __attribute__((__unused__))
270 #endif