From 0563572bf47efdc02a059b923d3c1e589783c019 Mon Sep 17 00:00:00 2001 From: Nicolas Kaiser Date: Wed, 11 Jan 2006 02:07:34 +0100 Subject: asm-powerpc: header included twice Header included twice. Signed-off-by: Nicolas Kaiser Signed-off-by: Adrian Bunk --- include/asm-powerpc/elf.h | 1 - 1 file changed, 1 deletion(-) (limited to 'include') diff --git a/include/asm-powerpc/elf.h b/include/asm-powerpc/elf.h index c5a635d9bba4..45f2af6f89c4 100644 --- a/include/asm-powerpc/elf.h +++ b/include/asm-powerpc/elf.h @@ -92,7 +92,6 @@ * as published by the Free Software Foundation; either version * 2 of the License, or (at your option) any later version. */ -#include #define ELF_NGREG 48 /* includes nip, msr, lr, etc. */ #define ELF_NFPREG 33 /* includes fpscr */ -- cgit v1.2.3 From 8039de10aae3cd4cf0ef0ccebd58aff0e8810df2 Mon Sep 17 00:00:00 2001 From: Helge Deller Date: Tue, 10 Jan 2006 20:35:03 -0500 Subject: [PARISC] Add __read_mostly section for parisc Flag a whole bunch of things as __read_mostly on parisc. Also flag a few branches as unlikely() and cleanup a bit of code. Signed-off-by: Helge Deller Signed-off-by: Kyle McMartin --- include/linux/cache.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'include') diff --git a/include/linux/cache.h b/include/linux/cache.h index ffe52210fc4f..d22e632f41fb 100644 --- a/include/linux/cache.h +++ b/include/linux/cache.h @@ -13,7 +13,7 @@ #define SMP_CACHE_BYTES L1_CACHE_BYTES #endif -#if defined(CONFIG_X86) || defined(CONFIG_SPARC64) || defined(CONFIG_IA64) +#if defined(CONFIG_X86) || defined(CONFIG_SPARC64) || defined(CONFIG_IA64) || defined(CONFIG_PARISC) #define __read_mostly __attribute__((__section__(".data.read_mostly"))) #else #define __read_mostly -- cgit v1.2.3 From 1b2425e3c79984975a1a3e6fa84512f23d96da9f Mon Sep 17 00:00:00 2001 From: Matthew Wilcox Date: Tue, 10 Jan 2006 20:47:49 -0500 Subject: [PARISC] Make local cache flushes take a void * Make flush_data_cache_local, flush_instruction_cache_local and flush_tlb_all_local take a void * so they don't have to be cast when using on_each_cpu(). This becomes a problem when on_each_cpu is a macro (as it is in current -mm). Also move the prototype of flush_tlb_all_local into tlbflush.h and remove its declaration from .c files. Signed-off-by: Matthew Wilcox Signed-off-by: Kyle McMartin --- include/asm-parisc/cache.h | 8 ++++---- include/asm-parisc/tlbflush.h | 1 + 2 files changed, 5 insertions(+), 4 deletions(-) (limited to 'include') diff --git a/include/asm-parisc/cache.h b/include/asm-parisc/cache.h index 38d201b5652d..93f179f13ce8 100644 --- a/include/asm-parisc/cache.h +++ b/include/asm-parisc/cache.h @@ -29,14 +29,14 @@ #define SMP_CACHE_BYTES L1_CACHE_BYTES -extern void flush_data_cache_local(void); /* flushes local data-cache only */ -extern void flush_instruction_cache_local(void); /* flushes local code-cache only */ +extern void flush_data_cache_local(void *); /* flushes local data-cache only */ +extern void flush_instruction_cache_local(void *); /* flushes local code-cache only */ #ifdef CONFIG_SMP extern void flush_data_cache(void); /* flushes data-cache only (all processors) */ extern void flush_instruction_cache(void); /* flushes i-cache only (all processors) */ #else -#define flush_data_cache flush_data_cache_local -#define flush_instruction_cache flush_instruction_cache_local +#define flush_data_cache() flush_data_cache_local(NULL) +#define flush_instruction_cache() flush_instruction_cache_local(NULL) #endif extern void parisc_cache_init(void); /* initializes cache-flushing */ diff --git a/include/asm-parisc/tlbflush.h b/include/asm-parisc/tlbflush.h index c9ec39c6fc6c..825994a90e2d 100644 --- a/include/asm-parisc/tlbflush.h +++ b/include/asm-parisc/tlbflush.h @@ -22,6 +22,7 @@ extern spinlock_t pa_tlb_lock; #define purge_tlb_end(x) spin_unlock(&pa_tlb_lock) extern void flush_tlb_all(void); +extern void flush_tlb_all_local(void *); /* * flush_tlb_mm() -- cgit v1.2.3 From e8b736c860dd93ba26b391abc91891e03ca99858 Mon Sep 17 00:00:00 2001 From: Helge Deller Date: Tue, 10 Jan 2006 20:47:55 -0500 Subject: [PARISC] Add some defines for HugeTLB pages Define some constants for HugeTLB pages, not that parisc-linux supports it yet. Signed-off-by: Helge Deller Signed-off-by: Kyle McMartin --- include/asm-parisc/page.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'include') diff --git a/include/asm-parisc/page.h b/include/asm-parisc/page.h index 44eae9f8274d..4a6752b0afed 100644 --- a/include/asm-parisc/page.h +++ b/include/asm-parisc/page.h @@ -135,6 +135,13 @@ extern int npmem_ranges; #define pfn_valid(pfn) ((pfn) < max_mapnr) #endif /* CONFIG_DISCONTIGMEM */ +#ifdef CONFIG_HUGETLB_PAGE +#define HPAGE_SHIFT 22 /* 4MB (is this fixed?) */ +#define HPAGE_SIZE ((1UL) << HPAGE_SHIFT) +#define HPAGE_MASK (~(HPAGE_SIZE - 1)) +#define HUGETLB_PAGE_ORDER (HPAGE_SHIFT - PAGE_SHIFT) +#endif + #define virt_addr_valid(kaddr) pfn_valid(__pa(kaddr) >> PAGE_SHIFT) #define page_to_phys(page) (page_to_pfn(page) << PAGE_SHIFT) -- cgit v1.2.3 From 110957f0e521c8d14f97bbe955af2fa17bb720bf Mon Sep 17 00:00:00 2001 From: Alexey Dobriyan Date: Tue, 10 Jan 2006 20:47:56 -0500 Subject: [PARISC] Add __iomem to __raw_check_addr() Add __iomem to __raw_check_addr(), which nukes ~13809 sparse warnings on allmodconfig. Signed-off-by: Alexey Dobriyan Signed-off-by: Matthew Wilcox Signed-off-by: Kyle McMartin --- include/asm-parisc/io.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'include') diff --git a/include/asm-parisc/io.h b/include/asm-parisc/io.h index b9bb5946ecc9..0db00adc942a 100644 --- a/include/asm-parisc/io.h +++ b/include/asm-parisc/io.h @@ -41,7 +41,7 @@ extern void __raw_bad_addr(const volatile void __iomem *addr); #define __raw_check_addr(addr) \ if (((unsigned long)addr >> NYBBLE_SHIFT) != 0xe) \ __raw_bad_addr(addr); \ - addr = (void *)((unsigned long)addr | (0xfUL << NYBBLE_SHIFT)); + addr = (void __iomem *)((unsigned long)addr | (0xfUL << NYBBLE_SHIFT)); #else #define gsc_check_addr(addr) #define __raw_check_addr(addr) -- cgit v1.2.3 From 9b9ff2e16a4609a7ab39b12e67fc56b51c8cd1f4 Mon Sep 17 00:00:00 2001 From: Grant Grundler Date: Tue, 10 Jan 2006 20:48:00 -0500 Subject: [PARISC] Make PCI_HOST_ADDR and PCI_BUS_ADDR symmetrical Change to asm-parisc/pci.h makes the define of PCI_HOST_ADDR symmetrical with PCI_BUS_ADDR. Also add a comment about PA_VIEW and LMMIO/ELMMIO/GMMIO. Signed-off-by: Grant Grundler Signed-off-by: Kyle McMartin --- include/asm-parisc/pci.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/asm-parisc/pci.h b/include/asm-parisc/pci.h index fa39d07d49e9..f277254159b7 100644 --- a/include/asm-parisc/pci.h +++ b/include/asm-parisc/pci.h @@ -84,11 +84,17 @@ static __inline__ int pci_is_lmmio(struct pci_hba_data *hba, unsigned long a) /* ** Convert between PCI (IO_VIEW) addresses and processor (PA_VIEW) addresses. ** See pcibios.c for more conversions used by Generic PCI code. +** +** Platform characteristics/firmware guarantee that +** (1) PA_VIEW - IO_VIEW = lmmio_offset for both LMMIO and ELMMIO +** (2) PA_VIEW == IO_VIEW for GMMIO */ #define PCI_BUS_ADDR(hba,a) (PCI_IS_LMMIO(hba,a) \ ? ((a) - hba->lmmio_space_offset) /* mangle LMMIO */ \ : (a)) /* GMMIO */ -#define PCI_HOST_ADDR(hba,a) ((a) + hba->lmmio_space_offset) +#define PCI_HOST_ADDR(hba,a) (((a) & PCI_F_EXTEND) == 0 \ + ? (a) + hba->lmmio_space_offset \ + : (a)) #else /* !CONFIG_64BIT */ -- cgit v1.2.3 From 02d79800a221eb4e54d80cbf2026af9edc1f437d Mon Sep 17 00:00:00 2001 From: Alexey Dobriyan Date: Tue, 10 Jan 2006 20:48:02 -0500 Subject: [PARISC] Use C99 initializers in asm-parisc/processor.h Cleanup asm-parisc/processor.h to use C99 initializers in INIT_THREAD(). Signed-off-by: Alexey Dobriyan Signed-off-by: Matthew Wilcox Signed-off-by: Kyle McMartin --- include/asm-parisc/processor.h | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'include') diff --git a/include/asm-parisc/processor.h b/include/asm-parisc/processor.h index aae40e8c3aa8..89f2f1c16c12 100644 --- a/include/asm-parisc/processor.h +++ b/include/asm-parisc/processor.h @@ -144,16 +144,16 @@ struct thread_struct { }) #define INIT_THREAD { \ - regs: { gr: { 0, }, \ - fr: { 0, }, \ - sr: { 0, }, \ - iasq: { 0, }, \ - iaoq: { 0, }, \ - cr27: 0, \ + .regs = { .gr = { 0, }, \ + .fr = { 0, }, \ + .sr = { 0, }, \ + .iasq = { 0, }, \ + .iaoq = { 0, }, \ + .cr27 = 0, \ }, \ - task_size: DEFAULT_TASK_SIZE, \ - map_base: DEFAULT_MAP_BASE, \ - flags: 0 \ + .task_size = DEFAULT_TASK_SIZE, \ + .map_base = DEFAULT_MAP_BASE, \ + .flags = 0 \ } /* -- cgit v1.2.3 From a8b9ee7396ccc8db3bdb4108993556acbe2d3527 Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Wed, 11 Jan 2006 00:15:16 -0800 Subject: [MUTEX]: linux/mutex.h needs linux/linkage.h too Signed-off-by: David S. Miller --- include/linux/mutex.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include') diff --git a/include/linux/mutex.h b/include/linux/mutex.h index 9bce0fee68d4..f1c84b1252f5 100644 --- a/include/linux/mutex.h +++ b/include/linux/mutex.h @@ -12,6 +12,7 @@ #include #include +#include #include -- cgit v1.2.3 From a4fc7ab1d065a9dd89ed0e74439ef87d4a16e980 Mon Sep 17 00:00:00 2001 From: David Woodhouse Date: Wed, 11 Jan 2006 14:41:26 +0000 Subject: [PATCH] fix/simplify mutex debugging code Let's switch mutex_debug_check_no_locks_freed() to take (addr, len) as arguments instead, since all its callers were just calculating the 'to' address for themselves anyway... (and sometimes doing so badly). Signed-off-by: David Woodhouse Acked-by: Ingo Molnar Signed-off-by: Linus Torvalds --- include/linux/mm.h | 2 +- include/linux/mutex-debug.h | 2 +- include/linux/mutex.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) (limited to 'include') diff --git a/include/linux/mm.h b/include/linux/mm.h index 3f1fafc0245e..e53d2c6fd5f4 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -1027,7 +1027,7 @@ kernel_map_pages(struct page *page, int numpages, int enable) { if (!PageHighMem(page) && !enable) mutex_debug_check_no_locks_freed(page_address(page), - page_address(page + numpages)); + numpages * PAGE_SIZE); } #endif diff --git a/include/linux/mutex-debug.h b/include/linux/mutex-debug.h index 8138d9eb58ec..8b5769f00467 100644 --- a/include/linux/mutex-debug.h +++ b/include/linux/mutex-debug.h @@ -18,6 +18,6 @@ extern void FASTCALL(mutex_destroy(struct mutex *lock)); extern void mutex_debug_show_all_locks(void); extern void mutex_debug_show_held_locks(struct task_struct *filter); extern void mutex_debug_check_no_locks_held(struct task_struct *task); -extern void mutex_debug_check_no_locks_freed(const void *from, const void *to); +extern void mutex_debug_check_no_locks_freed(const void *from, unsigned long len); #endif diff --git a/include/linux/mutex.h b/include/linux/mutex.h index f1c84b1252f5..f1ac507fa20d 100644 --- a/include/linux/mutex.h +++ b/include/linux/mutex.h @@ -79,7 +79,7 @@ struct mutex_waiter { # define mutex_debug_show_all_locks() do { } while (0) # define mutex_debug_show_held_locks(p) do { } while (0) # define mutex_debug_check_no_locks_held(task) do { } while (0) -# define mutex_debug_check_no_locks_freed(from, to) do { } while (0) +# define mutex_debug_check_no_locks_freed(from, len) do { } while (0) #endif #define __MUTEX_INITIALIZER(lockname) \ -- cgit v1.2.3