> > On Thu, Feb 07, 2008 at 03:33:07PM -0800, Christoph Lameter wrote:
> > > On Thu, 7 Feb 2008, Kyle McMartin wrote:
> > > 
> > > > yes, it's in my batch of fixes.
> > > 
> > > <big sigh of relief> So I do not have to worry about it?
> > > 
> > 
> > haha no. i don't expect people to have to untangle the mess of includes
> > that is <asm-parisc/*.h> :)
> > 
> > cheers, kyle
> > -
> This move to define those symbol before including linux/mm.h seems to make the
> drill:
> --- include/asm-parisc/pgtable.h.Orig 2007-10-22 08:19:20.000000000 +0000
> +++ include/asm-parisc/pgtable.h      2008-02-12 16:28:36.000000000 +0000
> @@ -10,6 +10,12 @@
>   * we simulate an x86-style page table for the linux mm code
>   */
>  
> +extern  void *vmalloc_start;
> +#define PCXL_DMA_MAP_SIZE   (8*1024*1024)
> +#define VMALLOC_START   ((unsigned long)vmalloc_start)
> +/* this is a fixmap remnant, see fixmap.h */
> +#define VMALLOC_END  (KERNEL_MAP_END)
> +
>  #include <linux/mm.h>                /* for vm_area_struct */
>  #include <linux/bitops.h>
>  #include <asm/processor.h>
> @@ -116,14 +122,6 @@
>  
>  #define FIRST_USER_ADDRESS   0
>  
> -#ifndef __ASSEMBLY__
> -extern  void *vmalloc_start;
> -#define PCXL_DMA_MAP_SIZE   (8*1024*1024)
> -#define VMALLOC_START   ((unsigned long)vmalloc_start)
> -/* this is a fixmap remnant, see fixmap.h */
> -#define VMALLOC_END  (KERNEL_MAP_END)
> -#endif
> -
>  /* NB: The tlb miss handlers make certain assumptions about the order */
>  /*     of the following bits, so be careful (One example, bits 25-31  */
>  /*     are moved together in one instruction).                        */
> === <> ====
> 
> But next compile error appears there:
> 
> In file included from
> /CAD/linux-2.6.25-rc1-pa-git-20080212/arch/parisc/mm/init.c:26:
> include2/asm/pgalloc.h:142: error: conflicting types for 'pte_free_kernel'
> include2/asm/pgalloc.h:137: error: previous definition of 'pte_free_kernel'
> was here
> include2/asm/pgalloc.h: In function 'pte_free_kernel':
> include2/asm/pgalloc.h:144: error: expected ')' before ';' token
> include2/asm/pgalloc.h:145: error: too few arguments to function
'pte_free_kernel'
> include2/asm/pgalloc.h:145: error: expected ';' before '}' token
> make[2]: *** [arch/parisc/mm/init.o] Error 1
> make[1]: *** [arch/parisc/mm] Error 2
> make: *** [sub-make] Error 2
> 
> 
> and in include/asm-parisc/pgalloc.h we can read:
> 
> static inline void pte_free_kernel(struct mm_struct *mm, pte_t *pte)
> {
>         free_page((unsigned long)pte);
> }
> 
> static inline void pte_free_kernel(struct mm_struct *mm, struct page *pte)
> {
>         pgtable_page_dtor(pte);
>         pte_free_kernel(page_address((pte));
> }
> 
Well may be is it much more what parisc need?
--- ./include/asm-parisc/pgalloc.h.Orig 2008-02-11 07:31:24.000000000 +0000
+++ ./include/asm-parisc/pgalloc.h      2008-02-13 10:02:53.000000000 +0000
@@ -138,10 +138,10 @@
        free_page((unsigned long)pte);
 }
 
-static inline void pte_free_kernel(struct mm_struct *mm, struct page *pte)
+static inline void pte_free(struct mm_struct *mm, pgtable_t pte)
 {
        pgtable_page_dtor(pte);
-       pte_free_kernel(page_address((pte));
+       pte_free_kernel(mm, page_address((pte)));
 }
 
 #define check_pgt_cache()      do { } while (0)
=== <> ===

And btw some more small hunk:
    - sys_timerfd was gone so
--- ./arch/parisc/kernel/syscall_table.S.Orig   2007-10-22 08:18:54.000000000 
+0000
+++ ./arch/parisc/kernel/syscall_table.S        2008-02-13 12:00:08.000000000 
+0000
@@ -401,7 +401,7 @@
        ENTRY_COMP(kexec_load)          /* 300 */
        ENTRY_COMP(utimensat)
        ENTRY_COMP(signalfd)
-       ENTRY_COMP(timerfd)
+       ENTRY_SAME(ni_syscall)          /* 303 (timerfd -- dead) */
        ENTRY_SAME(eventfd)
        ENTRY_COMP(fallocate)           /* 305 */
 
=== <> ===

    - some lake of changes of kset to kobj:
--- ./drivers/parisc/pdc_stable.c.Orig  2008-01-28 07:09:26.000000000 +0000
+++ ./drivers/parisc/pdc_stable.c       2008-02-13 11:22:16.000000000 +0000
@@ -829,7 +829,7 @@
                                   struct kobj_attribute *attr,
                                   const char *buf, size_t count)
 {
-       return pdcs_auto_write(kset, attr, buf, count, PF_AUTOBOOT);
+       return pdcs_auto_write(kobj, attr, buf, count, PF_AUTOBOOT);
 }
 
 /**
@@ -845,7 +845,7 @@
                                     struct kobj_attribute *attr,
                                     const char *buf, size_t count)
 {
-       return pdcs_auto_write(kset, attr, buf, count, PF_AUTOSEARCH);
+       return pdcs_auto_write(kobj, attr, buf, count, PF_AUTOSEARCH);
 }
 
 /**
@@ -1066,7 +1066,7 @@
        }
 
        /* Don't forget the root entries */
-       error = sysfs_create_group(stable_kobj, pdcs_attr_group);
+       error = sysfs_create_group(stable_kobj, &pdcs_attr_group);
 
        /* register the paths kset as a child of the stable kset */
        paths_kset = kset_create_and_add("paths", NULL, stable_kobj);
=== <> ===

And the kernel build, but I don't yet try to boot it...

Hth,
r.
---
Scarlet One, ADSL 6 Mbps + Telephone, from EUR 29,95...
http://www.scarlet.be/

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to