public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/7] AVR32 update
@ 2006-07-11 12:43 Haavard Skinnemoen
  2006-07-11 12:43 ` [PATCH 1/7] AVR32: CONFIG_DEBUG_BUGVERBOSE and CONFIG_FRAME_POINTER Haavard Skinnemoen
  0 siblings, 1 reply; 10+ messages in thread
From: Haavard Skinnemoen @ 2006-07-11 12:43 UTC (permalink / raw)
  To: akpm; +Cc: linux-kernel


Hi Andrew,

The following patchset fixes a few issues found when trying out
different configuration settings on AVR32. It also adds a reasonable
default configuration for the AT32STK1002 board to make it easier
for people to build a working kernel for themselves.

I should also mention that I may be less responsive the next two
weeks as I leave for vacation, but as long as you Cc linux-kernel,
I'll pick it up (I won't be able to respond to stuff sent to
hskinnemoen@atmel.com as our VPN setup is completely broken.)

Thanks,
Haavard

---

 arch/avr32/Kconfig                       |    8
 arch/avr32/Kconfig.debug                 |    4
 arch/avr32/configs/at32stk1002_defconfig |  754 ++++++++++++++++++++++++++++++
 arch/avr32/kernel/avr32_ksyms.c          |    7
 include/asm-avr32/atomic.h               |   10
 include/asm-avr32/bitops.h               |   20 -
 include/asm-avr32/irqflags.h             |   68 +++
 include/asm-avr32/system.h               |   32 -
 lib/Kconfig.debug                        |    4
 9 files changed, 856 insertions(+), 51 deletions(-)

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH 1/7] AVR32: CONFIG_DEBUG_BUGVERBOSE and CONFIG_FRAME_POINTER
  2006-07-11 12:43 [PATCH 0/7] AVR32 update Haavard Skinnemoen
@ 2006-07-11 12:43 ` Haavard Skinnemoen
  2006-07-11 12:43   ` [PATCH 2/7] AVR32: Fix invalid constraints for stcond Haavard Skinnemoen
  0 siblings, 1 reply; 10+ messages in thread
From: Haavard Skinnemoen @ 2006-07-11 12:43 UTC (permalink / raw)
  To: akpm; +Cc: linux-kernel, Haavard Skinnemoen

Add AVR32 to the list of architectures these two config options
depend on.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>

---
 lib/Kconfig.debug |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index e5889b1..0eba43c 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -275,7 +275,7 @@ config DEBUG_HIGHMEM
 config DEBUG_BUGVERBOSE
 	bool "Verbose BUG() reporting (adds 70K)" if DEBUG_KERNEL && EMBEDDED
 	depends on BUG
-	depends on ARM || ARM26 || M32R || M68K || SPARC32 || SPARC64 || X86_32 || FRV
+	depends on ARM || ARM26 || AVR32 || M32R || M68K || SPARC32 || SPARC64 || X86_32 || FRV
 	default !EMBEDDED
 	help
 	  Say Y here to make BUG() panics output the file name and line number
@@ -313,7 +313,7 @@ config DEBUG_VM
 
 config FRAME_POINTER
 	bool "Compile the kernel with frame pointers"
-	depends on DEBUG_KERNEL && (X86 || CRIS || M68K || M68KNOMMU || FRV || UML || S390)
+	depends on DEBUG_KERNEL && (X86 || CRIS || M68K || M68KNOMMU || FRV || UML || S390 || AVR32)
 	default y if DEBUG_INFO && UML
 	help
 	  If you say Y here the resulting kernel image will be slightly larger
-- 
1.4.0


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 2/7] AVR32: Fix invalid constraints for stcond
  2006-07-11 12:43 ` [PATCH 1/7] AVR32: CONFIG_DEBUG_BUGVERBOSE and CONFIG_FRAME_POINTER Haavard Skinnemoen
@ 2006-07-11 12:43   ` Haavard Skinnemoen
  2006-07-11 12:43     ` [PATCH 3/7] AVR32: Add support for irq-flags state tracing Haavard Skinnemoen
  2006-07-11 18:07     ` [PATCH 2/7] AVR32: Fix invalid constraints for stcond H. Peter Anvin
  0 siblings, 2 replies; 10+ messages in thread
From: Haavard Skinnemoen @ 2006-07-11 12:43 UTC (permalink / raw)
  To: akpm; +Cc: linux-kernel, Haavard Skinnemoen

Because gcc doesn't seem to like arch-dependent constraints in inline
asm, we ended up using "m" as constraint for the stcond instruction.
This is wrong since stcond doesn't support indexed addressing, but
it did seem to work on all the configurations we tried out.

When trying to build an allyesconfig, however, things broke in the
ocfs2 filesystem as the compiler used indexed addressing for the
stcond instruction and the assembler panic'ed.

Using the vaguely documented "o" constraint seems to fix the problem.
This only allows "offsetable" memory operands, and since
(reg + reg + constant) is not possible with any AVR32 instruction,
gcc is forced to disallow indexed addressing.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
---
 include/asm-avr32/atomic.h |   10 +++++-----
 include/asm-avr32/bitops.h |   20 ++++++++++----------
 2 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/include/asm-avr32/atomic.h b/include/asm-avr32/atomic.h
index fa53d53..e0b9c44 100644
--- a/include/asm-avr32/atomic.h
+++ b/include/asm-avr32/atomic.h
@@ -40,7 +40,7 @@ static inline int atomic_sub_return(int 
 		"	sub	%0, %3\n"
 		"	stcond	%1, %0\n"
 		"	brne	1b"
-		: "=&r"(result), "=m"(v->counter)
+		: "=&r"(result), "=o"(v->counter)
 		: "m"(v->counter), "ir"(i)
 		: "cc");
 
@@ -68,7 +68,7 @@ static inline int atomic_add_return(int 
 			"	add	%0, %3\n"
 			"	stcond	%2, %0\n"
 			"	brne	1b"
-			: "=&r"(result), "=m"(v->counter)
+			: "=&r"(result), "=o"(v->counter)
 			: "m"(v->counter), "r"(i)
 			: "cc", "memory");
 
@@ -100,7 +100,7 @@ static inline int atomic_sub_unless(atom
 		"	brne	1b\n"
 		"	mov	%1, 1\n"
 		"1:"
-		: "=&r"(tmp), "=&r"(result), "=m"(v->counter)
+		: "=&r"(tmp), "=&r"(result), "=o"(v->counter)
 		: "m"(v->counter), "ir"(a), "ir"(u)
 		: "cc", "memory");
 
@@ -136,7 +136,7 @@ static inline int atomic_add_unless(atom
 			"	brne	1b\n"
 			"	mov	%1, 1\n"
 			"1:"
-			: "=&r"(tmp), "=&r"(result), "=m"(v->counter)
+			: "=&r"(tmp), "=&r"(result), "=o"(v->counter)
 			: "m"(v->counter), "r"(a), "ir"(u)
 			: "cc", "memory");
 	}
@@ -165,7 +165,7 @@ static inline int atomic_sub_if_positive
 		"	stcond	%1, %0\n"
 		"	brne	1b\n"
 		"1:"
-		: "=&r"(result), "=m"(v->counter)
+		: "=&r"(result), "=o"(v->counter)
 		: "m"(v->counter), "ir"(i)
 		: "cc", "memory");
 
diff --git a/include/asm-avr32/bitops.h b/include/asm-avr32/bitops.h
index f0d7bc7..4d47b07 100644
--- a/include/asm-avr32/bitops.h
+++ b/include/asm-avr32/bitops.h
@@ -40,7 +40,7 @@ static inline void set_bit(int nr, volat
 			"	sbr	%0, %3\n"
 			"	stcond	%1, %0\n"
 			"	brne	1b"
-			: "=r"(tmp), "=m"(*p)
+			: "=r"(tmp), "=o"(*p)
 			: "m"(*p), "i"(nr)
 			: "cc");
 	} else {
@@ -51,7 +51,7 @@ static inline void set_bit(int nr, volat
 			"	or	%0, %3\n"
 			"	stcond	%1, %0\n"
 			"	brne	1b"
-			: "=r"(tmp), "=m"(*p)
+			: "=r"(tmp), "=o"(*p)
 			: "m"(*p), "r"(mask)
 			: "cc");
 	}
@@ -79,7 +79,7 @@ static inline void clear_bit(int nr, vol
 			"	cbr	%0, %3\n"
 			"	stcond	%1, %0\n"
 			"	brne	1b"
-			: "=r"(tmp), "=m"(*p)
+			: "=r"(tmp), "=o"(*p)
 			: "m"(*p), "i"(nr)
 			: "cc");
 	} else {
@@ -90,7 +90,7 @@ static inline void clear_bit(int nr, vol
 			"	andn	%0, %3\n"
 			"	stcond	%1, %0\n"
 			"	brne	1b"
-			: "=r"(tmp), "=m"(*p)
+			: "=r"(tmp), "=o"(*p)
 			: "m"(*p), "r"(mask)
 			: "cc");
 	}
@@ -117,7 +117,7 @@ static inline void change_bit(int nr, vo
 		"	eor	%0, %3\n"
 		"	stcond	%1, %0\n"
 		"	brne	1b"
-		: "=r"(tmp), "=m"(*p)
+		: "=r"(tmp), "=o"(*p)
 		: "m"(*p), "r"(mask)
 		: "cc");
 }
@@ -144,7 +144,7 @@ static inline int test_and_set_bit(int n
 			"	sbr	%0, %4\n"
 			"	stcond	%1, %0\n"
 			"	brne	1b"
-			: "=r"(tmp), "=m"(*p), "=r"(old)
+			: "=r"(tmp), "=o"(*p), "=r"(old)
 			: "m"(*p), "i"(nr)
 			: "memory", "cc");
 	} else {
@@ -154,7 +154,7 @@ static inline int test_and_set_bit(int n
 			"	or	%0, %2, %4\n"
 			"	stcond	%1, %0\n"
 			"	brne	1b"
-			: "=r"(tmp), "=m"(*p), "=r"(old)
+			: "=r"(tmp), "=o"(*p), "=r"(old)
 			: "m"(*p), "r"(mask)
 			: "memory", "cc");
 	}
@@ -184,7 +184,7 @@ static inline int test_and_clear_bit(int
 			"	cbr	%0, %4\n"
 			"	stcond	%1, %0\n"
 			"	brne	1b"
-			: "=r"(tmp), "=m"(*p), "=r"(old)
+			: "=r"(tmp), "=o"(*p), "=r"(old)
 			: "m"(*p), "i"(nr)
 			: "memory", "cc");
 	} else {
@@ -195,7 +195,7 @@ static inline int test_and_clear_bit(int
 			"	andn	%0, %4\n"
 			"	stcond	%1, %0\n"
 			"	brne	1b"
-			: "=r"(tmp), "=m"(*p), "=r"(old)
+			: "=r"(tmp), "=o"(*p), "=r"(old)
 			: "m"(*p), "r"(mask)
 			: "memory", "cc");
 	}
@@ -223,7 +223,7 @@ static inline int test_and_change_bit(in
 		"	eor	%0, %2, %4\n"
 		"	stcond	%1, %0\n"
 		"	brne	1b"
-		: "=r"(tmp), "=m"(*p), "=r"(old)
+		: "=r"(tmp), "=o"(*p), "=r"(old)
 		: "m"(*p), "r"(mask)
 		: "memory", "cc");
 
-- 
1.4.0


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 3/7] AVR32: Add support for irq-flags state tracing
  2006-07-11 12:43   ` [PATCH 2/7] AVR32: Fix invalid constraints for stcond Haavard Skinnemoen
@ 2006-07-11 12:43     ` Haavard Skinnemoen
  2006-07-11 12:43       ` [PATCH 4/7] AVR32: Turn off support for DISCONTIGMEM and SPARSEMEM Haavard Skinnemoen
  2006-07-11 18:07     ` [PATCH 2/7] AVR32: Fix invalid constraints for stcond H. Peter Anvin
  1 sibling, 1 reply; 10+ messages in thread
From: Haavard Skinnemoen @ 2006-07-11 12:43 UTC (permalink / raw)
  To: akpm; +Cc: linux-kernel, Haavard Skinnemoen

Move the irq-flags manipulation to asm/irqflags.h, add the required
raw_ prefix and define TRACE_IRQFLAGS_SUPPORT.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
---
 arch/avr32/Kconfig.debug     |    4 ++
 include/asm-avr32/irqflags.h |   68 ++++++++++++++++++++++++++++++++++++++++++
 include/asm-avr32/system.h   |   32 +-------------------
 3 files changed, 73 insertions(+), 31 deletions(-)

diff --git a/arch/avr32/Kconfig.debug b/arch/avr32/Kconfig.debug
index 1b84e20..64ace00 100644
--- a/arch/avr32/Kconfig.debug
+++ b/arch/avr32/Kconfig.debug
@@ -1,5 +1,9 @@
 menu "Kernel hacking"
 
+config TRACE_IRQFLAGS_SUPPORT
+	bool
+	default y
+
 source "lib/Kconfig.debug"
 
 config KPROBES
diff --git a/include/asm-avr32/irqflags.h b/include/asm-avr32/irqflags.h
new file mode 100644
index 0000000..93570da
--- /dev/null
+++ b/include/asm-avr32/irqflags.h
@@ -0,0 +1,68 @@
+/*
+ * Copyright (C) 2004-2006 Atmel Corporation
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+#ifndef __ASM_AVR32_IRQFLAGS_H
+#define __ASM_AVR32_IRQFLAGS_H
+
+#include <asm/sysreg.h>
+
+static inline unsigned long __raw_local_save_flags(void)
+{
+	return sysreg_read(SR);
+}
+
+#define raw_local_save_flags(x)					\
+	do { (x) = __raw_local_save_flags(); } while (0)
+
+/*
+ * This will restore ALL status register flags, not only the interrupt
+ * mask flag.
+ *
+ * The empty asm statement informs the compiler of this fact while
+ * also serving as a barrier.
+ */
+static inline void raw_local_irq_restore(unsigned long flags)
+{
+	sysreg_write(SR, flags);
+	asm volatile("" : : : "memory", "cc");
+}
+
+static inline void raw_local_irq_disable(void)
+{
+	asm volatile("ssrf %0" : : "n"(SYSREG_GM_OFFSET) : "memory");
+}
+
+static inline void raw_local_irq_enable(void)
+{
+	asm volatile("csrf %0" : : "n"(SYSREG_GM_OFFSET) : "memory");
+}
+
+static inline int raw_irqs_disabled_flags(unsigned long flags)
+{
+	return (flags & SYSREG_BIT(GM)) != 0;
+}
+
+static inline int raw_irqs_disabled(void)
+{
+	unsigned long flags = __raw_local_save_flags();
+
+	return raw_irqs_disabled_flags(flags);
+}
+
+static inline unsigned long __raw_local_irq_save(void)
+{
+	unsigned long flags = __raw_local_save_flags();
+
+	raw_local_irq_disable();
+
+	return flags;
+}
+
+#define raw_local_irq_save(flags)				\
+	do { (flags) = __raw_local_irq_save(); } while (0)
+
+#endif /* __ASM_AVR32_IRQFLAGS_H */
diff --git a/include/asm-avr32/system.h b/include/asm-avr32/system.h
index 583e098..d0c5a1b 100644
--- a/include/asm-avr32/system.h
+++ b/include/asm-avr32/system.h
@@ -69,37 +69,7 @@ # define smp_wmb()		barrier()
 # define smp_read_barrier_depends() do { } while(0)
 #endif
 
-/* Interrupt Control */
-
-#define local_irq_enable()					\
-	asm volatile("csrf %0" : : "n"(SR_GM_BIT) : "memory")
-#define local_irq_disable()					\
-	asm volatile ("ssrf %0" : : "n"(SR_GM_BIT) : "memory")
-#define local_save_flags(x) ((x) = sysreg_read(SR))
-#define irqs_disabled()				\
-	({					\
-		unsigned long flags;		\
-		local_save_flags(flags);	\
-		((flags & SR_GM) != 0);		\
-	})
-
-/*
- * This will restore ALL status register flags, not only the interrupt
- * mask flag.
- *
- * The empty asm statement informs the compiler of this fact (it also
- * serves as a barrier).
- */
-#define local_irq_restore(x)				\
-	do {						\
-		sysreg_write(SR, (x));			\
-		asm volatile("" : : : "memory", "cc");	\
-	} while(0)
-#define local_irq_save(flags)			\
-	do {					\
-		local_save_flags(flags);	\
-		local_irq_disable();		\
-	} while(0)
+#include <linux/irqflags.h>
 
 extern void __xchg_called_with_bad_pointer(void);
 
-- 
1.4.0


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 4/7] AVR32: Turn off support for DISCONTIGMEM and SPARSEMEM
  2006-07-11 12:43     ` [PATCH 3/7] AVR32: Add support for irq-flags state tracing Haavard Skinnemoen
@ 2006-07-11 12:43       ` Haavard Skinnemoen
  2006-07-11 12:43         ` [PATCH 5/7] AVR32: Always enable CONFIG_EMBEDDED Haavard Skinnemoen
  0 siblings, 1 reply; 10+ messages in thread
From: Haavard Skinnemoen @ 2006-07-11 12:43 UTC (permalink / raw)
  To: akpm; +Cc: linux-kernel, Haavard Skinnemoen

I just gave CONFIG_DISCONTIGMEM a try on AVR32 and it turned out it
didn't compile.

Since there's only a single board available, and that board has no
use for discontigmem or sparsemem anyway, I figured it's better to
just turn it off until a need for it arises.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
---
 arch/avr32/Kconfig |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/arch/avr32/Kconfig b/arch/avr32/Kconfig
index 89d7456..b12216a 100644
--- a/arch/avr32/Kconfig
+++ b/arch/avr32/Kconfig
@@ -132,12 +132,11 @@ config ARCH_FLATMEM_ENABLE
 
 config ARCH_DISCONTIGMEM_ENABLE
 	bool
-	default y
+	default n
 
 config ARCH_SPARSEMEM_ENABLE
 	bool
-	depends on EXPERIMENTAL
-	default y
+	default n
 
 source "mm/Kconfig"
 
-- 
1.4.0


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 5/7] AVR32: Always enable CONFIG_EMBEDDED
  2006-07-11 12:43       ` [PATCH 4/7] AVR32: Turn off support for DISCONTIGMEM and SPARSEMEM Haavard Skinnemoen
@ 2006-07-11 12:43         ` Haavard Skinnemoen
  2006-07-11 12:43           ` [PATCH 6/7] AVR32: Export the find_*_bit() functions Haavard Skinnemoen
  0 siblings, 1 reply; 10+ messages in thread
From: Haavard Skinnemoen @ 2006-07-11 12:43 UTC (permalink / raw)
  To: akpm; +Cc: linux-kernel, Haavard Skinnemoen

If CONFIG_EMBEDDED is not defined, we are unable to deselect some
options which are unnecessary on most AVR32 setups. This patch
unconditionally selects CONFIG_EMBEDDED so that "make allnoconfig"
produces something closer to a minimal setup.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
---
 arch/avr32/Kconfig |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/arch/avr32/Kconfig b/arch/avr32/Kconfig
index b12216a..dd3190b 100644
--- a/arch/avr32/Kconfig
+++ b/arch/avr32/Kconfig
@@ -8,6 +8,9 @@ mainmenu "Linux Kernel Configuration"
 config AVR32
 	bool
 	default y
+	# With EMBEDDED=n, we get lots of stuff automatically selected
+	# that we usually don't need on AVR32.
+	select EMBEDDED
 	help
 	  AVR32 is a high-performance 32-bit RISC microprocessor core,
 	  designed for cost-sensitive embedded applications, with particular
-- 
1.4.0


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 6/7] AVR32: Export the find_*_bit() functions
  2006-07-11 12:43         ` [PATCH 5/7] AVR32: Always enable CONFIG_EMBEDDED Haavard Skinnemoen
@ 2006-07-11 12:43           ` Haavard Skinnemoen
  2006-07-11 12:43             ` [PATCH 7/7] AVR32: Add defconfig for AT32STK1002 Haavard Skinnemoen
  0 siblings, 1 reply; 10+ messages in thread
From: Haavard Skinnemoen @ 2006-07-11 12:43 UTC (permalink / raw)
  To: akpm; +Cc: linux-kernel, Haavard Skinnemoen

Several filesystems depend on at least some of these functions, and
they are exported on all other arches as far as I can tell.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
---
 arch/avr32/kernel/avr32_ksyms.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/arch/avr32/kernel/avr32_ksyms.c b/arch/avr32/kernel/avr32_ksyms.c
index d9dd1fc..04f767a 100644
--- a/arch/avr32/kernel/avr32_ksyms.c
+++ b/arch/avr32/kernel/avr32_ksyms.c
@@ -46,3 +46,10 @@ EXPORT_SYMBOL(csum_partial_copy_generic)
 EXPORT_SYMBOL(__ndelay);
 EXPORT_SYMBOL(__udelay);
 EXPORT_SYMBOL(__const_udelay);
+
+/* Bit operations (lib/findbit.S) */
+EXPORT_SYMBOL(find_first_zero_bit);
+EXPORT_SYMBOL(find_next_zero_bit);
+EXPORT_SYMBOL(find_first_bit);
+EXPORT_SYMBOL(find_next_bit);
+EXPORT_SYMBOL(generic_find_next_zero_le_bit);
-- 
1.4.0


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 7/7] AVR32: Add defconfig for AT32STK1002
  2006-07-11 12:43           ` [PATCH 6/7] AVR32: Export the find_*_bit() functions Haavard Skinnemoen
@ 2006-07-11 12:43             ` Haavard Skinnemoen
  0 siblings, 0 replies; 10+ messages in thread
From: Haavard Skinnemoen @ 2006-07-11 12:43 UTC (permalink / raw)
  To: akpm; +Cc: linux-kernel, Haavard Skinnemoen

AT32STK1002 is a CPU daughterboard for AT32STK1000 supporting the
AT32AP7000 CPU. This patch adds a default configuration for it
with support for serial console and nfsroot. It also enables a few
debugging options.

Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
---
 arch/avr32/configs/at32stk1002_defconfig |  754 ++++++++++++++++++++++++++++++
 1 files changed, 754 insertions(+), 0 deletions(-)

diff --git a/arch/avr32/configs/at32stk1002_defconfig b/arch/avr32/configs/at32stk1002_defconfig
new file mode 100644
index 0000000..5d93532
--- /dev/null
+++ b/arch/avr32/configs/at32stk1002_defconfig
@@ -0,0 +1,754 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.18-rc1
+# Tue Jul 11 12:41:36 2006
+#
+CONFIG_AVR32=y
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_HARDIRQS_SW_RESEND=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+
+#
+# Code maturity level options
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION=""
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_SWAP=y
+# CONFIG_SYSVIPC is not set
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+CONFIG_SYSCTL=y
+# CONFIG_AUDIT is not set
+# CONFIG_IKCONFIG is not set
+# CONFIG_RELAY is not set
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_EMBEDDED=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+# CONFIG_BASE_FULL is not set
+# CONFIG_FUTEX is not set
+# CONFIG_EPOLL is not set
+CONFIG_SHMEM=y
+# CONFIG_SLAB is not set
+# CONFIG_VM_EVENT_COUNTERS is not set
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=1
+CONFIG_SLOB=y
+
+#
+# Loadable module support
+#
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+# CONFIG_KMOD is not set
+
+#
+# Block layer
+#
+# CONFIG_BLK_DEV_IO_TRACE is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+# CONFIG_IOSCHED_AS is not set
+# CONFIG_IOSCHED_DEADLINE is not set
+# CONFIG_IOSCHED_CFQ is not set
+# CONFIG_DEFAULT_AS is not set
+# CONFIG_DEFAULT_DEADLINE is not set
+# CONFIG_DEFAULT_CFQ is not set
+CONFIG_DEFAULT_NOOP=y
+CONFIG_DEFAULT_IOSCHED="noop"
+
+#
+# System Type and features
+#
+CONFIG_SUBARCH_AVR32B=y
+CONFIG_MMU=y
+CONFIG_PERFORMANCE_COUNTERS=y
+CONFIG_PLATFORM_AT32AP=y
+CONFIG_CPU_AT32AP7000=y
+CONFIG_BOARD_AT32STK1002=y
+CONFIG_BOARD_AT32STK1000=y
+CONFIG_LOADER_U_BOOT=y
+CONFIG_LOAD_ADDRESS=0x10000000
+CONFIG_ENTRY_ADDRESS=0x90000000
+CONFIG_PHYS_OFFSET=0x10000000
+CONFIG_PREEMPT_NONE=y
+# CONFIG_PREEMPT_VOLUNTARY is not set
+# CONFIG_PREEMPT is not set
+# CONFIG_HAVE_ARCH_BOOTMEM_NODE is not set
+# CONFIG_ARCH_HAVE_MEMORY_PRESENT is not set
+# CONFIG_NEED_NODE_MEMMAP_SIZE is not set
+CONFIG_ARCH_FLATMEM_ENABLE=y
+# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
+# CONFIG_ARCH_SPARSEMEM_ENABLE is not set
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+# CONFIG_SPARSEMEM_STATIC is not set
+CONFIG_SPLIT_PTLOCK_CPUS=4
+# CONFIG_RESOURCES_64BIT is not set
+# CONFIG_OWNERSHIP_TRACE is not set
+# CONFIG_HZ_100 is not set
+CONFIG_HZ_250=y
+# CONFIG_HZ_1000 is not set
+CONFIG_HZ=250
+CONFIG_CMDLINE=""
+
+#
+# Bus options
+#
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+# CONFIG_PCCARD is not set
+
+#
+# Executable file formats
+#
+CONFIG_BINFMT_ELF=y
+# CONFIG_BINFMT_MISC is not set
+
+#
+# Networking
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+# CONFIG_NETDEBUG is not set
+CONFIG_PACKET=y
+CONFIG_PACKET_MMAP=y
+CONFIG_UNIX=y
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+# CONFIG_IP_MULTICAST is not set
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+CONFIG_IP_PNP=y
+CONFIG_IP_PNP_DHCP=y
+# CONFIG_IP_PNP_BOOTP is not set
+# CONFIG_IP_PNP_RARP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_ARPD is not set
+# CONFIG_SYN_COOKIES is not set
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+# CONFIG_INET_XFRM_TUNNEL is not set
+# CONFIG_INET_TUNNEL is not set
+# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
+# CONFIG_INET_XFRM_MODE_TUNNEL is not set
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_BIC=y
+# CONFIG_IPV6 is not set
+# CONFIG_INET6_XFRM_TUNNEL is not set
+# CONFIG_INET6_TUNNEL is not set
+# CONFIG_NETWORK_SECMARK is not set
+# CONFIG_NETFILTER is not set
+
+#
+# DCCP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_DCCP is not set
+
+#
+# SCTP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_SCTP is not set
+
+#
+# TIPC Configuration (EXPERIMENTAL)
+#
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_NET_DIVERT is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+
+#
+# QoS and/or fair queueing
+#
+# CONFIG_NET_SCHED is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_NET_TCPPROBE is not set
+# CONFIG_HAMRADIO is not set
+# CONFIG_IRDA is not set
+# CONFIG_BT is not set
+# CONFIG_IEEE80211 is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+# CONFIG_PREVENT_FIRMWARE_BUILD is not set
+# CONFIG_FW_LOADER is not set
+# CONFIG_DEBUG_DRIVER is not set
+# CONFIG_SYS_HYPERVISOR is not set
+
+#
+# Connector - unified userspace <-> kernelspace linker
+#
+# CONFIG_CONNECTOR is not set
+
+#
+# Memory Technology Devices (MTD)
+#
+# CONFIG_MTD is not set
+
+#
+# Parallel port support
+#
+# CONFIG_PARPORT is not set
+
+#
+# Plug and Play support
+#
+
+#
+# Block devices
+#
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=m
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+CONFIG_BLK_DEV_NBD=m
+CONFIG_BLK_DEV_RAM=m
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=4096
+CONFIG_BLK_DEV_INITRD=y
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+
+#
+# ATA/ATAPI/MFM/RLL support
+#
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+# CONFIG_SCSI is not set
+
+#
+# Multi-device support (RAID and LVM)
+#
+# CONFIG_MD is not set
+
+#
+# Fusion MPT device support
+#
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+
+#
+# I2O device support
+#
+
+#
+# Network device support
+#
+CONFIG_NETDEVICES=y
+CONFIG_DUMMY=y
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+CONFIG_TUN=m
+
+#
+# PHY device support
+#
+# CONFIG_PHYLIB is not set
+
+#
+# Ethernet (10 or 100Mbit)
+#
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+CONFIG_MACB=y
+
+#
+# Ethernet (1000 Mbit)
+#
+
+#
+# Ethernet (10000 Mbit)
+#
+
+#
+# Token Ring devices
+#
+
+#
+# Wireless LAN (non-hamradio)
+#
+# CONFIG_NET_RADIO is not set
+
+#
+# Wan interfaces
+#
+# CONFIG_WAN is not set
+CONFIG_PPP=m
+# CONFIG_PPP_MULTILINK is not set
+# CONFIG_PPP_FILTER is not set
+CONFIG_PPP_ASYNC=m
+# CONFIG_PPP_SYNC_TTY is not set
+CONFIG_PPP_DEFLATE=m
+# CONFIG_PPP_BSDCOMP is not set
+# CONFIG_PPP_MPPE is not set
+# CONFIG_PPPOE is not set
+# CONFIG_SLIP is not set
+# CONFIG_SHAPER is not set
+# CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+
+#
+# ISDN subsystem
+#
+# CONFIG_ISDN is not set
+
+#
+# Telephony Support
+#
+# CONFIG_PHONE is not set
+
+#
+# Input device support
+#
+# CONFIG_INPUT is not set
+
+#
+# Hardware I/O ports
+#
+# CONFIG_SERIO is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+# CONFIG_VT is not set
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+# CONFIG_SERIAL_8250 is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_AT91=y
+CONFIG_SERIAL_AT91_CONSOLE=y
+# CONFIG_SERIAL_AT91_TTYAT is not set
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_UNIX98_PTYS=y
+# CONFIG_LEGACY_PTYS is not set
+
+#
+# IPMI
+#
+# CONFIG_IPMI_HANDLER is not set
+
+#
+# Watchdog Cards
+#
+# CONFIG_WATCHDOG is not set
+# CONFIG_HW_RANDOM is not set
+# CONFIG_RTC is not set
+# CONFIG_GEN_RTC is not set
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+
+#
+# Ftape, the floppy tape device driver
+#
+# CONFIG_RAW_DRIVER is not set
+
+#
+# TPM devices
+#
+# CONFIG_TCG_TPM is not set
+# CONFIG_TELCLOCK is not set
+
+#
+# I2C support
+#
+# CONFIG_I2C is not set
+
+#
+# SPI support
+#
+CONFIG_SPI=y
+# CONFIG_SPI_DEBUG is not set
+CONFIG_SPI_MASTER=y
+
+#
+# SPI Master Controller Drivers
+#
+CONFIG_SPI_ATMEL=m
+# CONFIG_SPI_BITBANG is not set
+
+#
+# SPI Protocol Masters
+#
+
+#
+# Dallas's 1-wire bus
+#
+
+#
+# Hardware Monitoring support
+#
+# CONFIG_HWMON is not set
+# CONFIG_HWMON_VID is not set
+
+#
+# Misc devices
+#
+
+#
+# Multimedia devices
+#
+# CONFIG_VIDEO_DEV is not set
+CONFIG_VIDEO_V4L2=y
+
+#
+# Digital Video Broadcasting Devices
+#
+# CONFIG_DVB is not set
+
+#
+# Graphics support
+#
+# CONFIG_FIRMWARE_EDID is not set
+CONFIG_FB=m
+CONFIG_FB_CFB_FILLRECT=m
+CONFIG_FB_CFB_COPYAREA=m
+CONFIG_FB_CFB_IMAGEBLIT=m
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_BACKLIGHT is not set
+# CONFIG_FB_MODE_HELPERS is not set
+# CONFIG_FB_TILEBLITTING is not set
+CONFIG_FB_SIDSA=m
+CONFIG_FB_SIDSA_DEFAULT_BPP=24
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_VIRTUAL is not set
+
+#
+# Logo configuration
+#
+# CONFIG_LOGO is not set
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+# CONFIG_BACKLIGHT_CLASS_DEVICE is not set
+CONFIG_LCD_CLASS_DEVICE=m
+CONFIG_LCD_DEVICE=y
+CONFIG_LCD_LTV350QV=m
+
+#
+# Sound
+#
+# CONFIG_SOUND is not set
+
+#
+# USB support
+#
+# CONFIG_USB_ARCH_HAS_HCD is not set
+# CONFIG_USB_ARCH_HAS_OHCI is not set
+# CONFIG_USB_ARCH_HAS_EHCI is not set
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+#
+
+#
+# USB Gadget Support
+#
+# CONFIG_USB_GADGET is not set
+
+#
+# MMC/SD Card support
+#
+# CONFIG_MMC is not set
+
+#
+# LED devices
+#
+# CONFIG_NEW_LEDS is not set
+
+#
+# LED drivers
+#
+
+#
+# LED Triggers
+#
+
+#
+# InfiniBand support
+#
+
+#
+# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
+#
+
+#
+# Real Time Clock
+#
+# CONFIG_RTC_CLASS is not set
+
+#
+# DMA Engine support
+#
+# CONFIG_DMA_ENGINE is not set
+
+#
+# DMA Clients
+#
+
+#
+# DMA Devices
+#
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+# CONFIG_EXT2_FS_XATTR is not set
+# CONFIG_EXT2_FS_XIP is not set
+# CONFIG_EXT3_FS is not set
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_FS_POSIX_ACL is not set
+# CONFIG_XFS_FS is not set
+# CONFIG_OCFS2_FS is not set
+CONFIG_MINIX_FS=m
+CONFIG_ROMFS_FS=m
+# CONFIG_INOTIFY is not set
+# CONFIG_QUOTA is not set
+# CONFIG_DNOTIFY is not set
+# CONFIG_AUTOFS_FS is not set
+# CONFIG_AUTOFS4_FS is not set
+# CONFIG_FUSE_FS is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=m
+CONFIG_MSDOS_FS=m
+CONFIG_VFAT_FS=m
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_KCORE=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_RAMFS=y
+CONFIG_CONFIGFS_FS=m
+
+#
+# Miscellaneous filesystems
+#
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_CRAMFS is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+
+#
+# Network File Systems
+#
+CONFIG_NFS_FS=y
+CONFIG_NFS_V3=y
+# CONFIG_NFS_V3_ACL is not set
+# CONFIG_NFS_V4 is not set
+# CONFIG_NFS_DIRECTIO is not set
+# CONFIG_NFSD is not set
+CONFIG_ROOT_NFS=y
+CONFIG_LOCKD=y
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=y
+# CONFIG_RPCSEC_GSS_KRB5 is not set
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+# CONFIG_SMB_FS is not set
+CONFIG_CIFS=m
+# CONFIG_CIFS_STATS is not set
+# CONFIG_CIFS_WEAK_PW_HASH is not set
+# CONFIG_CIFS_XATTR is not set
+# CONFIG_CIFS_DEBUG2 is not set
+# CONFIG_CIFS_EXPERIMENTAL is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+# CONFIG_9P_FS is not set
+
+#
+# Partition Types
+#
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_MSDOS_PARTITION=y
+
+#
+# Native Language Support
+#
+CONFIG_NLS=m
+CONFIG_NLS_DEFAULT="iso8859-1"
+CONFIG_NLS_CODEPAGE_437=m
+# CONFIG_NLS_CODEPAGE_737 is not set
+# CONFIG_NLS_CODEPAGE_775 is not set
+CONFIG_NLS_CODEPAGE_850=m
+# CONFIG_NLS_CODEPAGE_852 is not set
+# CONFIG_NLS_CODEPAGE_855 is not set
+# CONFIG_NLS_CODEPAGE_857 is not set
+# CONFIG_NLS_CODEPAGE_860 is not set
+# CONFIG_NLS_CODEPAGE_861 is not set
+# CONFIG_NLS_CODEPAGE_862 is not set
+# CONFIG_NLS_CODEPAGE_863 is not set
+# CONFIG_NLS_CODEPAGE_864 is not set
+# CONFIG_NLS_CODEPAGE_865 is not set
+# CONFIG_NLS_CODEPAGE_866 is not set
+# CONFIG_NLS_CODEPAGE_869 is not set
+# CONFIG_NLS_CODEPAGE_936 is not set
+# CONFIG_NLS_CODEPAGE_950 is not set
+# CONFIG_NLS_CODEPAGE_932 is not set
+# CONFIG_NLS_CODEPAGE_949 is not set
+# CONFIG_NLS_CODEPAGE_874 is not set
+# CONFIG_NLS_ISO8859_8 is not set
+# CONFIG_NLS_CODEPAGE_1250 is not set
+# CONFIG_NLS_CODEPAGE_1251 is not set
+# CONFIG_NLS_ASCII is not set
+CONFIG_NLS_ISO8859_1=m
+# CONFIG_NLS_ISO8859_2 is not set
+# CONFIG_NLS_ISO8859_3 is not set
+# CONFIG_NLS_ISO8859_4 is not set
+# CONFIG_NLS_ISO8859_5 is not set
+# CONFIG_NLS_ISO8859_6 is not set
+# CONFIG_NLS_ISO8859_7 is not set
+# CONFIG_NLS_ISO8859_9 is not set
+# CONFIG_NLS_ISO8859_13 is not set
+# CONFIG_NLS_ISO8859_14 is not set
+# CONFIG_NLS_ISO8859_15 is not set
+# CONFIG_NLS_KOI8_R is not set
+# CONFIG_NLS_KOI8_U is not set
+CONFIG_NLS_UTF8=m
+
+#
+# Kernel hacking
+#
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_PRINTK_TIME=y
+CONFIG_MAGIC_SYSRQ=y
+# CONFIG_UNUSED_SYMBOLS is not set
+CONFIG_DEBUG_KERNEL=y
+CONFIG_LOG_BUF_SHIFT=14
+CONFIG_DETECT_SOFTLOCKUP=y
+# CONFIG_SCHEDSTATS is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_RWSEMS is not set
+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+# CONFIG_DEBUG_KOBJECT is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+# CONFIG_DEBUG_INFO is not set
+CONFIG_DEBUG_FS=y
+# CONFIG_DEBUG_VM is not set
+CONFIG_FRAME_POINTER=y
+# CONFIG_UNWIND_INFO is not set
+CONFIG_FORCED_INLINING=y
+# CONFIG_RCU_TORTURE_TEST is not set
+CONFIG_KPROBES=y
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+
+#
+# Cryptographic options
+#
+# CONFIG_CRYPTO is not set
+
+#
+# Hardware crypto devices
+#
+
+#
+# Library routines
+#
+CONFIG_CRC_CCITT=m
+# CONFIG_CRC16 is not set
+CONFIG_CRC32=m
+# CONFIG_LIBCRC32C is not set
+CONFIG_ZLIB_INFLATE=m
+CONFIG_ZLIB_DEFLATE=m
-- 
1.4.0


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/7] AVR32: Fix invalid constraints for stcond
  2006-07-11 12:43   ` [PATCH 2/7] AVR32: Fix invalid constraints for stcond Haavard Skinnemoen
  2006-07-11 12:43     ` [PATCH 3/7] AVR32: Add support for irq-flags state tracing Haavard Skinnemoen
@ 2006-07-11 18:07     ` H. Peter Anvin
  2006-07-11 19:26       ` Haavard Skinnemoen
  1 sibling, 1 reply; 10+ messages in thread
From: H. Peter Anvin @ 2006-07-11 18:07 UTC (permalink / raw)
  To: Haavard Skinnemoen; +Cc: akpm, linux-kernel

Haavard Skinnemoen wrote:
> Because gcc doesn't seem to like arch-dependent constraints in inline
> asm, we ended up using "m" as constraint for the stcond instruction.

Bunkum.  That would be a bug in the AVR32 gcc, but gcc handles 
arch-specific constraints in inline assembly all the time.  The kernel 
wouldn't compile for a large number of architectures otherwise.

	-hpa

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/7] AVR32: Fix invalid constraints for stcond
  2006-07-11 18:07     ` [PATCH 2/7] AVR32: Fix invalid constraints for stcond H. Peter Anvin
@ 2006-07-11 19:26       ` Haavard Skinnemoen
  0 siblings, 0 replies; 10+ messages in thread
From: Haavard Skinnemoen @ 2006-07-11 19:26 UTC (permalink / raw)
  To: H. Peter Anvin; +Cc: Haavard Skinnemoen, akpm, linux-kernel

On 7/11/06, H. Peter Anvin <hpa@zytor.com> wrote:
> Haavard Skinnemoen wrote:
> > Because gcc doesn't seem to like arch-dependent constraints in inline
> > asm, we ended up using "m" as constraint for the stcond instruction.
>
> Bunkum.  That would be a bug in the AVR32 gcc, but gcc handles
> arch-specific constraints in inline assembly all the time.  The kernel
> wouldn't compile for a large number of architectures otherwise.

Thanks, then we at least know it's a gcc bug. It's sometimes hard to
tell what features are actually supposed to work, especially the stuff
that's only documented in the internals manual...

Anyway, "o" is apparently more correct than "m" since with "o" it
manages to compile all the filesystems without complaining, and the
output looks correct. On the other hand, ocfs2 probably isn't
something you want to use on your AVR32 board...

Håvard

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2006-07-11 19:26 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-07-11 12:43 [PATCH 0/7] AVR32 update Haavard Skinnemoen
2006-07-11 12:43 ` [PATCH 1/7] AVR32: CONFIG_DEBUG_BUGVERBOSE and CONFIG_FRAME_POINTER Haavard Skinnemoen
2006-07-11 12:43   ` [PATCH 2/7] AVR32: Fix invalid constraints for stcond Haavard Skinnemoen
2006-07-11 12:43     ` [PATCH 3/7] AVR32: Add support for irq-flags state tracing Haavard Skinnemoen
2006-07-11 12:43       ` [PATCH 4/7] AVR32: Turn off support for DISCONTIGMEM and SPARSEMEM Haavard Skinnemoen
2006-07-11 12:43         ` [PATCH 5/7] AVR32: Always enable CONFIG_EMBEDDED Haavard Skinnemoen
2006-07-11 12:43           ` [PATCH 6/7] AVR32: Export the find_*_bit() functions Haavard Skinnemoen
2006-07-11 12:43             ` [PATCH 7/7] AVR32: Add defconfig for AT32STK1002 Haavard Skinnemoen
2006-07-11 18:07     ` [PATCH 2/7] AVR32: Fix invalid constraints for stcond H. Peter Anvin
2006-07-11 19:26       ` Haavard Skinnemoen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox