ia64/xen-unstable
changeset 4703:d061c29af8d7
bitkeeper revision 1.1327.1.11 (42716283nLvDhTYM3QOqDMa-wZuJHQ)
More code cleanup
More code cleanup
author | djm@kirby.fc.hp.com |
---|---|
date | Thu Apr 28 22:24:03 2005 +0000 (2005-04-28) |
parents | 632f2e07883a |
children | 4db173f346dd |
files | .rootkeys xen/arch/ia64/Makefile xen/arch/ia64/patch/linux-2.6.11/current.h xen/arch/ia64/patch/linux-2.6.11/hardirq.h xen/arch/ia64/patch/linux-2.6.11/hpsim_irq.c xen/arch/ia64/patch/linux-2.6.11/irq.h xen/arch/ia64/patch/linux-2.6.11/kernel-time.c xen/arch/ia64/patch/linux-2.6.11/linuxextable.c xen/arch/ia64/patch/linux-2.6.11/linuxtime.h xen/arch/ia64/patch/linux-2.6.11/mm_contig.c xen/arch/ia64/patch/linux-2.6.11/mmzone.h xen/arch/ia64/patch/linux-2.6.11/sal.h xen/arch/ia64/patch/linux-2.6.11/slab.h xen/arch/ia64/patch/linux-2.6.11/unaligned.c xen/arch/ia64/patch/linux-2.6.11/wait.h xen/arch/ia64/tools/mkbuildtree xen/arch/ia64/xenmem.c xen/arch/ia64/xenmisc.c |
line diff
1.1 --- a/.rootkeys Thu Apr 28 20:54:13 2005 +0000 1.2 +++ b/.rootkeys Thu Apr 28 22:24:03 2005 +0000 1.3 @@ -1082,43 +1082,32 @@ 421098b3Heh72KuoVlND3CH6c0B0aA xen/arch/ 1.4 421098b3O0MYMUsmYVFy84VV_1gFwQ xen/arch/ia64/mm_init.c 1.5 425ae516skiHBZU-Kfwxv2YWXfNRWQ xen/arch/ia64/patch/linux-2.6.11/bootmem.h 1.6 425ae516maKAsHBJVSzs19cdRgt3Nw xen/arch/ia64/patch/linux-2.6.11/cpumask.h 1.7 -425ae516rHybgKj6KsvBOE0c_Hruxg xen/arch/ia64/patch/linux-2.6.11/current.h 1.8 425ae516cGqvMzGtihTEsQXAXsuOhQ xen/arch/ia64/patch/linux-2.6.11/efi.c 1.9 425ae516Y1A4q4_Kfre3qnDj7lbHJg xen/arch/ia64/patch/linux-2.6.11/entry.S 1.10 -425ae516RoFheL-Ua-EOtFqmLxoc9g xen/arch/ia64/patch/linux-2.6.11/hardirq.h 1.11 425ae516PDO1ESDHXHVeDNvlqUfmdQ xen/arch/ia64/patch/linux-2.6.11/head.S 1.12 -425ae5163aiWdc1IZNsON6ruE2-n9g xen/arch/ia64/patch/linux-2.6.11/hpsim_irq.c 1.13 425ae516JR7HWvt1zxJ-wLvEWmJGgg xen/arch/ia64/patch/linux-2.6.11/hpsim_ssc.h 1.14 425ae516AHRNmaVuZjJY-9YjmKRDqg xen/arch/ia64/patch/linux-2.6.11/interrupt.h 1.15 425ae516U2wFUzrUJQUpy3z38jZHsQ xen/arch/ia64/patch/linux-2.6.11/io.h 1.16 -425ae516nXL2iTzpziIaSLi3N257qQ xen/arch/ia64/patch/linux-2.6.11/irq.h 1.17 425ae516GGRmXijPBLC5ii6yWOn0rg xen/arch/ia64/patch/linux-2.6.11/irq_ia64.c 1.18 425ae516qQA5dHuIybqfN3nEzM_Zvg xen/arch/ia64/patch/linux-2.6.11/ivt.S 1.19 -425ae516_UhrTa3Y8wDG7fTgX6pNYA xen/arch/ia64/patch/linux-2.6.11/kernel-time.c 1.20 425ae516atiECmpn_6nZDw4kkmbJ6g xen/arch/ia64/patch/linux-2.6.11/kregs.h 1.21 425ae516lwlYwHG1Jv93kC3tfU5caw xen/arch/ia64/patch/linux-2.6.11/lds.S 1.22 -425ae516UGTH2xC56DEIlHSrPH4oxg xen/arch/ia64/patch/linux-2.6.11/linuxextable.c 1.23 425ae516txAP-owjzpTJ7ThfzWR8nw xen/arch/ia64/patch/linux-2.6.11/linuxhardirq.h 1.24 -425ae516kNsO5yYnBHvAISdvCkQ2-g xen/arch/ia64/patch/linux-2.6.11/linuxtime.h 1.25 425ae516Je2zI-Iw30_uGhvUYdlCZQ xen/arch/ia64/patch/linux-2.6.11/mca_asm.h 1.26 425ae5160-9wHxh0tOnIjavEjt6W0A xen/arch/ia64/patch/linux-2.6.11/minstate.h 1.27 425ae516N7SaORdbodDr90tmtCzYXw xen/arch/ia64/patch/linux-2.6.11/mm_contig.c 1.28 -425ae516YcBgoZ3xCTEmhCrgX8CjCA xen/arch/ia64/patch/linux-2.6.11/mmzone.h 1.29 425ae516WDLrfEA4zr40d00z0VIWPg xen/arch/ia64/patch/linux-2.6.11/page.h 1.30 425ae516pVQ75NhdItT593SiWI0lbQ xen/arch/ia64/patch/linux-2.6.11/pal.S 1.31 425ae516QfmjiF_a-mabAXqV8Imzkg xen/arch/ia64/patch/linux-2.6.11/pgalloc.h 1.32 425ae516EWaNOBEnc1xnphTbRmNZsw xen/arch/ia64/patch/linux-2.6.11/processor.h 1.33 -425ae5165sks4NwRldZOV_p63fspYw xen/arch/ia64/patch/linux-2.6.11/sal.h 1.34 425ae516LecDyXlwh3NLBtHZKXmMcA xen/arch/ia64/patch/linux-2.6.11/series 1.35 425ae516RFiPn2CGkpJ21LM-1lJcQg xen/arch/ia64/patch/linux-2.6.11/setup.c 1.36 -425ae516-xgihgqPEv-Aq8-9cNoCXg xen/arch/ia64/patch/linux-2.6.11/slab.h 1.37 425ae516FX_10YaKGMU8Ysf7kkdm_A xen/arch/ia64/patch/linux-2.6.11/swiotlb.c 1.38 425ae516p4ICTkjqNYEfYFxqULj4dw xen/arch/ia64/patch/linux-2.6.11/system.h 1.39 425ae516juUB257qrwUdsL9AsswrqQ xen/arch/ia64/patch/linux-2.6.11/time.c 1.40 425ae5167zQn7zYcgKtDUDX2v-e8mw xen/arch/ia64/patch/linux-2.6.11/tlb.c 1.41 425ae5162bIl2Dgd19x-FceB4L9oGw xen/arch/ia64/patch/linux-2.6.11/types.h 1.42 425ae516cFUNY2jHD46bujcF5NJheA xen/arch/ia64/patch/linux-2.6.11/unaligned.c 1.43 -425ae516viTtlyQjWHf6kBmq8KcwiQ xen/arch/ia64/patch/linux-2.6.11/wait.h 1.44 421098b39QFMC-1t1r38CA7NxAYBPA xen/arch/ia64/patch/linux-2.6.7/bootmem.h 1.45 421098b3SIA1vZX9fFUjo1T3o_jMCQ xen/arch/ia64/patch/linux-2.6.7/current.h 1.46 421098b3ZBl80iPuSeDU_Id5AgZl0w xen/arch/ia64/patch/linux-2.6.7/efi.c 1.47 @@ -1179,6 +1168,7 @@ 4252ace74lKUPFnO8PmF0Dtpk7Xkng xen/arch/ 1.48 41a26ebc--sjlYZQxmIxyCx3jw70qA xen/arch/ia64/vcpu.c 1.49 421098b6M2WhsJ_ZMzFamAQcdc5gzw xen/arch/ia64/vhpt.c 1.50 41a26ebc4jSBGQOuyNIPDST58mNbBw xen/arch/ia64/xenasm.S 1.51 +427162263zDUiPmTj-lP4eGyXs5eIg xen/arch/ia64/xenmem.c 1.52 421098b6mWyFPtkhPz9h1LCmKpoCLg xen/arch/ia64/xenmisc.c 1.53 421098b6lY2JzrV1oFDbrt7XQhtElg xen/arch/ia64/xensetup.c 1.54 3ddb79bcZbRBzT3elFWSX7u6NtMagQ xen/arch/x86/Makefile
2.1 --- a/xen/arch/ia64/Makefile Thu Apr 28 20:54:13 2005 +0000 2.2 +++ b/xen/arch/ia64/Makefile Thu Apr 28 22:24:03 2005 +0000 2.3 @@ -6,7 +6,7 @@ OBJS = xensetup.o setup.o time.o irq.o i 2.4 xenmisc.o pdb-stub.o acpi.o hypercall.o \ 2.5 machvec.o dom0_ops.o domain.o \ 2.6 idle0_task.o pal.o hpsim.o efi.o efi_stub.o ivt.o mm_contig.o \ 2.7 - sal.o cmdline.o mm_init.o tlb.o smpboot.o \ 2.8 + xenmem.o sal.o cmdline.o mm_init.o tlb.o smpboot.o \ 2.9 extable.o linuxextable.o \ 2.10 regionreg.o entry.o unaligned.o privop.o vcpu.o \ 2.11 irq_ia64.o irq_lsapic.o vhpt.o xenasm.o dom_fw.o
3.1 --- a/xen/arch/ia64/patch/linux-2.6.11/current.h Thu Apr 28 20:54:13 2005 +0000 3.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 3.3 @@ -1,22 +0,0 @@ 3.4 - current.h | 8 ++++++++ 3.5 - 1 files changed, 8 insertions(+) 3.6 - 3.7 -Index: linux-2.6.11/include/asm-ia64/current.h 3.8 -=================================================================== 3.9 ---- linux-2.6.11.orig/include/asm-ia64/current.h 2005-03-02 01:38:19.000000000 -0600 3.10 -+++ linux-2.6.11/include/asm-ia64/current.h 2005-03-19 12:39:41.410955288 -0600 3.11 -@@ -12,6 +12,14 @@ 3.12 - * In kernel mode, thread pointer (r13) is used to point to the current task 3.13 - * structure. 3.14 - */ 3.15 -+#ifdef XEN 3.16 -+struct domain; 3.17 -+#define get_current() ((struct exec_domain *) ia64_getreg(_IA64_REG_TP)) 3.18 -+#define current get_current() 3.19 -+//#define set_current(d) ia64_setreg(_IA64_REG_TP,(void *)d); 3.20 -+#define set_current(d) (ia64_r13 = (void *)d) 3.21 -+#else 3.22 - #define current ((struct task_struct *) ia64_getreg(_IA64_REG_TP)) 3.23 -+#endif 3.24 - 3.25 - #endif /* _ASM_IA64_CURRENT_H */
4.1 --- a/xen/arch/ia64/patch/linux-2.6.11/hardirq.h Thu Apr 28 20:54:13 2005 +0000 4.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 4.3 @@ -1,15 +0,0 @@ 4.4 - hardirq.h | 1 + 4.5 - 1 files changed, 1 insertion(+) 4.6 - 4.7 -Index: linux-2.6.11-xendiffs/include/asm-ia64/hardirq.h 4.8 -=================================================================== 4.9 ---- linux-2.6.11-xendiffs.orig/include/asm-ia64/hardirq.h 2005-03-24 15:59:37.210502749 -0600 4.10 -+++ linux-2.6.11-xendiffs/include/asm-ia64/hardirq.h 2005-03-24 16:00:19.439540961 -0600 4.11 -@@ -20,6 +20,7 @@ 4.12 - #define __ARCH_IRQ_STAT 1 4.13 - 4.14 - #define local_softirq_pending() (local_cpu_data->softirq_pending) 4.15 -+#define softirq_pending(cpu) (cpu_data(cpu)->softirq_pending) 4.16 - 4.17 - #define HARDIRQ_BITS 14 4.18 -
5.1 --- a/xen/arch/ia64/patch/linux-2.6.11/hpsim_irq.c Thu Apr 28 20:54:13 2005 +0000 5.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 5.3 @@ -1,41 +0,0 @@ 5.4 - hpsim_irq.c | 15 +++++++++++++++ 5.5 - 1 files changed, 15 insertions(+) 5.6 - 5.7 -Index: linux-2.6.11/arch/ia64/hp/sim/hpsim_irq.c 5.8 -=================================================================== 5.9 ---- linux-2.6.11.orig/arch/ia64/hp/sim/hpsim_irq.c 2005-03-02 01:38:33.000000000 -0600 5.10 -+++ linux-2.6.11/arch/ia64/hp/sim/hpsim_irq.c 2005-03-19 13:33:57.312014806 -0600 5.11 -@@ -9,7 +9,17 @@ 5.12 - #include <linux/kernel.h> 5.13 - #include <linux/sched.h> 5.14 - #include <linux/irq.h> 5.15 -+#ifdef XEN 5.16 -+#include <asm/hw_irq.h> 5.17 -+#endif 5.18 - 5.19 -+#if 1 5.20 -+void __init 5.21 -+hpsim_irq_init (void) 5.22 -+{ 5.23 -+ printf("*** hpsim_irq_init called: NOT NEEDED?!?!?\n"); 5.24 -+} 5.25 -+#else 5.26 - static unsigned int 5.27 - hpsim_irq_startup (unsigned int irq) 5.28 - { 5.29 -@@ -19,6 +29,10 @@ hpsim_irq_startup (unsigned int irq) 5.30 - static void 5.31 - hpsim_irq_noop (unsigned int irq) 5.32 - { 5.33 -+#if 1 5.34 -+printf("hpsim_irq_noop: irq=%d\n",irq); 5.35 -+while(irq); 5.36 -+#endif 5.37 - } 5.38 - 5.39 - static void 5.40 -@@ -49,3 +63,4 @@ hpsim_irq_init (void) 5.41 - idesc->handler = &irq_type_hp_sim; 5.42 - } 5.43 - } 5.44 -+#endif
6.1 --- a/xen/arch/ia64/patch/linux-2.6.11/irq.h Thu Apr 28 20:54:13 2005 +0000 6.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 6.3 @@ -1,23 +0,0 @@ 6.4 - irq.h | 9 +++++++++ 6.5 - 1 files changed, 9 insertions(+) 6.6 - 6.7 -Index: linux-2.6.11/include/asm-ia64/irq.h 6.8 -=================================================================== 6.9 ---- linux-2.6.11.orig/include/asm-ia64/irq.h 2005-03-02 01:38:33.000000000 -0600 6.10 -+++ linux-2.6.11/include/asm-ia64/irq.h 2005-03-19 13:42:27.957677364 -0600 6.11 -@@ -30,6 +30,15 @@ extern void disable_irq_nosync (unsigned 6.12 - extern void enable_irq (unsigned int); 6.13 - extern void set_irq_affinity_info (unsigned int irq, int dest, int redir); 6.14 - 6.15 -+#ifdef XEN 6.16 -+// dup'ed from signal.h to avoid changes to includes 6.17 -+#define SA_NOPROFILE 0x02000000 6.18 -+#define SA_SHIRQ 0x04000000 6.19 -+#define SA_RESTART 0x10000000 6.20 -+#define SA_INTERRUPT 0x20000000 6.21 -+#define SA_SAMPLE_RANDOM SA_RESTART 6.22 -+#endif 6.23 -+ 6.24 - #ifdef CONFIG_SMP 6.25 - extern void move_irq(int irq); 6.26 - #else
7.1 --- a/xen/arch/ia64/patch/linux-2.6.11/kernel-time.c Thu Apr 28 20:54:13 2005 +0000 7.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 7.3 @@ -1,44 +0,0 @@ 7.4 - time.c | 7 ++++++- 7.5 - 1 files changed, 6 insertions(+), 1 deletion(-) 7.6 - 7.7 -Index: linux-2.6.11/kernel/time.c 7.8 -=================================================================== 7.9 ---- linux-2.6.11.orig/kernel/time.c 2005-03-02 01:37:50.000000000 -0600 7.10 -+++ linux-2.6.11/kernel/time.c 2005-03-19 14:56:40.767870674 -0600 7.11 -@@ -495,6 +495,7 @@ void getnstimeofday (struct timespec *tv 7.12 - tv->tv_nsec = nsec; 7.13 - } 7.14 - 7.15 -+#ifndef XEN 7.16 - int do_settimeofday (struct timespec *tv) 7.17 - { 7.18 - time_t wtm_sec, sec = tv->tv_sec; 7.19 -@@ -503,7 +504,9 @@ int do_settimeofday (struct timespec *tv 7.20 - if ((unsigned long)tv->tv_nsec >= NSEC_PER_SEC) 7.21 - return -EINVAL; 7.22 - 7.23 -+#ifdef TURN_ME_OFF_FOR_NOW_IA64_XEN 7.24 - write_seqlock_irq(&xtime_lock); 7.25 -+#endif 7.26 - { 7.27 - /* 7.28 - * This is revolting. We need to set "xtime" correctly. However, the value 7.29 -@@ -525,7 +528,9 @@ int do_settimeofday (struct timespec *tv 7.30 - time_esterror = NTP_PHASE_LIMIT; 7.31 - time_interpolator_reset(); 7.32 - } 7.33 -+#ifdef TURN_ME_OFF_FOR_NOW_IA64_XEN 7.34 - write_sequnlock_irq(&xtime_lock); 7.35 -+#endif 7.36 - clock_was_set(); 7.37 - return 0; 7.38 - } 7.39 -@@ -552,7 +557,7 @@ void do_gettimeofday (struct timeval *tv 7.40 - } 7.41 - 7.42 - EXPORT_SYMBOL(do_gettimeofday); 7.43 -- 7.44 -+#endif 7.45 - 7.46 - #else 7.47 - /*
8.1 --- a/xen/arch/ia64/patch/linux-2.6.11/linuxextable.c Thu Apr 28 20:54:13 2005 +0000 8.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 8.3 @@ -1,16 +0,0 @@ 8.4 - extable.c | 2 ++ 8.5 - 1 files changed, 2 insertions(+) 8.6 - 8.7 -Index: linux-2.6.11-xendiffs/kernel/extable.c 8.8 -=================================================================== 8.9 ---- linux-2.6.11-xendiffs.orig/kernel/extable.c 2005-03-02 01:37:54.000000000 -0600 8.10 -+++ linux-2.6.11-xendiffs/kernel/extable.c 2005-04-08 14:30:46.283360881 -0500 8.11 -@@ -20,6 +20,8 @@ 8.12 - #include <asm/uaccess.h> 8.13 - #include <asm/sections.h> 8.14 - 8.15 -+#define __module_text_address(addr) (NULL) 8.16 -+ 8.17 - extern struct exception_table_entry __start___ex_table[]; 8.18 - extern struct exception_table_entry __stop___ex_table[]; 8.19 -
9.1 --- a/xen/arch/ia64/patch/linux-2.6.11/linuxtime.h Thu Apr 28 20:54:13 2005 +0000 9.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 9.3 @@ -1,36 +0,0 @@ 9.4 - time.h | 9 +++++++++ 9.5 - 1 files changed, 9 insertions(+) 9.6 - 9.7 -Index: linux-2.6.11/include/linux/time.h 9.8 -=================================================================== 9.9 ---- linux-2.6.11.orig/include/linux/time.h 2005-03-02 01:38:12.000000000 -0600 9.10 -+++ linux-2.6.11/include/linux/time.h 2005-03-19 13:46:27.987225234 -0600 9.11 -@@ -1,11 +1,18 @@ 9.12 - #ifndef _LINUX_TIME_H 9.13 - #define _LINUX_TIME_H 9.14 - 9.15 -+#ifdef XEN 9.16 -+typedef s64 time_t; 9.17 -+typedef s64 suseconds_t; 9.18 -+#endif 9.19 -+ 9.20 - #include <linux/types.h> 9.21 - 9.22 -+#ifndef XEN 9.23 - #ifdef __KERNEL__ 9.24 - #include <linux/seqlock.h> 9.25 - #endif 9.26 -+#endif 9.27 - 9.28 - #ifndef _STRUCT_TIMESPEC 9.29 - #define _STRUCT_TIMESPEC 9.30 -@@ -80,7 +87,9 @@ mktime (unsigned int year, unsigned int 9.31 - 9.32 - extern struct timespec xtime; 9.33 - extern struct timespec wall_to_monotonic; 9.34 -+#ifndef XEN 9.35 - extern seqlock_t xtime_lock; 9.36 -+#endif 9.37 - 9.38 - static inline unsigned long get_seconds(void) 9.39 - {
10.1 --- a/xen/arch/ia64/patch/linux-2.6.11/mm_contig.c Thu Apr 28 20:54:13 2005 +0000 10.2 +++ b/xen/arch/ia64/patch/linux-2.6.11/mm_contig.c Thu Apr 28 22:24:03 2005 +0000 10.3 @@ -1,220 +1,47 @@ 10.4 - contig.c | 172 +++++++++++++++++---------------------------------------------- 10.5 - 1 files changed, 48 insertions(+), 124 deletions(-) 10.6 - 10.7 -Index: linux-2.6.11-xendiffs/arch/ia64/mm/contig.c 10.8 -=================================================================== 10.9 ---- linux-2.6.11-xendiffs.orig/arch/ia64/mm/contig.c 2005-04-07 11:02:50.227598140 -0500 10.10 -+++ linux-2.6.11-xendiffs/arch/ia64/mm/contig.c 2005-04-07 11:05:21.724931959 -0500 10.11 -@@ -15,11 +15,21 @@ 10.12 - * memory. 10.13 +--- ../../linux-2.6.11/arch/ia64/mm/contig.c 2005-03-02 00:37:55.000000000 -0700 10.14 ++++ arch/ia64/mm_contig.c 2005-04-28 16:13:52.000000000 -0600 10.15 +@@ -35,6 +35,7 @@ 10.16 + * 10.17 + * Just walks the pages in the system and describes where they're allocated. 10.18 */ 10.19 - #include <linux/config.h> 10.20 -+#ifdef XEN 10.21 -+#include <xen/sched.h> 10.22 -+#endif 10.23 - #include <linux/bootmem.h> 10.24 - #include <linux/efi.h> 10.25 - #include <linux/mm.h> 10.26 - #include <linux/swap.h> 10.27 - 10.28 -+#ifdef XEN 10.29 -+#undef reserve_bootmem 10.30 -+extern struct page *zero_page_memmap_ptr; 10.31 -+struct page *mem_map; 10.32 -+#define MAX_DMA_ADDRESS ~0UL // FIXME??? 10.33 -+#endif 10.34 -+ 10.35 - #include <asm/meminit.h> 10.36 - #include <asm/pgalloc.h> 10.37 - #include <asm/pgtable.h> 10.38 -@@ -38,30 +48,7 @@ static unsigned long num_dma_physpages; 10.39 ++#ifndef XEN 10.40 void 10.41 show_mem (void) 10.42 { 10.43 -- int i, total = 0, reserved = 0; 10.44 -- int shared = 0, cached = 0; 10.45 -- 10.46 -- printk("Mem-info:\n"); 10.47 -- show_free_areas(); 10.48 -- 10.49 -- printk("Free swap: %6ldkB\n", nr_swap_pages<<(PAGE_SHIFT-10)); 10.50 -- i = max_mapnr; 10.51 -- while (i-- > 0) { 10.52 -- if (!pfn_valid(i)) 10.53 -- continue; 10.54 -- total++; 10.55 -- if (PageReserved(mem_map+i)) 10.56 -- reserved++; 10.57 -- else if (PageSwapCache(mem_map+i)) 10.58 -- cached++; 10.59 -- else if (page_count(mem_map + i)) 10.60 -- shared += page_count(mem_map + i) - 1; 10.61 -- } 10.62 -- printk("%d pages of RAM\n", total); 10.63 -- printk("%d reserved pages\n", reserved); 10.64 -- printk("%d pages shared\n", shared); 10.65 -- printk("%d pages swap cached\n", cached); 10.66 -- printk("%ld pages in page table cache\n", pgtable_cache_size); 10.67 -+ printk("Dummy show_mem\n"); 10.68 +@@ -63,6 +64,7 @@ 10.69 + printk("%d pages swap cached\n", cached); 10.70 + printk("%ld pages in page table cache\n", pgtable_cache_size); 10.71 } 10.72 ++#endif 10.73 10.74 /* physical address where the bootmem map is located */ 10.75 -@@ -81,6 +68,9 @@ find_max_pfn (unsigned long start, unsig 10.76 + unsigned long bootmap_start; 10.77 +@@ -140,6 +142,7 @@ 10.78 + * Walk the EFI memory map and find usable memory for the system, taking 10.79 + * into account reserved areas. 10.80 + */ 10.81 ++#ifndef XEN 10.82 + void 10.83 + find_memory (void) 10.84 { 10.85 - unsigned long *max_pfnp = arg, pfn; 10.86 - 10.87 -+#ifdef XEN 10.88 -+//printf("find_max_pfn: start=%lx, end=%lx, *arg=%lx\n",start,end,*(unsigned long *)arg); 10.89 -+#endif 10.90 - pfn = (PAGE_ALIGN(end - 1) - PAGE_OFFSET) >> PAGE_SHIFT; 10.91 - if (pfn > *max_pfnp) 10.92 - *max_pfnp = pfn; 10.93 -@@ -134,41 +124,6 @@ find_bootmap_location (unsigned long sta 10.94 - return 0; 10.95 - } 10.96 +@@ -168,6 +171,7 @@ 10.97 10.98 --/** 10.99 -- * find_memory - setup memory map 10.100 -- * 10.101 -- * Walk the EFI memory map and find usable memory for the system, taking 10.102 -- * into account reserved areas. 10.103 -- */ 10.104 --void 10.105 --find_memory (void) 10.106 --{ 10.107 -- unsigned long bootmap_size; 10.108 -- 10.109 -- reserve_memory(); 10.110 -- 10.111 -- /* first find highest page frame number */ 10.112 -- max_pfn = 0; 10.113 -- efi_memmap_walk(find_max_pfn, &max_pfn); 10.114 -- 10.115 -- /* how many bytes to cover all the pages */ 10.116 -- bootmap_size = bootmem_bootmap_pages(max_pfn) << PAGE_SHIFT; 10.117 -- 10.118 -- /* look for a location to hold the bootmap */ 10.119 -- bootmap_start = ~0UL; 10.120 -- efi_memmap_walk(find_bootmap_location, &bootmap_size); 10.121 -- if (bootmap_start == ~0UL) 10.122 -- panic("Cannot find %ld bytes for bootmap\n", bootmap_size); 10.123 -- 10.124 -- bootmap_size = init_bootmem(bootmap_start >> PAGE_SHIFT, max_pfn); 10.125 -- 10.126 -- /* Free all available memory, then mark bootmem-map as being in use. */ 10.127 -- efi_memmap_walk(filter_rsvd_memory, free_bootmem); 10.128 -- reserve_bootmem(bootmap_start, bootmap_size); 10.129 -- 10.130 -- find_initrd(); 10.131 --} 10.132 -- 10.133 + find_initrd(); 10.134 + } 10.135 ++#endif 10.136 + 10.137 #ifdef CONFIG_SMP 10.138 /** 10.139 - * per_cpu_init - setup per-cpu variables 10.140 -@@ -228,72 +183,41 @@ count_dma_pages (u64 start, u64 end, voi 10.141 +@@ -225,6 +229,7 @@ 10.142 + * Set up the page tables. 10.143 + */ 10.144 + 10.145 ++#ifndef XEN 10.146 void 10.147 paging_init (void) 10.148 { 10.149 -- unsigned long max_dma; 10.150 -- unsigned long zones_size[MAX_NR_ZONES]; 10.151 --#ifdef CONFIG_VIRTUAL_MEM_MAP 10.152 -- unsigned long zholes_size[MAX_NR_ZONES]; 10.153 -- unsigned long max_gap; 10.154 --#endif 10.155 -- 10.156 -- /* initialize mem_map[] */ 10.157 -- 10.158 -- memset(zones_size, 0, sizeof(zones_size)); 10.159 -- 10.160 -- num_physpages = 0; 10.161 -- efi_memmap_walk(count_pages, &num_physpages); 10.162 -- 10.163 -- max_dma = virt_to_phys((void *) MAX_DMA_ADDRESS) >> PAGE_SHIFT; 10.164 -- 10.165 --#ifdef CONFIG_VIRTUAL_MEM_MAP 10.166 -- memset(zholes_size, 0, sizeof(zholes_size)); 10.167 -+ struct pfn_info *pg; 10.168 -+ /* Allocate and map the machine-to-phys table */ 10.169 -+ if ((pg = alloc_domheap_pages(NULL, 10)) == NULL) 10.170 -+ panic("Not enough memory to bootstrap Xen.\n"); 10.171 -+ memset(page_to_virt(pg), 0x55, 16UL << 20); 10.172 - 10.173 -- num_dma_physpages = 0; 10.174 -- efi_memmap_walk(count_dma_pages, &num_dma_physpages); 10.175 -+ /* Other mapping setup */ 10.176 - 10.177 -- if (max_low_pfn < max_dma) { 10.178 -- zones_size[ZONE_DMA] = max_low_pfn; 10.179 -- zholes_size[ZONE_DMA] = max_low_pfn - num_dma_physpages; 10.180 -- } else { 10.181 -- zones_size[ZONE_DMA] = max_dma; 10.182 -- zholes_size[ZONE_DMA] = max_dma - num_dma_physpages; 10.183 -- if (num_physpages > num_dma_physpages) { 10.184 -- zones_size[ZONE_NORMAL] = max_low_pfn - max_dma; 10.185 -- zholes_size[ZONE_NORMAL] = 10.186 -- ((max_low_pfn - max_dma) - 10.187 -- (num_physpages - num_dma_physpages)); 10.188 -- } 10.189 -- } 10.190 -- 10.191 -- max_gap = 0; 10.192 -- efi_memmap_walk(find_largest_hole, (u64 *)&max_gap); 10.193 -- if (max_gap < LARGE_GAP) { 10.194 -- vmem_map = (struct page *) 0; 10.195 -- free_area_init_node(0, &contig_page_data, zones_size, 0, 10.196 -- zholes_size); 10.197 -- } else { 10.198 -- unsigned long map_size; 10.199 -- 10.200 -- /* allocate virtual_mem_map */ 10.201 -- 10.202 -- map_size = PAGE_ALIGN(max_low_pfn * sizeof(struct page)); 10.203 -- vmalloc_end -= map_size; 10.204 -- vmem_map = (struct page *) vmalloc_end; 10.205 -- efi_memmap_walk(create_mem_map_page_table, NULL); 10.206 -- 10.207 -- mem_map = contig_page_data.node_mem_map = vmem_map; 10.208 -- free_area_init_node(0, &contig_page_data, zones_size, 10.209 -- 0, zholes_size); 10.210 -- 10.211 -- printk("Virtual mem_map starts at 0x%p\n", mem_map); 10.212 -- } 10.213 --#else /* !CONFIG_VIRTUAL_MEM_MAP */ 10.214 -- if (max_low_pfn < max_dma) 10.215 -- zones_size[ZONE_DMA] = max_low_pfn; 10.216 -- else { 10.217 -- zones_size[ZONE_DMA] = max_dma; 10.218 -- zones_size[ZONE_NORMAL] = max_low_pfn - max_dma; 10.219 -- } 10.220 -- free_area_init(zones_size); 10.221 --#endif /* !CONFIG_VIRTUAL_MEM_MAP */ 10.222 +@@ -297,3 +302,4 @@ 10.223 + #endif /* !CONFIG_VIRTUAL_MEM_MAP */ 10.224 zero_page_memmap_ptr = virt_to_page(ia64_imva(empty_zero_page)); 10.225 } 10.226 -+ 10.227 -+struct pfn_info *frame_table; 10.228 -+unsigned long frame_table_size; 10.229 -+unsigned long max_page; 10.230 -+ 10.231 -+/* FIXME: postpone support to machines with big holes between physical memorys. 10.232 -+ * Current hack allows only efi memdesc upto 4G place. (See efi.c) 10.233 -+ */ 10.234 -+#ifndef CONFIG_VIRTUAL_MEM_MAP 10.235 -+#define FT_ALIGN_SIZE (16UL << 20) 10.236 -+void __init init_frametable(void) 10.237 -+{ 10.238 -+ unsigned long i, p; 10.239 -+ frame_table_size = max_page * sizeof(struct pfn_info); 10.240 -+ frame_table_size = (frame_table_size + PAGE_SIZE - 1) & PAGE_MASK; 10.241 -+ 10.242 -+ /* Request continuous trunk from boot allocator, since HV 10.243 -+ * address is identity mapped */ 10.244 -+ p = alloc_boot_pages(frame_table_size, FT_ALIGN_SIZE); 10.245 -+ if (p == 0) 10.246 -+ panic("Not enough memory for frame table.\n"); 10.247 -+ 10.248 -+ frame_table = __va(p); 10.249 -+ memset(frame_table, 0, frame_table_size); 10.250 -+ printk("size of frame_table: %lukB\n", 10.251 -+ frame_table_size >> 10); 10.252 -+} 10.253 -+#endif 10.254 ++#endif /* !CONFIG_XEN */
11.1 --- a/xen/arch/ia64/patch/linux-2.6.11/mmzone.h Thu Apr 28 20:54:13 2005 +0000 11.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 11.3 @@ -1,19 +0,0 @@ 11.4 - mmzone.h | 4 ++++ 11.5 - 1 files changed, 4 insertions(+) 11.6 - 11.7 -Index: linux-2.6.11/include/linux/mmzone.h 11.8 -=================================================================== 11.9 ---- linux-2.6.11.orig/include/linux/mmzone.h 2005-03-02 01:38:10.000000000 -0600 11.10 -+++ linux-2.6.11/include/linux/mmzone.h 2005-03-19 13:49:30.427573139 -0600 11.11 -@@ -209,7 +209,11 @@ struct zone { 11.12 - * rarely used fields: 11.13 - */ 11.14 - char *name; 11.15 -+#ifdef XEN 11.16 -+}; 11.17 -+#else 11.18 - } ____cacheline_maxaligned_in_smp; 11.19 -+#endif 11.20 - 11.21 - 11.22 - /*
12.1 --- a/xen/arch/ia64/patch/linux-2.6.11/sal.h Thu Apr 28 20:54:13 2005 +0000 12.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 12.3 @@ -1,39 +0,0 @@ 12.4 - sal.h | 17 +++++++++++++++++ 12.5 - 1 files changed, 17 insertions(+) 12.6 - 12.7 -Index: linux-2.6.11-xendiffs/include/asm-ia64/sal.h 12.8 -=================================================================== 12.9 ---- linux-2.6.11-xendiffs.orig/include/asm-ia64/sal.h 2005-04-08 12:00:53.510988510 -0500 12.10 -+++ linux-2.6.11-xendiffs/include/asm-ia64/sal.h 2005-04-08 12:02:17.778587216 -0500 12.11 -@@ -36,6 +36,7 @@ 12.12 - #ifndef __ASSEMBLY__ 12.13 - 12.14 - #include <linux/bcd.h> 12.15 -+#include <linux/preempt.h> 12.16 - #include <linux/spinlock.h> 12.17 - #include <linux/efi.h> 12.18 - 12.19 -@@ -650,7 +651,23 @@ ia64_sal_freq_base (unsigned long which, 12.20 - { 12.21 - struct ia64_sal_retval isrv; 12.22 - 12.23 -+//#ifdef XEN 12.24 -+#if 0 12.25 -+ unsigned long *x = (unsigned long *)ia64_sal; 12.26 -+ unsigned long *inst = (unsigned long *)*x; 12.27 -+ unsigned long __ia64_sc_flags; 12.28 -+ struct ia64_fpreg __ia64_sc_fr[6]; 12.29 -+printf("ia64_sal_freq_base: about to save_scratch_fpregs\n"); 12.30 -+ ia64_save_scratch_fpregs(__ia64_sc_fr); 12.31 -+ spin_lock_irqsave(&sal_lock, __ia64_sc_flags); 12.32 -+printf("ia64_sal_freq_base: about to call, ia64_sal=%p, ia64_sal[0]=%p, ia64_sal[1]=%p\n",x,x[0],x[1]); 12.33 -+printf("first inst=%p,%p\n",inst[0],inst[1]); 12.34 -+ isrv = (*ia64_sal)(SAL_FREQ_BASE, which, 0, 0, 0, 0, 0, 0); 12.35 -+ spin_unlock_irqrestore(&sal_lock, __ia64_sc_flags); 12.36 -+ ia64_load_scratch_fpregs(__ia64_sc_fr); 12.37 -+#else 12.38 - SAL_CALL(isrv, SAL_FREQ_BASE, which, 0, 0, 0, 0, 0, 0); 12.39 -+#endif 12.40 - *ticks_per_second = isrv.v0; 12.41 - *drift_info = isrv.v1; 12.42 - return isrv.status;
13.1 --- a/xen/arch/ia64/patch/linux-2.6.11/slab.h Thu Apr 28 20:54:13 2005 +0000 13.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 13.3 @@ -1,19 +0,0 @@ 13.4 - slab.h | 4 ++++ 13.5 - 1 files changed, 4 insertions(+) 13.6 - 13.7 -Index: linux-2.6.11/include/linux/slab.h 13.8 -=================================================================== 13.9 ---- linux-2.6.11.orig/include/linux/slab.h 2005-03-02 01:38:33.000000000 -0600 13.10 -+++ linux-2.6.11/include/linux/slab.h 2005-03-19 14:35:19.301871922 -0600 13.11 -@@ -91,7 +91,11 @@ static inline void *kmalloc(size_t size, 13.12 - goto found; \ 13.13 - else \ 13.14 - i++; 13.15 -+#ifdef XEN 13.16 -+#include <linux/kmalloc_sizes.h> 13.17 -+#else 13.18 - #include "kmalloc_sizes.h" 13.19 -+#endif 13.20 - #undef CACHE 13.21 - { 13.22 - extern void __you_cannot_kmalloc_that_much(void);
14.1 --- a/xen/arch/ia64/patch/linux-2.6.11/unaligned.c Thu Apr 28 20:54:13 2005 +0000 14.2 +++ b/xen/arch/ia64/patch/linux-2.6.11/unaligned.c Thu Apr 28 22:24:03 2005 +0000 14.3 @@ -1,39 +1,6 @@ 14.4 - unaligned.c | 27 +++++++++++++++++++++++++++ 14.5 - 1 files changed, 27 insertions(+) 14.6 - 14.7 -Index: linux-2.6.11/arch/ia64/kernel/unaligned.c 14.8 -=================================================================== 14.9 ---- linux-2.6.11.orig/arch/ia64/kernel/unaligned.c 2005-03-02 01:38:25.000000000 -0600 14.10 -+++ linux-2.6.11/arch/ia64/kernel/unaligned.c 2005-03-19 14:58:51.269335202 -0600 14.11 -@@ -15,8 +15,10 @@ 14.12 - */ 14.13 - #include <linux/kernel.h> 14.14 - #include <linux/sched.h> 14.15 -+#ifndef XEN 14.16 - #include <linux/smp_lock.h> 14.17 - #include <linux/tty.h> 14.18 -+#endif 14.19 - 14.20 - #include <asm/intrinsics.h> 14.21 - #include <asm/processor.h> 14.22 -@@ -24,7 +26,16 @@ 14.23 - #include <asm/uaccess.h> 14.24 - #include <asm/unaligned.h> 14.25 - 14.26 -+#ifdef XEN 14.27 -+#define ia64_peek(x...) printk("ia64_peek: called, not implemented\n") 14.28 -+#define ia64_poke(x...) printk("ia64_poke: called, not implemented\n") 14.29 -+#define ia64_sync_fph(x...) printk("ia64_sync_fph: called, not implemented\n") 14.30 -+#define ia64_flush_fph(x...) printk("ia64_flush_fph: called, not implemented\n") 14.31 -+#define die_if_kernel(x...) printk("die_if_kernel: called, not implemented\n") 14.32 -+#define jiffies 0 14.33 -+#else 14.34 - extern void die_if_kernel(char *str, struct pt_regs *regs, long err) __attribute__ ((noreturn)); 14.35 -+#endif 14.36 - 14.37 - #undef DEBUG_UNALIGNED_TRAP 14.38 - 14.39 -@@ -437,7 +448,11 @@ get_rse_reg (struct pt_regs *regs, unsig 14.40 +--- ../../linux-2.6.11/arch/ia64/kernel/unaligned.c 2005-03-02 00:38:25.000000000 -0700 14.41 ++++ arch/ia64/unaligned.c 2005-04-28 15:40:13.000000000 -0600 14.42 +@@ -437,7 +437,11 @@ 14.43 } 14.44 14.45 14.46 @@ -45,7 +12,7 @@ Index: linux-2.6.11/arch/ia64/kernel/una 14.47 setreg (unsigned long regnum, unsigned long val, int nat, struct pt_regs *regs) 14.48 { 14.49 struct switch_stack *sw = (struct switch_stack *) regs - 1; 14.50 -@@ -611,7 +626,11 @@ getfpreg (unsigned long regnum, struct i 14.51 +@@ -611,7 +615,11 @@ 14.52 } 14.53 14.54 14.55 @@ -57,46 +24,19 @@ Index: linux-2.6.11/arch/ia64/kernel/una 14.56 getreg (unsigned long regnum, unsigned long *val, int *nat, struct pt_regs *regs) 14.57 { 14.58 struct switch_stack *sw = (struct switch_stack *) regs - 1; 14.59 -@@ -1298,7 +1317,9 @@ ia64_handle_unaligned (unsigned long ifa 14.60 - mm_segment_t old_fs = get_fs(); 14.61 - unsigned long bundle[2]; 14.62 - unsigned long opcode; 14.63 -+#ifndef XEN 14.64 - struct siginfo si; 14.65 -+#endif 14.66 - const struct exception_table_entry *eh = NULL; 14.67 - union { 14.68 - unsigned long l; 14.69 -@@ -1317,6 +1338,9 @@ ia64_handle_unaligned (unsigned long ifa 14.70 - * user-level unaligned accesses. Otherwise, a clever program could trick this 14.71 - * handler into reading an arbitrary kernel addresses... 14.72 - */ 14.73 +@@ -1294,6 +1302,9 @@ 14.74 + void 14.75 + ia64_handle_unaligned (unsigned long ifa, struct pt_regs *regs) 14.76 + { 14.77 +#ifdef XEN 14.78 +printk("ia64_handle_unaligned: called, not working yet\n"); 14.79 +#else 14.80 - if (!user_mode(regs)) 14.81 - eh = search_exception_tables(regs->cr_iip + ia64_psr(regs)->ri); 14.82 - if (user_mode(regs) || eh) { 14.83 -@@ -1353,6 +1377,7 @@ ia64_handle_unaligned (unsigned long ifa 14.84 - 14.85 - if (__copy_from_user(bundle, (void __user *) regs->cr_iip, 16)) 14.86 - goto failure; 14.87 -+#endif 14.88 - 14.89 - /* 14.90 - * extract the instruction from the bundle given the slot number 14.91 -@@ -1493,6 +1518,7 @@ ia64_handle_unaligned (unsigned long ifa 14.92 - /* NOT_REACHED */ 14.93 - } 14.94 - force_sigbus: 14.95 -+#ifndef XEN 14.96 - si.si_signo = SIGBUS; 14.97 - si.si_errno = 0; 14.98 - si.si_code = BUS_ADRALN; 14.99 -@@ -1501,5 +1527,6 @@ ia64_handle_unaligned (unsigned long ifa 14.100 - si.si_isr = 0; 14.101 + struct ia64_psr *ipsr = ia64_psr(regs); 14.102 + mm_segment_t old_fs = get_fs(); 14.103 + unsigned long bundle[2]; 14.104 +@@ -1502,4 +1513,5 @@ 14.105 si.si_imm = 0; 14.106 force_sig_info(SIGBUS, &si, current); 14.107 + goto done; 14.108 +#endif 14.109 - goto done; 14.110 }
15.1 --- a/xen/arch/ia64/patch/linux-2.6.11/wait.h Thu Apr 28 20:54:13 2005 +0000 15.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 15.3 @@ -1,35 +0,0 @@ 15.4 - wait.h | 6 ++++++ 15.5 - 1 files changed, 6 insertions(+) 15.6 - 15.7 -Index: linux-2.6.11/include/linux/wait.h 15.8 -=================================================================== 15.9 ---- linux-2.6.11.orig/include/linux/wait.h 2005-03-02 01:38:10.000000000 -0600 15.10 -+++ linux-2.6.11/include/linux/wait.h 2005-03-19 15:00:23.691156973 -0600 15.11 -@@ -136,7 +136,11 @@ static inline void __remove_wait_queue(w 15.12 - list_del(&old->task_list); 15.13 - } 15.14 - 15.15 -+#ifdef XEN 15.16 -+void FASTCALL(__wake_up(struct task_struct *p)); 15.17 -+#else 15.18 - void FASTCALL(__wake_up(wait_queue_head_t *q, unsigned int mode, int nr, void *key)); 15.19 -+#endif 15.20 - extern void FASTCALL(__wake_up_locked(wait_queue_head_t *q, unsigned int mode)); 15.21 - extern void FASTCALL(__wake_up_sync(wait_queue_head_t *q, unsigned int mode, int nr)); 15.22 - void FASTCALL(__wake_up_bit(wait_queue_head_t *, void *, int)); 15.23 -@@ -147,6 +151,7 @@ int FASTCALL(out_of_line_wait_on_bit(voi 15.24 - int FASTCALL(out_of_line_wait_on_bit_lock(void *, int, int (*)(void *), unsigned)); 15.25 - wait_queue_head_t *FASTCALL(bit_waitqueue(void *, int)); 15.26 - 15.27 -+#ifndef XEN 15.28 - #define wake_up(x) __wake_up(x, TASK_UNINTERRUPTIBLE | TASK_INTERRUPTIBLE, 1, NULL) 15.29 - #define wake_up_nr(x, nr) __wake_up(x, TASK_UNINTERRUPTIBLE | TASK_INTERRUPTIBLE, nr, NULL) 15.30 - #define wake_up_all(x) __wake_up(x, TASK_UNINTERRUPTIBLE | TASK_INTERRUPTIBLE, 0, NULL) 15.31 -@@ -155,6 +160,7 @@ wait_queue_head_t *FASTCALL(bit_waitqueu 15.32 - #define wake_up_interruptible_all(x) __wake_up(x, TASK_INTERRUPTIBLE, 0, NULL) 15.33 - #define wake_up_locked(x) __wake_up_locked((x), TASK_UNINTERRUPTIBLE | TASK_INTERRUPTIBLE) 15.34 - #define wake_up_interruptible_sync(x) __wake_up_sync((x),TASK_INTERRUPTIBLE, 1) 15.35 -+#endif 15.36 - 15.37 - #define __wait_event(wq, condition) \ 15.38 - do { \
16.1 --- a/xen/arch/ia64/tools/mkbuildtree Thu Apr 28 20:54:13 2005 +0000 16.2 +++ b/xen/arch/ia64/tools/mkbuildtree Thu Apr 28 22:24:03 2005 +0000 16.3 @@ -90,7 +90,8 @@ cp_patch arch/ia64/kernel/ivt.S arch/ia6 16.4 cp_patch arch/ia64/kernel/setup.c arch/ia64/setup.c setup.c 16.5 cp_patch arch/ia64/kernel/time.c arch/ia64/time.c time.c 16.6 cp_patch arch/ia64/kernel/unaligned.c arch/ia64/unaligned.c unaligned.c 16.7 -cp_patch arch/ia64/kernel/vmlinux.lds.S arch/ia64/xen.lds.S lds.S 16.8 +#cp_patch arch/ia64/kernel/vmlinux.lds.S arch/ia64/xen.lds.S lds.S 16.9 +softlink arch/ia64/kernel/vmlinux.lds.S arch/ia64/xen.lds.S 16.10 16.11 #cp_patch mm/bootmem.c arch/ia64/mm_bootmem.c mm_bootmem.c 16.12 #cp_patch mm/page_alloc.c arch/ia64/page_alloc.c page_alloc.c 16.13 @@ -304,7 +305,6 @@ softlink include/linux/thread_info.h inc 16.14 softlink include/linux/threads.h include/asm-ia64/linux/threads.h 16.15 softlink include/linux/timex.h include/asm-ia64/linux/timex.h 16.16 softlink include/linux/topology.h include/asm-ia64/linux/topology.h 16.17 -softlink include/linux/tty.h include/asm-ia64/linux/tty.h 16.18 softlink include/linux/seqlock.h include/asm-ia64/linux/seqlock.h 16.19 16.20 null include/asm-ia64/linux/file.h 16.21 @@ -315,6 +315,8 @@ null include/asm-ia64/linux/proc_fs.h 16.22 null include/asm-ia64/linux/rtc.h 16.23 null include/asm-ia64/linux/profile.h 16.24 null include/asm-ia64/linux/seqlock.h 16.25 +null include/asm-ia64/linux/smp_lock.h 16.26 +null include/asm-ia64/linux/tty.h 16.27 16.28 softlink include/linux/byteorder/generic.h include/asm-ia64/linux/byteorder/generic.h 16.29 softlink include/linux/byteorder/little_endian.h include/asm-ia64/linux/byteorder/little_endian.h
17.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 17.2 +++ b/xen/arch/ia64/xenmem.c Thu Apr 28 22:24:03 2005 +0000 17.3 @@ -0,0 +1,67 @@ 17.4 +/* 17.5 + * Xen memory allocator routines 17.6 + * 17.7 + * Copyright (C) 2005 Hewlett-Packard Co 17.8 + * Dan Magenheimer <dan.magenheimer@hp.com> 17.9 + * Copyright (C) 2005 Intel Corp. 17.10 + * 17.11 + * Routines used by ia64 machines with contiguous (or virtually contiguous) 17.12 + * memory. 17.13 + */ 17.14 + 17.15 +#include <linux/config.h> 17.16 +#include <asm/pgtable.h> 17.17 + 17.18 +extern struct page *zero_page_memmap_ptr; 17.19 +struct pfn_info *frame_table; 17.20 +unsigned long frame_table_size; 17.21 +unsigned long max_page; 17.22 + 17.23 +struct page *mem_map; 17.24 +#define MAX_DMA_ADDRESS ~0UL // FIXME??? 17.25 + 17.26 +#ifdef CONFIG_VIRTUAL_MEM_MAP 17.27 +static unsigned long num_dma_physpages; 17.28 +#endif 17.29 + 17.30 +/* 17.31 + * Set up the page tables. 17.32 + */ 17.33 + 17.34 +void 17.35 +paging_init (void) 17.36 +{ 17.37 + struct pfn_info *pg; 17.38 + /* Allocate and map the machine-to-phys table */ 17.39 + if ((pg = alloc_domheap_pages(NULL, 10)) == NULL) 17.40 + panic("Not enough memory to bootstrap Xen.\n"); 17.41 + memset(page_to_virt(pg), 0x55, 16UL << 20); 17.42 + 17.43 + /* Other mapping setup */ 17.44 + 17.45 + zero_page_memmap_ptr = virt_to_page(ia64_imva(empty_zero_page)); 17.46 +} 17.47 + 17.48 +/* FIXME: postpone support to machines with big holes between physical memorys. 17.49 + * Current hack allows only efi memdesc upto 4G place. (See efi.c) 17.50 + */ 17.51 +#ifndef CONFIG_VIRTUAL_MEM_MAP 17.52 +#define FT_ALIGN_SIZE (16UL << 20) 17.53 +void __init init_frametable(void) 17.54 +{ 17.55 + unsigned long i, p; 17.56 + frame_table_size = max_page * sizeof(struct pfn_info); 17.57 + frame_table_size = (frame_table_size + PAGE_SIZE - 1) & PAGE_MASK; 17.58 + 17.59 + /* Request continuous trunk from boot allocator, since HV 17.60 + * address is identity mapped */ 17.61 + p = alloc_boot_pages(frame_table_size, FT_ALIGN_SIZE); 17.62 + if (p == 0) 17.63 + panic("Not enough memory for frame table.\n"); 17.64 + 17.65 + frame_table = __va(p); 17.66 + memset(frame_table, 0, frame_table_size); 17.67 + printk("size of frame_table: %lukB\n", 17.68 + frame_table_size >> 10); 17.69 +} 17.70 +#endif
18.1 --- a/xen/arch/ia64/xenmisc.c Thu Apr 28 20:54:13 2005 +0000 18.2 +++ b/xen/arch/ia64/xenmisc.c Thu Apr 28 22:24:03 2005 +0000 18.3 @@ -258,6 +258,40 @@ void sys_exit(void) 18.4 dummy(); 18.5 } 18.6 18.7 +//////////////////////////////////// 18.8 +// called from unaligned.c 18.9 +//////////////////////////////////// 18.10 + 18.11 +void die_if_kernel(char *str, struct pt_regs *regs, long err) /* __attribute__ ((noreturn)) */ 18.12 +{ 18.13 + printk("die_if_kernel: called, not implemented\n"); 18.14 +} 18.15 + 18.16 +long 18.17 +ia64_peek (struct task_struct *child, struct switch_stack *child_stack, 18.18 + unsigned long user_rbs_end, unsigned long addr, long *val) 18.19 +{ 18.20 + printk("ia64_peek: called, not implemented\n"); 18.21 +} 18.22 + 18.23 +long 18.24 +ia64_poke (struct task_struct *child, struct switch_stack *child_stack, 18.25 + unsigned long user_rbs_end, unsigned long addr, long val) 18.26 +{ 18.27 + printk("ia64_poke: called, not implemented\n"); 18.28 +} 18.29 + 18.30 +void 18.31 +ia64_sync_fph (struct task_struct *task) 18.32 +{ 18.33 + printk("ia64_sync_fph: called, not implemented\n"); 18.34 +} 18.35 + 18.36 +void 18.37 +ia64_flush_fph (struct task_struct *task) 18.38 +{ 18.39 + printk("ia64_flush_fph: called, not implemented\n"); 18.40 +} 18.41 18.42 //////////////////////////////////// 18.43 // called from irq_ia64.c:init_IRQ()