[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] Last round of cleanup (for now)
ChangeSet 1.1327.1.19, 2005/05/02 11:34:28-06:00, djm@xxxxxxxxxxxxxxx Last round of cleanup (for now) b/xen/arch/ia64/Makefile | 2 b/xen/arch/ia64/patch/linux-2.6.11/page.h | 47 ---- b/xen/arch/ia64/patch/linux-2.6.11/pgalloc.h | 42 +--- b/xen/arch/ia64/patch/linux-2.6.11/setup.c | 172 ++--------------- b/xen/arch/ia64/patch/linux-2.6.11/system.h | 22 -- b/xen/arch/ia64/patch/linux-2.6.11/time.c | 267 +-------------------------- b/xen/arch/ia64/patch/linux-2.6.11/tlb.c | 25 -- b/xen/arch/ia64/tools/mkbuildtree | 16 + b/xen/arch/ia64/xenmisc.c | 8 b/xen/arch/ia64/xensetup.c | 9 b/xen/include/asm-ia64/config.h | 24 ++ xen/arch/ia64/patch/linux-2.6.11/swiotlb.c | 68 ------ 12 files changed, 112 insertions(+), 590 deletions(-) diff -Nru a/xen/arch/ia64/Makefile b/xen/arch/ia64/Makefile --- a/xen/arch/ia64/Makefile 2005-05-03 04:08:59 -04:00 +++ b/xen/arch/ia64/Makefile 2005-05-03 04:08:59 -04:00 @@ -7,7 +7,7 @@ machvec.o dom0_ops.o domain.o \ idle0_task.o pal.o hpsim.o efi.o efi_stub.o ivt.o mm_contig.o \ xenmem.o sal.o cmdline.o mm_init.o tlb.o smpboot.o \ - extable.o linuxextable.o xenirq.o \ + extable.o linuxextable.o xenirq.o xentime.o \ regionreg.o entry.o unaligned.o privop.o vcpu.o \ irq_ia64.o irq_lsapic.o vhpt.o xenasm.o dom_fw.o # perfmon.o diff -Nru a/xen/arch/ia64/patch/linux-2.6.11/page.h b/xen/arch/ia64/patch/linux-2.6.11/page.h --- a/xen/arch/ia64/patch/linux-2.6.11/page.h 2005-05-03 04:08:59 -04:00 +++ b/xen/arch/ia64/patch/linux-2.6.11/page.h 2005-05-03 04:08:59 -04:00 @@ -1,52 +1,34 @@ - page.h | 42 +++++++++++++++++++++++++++++++++++++++--- - 1 files changed, 39 insertions(+), 3 deletions(-) - -Index: linux-2.6.11-xendiffs/include/asm-ia64/page.h -=================================================================== ---- linux-2.6.11-xendiffs.orig/include/asm-ia64/page.h 2005-04-06 22:58:07.597539393 -0500 -+++ linux-2.6.11-xendiffs/include/asm-ia64/page.h 2005-04-06 23:06:15.908576975 -0500 -@@ -12,6 +12,9 @@ - #include <asm/intrinsics.h> - #include <asm/types.h> - -+#ifndef __ASSEMBLY__ -+#include <asm/flushtlb.h> -+#endif - /* - * PAGE_SHIFT determines the actual kernel page size. - */ -@@ -95,9 +98,11 @@ extern int ia64_pfn_valid (unsigned long +--- ../../linux-2.6.11/include/asm-ia64/page.h 2005-03-02 00:37:48.000000000 -0700 ++++ include/asm-ia64/page.h 2005-05-02 11:25:33.000000000 -0600 +@@ -95,9 +95,15 @@ #endif #ifndef CONFIG_DISCONTIGMEM +#ifdef XEN -+#define pfn_valid(pfn) (0) ++# define pfn_valid(pfn) (0) ++# define page_to_pfn(_page) ((unsigned long)((_page) - frame_table)) ++# define pfn_to_page(_pfn) (frame_table + (_pfn)) +#else # define pfn_valid(pfn) (((pfn) < max_mapnr) && ia64_pfn_valid(pfn)) --# define page_to_pfn(page) ((unsigned long) (page - mem_map)) --# define pfn_to_page(pfn) (mem_map + (pfn)) + # define page_to_pfn(page) ((unsigned long) (page - mem_map)) + # define pfn_to_page(pfn) (mem_map + (pfn)) +#endif #else extern struct page *vmem_map; extern unsigned long max_low_pfn; -@@ -106,9 +111,15 @@ extern unsigned long max_low_pfn; - # define pfn_to_page(pfn) (vmem_map + (pfn)) - #endif - --#define page_to_phys(page) (page_to_pfn(page) << PAGE_SHIFT) -+#define page_to_pfn(_page) ((unsigned long)((_page) - frame_table)) -+#define page_to_virt(_page) phys_to_virt(page_to_phys(_page)) -+ -+#define page_to_phys(_page) (page_to_pfn(_page) << PAGE_SHIFT) +@@ -109,6 +115,11 @@ + #define page_to_phys(page) (page_to_pfn(page) << PAGE_SHIFT) #define virt_to_page(kaddr) pfn_to_page(__pa(kaddr) >> PAGE_SHIFT) -+#define pfn_to_page(_pfn) (frame_table + (_pfn)) ++#ifdef XEN ++#define page_to_virt(_page) phys_to_virt(page_to_phys(_page)) +#define phys_to_page(kaddr) pfn_to_page(((kaddr) >> PAGE_SHIFT)) ++#endif + typedef union ia64_va { struct { unsigned long off : 61; /* intra-region offset */ -@@ -124,8 +135,25 @@ typedef union ia64_va { +@@ -124,8 +135,23 @@ * expressed in this way to ensure they result in a single "dep" * instruction. */ @@ -63,8 +45,6 @@ +// xen/drivers/console.c uses __va in a declaration (should be fixed!) +#define __pa(x) ({xen_va _v; _v.l = (long) (x); _v.f.reg = 0; _v.l;}) +#define __va(x) ({xen_va _v; _v.l = (long) (x); _v.f.reg = -1; _v.p;}) -+//# define __pa(x) ((unsigned long)(((unsigned long)x) - PAGE_OFFSET)) -+//# define __va(x) ((void *)((char *)(x) + PAGE_OFFSET)) +#else #define __pa(x) ({ia64_va _v; _v.l = (long) (x); _v.f.reg = 0; _v.l;}) #define __va(x) ({ia64_va _v; _v.l = (long) (x); _v.f.reg = -1; _v.p;}) @@ -72,7 +52,7 @@ #define REGION_NUMBER(x) ({ia64_va _v; _v.l = (long) (x); _v.f.reg;}) #define REGION_OFFSET(x) ({ia64_va _v; _v.l = (long) (x); _v.f.off;}) -@@ -197,11 +225,19 @@ get_order (unsigned long size) +@@ -197,7 +223,11 @@ # define __pgprot(x) (x) #endif /* !STRICT_MM_TYPECHECKS */ @@ -84,11 +64,3 @@ #define VM_DATA_DEFAULT_FLAGS (VM_READ | VM_WRITE | \ VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC | \ - (((current->personality & READ_IMPLIES_EXEC) != 0) \ - ? VM_EXEC : 0)) - -+#ifdef XEN -+#define __flush_tlb() do {} while(0); -+#endif -+ - #endif /* _ASM_IA64_PAGE_H */ diff -Nru a/xen/arch/ia64/patch/linux-2.6.11/pgalloc.h b/xen/arch/ia64/patch/linux-2.6.11/pgalloc.h --- a/xen/arch/ia64/patch/linux-2.6.11/pgalloc.h 2005-05-03 04:08:59 -04:00 +++ b/xen/arch/ia64/patch/linux-2.6.11/pgalloc.h 2005-05-03 04:08:59 -04:00 @@ -1,78 +1,72 @@ - pgalloc.h | 17 +++++++++++------ - 1 files changed, 11 insertions(+), 6 deletions(-) - -Index: linux-2.6.11-xendiffs/include/asm-ia64/pgalloc.h -=================================================================== ---- linux-2.6.11-xendiffs.orig/include/asm-ia64/pgalloc.h 2005-04-08 11:57:30.909774800 -0500 -+++ linux-2.6.11-xendiffs/include/asm-ia64/pgalloc.h 2005-04-08 11:58:08.102711219 -0500 -@@ -18,6 +18,7 @@ - #include <linux/compiler.h> - #include <linux/mm.h> - #include <linux/page-flags.h> -+#include <linux/preempt.h> - #include <linux/threads.h> - - #include <asm/mmu_context.h> -@@ -34,6 +35,10 @@ - #define pmd_quicklist (local_cpu_data->pmd_quick) - #define pgtable_cache_size (local_cpu_data->pgtable_cache_sz) - -+/* FIXME: Later 3 level page table should be over, to create -+ * new interface upon xen memory allocator. To simplify first -+ * effort moving to xen allocator, use xenheap pages temporarily. -+ */ - static inline pgd_t* - pgd_alloc_one_fast (struct mm_struct *mm) - { -@@ -61,7 +66,7 @@ pgd_alloc (struct mm_struct *mm) +--- ../../linux-2.6.11/include/asm-ia64/pgalloc.h 2005-03-02 00:37:31.000000000 -0700 ++++ include/asm-ia64/pgalloc.h 2005-04-29 17:09:20.000000000 -0600 +@@ -61,7 +61,11 @@ pgd_t *pgd = pgd_alloc_one_fast(mm); if (unlikely(pgd == NULL)) { -- pgd = (pgd_t *)__get_free_page(GFP_KERNEL|__GFP_ZERO); ++#ifdef XEN + pgd = (pgd_t *)alloc_xenheap_page(); ++#else + pgd = (pgd_t *)__get_free_page(GFP_KERNEL|__GFP_ZERO); ++#endif } return pgd; } -@@ -104,7 +109,7 @@ pmd_alloc_one_fast (struct mm_struct *mm +@@ -104,7 +108,11 @@ static inline pmd_t* pmd_alloc_one (struct mm_struct *mm, unsigned long addr) { -- pmd_t *pmd = (pmd_t *)__get_free_page(GFP_KERNEL|__GFP_REPEAT|__GFP_ZERO); ++#ifdef XEN + pmd_t *pmd = (pmd_t *)alloc_xenheap_page(); ++#else + pmd_t *pmd = (pmd_t *)__get_free_page(GFP_KERNEL|__GFP_REPEAT|__GFP_ZERO); ++#endif return pmd; } -@@ -136,7 +141,7 @@ pmd_populate_kernel (struct mm_struct *m +@@ -136,7 +144,11 @@ static inline struct page * pte_alloc_one (struct mm_struct *mm, unsigned long addr) { -- struct page *pte = alloc_pages(GFP_KERNEL|__GFP_REPEAT|__GFP_ZERO, 0); ++#ifdef XEN + struct page *pte = alloc_xenheap_page(); ++#else + struct page *pte = alloc_pages(GFP_KERNEL|__GFP_REPEAT|__GFP_ZERO, 0); ++#endif return pte; } -@@ -144,7 +149,7 @@ pte_alloc_one (struct mm_struct *mm, uns +@@ -144,7 +156,11 @@ static inline pte_t * pte_alloc_one_kernel (struct mm_struct *mm, unsigned long addr) { -- pte_t *pte = (pte_t *)__get_free_page(GFP_KERNEL|__GFP_REPEAT|__GFP_ZERO); ++#ifdef XEN + pte_t *pte = (pte_t *)alloc_xenheap_page(); ++#else + pte_t *pte = (pte_t *)__get_free_page(GFP_KERNEL|__GFP_REPEAT|__GFP_ZERO); ++#endif return pte; } -@@ -152,13 +157,13 @@ pte_alloc_one_kernel (struct mm_struct * +@@ -152,13 +168,21 @@ static inline void pte_free (struct page *pte) { -- __free_page(pte); ++#ifdef XEN + free_xenheap_page(pte); ++#else + __free_page(pte); ++#endif } static inline void pte_free_kernel (pte_t *pte) { -- free_page((unsigned long) pte); ++#ifdef XEN + free_xenheap_page((unsigned long) pte); ++#else + free_page((unsigned long) pte); ++#endif } #define __pte_free_tlb(tlb, pte) tlb_remove_page((tlb), (pte)) diff -Nru a/xen/arch/ia64/patch/linux-2.6.11/setup.c b/xen/arch/ia64/patch/linux-2.6.11/setup.c --- a/xen/arch/ia64/patch/linux-2.6.11/setup.c 2005-05-03 04:08:59 -04:00 +++ b/xen/arch/ia64/patch/linux-2.6.11/setup.c 2005-05-03 04:08:59 -04:00 @@ -1,191 +1,96 @@ - setup.c | 72 +++++++++++++++++++++++++++++++++++++++++++++++++++------------- - 1 files changed, 58 insertions(+), 14 deletions(-) - -Index: linux-2.6.11-xendiffs/arch/ia64/kernel/setup.c -=================================================================== ---- linux-2.6.11-xendiffs.orig/arch/ia64/kernel/setup.c 2005-04-07 17:44:13.294980153 -0500 -+++ linux-2.6.11-xendiffs/arch/ia64/kernel/setup.c 2005-04-07 17:46:37.157717072 -0500 -@@ -21,6 +21,9 @@ - #include <linux/init.h> - - #include <linux/acpi.h> -+#ifdef XEN -+#include <xen/sched.h> -+#endif - #include <linux/bootmem.h> - #include <linux/console.h> - #include <linux/delay.h> -@@ -30,13 +33,17 @@ - #include <linux/seq_file.h> - #include <linux/string.h> - #include <linux/threads.h> _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |