hppa: pa8800 and gcc-4.1
svn path=/dists/sid/linux-2.6/; revision=7264
This commit is contained in:
parent
48fceb1785
commit
8b1410a4af
|
@ -1,5 +1,4 @@
|
|||
[base]
|
||||
compiler: gcc-4.0
|
||||
flavours:
|
||||
parisc
|
||||
parisc-smp
|
||||
|
@ -22,8 +21,3 @@ class: 64-bit PA-RISC
|
|||
|
||||
[parisc64-smp]
|
||||
class: multi-processor 64-bit PA-RISC
|
||||
|
||||
[relations]
|
||||
gcc-4.0: gcc-4.0, binutils-hppa64, gcc-4.0-hppa64
|
||||
gcc-4.0: gcc-4.0, binutils-hppa64, gcc-4.0-hppa64
|
||||
|
||||
|
|
|
@ -9,7 +9,13 @@ linux-2.6 (2.6.17-8) UNRELEASED; urgency=low
|
|||
Updates to patch_sigmatel.c to add x86 mac-mini sound support
|
||||
Thanks to Matt Kraai. (closes: #384972)
|
||||
|
||||
-- dann frazier <dannf@debian.org> Tue, 29 Aug 2006 00:06:48 -0600
|
||||
[ Kyle McMartin ]
|
||||
* hppa: Re-enable pa8800 fixing patches from James Bottomley.
|
||||
Pulled fresh from parisc-linux git tree.
|
||||
* hppa: Use gcc-4.1, bugs which caused extremely long optimization
|
||||
times have been fixed upstream.
|
||||
|
||||
-- Kyle McMartin <kyle@debian.org> Tue, 29 Aug 2006 09:07:57 -0400
|
||||
|
||||
linux-2.6 (2.6.17-7) unstable; urgency=low
|
||||
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
From: James Bottomley <jejb@ioz.(none)>
|
||||
Date: Wed, 23 Aug 2006 16:00:04 +0000 (-0700)
|
||||
Subject: [PATCH] parisc specific kmap API implementation for pa8800
|
||||
X-Git-Tag: v2.6.18-rc4-pa4
|
||||
X-Git-Url: http://git.parisc-linux.org/?p=linux-2.6.git;a=commitdiff;h=f73678a89e79be6e649409286bbc1b83c0b313e3
|
||||
|
||||
[PATCH] parisc specific kmap API implementation for pa8800
|
||||
|
||||
This patch fixes the pa8800 at a gross level (there are still other
|
||||
|
@ -12,11 +18,11 @@ asm/processor.h to identify the pa8x00 processors (8800 and 8900)
|
|||
which have the issue.
|
||||
|
||||
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
|
||||
Index: linux-2.6/arch/parisc/kernel/cache.c
|
||||
===================================================================
|
||||
--- linux-2.6.orig/arch/parisc/kernel/cache.c 2006-08-02 06:28:46.000000000 -0700
|
||||
+++ linux-2.6/arch/parisc/kernel/cache.c 2006-08-02 06:35:42.000000000 -0700
|
||||
@@ -91,7 +91,8 @@
|
||||
---
|
||||
|
||||
--- a/arch/parisc/kernel/cache.c
|
||||
+++ b/arch/parisc/kernel/cache.c
|
||||
@@ -91,7 +91,8 @@ update_mmu_cache(struct vm_area_struct *
|
||||
|
||||
flush_kernel_dcache_page(page);
|
||||
clear_bit(PG_dcache_dirty, &page->flags);
|
||||
|
@ -26,7 +32,7 @@ Index: linux-2.6/arch/parisc/kernel/cache.c
|
|||
}
|
||||
|
||||
void
|
||||
@@ -370,3 +371,35 @@
|
||||
@@ -370,3 +371,45 @@ void parisc_setup_cache_timing(void)
|
||||
|
||||
printk(KERN_INFO "Setting cache flush threshold to %x (%d CPUs online)\n", parisc_cache_flush_threshold, num_online_cpus());
|
||||
}
|
||||
|
@ -53,6 +59,16 @@ Index: linux-2.6/arch/parisc/kernel/cache.c
|
|||
+}
|
||||
+EXPORT_SYMBOL(flush_kernel_dcache_page_addr);
|
||||
+
|
||||
+void copy_user_page(void *vto, void *vfrom, unsigned long vaddr,
|
||||
+ struct page *pg)
|
||||
+{
|
||||
+ /* no coherency needed (all in kmap/kunmap) */
|
||||
+ copy_user_page_asm(vto, vfrom);
|
||||
+ if (!parisc_requires_coherency())
|
||||
+ flush_kernel_dcache_page_asm(vto);
|
||||
+}
|
||||
+EXPORT_SYMBOL(copy_user_page);
|
||||
+
|
||||
+#ifdef CONFIG_PA8X00
|
||||
+
|
||||
+void kunmap_parisc(void *addr)
|
||||
|
@ -62,11 +78,9 @@ Index: linux-2.6/arch/parisc/kernel/cache.c
|
|||
+}
|
||||
+EXPORT_SYMBOL(kunmap_parisc);
|
||||
+#endif
|
||||
Index: linux-2.6/include/asm-parisc/cacheflush.h
|
||||
===================================================================
|
||||
--- linux-2.6.orig/include/asm-parisc/cacheflush.h 2006-08-02 06:28:45.000000000 -0700
|
||||
+++ linux-2.6/include/asm-parisc/cacheflush.h 2006-08-02 06:37:00.000000000 -0700
|
||||
@@ -191,16 +191,38 @@
|
||||
--- a/include/asm-parisc/cacheflush.h
|
||||
+++ b/include/asm-parisc/cacheflush.h
|
||||
@@ -191,16 +191,38 @@ flush_anon_page(struct page *page, unsig
|
||||
}
|
||||
#define ARCH_HAS_FLUSH_ANON_PAGE
|
||||
|
||||
|
@ -109,42 +123,40 @@ Index: linux-2.6/include/asm-parisc/cacheflush.h
|
|||
+
|
||||
#endif /* _PARISC_CACHEFLUSH_H */
|
||||
|
||||
Index: linux-2.6/include/asm-parisc/page.h
|
||||
===================================================================
|
||||
--- linux-2.6.orig/include/asm-parisc/page.h 2006-08-02 06:29:39.000000000 -0700
|
||||
+++ linux-2.6/include/asm-parisc/page.h 2006-08-02 06:29:46.000000000 -0700
|
||||
@@ -34,24 +34,16 @@
|
||||
--- a/include/asm-parisc/page.h
|
||||
+++ b/include/asm-parisc/page.h
|
||||
@@ -34,24 +34,10 @@
|
||||
|
||||
struct page;
|
||||
|
||||
-extern void purge_kernel_dcache_page(unsigned long);
|
||||
extern void copy_user_page_asm(void *to, void *from);
|
||||
-extern void copy_user_page_asm(void *to, void *from);
|
||||
-extern void clear_user_page_asm(void *page, unsigned long vaddr);
|
||||
|
||||
static inline void
|
||||
copy_user_page(void *vto, void *vfrom, unsigned long vaddr, struct page *pg)
|
||||
{
|
||||
+ /* no coherency needed (all in kmap/kunmap) */
|
||||
copy_user_page_asm(vto, vfrom);
|
||||
-
|
||||
-static inline void
|
||||
-copy_user_page(void *vto, void *vfrom, unsigned long vaddr, struct page *pg)
|
||||
-{
|
||||
- copy_user_page_asm(vto, vfrom);
|
||||
- flush_kernel_dcache_page_asm(vto);
|
||||
- /* XXX: ppc flushes icache too, should we? */
|
||||
}
|
||||
|
||||
-}
|
||||
-
|
||||
-static inline void
|
||||
-clear_user_page(void *page, unsigned long vaddr, struct page *pg)
|
||||
-{
|
||||
- purge_kernel_dcache_page((unsigned long)page);
|
||||
- clear_user_page_asm(page, vaddr);
|
||||
-}
|
||||
+void copy_user_page_asm(void *to, void *from);
|
||||
+void copy_user_page(void *vto, void *vfrom, unsigned long vaddr,
|
||||
+ struct page *pg);
|
||||
+void clear_user_page(void *page, unsigned long vaddr, struct page *pg);
|
||||
|
||||
/*
|
||||
* These are used to make use of C type-checking..
|
||||
Index: linux-2.6/include/asm-parisc/processor.h
|
||||
===================================================================
|
||||
--- linux-2.6.orig/include/asm-parisc/processor.h 2006-08-02 06:39:20.000000000 -0700
|
||||
+++ linux-2.6/include/asm-parisc/processor.h 2006-08-02 06:50:34.000000000 -0700
|
||||
@@ -332,6 +332,15 @@
|
||||
--- a/include/asm-parisc/processor.h
|
||||
+++ b/include/asm-parisc/processor.h
|
||||
@@ -332,6 +332,19 @@ extern unsigned long get_wchan(struct ta
|
||||
|
||||
#define cpu_relax() barrier()
|
||||
|
||||
|
@ -153,8 +165,12 @@ Index: linux-2.6/include/asm-parisc/processor.h
|
|||
+ * aliases with different data, whether clean or not) to operate */
|
||||
+static inline int parisc_requires_coherency(void)
|
||||
+{
|
||||
+#ifdef CONFIG_PA8X00
|
||||
+ /* FIXME: also pa8900 - when we see one */
|
||||
+ return boot_cpu_data.cpu_type == mako;
|
||||
+#else
|
||||
+ return 0;
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
#endif /* __ASSEMBLY__ */
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
+ pa8800-abstract-kmap.patch hppa
|
||||
+ pa8800-kmap-implementation.patch hppa
|
Loading…
Reference in New Issue