All of lore.kernel.org
 help / color / mirror / Atom feed
* loading ide-scsi on demand
From: Agri @ 2004-01-25 22:20 UTC (permalink / raw)
  To: linux-kernel

I asked this question on newbie list... but got no idea...

Is there any way to configure loading of ide-scsi "ON DEMAND"?
It seems that "touching" for /dev/scd0 do not cause kmod
to exec modprobe.

Agri


^ permalink raw reply

* Re: [patch] Re: Kernels > 2.6.1-mm3 do not boot. - SOLVED
From: Andi Kleen @ 2004-01-25 22:13 UTC (permalink / raw)
  To: Fabio Coatti; +Cc: Andi Kleen, Andrew Morton, bunk, eric, linux-kernel
In-Reply-To: <200401252308.33005.cova@ferrara.linux.it>

On Sun, Jan 25, 2004 at 11:08:33PM +0100, Fabio Coatti wrote:
> > does official 2.6.2rc1 (not mm) with -funit-at-a-time enabled in the
> > Makefile work?
> 
> Yes. 

Ok, then it is something in -mm*. I would suspect the new weird CPU
configuration stuff. Can you double check you configured your CPU correctly? 
Or do you use 4/4? If yes turn that off.

-Andi

^ permalink raw reply

* Re: [patch] Re: Kernels > 2.6.1-mm3 do not boot. - SOLVED
From: Fabio Coatti @ 2004-01-25 22:08 UTC (permalink / raw)
  To: Andi Kleen; +Cc: Andrew Morton, bunk, eric, linux-kernel
In-Reply-To: <20040125214653.GB28576@colin2.muc.de>

Alle Sunday 25 January 2004 22:46, Andi Kleen ha scritto:

>
> what kernel version are you running exactly?

I've tried all -mm versions for 2.6.1 and 2.6.2-rc1
The latest working one without any patch was 2.6.1-mm3
2.6.2-rc1-mm3 didn't work.

> what oops are you seeing?

no oops at all. The boot stops right after "Uncompressing.." line

> does official 2.6.2rc1 (not mm) with -funit-at-a-time enabled in the
> Makefile work?

Yes. 

-- 
Fabio Coatti       http://www.ferrara.linux.it/members/cova     
Ferrara Linux Users Group           http://ferrara.linux.it
GnuPG fp:9765 A5B6 6843 17BC A646  BE8C FA56 373A 5374 C703
Old SysOps never die... they simply forget their password.

^ permalink raw reply

* [PATCH] Re: rtl8169 problem and 2.4.23
From: Francois Romieu @ 2004-01-25 22:07 UTC (permalink / raw)
  To: Daniel Egger; +Cc: Linux Kernel Mailinglist, jgarzik
In-Reply-To: <1075059124.13750.38.camel@sonja>

Daniel Egger <degger@fhm.edu> :
[r8169 stats broken]
> Furthermore the performance is really scary slow: I'm not even getting 
> 100Base-T speeds from an Athlon XP to my G4 PowerBook under MacOS X over
> a PtP connection.

Try the patch above. If it compiles, it should fix the stats and you get a
bugfix as an extra.

Please Cc: netdev@oss.sgi.com on followup.

--- linux-2.4.23.orig/drivers/net/r8169.c	Sun Jan 25 21:00:51 2004
+++ linux-2.4.23/drivers/net/r8169.c	Sun Jan 25 22:58:17 2004
@@ -874,7 +874,6 @@
 		     void *ioaddr)
 {
 	unsigned long dirty_tx, tx_left = 0;
-	int entry = tp->cur_tx % NUM_TX_DESC;
 
 	assert(dev != NULL);
 	assert(tp != NULL);
@@ -884,14 +883,18 @@
 	tx_left = tp->cur_tx - dirty_tx;
 
 	while (tx_left > 0) {
+		int entry = dirty_tx % NUM_TX_DESC;
+
 		if ((tp->TxDescArray[entry].status & OWNbit) == 0) {
-			dev_kfree_skb_irq(tp->
-					  Tx_skbuff[dirty_tx % NUM_TX_DESC]);
-			tp->Tx_skbuff[dirty_tx % NUM_TX_DESC] = NULL;
+			struct sk_buff *skb = tp->Tx_skbuff[entry];
+
+			tp->stats.tx_bytes += skb->len >= ETH_ZLEN ?
+					      skb->len : ETH_ZLEN;
 			tp->stats.tx_packets++;
+			dev_kfree_skb_irq(skb);
+			tp->Tx_skbuff[entry] = NULL;
 			dirty_tx++;
 			tx_left--;
-			entry++;
 		}
 	}
 

^ permalink raw reply

* Re: [RFC/PATCH] IMQ port to 2.6
From: David S. Miller @ 2004-01-25 21:55 UTC (permalink / raw)
  To: kaber; +Cc: sebek64, linux-kernel, netdev
In-Reply-To: <401425B6.4050701@trash.net>

   From: Patrick McHardy <kaber@trash.net>
   Date: Sun, 25 Jan 2004 21:23:18 +0100

   David S. Miller wrote:
   > Patrick, do you mind if I merge this 2.6.x port into my tree?
   
   Please don't. The imq device is buggy, 
 ...
   Some users that depend on the functionality
   are working on a better implementation, I'd suggest to wait
   until then.

Ok.

^ permalink raw reply

* Re: [patch] Re: Kernels > 2.6.1-mm3 do not boot. - SOLVED
From: Bartlomiej Zolnierkiewicz @ 2004-01-25 22:03 UTC (permalink / raw)
  To: Andi Kleen; +Cc: Fabio Coatti, Andrew Morton, bunk, eric, linux-kernel
In-Reply-To: <20040125214653.GB28576@colin2.muc.de>


On Sun, 25 Jan 2004, Andi Kleen wrote:

> On Sun, Jan 25, 2004 at 10:21:01PM +0100, Fabio Coatti wrote:
> > Alle Sunday 25 January 2004 22:11, Andrew Morton ha scritto:
> >
> > > >
> > > > I disagree with that change.
> > >
> > > Well there doesn't seem much doubt that -funit-at-a-time causes Fabio's
> > > kernel to fail.  Do we know exactly which compiler he is using?
> >
> > Well,  I'm using gcc (GCC) 3.3.1 (Mandrake Linux 9.2 3.3.1-2mdk), provided
> > with Mandrake 9.2. If more details about configuration are needed please let
> > me know.
>
> Let's take this from the start:
>
> what kernel version are you running exactly?
> what oops are you seeing?
> does official 2.6.2rc1 (not mm) with -funit-at-a-time enabled in the Makefile
> work?

I remember trying 2.6.1-mm4 + your sort extable patch (i386 specific
version) on Mandrake 9.2 -> no boot.  Removing -funit-at-a-time cured
problem.  I didn't have time to investigate it more (like trying
patched vanilla).  Just FYI.

--bart

^ permalink raw reply

* [3/3] CPU patch rediffed
From: Adrian Bunk @ 2004-01-25 21:55 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel
In-Reply-To: <20040125214530.GN513@fs.tum.de>




This patch changes the way the CPUs are selected from the current
"select a reasonable setting that supports all your CPUs, and for
further optimizations for more than one CPU type you might also want to
enable X86_GENERIC" to "select all CPUs your kernel should support"
which is a better understandable semantics for users (= people
configuring a kernel).

As a side effect, further optimizations are possible based on this 
patch, but they are _not_ included.

Changes:

- changed the i386 CPU selection from a choice to single options for
  every cpu
- X86_GENERIC is no longer required
- renamed the M* variables to CPU_*, this is needed to ask the users
  upgrading from older kernels instead of silently changing the
  semantics
- X86_GOOD_APIC -> X86_BAD_APIC
- help text changes/updates

TODO:
- module versioning


The main effect is that this patch makes it easier for people who configure
kernels that should work on different CPU types.  A user (= person compiling
his own kernel) does no longer need any deeper knowledge when e.g. 
configuring a kernel that should run on both an Athlon and a Pentium 4 - he
simply selects all CPUs he wants to support in his kernel.

As a side effect, this patch allows further optimizations based on the fact
that e.g.  a kernel for an i386 no longer needs to support an Athlon which
can be used to omit support for non-selected CPUs.  For exampler there is no
need to include arch/i386/kernel/cpu/amd.c in your kernel if the kernel
should only run on a 386; I made two such example patches that are _way_ too
ugly for merging but show that this CPU selection scheme makes some more
space savings possible


diffstat output:

 arch/i386/Kconfig                    |  269 ++++++++++++---------------
 arch/i386/Makefile                   |   57 +++--
 arch/i386/lib/mmx.c                  |    2 
 arch/i386/mach-voyager/voyager_smp.c |    6 
 arch/x86_64/Kconfig                  |    4 
 drivers/serial/8250.h                |    2 
 include/asm-i386/apic.h              |    4 
 include/asm-i386/bugs.h              |    7 
 include/asm-i386/module.h            |    2 
 include/asm-i386/processor.h         |    4 
 include/asm-x86_64/apic.h            |    2 
 11 files changed, 178 insertions(+), 181 deletions(-)



diff -puN arch/i386/lib/mmx.c~better-i386-cpu-selection arch/i386/lib/mmx.c
--- 25/arch/i386/lib/mmx.c~better-i386-cpu-selection	2004-01-22 23:09:50.000000000 -0800
+++ 25-akpm/arch/i386/lib/mmx.c	2004-01-22 23:09:50.000000000 -0800
@@ -121,7 +121,7 @@ void *_mmx_memcpy(void *to, const void *
 	return p;
 }
 
-#ifdef CONFIG_MK7
+#ifdef CONFIG_CPU_ONLY_K7
 
 /*
  *	The K7 has streaming cache bypass load/store. The Cyrix III, K6 and
diff -puN arch/i386/mach-voyager/voyager_smp.c~better-i386-cpu-selection arch/i386/mach-voyager/voyager_smp.c
--- 25/arch/i386/mach-voyager/voyager_smp.c~better-i386-cpu-selection	2004-01-22 23:09:50.000000000 -0800
+++ 25-akpm/arch/i386/mach-voyager/voyager_smp.c	2004-01-22 23:09:50.000000000 -0800
@@ -553,7 +553,7 @@ do_boot_cpu(__u8 cpu)
 
 	/* For the 486, we can't use the 4Mb page table trick, so
 	 * must map a region of memory */
-#ifdef CONFIG_M486
+#ifdef CONFIG_CPU_486
 	int i;
 	unsigned long *page_table_copies = (unsigned long *)
 		__get_free_page(GFP_KERNEL);
@@ -612,7 +612,7 @@ do_boot_cpu(__u8 cpu)
 	/* set the original swapper_pg_dir[0] to map 0 to 4Mb transparently
 	 * (so that the booting CPU can find start_32 */
 	orig_swapper_pg_dir0 = swapper_pg_dir[0];
-#ifdef CONFIG_M486
+#ifdef CONFIG_CPU_486
 	if(page_table_copies == NULL)
 		panic("No free memory for 486 page tables\n");
 	for(i = 0; i < PAGE_SIZE/sizeof(unsigned long); i++)
@@ -669,7 +669,7 @@ do_boot_cpu(__u8 cpu)
 	/* reset the page table */
 	swapper_pg_dir[0] = orig_swapper_pg_dir0;
 	local_flush_tlb();
-#ifdef CONFIG_M486
+#ifdef CONFIG_CPU_486
 	free_page((unsigned long)page_table_copies);
 #endif
 	  
diff -puN arch/i386/Makefile~better-i386-cpu-selection arch/i386/Makefile
--- 25/arch/i386/Makefile~better-i386-cpu-selection	2004-01-22 23:09:50.000000000 -0800
+++ 25-akpm/arch/i386/Makefile	2004-01-22 23:09:50.000000000 -0800
@@ -26,30 +26,47 @@ CFLAGS += $(call check_gcc,-mpreferred-s
 
 align := $(subst -functions=0,,$(call check_gcc,-falign-functions=0,-malign-functions=0))
 
-cflags-$(CONFIG_M386)		+= -march=i386
-cflags-$(CONFIG_M486)		+= -march=i486
-cflags-$(CONFIG_M586)		+= -march=i586
-cflags-$(CONFIG_M586TSC)	+= -march=i586
-cflags-$(CONFIG_M586MMX)	+= $(call check_gcc,-march=pentium-mmx,-march=i586)
-cflags-$(CONFIG_M686)		+= -march=i686
-cflags-$(CONFIG_MPENTIUMII)	+= $(call check_gcc,-march=pentium2,-march=i686)
-cflags-$(CONFIG_MPENTIUMIII)	+= $(call check_gcc,-march=pentium3,-march=i686)
-cflags-$(CONFIG_MPENTIUMM)	+= $(call check_gcc,-march=pentium3,-march=i686)
-cflags-$(CONFIG_MPENTIUM4)	+= $(call check_gcc,-march=pentium4,-march=i686)
-cflags-$(CONFIG_MK6)		+= -march=k6
+cflags-$(CONFIG_CPU_PENTIUM4)	:= $(call check_gcc,-march=pentium4,-march=i686)
+
+ifdef CONFIG_CPU_PENTIUM4
+  cflags-$(CONFIG_CPU_K8)	:= $(call check_gcc,-march=pentium3,-march=i686)
+else
+  cflags-$(CONFIG_CPU_K8)	:= $(call check_gcc,-march=k8,$(call check_gcc,-march=athlon,-march=i686 $(align)-functions=4))
+endif
+
 # Please note, that patches that add -march=athlon-xp and friends are pointless.
 # They make zero difference whatsosever to performance at this time.
-cflags-$(CONFIG_MK7)		+= $(call check_gcc,-march=athlon,-march=i686 $(align)-functions=4)
-cflags-$(CONFIG_MK8)		+= $(call check_gcc,-march=k8,$(call check_gcc,-march=athlon,-march=i686 $(align)-functions=4))
-cflags-$(CONFIG_MCRUSOE)	+= -march=i686 $(align)-functions=0 $(align)-jumps=0 $(align)-loops=0
-cflags-$(CONFIG_MWINCHIPC6)	+= $(call check_gcc,-march=winchip-c6,-march=i586)
-cflags-$(CONFIG_MWINCHIP2)	+= $(call check_gcc,-march=winchip2,-march=i586)
-cflags-$(CONFIG_MWINCHIP3D)	+= $(call check_gcc,-march=winchip2,-march=i586)
-cflags-$(CONFIG_MCYRIXIII)	+= $(call check_gcc,-march=c3,-march=i486) $(align)-functions=0 $(align)-jumps=0 $(align)-loops=0
-cflags-$(CONFIG_MVIAC3_2)	+= $(call check_gcc,-march=c3-2,-march=i686)
+ifdef CONFIG_CPU_PENTIUM4
+  cflags-$(CONFIG_CPU_K7)	:= $(call check_gcc,-march=pentium3,-march=i686)
+else
+  cflags-$(CONFIG_CPU_K7)	:= $(call check_gcc,-march=athlon,-march=i686 $(align)-functions=4)
+endif
+
+cflags-$(CONFIG_CPU_PENTIUMM)		:= $(call check_gcc,-march=pentium3,-march=i686)
+cflags-$(CONFIG_CPU_PENTIUMIII)	:= $(call check_gcc,-march=pentium3,-march=i686)
+cflags-$(CONFIG_CPU_PENTIUMII)	:= $(call check_gcc,-march=pentium2,-march=i686)
+cflags-$(CONFIG_CPU_VIAC3_2)  	:= $(call check_gcc,-march=c3-2,-march=i686)
+cflags-$(CONFIG_CPU_CRUSOE)		:= -march=i686 $(align)-functions=0 $(align)-jumps=0 $(align)-loops=0
+cflags-$(CONFIG_CPU_686)      	:= -march=i686
+
+# supports i686 without cmov
+cflags-$(CONFIG_CPU_CYRIXIII)	:= $(call check_gcc,-march=c3,-march=i486) $(align)-functions=0 $(align)-jumps=0 $(align)-loops=0
+
+cflags-$(CONFIG_CPU_K6)	:= -march=k6
+cflags-$(CONFIG_CPU_586MMX)	:= $(call check_gcc,-march=pentium-mmx,-march=i586)
+
+# Winchip supports i586
+cflags-$(CONFIG_CPU_WINCHIPC6)	:= $(call check_gcc,-march=winchip-c6,-march=i486)
+cflags-$(CONFIG_CPU_WINCHIP2)		:= $(call check_gcc,-march=winchip2,-march=i486)
+cflags-$(CONFIG_CPU_WINCHIP3D)	:= $(call check_gcc,-march=winchip2,-march=i486)
+
+cflags-$(CONFIG_CPU_586TSC)	:= -march=i586
+cflags-$(CONFIG_CPU_586)	:= -march=i586
+cflags-$(CONFIG_CPU_486)	:= -march=i486
+cflags-$(CONFIG_CPU_386)	:= -march=i386
 
 # AMD Elan support
-cflags-$(CONFIG_X86_ELAN)	+= -march=i486
+cflags-$(CONFIG_X86_ELAN)	:= -march=i486
 
 CFLAGS += $(cflags-y)
 
diff -puN arch/x86_64/Kconfig~better-i386-cpu-selection arch/x86_64/Kconfig
--- 25/arch/x86_64/Kconfig~better-i386-cpu-selection	2004-01-22 23:09:50.000000000 -0800
+++ 25-akpm/arch/x86_64/Kconfig	2004-01-22 23:09:50.000000000 -0800
@@ -111,10 +111,6 @@ config X86_TSC
 	bool
 	default y
 
-config X86_GOOD_APIC
-	bool
-	default y
-
 config X86_MSR
 	tristate "/dev/cpu/*/msr - Model-specific register support"
 	help
diff -puN drivers/serial/8250.h~better-i386-cpu-selection drivers/serial/8250.h
--- 25/drivers/serial/8250.h~better-i386-cpu-selection	2004-01-22 23:09:50.000000000 -0800
+++ 25-akpm/drivers/serial/8250.h	2004-01-22 23:09:50.000000000 -0800
@@ -44,7 +44,7 @@ struct old_serial_port {
 
 #undef SERIAL_DEBUG_PCI
 
-#if defined(__i386__) && (defined(CONFIG_M386) || defined(CONFIG_M486))
+#if defined(__i386__) && (defined(CONFIG_CPU_386) || defined(CONFIG_CPU_486))
 #define SERIAL_INLINE
 #endif
   
diff -puN include/asm-i386/apic.h~better-i386-cpu-selection include/asm-i386/apic.h
--- 25/include/asm-i386/apic.h~better-i386-cpu-selection	2004-01-22 23:09:50.000000000 -0800
+++ 25-akpm/include/asm-i386/apic.h	2004-01-22 23:09:50.000000000 -0800
@@ -41,7 +41,7 @@ static __inline__ void apic_wait_icr_idl
 	do { } while ( apic_read( APIC_ICR ) & APIC_ICR_BUSY );
 }
 
-#ifdef CONFIG_X86_GOOD_APIC
+#ifndef CONFIG_X86_BAD_APIC
 # define FORCE_READ_AROUND_WRITE 0
 # define apic_read_around(x)
 # define apic_write_around(x,y) apic_write((x),(y))
@@ -56,7 +56,7 @@ static inline void ack_APIC_irq(void)
 	/*
 	 * ack_APIC_irq() actually gets compiled as a single instruction:
 	 * - a single rmw on Pentium/82489DX
-	 * - a single write on P6+ cores (CONFIG_X86_GOOD_APIC)
+	 * - a single write on P6+ cores (!CONFIG_X86_BAD_APIC)
 	 * ... yummie.
 	 */
 
diff -puN include/asm-i386/bugs.h~better-i386-cpu-selection include/asm-i386/bugs.h
--- 25/include/asm-i386/bugs.h~better-i386-cpu-selection	2004-01-22 23:09:50.000000000 -0800
+++ 25-akpm/include/asm-i386/bugs.h	2004-01-22 23:09:50.000000000 -0800
@@ -165,9 +165,8 @@ static void __init check_popad(void)
  * - In order to run on anything without a TSC, we need to be
  *   compiled for a i486.
  * - In order to support the local APIC on a buggy Pentium machine,
- *   we need to be compiled with CONFIG_X86_GOOD_APIC disabled,
- *   which happens implicitly if compiled for a Pentium or lower
- *   (unless an advanced selection of CPU features is used) as an
+ *   we need to be compiled with CONFIG_X86_BAD_APIC enabled,
+ *   which happens implicitly if compiled for a Pentium as an
  *   otherwise config implies a properly working local APIC without
  *   the need to do extra reads from the APIC.
 */
@@ -198,7 +197,7 @@ static void __init check_config(void)
  * integrated APIC (see 11AP erratum in "Pentium Processor
  * Specification Update").
  */
-#if defined(CONFIG_X86_LOCAL_APIC) && defined(CONFIG_X86_GOOD_APIC)
+#if defined(CONFIG_X86_LOCAL_APIC) && !defined(CONFIG_X86_BAD_APIC)
 	if (boot_cpu_data.x86_vendor == X86_VENDOR_INTEL
 	    && cpu_has_apic
 	    && boot_cpu_data.x86 == 5
diff -puN include/asm-i386/module.h~better-i386-cpu-selection include/asm-i386/module.h
diff -puN include/asm-i386/processor.h~better-i386-cpu-selection include/asm-i386/processor.h
--- 25/include/asm-i386/processor.h~better-i386-cpu-selection	2004-01-22 23:09:50.000000000 -0800
+++ 25-akpm/include/asm-i386/processor.h	2004-01-22 23:09:50.000000000 -0800
@@ -568,7 +568,7 @@ static inline void rep_nop(void)
 #define K7_NOP7        ".byte 0x8D,0x04,0x05,0,0,0,0\n"
 #define K7_NOP8        K7_NOP7 ASM_NOP1
 
-#ifdef CONFIG_MK8
+#ifdef CONFIG_CPU_ONLY_K8
 #define ASM_NOP1 K8_NOP1
 #define ASM_NOP2 K8_NOP2
 #define ASM_NOP3 K8_NOP3
@@ -577,7 +577,7 @@ static inline void rep_nop(void)
 #define ASM_NOP6 K8_NOP6
 #define ASM_NOP7 K8_NOP7
 #define ASM_NOP8 K8_NOP8
-#elif defined(CONFIG_MK7)
+#elif defined(CONFIG_CPU_ONLY_K7)
 #define ASM_NOP1 K7_NOP1
 #define ASM_NOP2 K7_NOP2
 #define ASM_NOP3 K7_NOP3
diff -puN include/asm-x86_64/apic.h~better-i386-cpu-selection include/asm-x86_64/apic.h
--- 25/include/asm-x86_64/apic.h~better-i386-cpu-selection	2004-01-22 23:09:50.000000000 -0800
+++ 25-akpm/include/asm-x86_64/apic.h	2004-01-22 23:09:50.000000000 -0800
@@ -52,7 +52,7 @@ static inline void ack_APIC_irq(void)
 	/*
 	 * ack_APIC_irq() actually gets compiled as a single instruction:
 	 * - a single rmw on Pentium/82489DX
-	 * - a single write on P6+ cores (CONFIG_X86_GOOD_APIC)
+	 * - a single write on P6+ cores (!CONFIG_X86_BAD_APIC)
 	 * ... yummie.
 	 */
 

_
--- 25/include/asm-i386/module.h~pentium-m-support	Mon Jan 12 15:52:42 2004
+++ 25-akpm/include/asm-i386/module.h	Mon Jan 12 15:52:42 2004
@@ -49,7 +51,7 @@ struct mod_arch_specific
 #elif CONFIG_MVIAC3_2
 #define MODULE_PROC_FAMILY "VIAC3-2 "
 #else
-#error unknown processor family
+#define MODULE_PROC_FAMILY "this needs to be fixed"
 #endif
 
 #define MODULE_ARCH_VERMAGIC MODULE_PROC_FAMILY
--- linux-2.6.2-rc1-mm3/arch/i386/Kconfig.old	2004-01-25 18:33:44.000000000 +0100
+++ linux-2.6.2-rc1-mm3/arch/i386/Kconfig	2004-01-25 18:34:27.000000000 +0100
@@ -137,285 +137,270 @@
 config ES7000_CLUSTERED_APIC
 	bool
 	default y
-	depends on SMP && X86_ES7000 && MPENTIUMIII
+	depends on SMP && X86_ES7000 && CPU_PENTIUMIII
 
 if !X86_ELAN
 
-choice
-	prompt "Processor family"
-	default M686
+menu "Processor support"
 
-config M386
-	bool "386"
-	---help---
-	  This is the processor type of your CPU. This information is used for
-	  optimizing purposes. In order to compile a kernel that can run on
-	  all x86 CPU types (albeit not optimally fast), you can specify
-	  "386" here.
-
-	  The kernel will not necessarily run on earlier architectures than
-	  the one you have chosen, e.g. a Pentium optimized kernel will run on
-	  a PPro, but not necessarily on a i486.
-
-	  Here are the settings recommended for greatest speed:
-	  - "386" for the AMD/Cyrix/Intel 386DX/DXL/SL/SLC/SX, Cyrix/TI
-	  486DLC/DLC2, UMC 486SX-S and NexGen Nx586.  Only "386" kernels
-	  will run on a 386 class machine.
-	  - "486" for the AMD/Cyrix/IBM/Intel 486DX/DX2/DX4 or
-	  SL/SLC/SLC2/SLC3/SX/SX2 and UMC U5D or U5S.
-	  - "586" for generic Pentium CPUs lacking the TSC
-	  (time stamp counter) register.
-	  - "Pentium-Classic" for the Intel Pentium.
-	  - "Pentium-MMX" for the Intel Pentium MMX.
-	  - "Pentium-Pro" for the Intel Pentium Pro.
-	  - "Pentium-II" for the Intel Pentium II or pre-Coppermine Celeron.
-	  - "Pentium-III" for the Intel Pentium III or Coppermine Celeron.
-	  - "Pentium-4" for the Intel Pentium 4 or P4-based Celeron.
-	  - "K6" for the AMD K6, K6-II and K6-III (aka K6-3D).
-	  - "Athlon" for the AMD K7 family (Athlon/Duron/Thunderbird).
-	  - "Crusoe" for the Transmeta Crusoe series.
-	  - "Winchip-C6" for original IDT Winchip.
-	  - "Winchip-2" for IDT Winchip 2.
-	  - "Winchip-2A" for IDT Winchips with 3dNow! capabilities.
-	  - "CyrixIII/VIA C3" for VIA Cyrix III or VIA C3.
-	  - "VIA C3-2 for VIA C3-2 "Nehemiah" (model 9 and above).
+comment "Select all processors your kernel should support"
 
-	  If you don't know what to do, choose "386".
+config CPU_386
+	bool "386"
+	default n
+	help
+	  Select this for a 386 series processor.
 
-config M486
+config CPU_486
 	bool "486"
+	default y
 	help
 	  Select this for a 486 series processor, either Intel or one of the
 	  compatible processors from AMD, Cyrix, IBM, or Intel.  Includes DX,
 	  DX2, and DX4 variants; also SL/SLC/SLC2/SLC3/SX/SX2 and UMC U5D or
 	  U5S.
 
-config M586
+config CPU_586
 	bool "586/K5/5x86/6x86/6x86MX"
+	default y
 	help
-	  Select this for an 586 or 686 series processor such as the AMD K5,
-	  the Intel 5x86 or 6x86, or the Intel 6x86MX.  This choice does not
-	  assume the RDTSC (Read Time Stamp Counter) instruction.
+	  Select this for a non-Intel 586 or 686 series processor such as
+	  the AMD K5 or the Cyrix 6x86MX.
+
+	  Several CPUs that have their own options below (e.g. AMD K6,
+	  Duron, Athlon and Opteeron, IDT Winchip, Cyrix III and
+	  VIA C3) do _not_ need this option.
+
+	  This choice does not assume the RDTSC (Read Time Stamp Counter)
+	  instruction.
 
-config M586TSC
+config CPU_586TSC
 	bool "Pentium-Classic"
+	default y
 	help
 	  Select this for a Pentium Classic processor with the RDTSC (Read
-	  Time Stamp Counter) instruction for benchmarking.
+	  Time Stamp Counter) instruction.
 
-config M586MMX
+config CPU_586MMX
 	bool "Pentium-MMX"
+	default y
 	help
 	  Select this for a Pentium with the MMX graphics/multimedia
 	  extended instructions.
 
-config M686
+config CPU_686
 	bool "Pentium-Pro"
+	default y
 	help
-	  Select this for Intel Pentium Pro chips.  This enables the use of
-	  Pentium Pro extended instructions, and disables the init-time guard
-	  against the f00f bug found in earlier Pentiums.
+	  Select this for Intel Pentium Pro chips.
 
-config MPENTIUMII
+config CPU_PENTIUMII
 	bool "Pentium-II/Celeron(pre-Coppermine)"
+	default y
 	help
 	  Select this for Intel chips based on the Pentium-II and
-	  pre-Coppermine Celeron core.  This option enables an unaligned
-	  copy optimization, compiles the kernel with optimization flags
-	  tailored for the chip, and applies any applicable Pentium Pro
-	  optimizations.
+	  pre-Coppermine Celeron core.
 
-config MPENTIUMIII
+config CPU_PENTIUMIII
 	bool "Pentium-III/Celeron(Coppermine)/Pentium-III Xeon"
+	default y
 	help
 	  Select this for Intel chips based on the Pentium-III and
-	  Celeron-Coppermine core.  This option enables use of some
-	  extended prefetch instructions in addition to the Pentium II
-	  extensions.
+	  Celeron-Coppermine core.
 
-config MPENTIUMM
+config CPU_PENTIUMM
 	bool "Pentium M"
+	default y
 	help
 	  Select this for Intel Pentium M (not Pentium-4 M)
 	  notebook chips.
 
-config MPENTIUM4
+config CPU_PENTIUM4
 	bool "Pentium-4/Celeron(P4-based)/Pentium-4 M/Xeon"
+	default y
 	help
-	  Select this for Intel Pentium 4 chips.  This includes the
-	  Pentium 4, P4-based Celeron and Xeon, and Pentium-4 M
-	  (not Pentium M) chips.  This option enables compile flags
-	  optimized for the chip, uses the correct cache shift, and
-	  applies any applicable Pentium III optimizations.
+	  Select this for Intel Pentium 4 chips.  This includes
+	  the Pentium 4, P4-based Celeron and Xeon, and
+	  Pentium-4 M (not Pentium M) chips.
 
-config MK6
+config CPU_K6
 	bool "K6/K6-II/K6-III"
+	default y
 	help
-	  Select this for an AMD K6-family processor.  Enables use of
-	  some extended instructions, and passes appropriate optimization
-	  flags to GCC.
+	  Select this for an AMD K6, K6-II or K6-III (aka K6-3D).
 
-config MK7
+config CPU_K7
 	bool "Athlon/Duron/K7"
+	default y
 	help
-	  Select this for an AMD Athlon K7-family processor.  Enables use of
-	  some extended instructions, and passes appropriate optimization
-	  flags to GCC.
+	  Select this for an AMD Athlon K7-family processor.
 
-config MK8
+config CPU_K8
 	bool "Opteron/Athlon64/Hammer/K8"
+	default y
 	help
-	  Select this for an AMD Opteron or Athlon64 Hammer-family processor.  Enables
-	  use of some extended instructions, and passes appropriate optimization
-	  flags to GCC.
+	  Select this for an AMD Opteron or Athlon64 Hammer-family processor.
 
-config MCRUSOE
+config CPU_CRUSOE
 	bool "Crusoe"
+	default y
 	help
-	  Select this for a Transmeta Crusoe processor.  Treats the processor
-	  like a 586 with TSC, and sets some GCC optimization flags (like a
-	  Pentium Pro with no alignment requirements).
+	  Select this for a Transmeta Crusoe processor.
 
-config MWINCHIPC6
+config CPU_WINCHIPC6
 	bool "Winchip-C6"
+	default y
 	help
-	  Select this for an IDT Winchip C6 chip.  Linux and GCC
-	  treat this chip as a 586TSC with some extended instructions
-	  and alignment requirements.
+	  Select this for an IDT Winchip C6 chip.
 
-config MWINCHIP2
+config CPU_WINCHIP2
 	bool "Winchip-2"
+	default y
 	help
-	  Select this for an IDT Winchip-2.  Linux and GCC
-	  treat this chip as a 586TSC with some extended instructions
-	  and alignment requirements.
+	  Select this for an IDT Winchip-2.
 
-config MWINCHIP3D
+config CPU_WINCHIP3D
 	bool "Winchip-2A/Winchip-3"
+	default y
 	help
-	  Select this for an IDT Winchip-2A or 3.  Linux and GCC
-	  treat this chip as a 586TSC with some extended instructions
-	  and alignment reqirements.  Also enable out of order memory
-	  stores for this CPU, which can increase performance of some
-	  operations.
-
-config MCYRIXIII
-	bool "CyrixIII/VIA-C3"
-	help
-	  Select this for a Cyrix III or C3 chip.  Presently Linux and GCC
-	  treat this chip as a generic 586. Whilst the CPU is 686 class,
-	  it lacks the cmov extension which gcc assumes is present when
-	  generating 686 code.
-	  Note that Nehemiah (Model 9) and above will not boot with this
-	  kernel due to them lacking the 3DNow! instructions used in earlier
-	  incarnations of the CPU.
+	  Select this for an IDT Winchip-2A or 3 with 3dNow!
+	  capabilities.
 
-config MVIAC3_2
-	bool "VIA C3-2 (Nehemiah)"
+config CPU_CYRIXIII
+	bool "Cyrix III/VIA C3"
+	default y
 	help
-	  Select this for a VIA C3 "Nehemiah". Selecting this enables usage
-	  of SSE and tells gcc to treat the CPU as a 686.
-	  Note, this kernel will not boot on older (pre model 9) C3s.
+	  Select this for a Cyrix III or VIA C3 chip.
 
-endchoice
+	  Note that Nehemiah (Model 9) and above need the next
+	  option instead.
+
+config CPU_VIAC3_2
+	bool "VIA C3-2 (Nehemiah)"
+	default y
+	help
+	  Select this for a VIA C3 "Nehemiah" (model 9 and above).
 
-config X86_GENERIC
-       bool "Generic x86 support" 
-       help
-       	  Including some tuning for non selected x86 CPUs too.
-	  when it has moderate overhead. This is intended for generic 
-	  distributions kernels.
+endmenu
 
 endif
 
 #
+# helper options
+#
+config CPU_INTEL
+	bool
+	depends on CPU_386 || CPU_486 || CPU_586TSC || CPU_686 || CPU_PENTIUMII || CPU_PENTIUMIII || CPU_PENTIUMM || CPU_PENTIUM4
+	default y
+
+config CPU_WINCHIP
+	bool
+	depends on CPU_WINCHIPC6 || CPU_WINCHIP2 || CPU_WINCHIP3D
+	default y
+
+config CPU_ONLY_K7
+	bool
+	depends on CPU_K7 && !CPU_INTEL && !CPU_K6 && !CPU_K8 && !X86_ELAN && !CPU_CRUSOE && !CPU_WINCHIP && !CPU_CYRIXIII && !CPU_VIAC3_2
+	default y
+
+config CPU_ONLY_K8
+	bool
+	depends on CPU_K8 && !CPU_INTEL && !CPU_K6 && !CPU_K7 && !X86_ELAN && !CPU_CRUSOE && !CPU_WINCHIP && !CPU_CYRIXIII && !CPU_VIAC3_2
+	default y
+
+config CPU_ONLY_WINCHIP
+	bool
+	depends on CPU_WINCHIP && !CPU_INTEL && !CPU_K6 && !CPU_K7 && !CPU_K8 && !X86_ELAN && !CPU_CRUSOE && !CPU_CYRIXIII && !CPU_VIAC3_2
+	default y
+
+#
 # Define implied options from the CPU selection here
 #
 config X86_CMPXCHG
 	bool
-	depends on !M386
+	depends on !CPU_386
 	default y
 
 config X86_XADD
 	bool
-	depends on !M386
+	depends on !CPU_386
 	default y
 
 config X86_L1_CACHE_SHIFT
 	int
-	default "7" if MPENTIUM4 || X86_GENERIC
-	default "4" if X86_ELAN || M486 || M386
-	default "5" if MWINCHIP3D || MWINCHIP2 || MWINCHIPC6 || MCRUSOE || MCYRIXIII || MK6 || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || M586TSC || M586 || MVIAC3_2
-	default "6" if MK7 || MK8 || MPENTIUMM
+	default "7" if CPU_PENTIUM4
+	default "6" if CPU_K7 || CPU_K8 || CPU_PENTIUMM
+	default "5" if CPU_WINCHIP || CPU_CRUSOE || CPU_CYRIXIII || CPU_K6 || CPU_PENTIUMIII || CPU_PENTIUMII || CPU_686 || CPU_586MMX || CPU_586TSC || CPU_586 || CPU_VIAC3_2
+	default "4" if X86_ELAN || CPU_486 || CPU_386
 
 config RWSEM_GENERIC_SPINLOCK
 	bool
-	depends on M386
+	depends on CPU_386
 	default y
 
 config RWSEM_XCHGADD_ALGORITHM
 	bool
-	depends on !M386
+	depends on !CPU_386
 	default y
 
 config X86_PPRO_FENCE
 	bool
-	depends on M686 || M586MMX || M586TSC || M586 || M486 || M386
+	depends on CPU_686
 	default y
 
 config X86_F00F_BUG
 	bool
-	depends on M586MMX || M586TSC || M586 || M486 || M386
+	depends on CPU_586MMX || CPU_586TSC
 	default y
 
 config X86_WP_WORKS_OK
 	bool
-	depends on !M386
+	depends on !CPU_386
 	default y
 
 config X86_INVLPG
 	bool
-	depends on !M386
+	depends on !CPU_386
 	default y
 
 config X86_BSWAP
 	bool
-	depends on !M386
+	depends on !CPU_386
 	default y
 
 config X86_POPAD_OK
 	bool
-	depends on !M386
+	depends on !CPU_386
 	default y
 
 config X86_ALIGNMENT_16
 	bool
-	depends on MWINCHIP3D || MWINCHIP2 || MWINCHIPC6 || MCYRIXIII || X86_ELAN || MK6 || M586MMX || M586TSC || M586 || M486 || MVIAC3_2
+	depends on CPU_WINCHIP || CPU_CYRIXIII || X86_ELAN || CPU_K6 || CPU_586MMX || CPU_586TSC || CPU_586 || CPU_486 || CPU_VIAC3_2
 	default y
 
-config X86_GOOD_APIC
+config X86_BAD_APIC
 	bool
-	depends on MK7 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || MK8
+	depends on CPU_586TSC
 	default y
 
 config X86_INTEL_USERCOPY
 	bool
-	depends on MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M586MMX || X86_GENERIC || MK8 || MK7
+	depends on CPU_K7 || CPU_K8 || CPU_PENTIUMII || CPU_PENTIUMIII || CPU_PENTIUMM || CPU_PENTIUM4
 	default y
 
 config X86_USE_PPRO_CHECKSUM
 	bool
-	depends on MWINCHIP3D || MWINCHIP2 || MWINCHIPC6 || MCYRIXIII || MK7 || MK6 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || MK8 || MVIAC3_2
+	depends on !CPU_386 && !CPU_486 && !CPU_586 && !CPU_586TSC && !CPU_586MMX && !X86_ELAN && !CPU_CRUSOE
 	default y
 
 config X86_USE_3DNOW
 	bool
-	depends on MCYRIXIII || MK7
+	depends on !CPU_INTEL && !CPU_K6 && !CPU_K8 && !X86_ELAN && !CPU_CRUSOE && !CPU_WINCHIP && !CPU_VIAC3_2
 	default y
 
 config X86_OOSTORE
 	bool
-	depends on (MWINCHIP3D || MWINCHIP2 || MWINCHIPC6) && MTRR
+	depends on CPU_ONLY_WINCHIP && MTRR
 	default y
 
 config X86_4G
@@ -587,7 +572,7 @@
 
 config X86_TSC
 	bool
-	depends on (MWINCHIP3D || MWINCHIP2 || MCRUSOE || MCYRIXIII || MK7 || MK6 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || M586TSC || MK8 || MVIAC3_2) && !X86_NUMAQ
+	depends on !X86_NUMAQ && !CPU_386 && !CPU_486 && !CPU_586 && !X86_ELAN && !CPU_WINCHIPC6
 	default y
 
 config X86_MCE

^ permalink raw reply

* Re: [patch] Re: Kernels > 2.6.1-mm3 do not boot. - II
From: Andi Kleen @ 2004-01-25 21:54 UTC (permalink / raw)
  To: Fabio Coatti; +Cc: Andrew Morton, Andi Kleen, bunk, eric, linux-kernel
In-Reply-To: <200401252221.01679.cova@ferrara.linux.it>

On Sun, Jan 25, 2004 at 10:21:01PM +0100, Fabio Coatti wrote:
> Alle Sunday 25 January 2004 22:11, Andrew Morton ha scritto:
> 
> > >
> > > I disagree with that change.
> >
> > Well there doesn't seem much doubt that -funit-at-a-time causes Fabio's
> > kernel to fail.  Do we know exactly which compiler he is using?
> 
> Well,  I'm using gcc (GCC) 3.3.1 (Mandrake Linux 9.2 3.3.1-2mdk), provided 
> with Mandrake 9.2. If more details about configuration are needed please let 
> me know.

Oh yes i forgot...

Also please save your .config, do a make distclean and compile again and try
if it still happens. Sometimes compile dirs get messed up and produce 
miscompilations.

-Andi

^ permalink raw reply

* Re: [lkml] pseudo tty / kernel compile question
From: David Woodhouse @ 2004-01-25 21:53 UTC (permalink / raw)
  To: Karl Tatgenhorst; +Cc: linux-kernel
In-Reply-To: <40120DD0.7090802@comcast.net>

This has nothing to do with the patch fixing serial drivers, to which
you seem to have replied. Please don't reply to random messages -- if
you mean to starting a new thread then do so properly.

On Sat, 2004-01-24 at 00:16 -0600, Karl Tatgenhorst wrote:
> when I log in over ssh I get /dev/pts/0 when I type tty. But he says it 
> should be of type /dev/ptsp* I know (suspect strongly) that this is 
> configured in the kernel but not where.

Whether you use the new type of pseudo-ttys /dev/pts/XX or whether you
use the old ones is dependent on your user space programs. You should be
using /dev/pts/XX. If you _are_, then the number of available
pseudo-ttys is indeed part of the kernel configuration. It's
CONFIG_UNIX98_PTY_COUNT.

-- 
dwmw2


^ permalink raw reply

* [1/3] Pentium M: fix brown paperbag bug
From: Adrian Bunk @ 2004-01-25 21:52 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel
In-Reply-To: <20040125214530.GN513@fs.tum.de>


I said in the description that MPENTIUMM gets a bigger 
X86_L1_CACHE_SHIFT, but I only gave it X86_L1_CACHE_SHIFT=5 .

Where's a brown paperbag?


add Pentium M and Pentium-4 M options:

- add MPENTIUMM (equivalent to PENTIUMIII except for a bigger
  X86_L1_CACHE_SHIFT)

- document that MPENTIUM4 is the right choice for a Pentium-4 M


diffstat output:

 arch/i386/Kconfig         |   28 +++++++++++++++++-----------
 arch/i386/Makefile        |    1 +
 include/asm-i386/module.h |    2 ++
 3 files changed, 20 insertions(+), 11 deletions(-)



diff -puN arch/i386/Makefile~pentium-m-support arch/i386/Makefile
--- 25/arch/i386/Makefile~pentium-m-support	Mon Jan 12 15:52:42 2004
+++ 25-akpm/arch/i386/Makefile	Mon Jan 12 15:52:42 2004
@@ -34,6 +34,7 @@ cflags-$(CONFIG_M586MMX)	+= $(call check
 cflags-$(CONFIG_M686)		+= -march=i686
 cflags-$(CONFIG_MPENTIUMII)	+= $(call check_gcc,-march=pentium2,-march=i686)
 cflags-$(CONFIG_MPENTIUMIII)	+= $(call check_gcc,-march=pentium3,-march=i686)
+cflags-$(CONFIG_MPENTIUMM)	+= $(call check_gcc,-march=pentium3,-march=i686)
 cflags-$(CONFIG_MPENTIUM4)	+= $(call check_gcc,-march=pentium4,-march=i686)
 cflags-$(CONFIG_MK6)		+= $(call check_gcc,-march=k6,-march=i586)
 # Please note, that patches that add -march=athlon-xp and friends are pointless.
diff -puN include/asm-i386/module.h~pentium-m-support include/asm-i386/module.h
--- 25/include/asm-i386/module.h~pentium-m-support	Mon Jan 12 15:52:42 2004
+++ 25-akpm/include/asm-i386/module.h	Mon Jan 12 15:52:42 2004
@@ -26,6 +26,8 @@ struct mod_arch_specific
 #define MODULE_PROC_FAMILY "PENTIUMII "
 #elif defined CONFIG_MPENTIUMIII
 #define MODULE_PROC_FAMILY "PENTIUMIII "
+#elif defined CONFIG_MPENTIUMM
+#define MODULE_PROC_FAMILY "PENTIUMM "
 #elif defined CONFIG_MPENTIUM4
 #define MODULE_PROC_FAMILY "PENTIUM4 "
 #elif defined CONFIG_MK6
--- linux-2.6.2-rc1-mm3/arch/i386/Kconfig.old	2004-01-25 17:49:55.000000000 +0100
+++ linux-2.6.2-rc1-mm3/arch/i386/Kconfig	2004-01-25 17:57:05.000000000 +0100
@@ -222,14 +222,20 @@
 	  extended prefetch instructions in addition to the Pentium II
 	  extensions.
 
+config MPENTIUMM
+	bool "Pentium M"
+	help
+	  Select this for Intel Pentium M (not Pentium-4 M)
+	  notebook chips.
+
 config MPENTIUM4
-	bool "Pentium-4/Celeron(P4-based)/Xeon"
+	bool "Pentium-4/Celeron(P4-based)/Pentium-4 M/Xeon"
 	help
-	  Select this for Intel Pentium 4 chips.  This includes both
-	  the Pentium 4 and P4-based Celeron chips.  This option
-	  enables compile flags optimized for the chip, uses the
-	  correct cache shift, and applies any applicable Pentium III
-	  optimizations.
+	  Select this for Intel Pentium 4 chips.  This includes the
+	  Pentium 4, P4-based Celeron and Xeon, and Pentium-4 M
+	  (not Pentium M) chips.  This option enables compile flags
+	  optimized for the chip, uses the correct cache shift, and
+	  applies any applicable Pentium III optimizations.
 
 config MK6
 	bool "K6/K6-II/K6-III"
@@ -330,7 +336,7 @@
 	default "7" if MPENTIUM4 || X86_GENERIC
 	default "4" if MELAN || M486 || M386
 	default "5" if MWINCHIP3D || MWINCHIP2 || MWINCHIPC6 || MCRUSOE || MCYRIXIII || MK6 || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || M586TSC || M586 || MVIAC3_2
-	default "6" if MK7 || MK8
+	default "6" if MK7 || MK8 || MPENTIUMM
 
 config RWSEM_GENERIC_SPINLOCK
 	bool
@@ -379,17 +385,17 @@
 
 config X86_GOOD_APIC
 	bool
-	depends on MK7 || MPENTIUM4 || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || MK8
+	depends on MK7 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || MK8
 	default y
 
 config X86_INTEL_USERCOPY
 	bool
-	depends on MPENTIUM4 || MPENTIUMIII || MPENTIUMII || M586MMX || X86_GENERIC || MK8 || MK7
+	depends on MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M586MMX || X86_GENERIC || MK8 || MK7
 	default y
 
 config X86_USE_PPRO_CHECKSUM
 	bool
-	depends on MWINCHIP3D || MWINCHIP2 || MWINCHIPC6 || MCYRIXIII || MK7 || MK6 || MPENTIUM4 || MPENTIUMIII || MPENTIUMII || M686 || MK8 || MVIAC3_2
+	depends on MWINCHIP3D || MWINCHIP2 || MWINCHIPC6 || MCYRIXIII || MK7 || MK6 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || MK8 || MVIAC3_2
 	default y
 
 config X86_USE_3DNOW
@@ -571,7 +577,7 @@
 
 config X86_TSC
 	bool
-	depends on (MWINCHIP3D || MWINCHIP2 || MCRUSOE || MCYRIXIII || MK7 || MK6 || MPENTIUM4 || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || M586TSC || MK8 || MVIAC3_2) && !X86_NUMAQ
+	depends on (MWINCHIP3D || MWINCHIP2 || MCRUSOE || MCYRIXIII || MK7 || MK6 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || M586TSC || MK8 || MVIAC3_2) && !X86_NUMAQ
 	default y
 
 config X86_MCE

^ permalink raw reply

* [2/3] AMD Elan patch: rediffed
From: Adrian Bunk @ 2004-01-25 21:53 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel
In-Reply-To: <20040125214530.GN513@fs.tum.de>


From: Adrian Bunk <bunk@fs.tum.de>

- AMD Elan is a different subarch, you can't configure a kernel that runs
  on both the AMD Elan and other i386 CPUs

- added optimizing CFLAGS for the AMD Elan


diffstat output:

 arch/i386/Kconfig                    |   20 +++++++++++++++-----
 arch/i386/Makefile                   |    3 +++
 arch/i386/boot/setup.S               |    2 +-
 arch/i386/kernel/cpu/cpufreq/Kconfig |    2 +-
 include/asm-i386/module.h            |    2 +-
 include/asm-i386/timex.h             |    2 +-
 6 files changed, 22 insertions(+), 9 deletions(-)




diff -puN arch/i386/boot/setup.S~amd-elan-is-a-different-subarch arch/i386/boot/setup.S
--- 25/arch/i386/boot/setup.S~amd-elan-is-a-different-subarch	Mon Jan 12 15:53:12 2004
+++ 25-akpm/arch/i386/boot/setup.S	Mon Jan 12 15:53:12 2004
@@ -755,7 +755,7 @@ end_move_self:					# now we are at the r
 # AMD Elan bug fix by Robert Schwebel.
 #
 
-#if defined(CONFIG_MELAN)
+#if defined(CONFIG_X86_ELAN)
 	movb $0x02, %al			# alternate A20 gate
 	outb %al, $0x92			# this works on SC410/SC520
 a20_elan_wait:
diff -puN arch/i386/kernel/cpu/cpufreq/Kconfig~amd-elan-is-a-different-subarch arch/i386/kernel/cpu/cpufreq/Kconfig
--- 25/arch/i386/kernel/cpu/cpufreq/Kconfig~amd-elan-is-a-different-subarch	Mon Jan 12 15:53:12 2004
+++ 25-akpm/arch/i386/kernel/cpu/cpufreq/Kconfig	Mon Jan 12 15:53:12 2004
@@ -54,7 +54,7 @@ config X86_ACPI_CPUFREQ_PROC_INTF
 
 config ELAN_CPUFREQ
 	tristate "AMD Elan"
-	depends on CPU_FREQ_TABLE && MELAN
+	depends on CPU_FREQ_TABLE && X86_ELAN
 	---help---
 	  This adds the CPUFreq driver for AMD Elan SC400 and SC410
 	  processors.
diff -puN arch/i386/Makefile~amd-elan-is-a-different-subarch arch/i386/Makefile
--- 25/arch/i386/Makefile~amd-elan-is-a-different-subarch	Mon Jan 12 15:53:12 2004
+++ 25-akpm/arch/i386/Makefile	Mon Jan 12 15:53:12 2004
@@ -48,6 +48,9 @@ cflags-$(CONFIG_MWINCHIP3D)	+= $(call ch
 cflags-$(CONFIG_MCYRIXIII)	+= $(call check_gcc,-march=c3,-march=i486) $(align)-functions=0 $(align)-jumps=0 $(align)-loops=0
 cflags-$(CONFIG_MVIAC3_2)	+= $(call check_gcc,-march=c3-2,-march=i686)
 
+# AMD Elan support
+cflags-$(CONFIG_X86_ELAN)	+= -march=i486
+
 CFLAGS += $(cflags-y)
 
 # Default subarch .c files
diff -puN include/asm-i386/timex.h~amd-elan-is-a-different-subarch include/asm-i386/timex.h
--- 25/include/asm-i386/timex.h~amd-elan-is-a-different-subarch	Mon Jan 12 15:53:12 2004
+++ 25-akpm/include/asm-i386/timex.h	Mon Jan 12 15:53:12 2004
@@ -12,7 +12,7 @@
 #ifdef CONFIG_X86_PC9800
    extern int CLOCK_TICK_RATE;
 #else
-#ifdef CONFIG_MELAN
+#ifdef CONFIG_X86_ELAN
 #  define CLOCK_TICK_RATE 1189200 /* AMD Elan has different frequency! */
 #else
 #  define CLOCK_TICK_RATE 1193182 /* Underlying HZ */

_
--- linux-2.6.2-rc1-mm3/arch/i386/Kconfig.old	2004-01-25 18:08:34.000000000 +0100
+++ linux-2.6.2-rc1-mm3/arch/i386/Kconfig	2004-01-25 18:09:23.000000000 +0100
@@ -43,6 +43,15 @@
 	help
 	  Choose this option if your computer is a standard PC or compatible.
 
+config X86_ELAN
+	bool "AMD Elan"
+	help
+	  Select this for an AMD Elan processor.
+
+	  Do not use this option for K6/Athlon/Opteron processors!
+
+	  If unsure, choose "PC-compatible" instead.
+
 config X86_VOYAGER
 	bool "Voyager (NCR)"
 	help
@@ -130,6 +139,8 @@
 	default y
 	depends on SMP && X86_ES7000 && MPENTIUMIII
 
+if !X86_ELAN
+
 choice
 	prompt "Processor family"
 	default M686
@@ -258,9 +269,6 @@
 	  use of some extended instructions, and passes appropriate optimization
 	  flags to GCC.
 
-config MELAN
-	bool "Elan"
-
 config MCRUSOE
 	bool "Crusoe"
 	help
@@ -318,6 +326,8 @@
 	  when it has moderate overhead. This is intended for generic 
 	  distributions kernels.
 
+endif
+
 #
 # Define implied options from the CPU selection here
 #
@@ -334,7 +344,7 @@
 config X86_L1_CACHE_SHIFT
 	int
 	default "7" if MPENTIUM4 || X86_GENERIC
-	default "4" if MELAN || M486 || M386
+	default "4" if X86_ELAN || M486 || M386
 	default "5" if MWINCHIP3D || MWINCHIP2 || MWINCHIPC6 || MCRUSOE || MCYRIXIII || MK6 || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || M586TSC || M586 || MVIAC3_2
 	default "6" if MK7 || MK8 || MPENTIUMM
 
@@ -380,7 +390,7 @@
 
 config X86_ALIGNMENT_16
 	bool
-	depends on MWINCHIP3D || MWINCHIP2 || MWINCHIPC6 || MCYRIXIII || MELAN || MK6 || M586MMX || M586TSC || M586 || M486 || MVIAC3_2
+	depends on MWINCHIP3D || MWINCHIP2 || MWINCHIPC6 || MCYRIXIII || X86_ELAN || MK6 || M586MMX || M586TSC || M586 || M486 || MVIAC3_2
 	default y
 
 config X86_GOOD_APIC
--- linux-2.6.2-rc1-mm3/include/asm-i386/module.h.old	2004-01-25 18:11:14.000000000 +0100
+++ linux-2.6.2-rc1-mm3/include/asm-i386/module.h	2004-01-25 18:11:27.000000000 +0100
@@ -36,7 +36,7 @@
 #define MODULE_PROC_FAMILY "K7 "
 #elif defined CONFIG_MK8
 #define MODULE_PROC_FAMILY "K8 "
-#elif defined CONFIG_MELAN
+#elif defined CONFIG_X86_ELAN
 #define MODULE_PROC_FAMILY "ELAN "
 #elif defined CONFIG_MCRUSOE
 #define MODULE_PROC_FAMILY "CRUSOE "

^ permalink raw reply

* Re: Unneeded Code Found??
From: Randy Appleton @ 2004-01-25 22:36 UTC (permalink / raw)
  To: Nick Piggin; +Cc: Bill Davidsen, linux-kernel
In-Reply-To: <4011B586.1090101@cyberone.com.au>

Nick Piggin wrote:

>
>
> Randy Appleton wrote:
>
>> Nick Piggin wrote: 
>
>
>
>>
>>> Yes it gets used.
>>>
>>> I think its a lot more common with direct io and when you have lots of
>>> processes.
>>
>>
>>
>> I'm not arguing, but how do you know this?  I'm trying to convince 
>> myself that the code is used, and at least on my system
>> a few days of general use, followed by heavy parallel compiles, 
>> doesn't use the code even once.
>>
>> I have not tested direct I/O.  Otherwise it looks unused.
>>
>
> Because I have seen it - I have instrumented it.
>
> Your usage patterns are pretty tame actually. I remember having 100 
> processes
> randomly reading from the same part of the disk was one of my test cases.
> You need direct IO otherwise everything ends up in pagecache.
>
> I haven't seen workloads where it gets used a lot, but that doesn't 
> mean they
> don't exist, and I've never seen the code cause any problems, so there 
> is no
> need to make any trade offs by removing it.
>
O.K.  That's convincing.  Thanks for the time.


^ permalink raw reply

* Re: [patch] Re: Kernels > 2.6.1-mm3 do not boot. - SOLVED
From: Andi Kleen @ 2004-01-25 21:46 UTC (permalink / raw)
  To: Fabio Coatti; +Cc: Andrew Morton, Andi Kleen, bunk, eric, linux-kernel
In-Reply-To: <200401252221.01679.cova@ferrara.linux.it>

On Sun, Jan 25, 2004 at 10:21:01PM +0100, Fabio Coatti wrote:
> Alle Sunday 25 January 2004 22:11, Andrew Morton ha scritto:
> 
> > >
> > > I disagree with that change.
> >
> > Well there doesn't seem much doubt that -funit-at-a-time causes Fabio's
> > kernel to fail.  Do we know exactly which compiler he is using?
> 
> Well,  I'm using gcc (GCC) 3.3.1 (Mandrake Linux 9.2 3.3.1-2mdk), provided 
> with Mandrake 9.2. If more details about configuration are needed please let 
> me know.

Let's take this from the start:

what kernel version are you running exactly? 
what oops are you seeing? 
does official 2.6.2rc1 (not mm) with -funit-at-a-time enabled in the Makefile
work? 

-Andi

^ permalink raw reply

* Q: Filesystem choice..
From: Eric W. Biederman @ 2004-01-25 21:53 UTC (permalink / raw)
  To: linux-mtd


Currently I am examining the possibility of using a filesystem with
LinuxBIOS so that I may store parameters and kernels in the flash in a
more flexible manner. 

The current flash chips I am working with are NOR flash from 512KiB to
4MiB.  And they generally have a 64KiB erase size.

I have two flash blocks that are reserved for XIP code (the hw
initialization firmware) and the rest can be used for the filesystem.
So in the worst case I have 6 flash blocks to play with.

The old papers on jffs2 would make it unacceptable as it reserves
5 erase blocks.  And I don't know if yaffs or yaffs2 is any better.

In addition boot time is important so it would be ideal if I did not
to read every byte of the ROM chip to initialize the filesystem.

Is there a filesystem that only reserves one erase block?

Does it look like I need to write my own solution?

Eric

^ permalink raw reply

* Re: [patch] Re: Kernels > 2.6.1-mm3 do not boot. - SOLVED
From: Adrian Bunk @ 2004-01-25 21:49 UTC (permalink / raw)
  To: John Stoffel
  Cc: Andi Kleen, Valdis.Kletnieks, Fabio Coatti, Andrew Morton, Eric,
	linux-kernel
In-Reply-To: <16404.10496.50601.268391@gargle.gargle.HOWL>

On Sun, Jan 25, 2004 at 03:37:20PM -0500, John Stoffel wrote:
>...
> >> -funit-at-a-time in Makefile.  I'm running gcc 3.3.3 on Debian with
> >> the stable/unstable/testing branches.  
> 
> Andi> Did you actually have problems? 
> 
> Sure, the darn thing wouldn't boot, it kept Oopsing with the
> test_wp_bit oops (that I just posted more details about).
> 
> More confirmation as I get it.

I'd say that's a different issue:
The gcc 3.3 in debian unstable doesn't know about -funit-at-a-time, and 
it should therefore not be affected by this problem.

> John

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


^ permalink raw reply

* Re: [patch] Re: Kernels > 2.6.1-mm3 do not boot. - SOLVED
From: Adrian Bunk @ 2004-01-25 21:48 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Andi Kleen, cova, eric, linux-kernel
In-Reply-To: <20040125131153.16bb662b.akpm@osdl.org>

On Sun, Jan 25, 2004 at 01:11:53PM -0800, Andrew Morton wrote:
> Andi Kleen <ak@muc.de> wrote:
>...
> > > Th patch below replaces use-funit-at-a-time.patch and uses 
> > > scripts/gcc-version.sh from add-config-for-mregparm-3-ng* to use 
> > > -funit-at-a-time only with gcc >= 3.4 .
> > 
> > I disagree with that change.
> 
> Well there doesn't seem much doubt that -funit-at-a-time causes Fabio's
> kernel to fail.  Do we know exactly which compiler he is using?

  gcc (GCC) 3.3.1 (Mandrake Linux 9.2 3.3.1-2mdk)

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


^ permalink raw reply

* Re: [patch] Re: Kernels > 2.6.1-mm3 do not boot. - SOLVED
From: Andi Kleen @ 2004-01-25 21:45 UTC (permalink / raw)
  To: John Stoffel
  Cc: Andi Kleen, Valdis.Kletnieks, Adrian Bunk, Fabio Coatti,
	Andrew Morton, Eric, linux-kernel
In-Reply-To: <16404.10496.50601.268391@gargle.gargle.HOWL>

On Sun, Jan 25, 2004 at 03:37:20PM -0500, John Stoffel wrote:
> 
> 
> Andi> On Sun, Jan 25, 2004 at 03:21:04PM -0500, John Stoffel wrote:
> >> 
> Andi> The latest bk tree (post 2.6.2rc1) has a full solution that
> Andi> should cover all architectures.
> >> 
> >> Can you post your patch please?  I've been running into this too.  I'm
> >> compiling 2.6.2-rc1-mm3 right now after having commented out the
> 
> Andi> It should be in there already. 
> 
> It's not in there, since my Makefile had the -funit-at-a-time stuff,
> which I've now commented out.  Still compiling, and waiting to do
> areboot to test it out.

I meant the patch to sort the exception tables, which fixes the
only problem I know that unit-at-a-time triggered on i386

> 
> >> -funit-at-a-time in Makefile.  I'm running gcc 3.3.3 on Debian with
> >> the stable/unstable/testing branches.  
> 
> Andi> Did you actually have problems? 
> 
> Sure, the darn thing wouldn't boot, it kept Oopsing with the
> test_wp_bit oops (that I just posted more details about).

Looks like the sort extable patch was missing. Are you 100% 
sure you booted the right kernel? 

2.6.2-rc1 has Paul Mackerras' generalized sort extable patch already.

I just booted an 2.6.2-rc1-mm3 kernel compiled with an -funit-at-a-time capable
gcc 3 and it worked just fine.

-Andi

^ permalink raw reply

* Re: 2.4.25pre7 - cannot mount 128MB vfat fs on Minolta camera
From: Greg KH @ 2004-01-25 21:46 UTC (permalink / raw)
  To: OGAWA Hirofumi; +Cc: Marc Mongenet, linux-kernel, linux-usb-devel
In-Reply-To: <87isiz3luw.fsf@devron.myhome.or.jp>

On Mon, Jan 26, 2004 at 03:48:55AM +0900, OGAWA Hirofumi wrote:
> Hi,
> 
> Is this known problem? Any idea?

Yes, run 'eject' after removing the media before inserting the new
media.  That should fix the problem.

greg k-h

^ permalink raw reply

* [0/3] fix brown paperbag bug in pentium-m-support.patch
From: Adrian Bunk @ 2004-01-25 21:45 UTC (permalink / raw)
  To: Andrew Morton; +Cc: linux-kernel

Hi Andrew,

there's a brown paperbag bug in pentium-m-support.patch.

The first patch fixes this issue, thw other two patches are rediffs of 
amd-elan-is-a-different-subarch and better-i386-cpu-selection.

Please revert the patches in the following direction:

i386-default-to-n.patch
cpu-options-default-to-y.patch
better-i386-cpu-selection.patch
add-config-for-mregparm-3-ng-fixes.patch
add-config-for-mregparm-3-ng.patch
amd-elan-is-a-different-subarch.patch
pentium-m-support.patch


Then apply in the following direction:

[1/3] Pentium M: fix brown paperbag bug
[2/3] AMD Elan patch: rediffed
add-config-for-mregparm-3-ng.patch
add-config-for-mregparm-3-ng-fixes.patch
[3/3] CPU patch rediffed, includes the contents of:
      - better-i386-cpu-selection.patch
      - cpu-options-default-to-y.patch
      - i386-default-to-n.patch


cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


^ permalink raw reply

* Re: [PATCH 2.6.2-rc1-mm3] fs/xfs/xfs_log_recover.c
From: Bryan Whitehead @ 2004-01-25 21:31 UTC (permalink / raw)
  To: Tim Cambrant; +Cc: Bryan Whitehead, Linux Kernel Mailing List
In-Reply-To: <20040125111129.GA29501@cambrant.com>

Tim Cambrant wrote:
> On Sat, Jan 24, 2004 at 08:48:59PM -0800, Bryan Whitehead wrote:
> 
>>This patch keeps the same functionality but removes the warning the compiler generates.
> 
> 
> I sent you a patch exactly like this a few days ago, but I don't know
> if you got it. This way is a lot more simple than the approach you went
> for in your last patch, but it really shouldn't matter at all. All it
> does is to clear a warning. One tip though, in SubmittingPatches you
> can read that the best way to create patches is by making them apply
> with the -p1 flag. This is done by including the actual kernel source
> directory when making the diff, such as this:

I didn't get it. Sorry.

> diff -up linux/fs/xfs/xfs_log_recover.c.orig linux/fs/xfs/xfs_log_recover.c
> 
> It doesn't matter what you named your kernel directory, since the -p1 flag
> ignores that name. Using this command will improve your chances of getting
> your patches included.
> 
> 
>                 Tim Cambrant

In Documentation/SubmittingPatches it says this:

To create a patch for a single file, it is often sufficient to do:

         SRCTREE= /devel/linux-2.4
         MYFILE=  drivers/net/mydriver.c

         cd $SRCTREE
         cp $MYFILE $MYFILE.orig
         vi $MYFILE      # make your change
         diff -up $MYFILE.orig $MYFILE > /tmp/patch

 From the example I am supposed to be in my source tree, not just 
outside it.

Does the documentation need to be changed? It seems everyone I've sent a 
patch to would like a patch that looks like "diff -up 
linux/fs/xfs/xfs_log_recover.c.orig linux/fs/xfs/xfs_log_recover.c" 
instead of "diff -up fs/xfs/xfs_log_recover.c.orig 
fs/xfs/xfs_log_recover.c".

If this is the case I wouldn't mind updating the docs and submitting a 
patch. ;)

-- 
Bryan Whitehead
Email:driver@megahappy.net
WorkE:driver@jpl.nasa.gov

^ permalink raw reply

* Re: Sun Sparc questions....
From: Jeroen Vreeken @ 2004-01-25 21:37 UTC (permalink / raw)
  To: Mark Acierno; +Cc: linux-hams
In-Reply-To: <5A0E3EAA-4F77-11D8-AFA8-000A95DB9E94@pocketdvm.com>

On 2004.01.25 21:45:03 +0100 Mark Acierno wrote:
> I have two Suns that I have recently "acquired" one is a Sparc 20 the 
> other an ultrasparc 2 creator. I have gotten Debian linux up and 
> running on both but I have questions about using one (either) for 
> packet work.... after lurking here  for the past few weeks it seems as 
> though most users here have PCs running linux. Is anyone here familiar 
> with the Sparcstation??

I once made a quick hack to the scc driver to use it on the scc chip in a
sparc xterminal... I don't know about the sparc 20 but if it is a sun4m
architecture you probably could do the same.

As for the ultra 2 I don't know, my ultra 10 doesn't have an scc chip for
the serial port (atleast not that I know of) but it does have onboard
sound.
You might be able to use soundmodem on it.

Ofcourse both will probably just work fine if you use a tnc in kiss mode or
any of the tunneling protocols. (axip, bpq)

Jeroen


^ permalink raw reply

* Re: user space multicast routing interface
From: David Stevens @ 2004-01-25 21:35 UTC (permalink / raw)
  To: David Lamparter; +Cc: netdev

[-- Attachment #1: Type: text/plain, Size: 3133 bytes --]





For an IGMPv3 querier, which doesn't have to be a multicast router,
all you really need to do is create a raw socket with proto IPPROTO_IGMP
and join the "all multicast routers group" (224.0.0.22) on the interface
you
care about. Send the query to 224.0.0.1 and do a recvfrom() for the
response.

                        +-DLS


David Lamparter <equinox@diac24.net>@oss.sgi.com on 01/25/2004 09:37:13 AM

Sent by:    netdev-bounce@oss.sgi.com


To:    netdev@oss.sgi.com
cc:
Subject:    user space multicast routing interface



Hi,

[...skip down if you don't like long "sorry for mailing" mails ;)]

first of all, please excuse me mailing to netdev for a not directly
kernel related Linux networking question - i didn't find any other place
where i could ask...

I recently started playing around with multicast routing for educational
purposes; multicast client software was easy to write, ran well and
there were lots of docs about setsockopts etc.

Continuing on my way, I'm trying to write a simple IGMP querier now, but
even getting started turns out to be pretty difficult here, almost no
docs exist (well, the FreeBSD manpage...). I tried everything coming to
my mind, but i wasn't even able to get to receiving all IGMP packets on
an interface.

[...stop skipping here]

so, 2 questions:
* what sockopts are neccessary to get all IGMP packets (all multicast
groups) on a raw socket? (MRT_INIT / MRT_ADD_VIF should do it, but it
doesn't work)
* is it possible to bind VIFs to interface indices? in ipmr.c / struct
vifctl there is no ifindex parameter (real interface, not vif)

as you can see from the 2nd question, i at least tried reading the
kernel source (2.6.1), but i don't know the stack so its difficult to
understand...

David Lamparter



Appended: testing code for IGMP

no error messages on 2.6.1, interface has
<BROADCAST,MULTICAST,ALLMULTI,UP> flags while code is running, vif shows
up under /proc/net/ip_mr_vif:
Interface      BytesIn  PktsIn  BytesOut PktsOut Flags Local    Remote
  1 eth0              0       0         0       0 08000 160216AC 00000000

<cut includes for space issues>

#define E(x) if (x) printf ("error doing %s: %d [%s]\n", \
         #x, errno, strerror (errno));
int main(int argc, char **argv)
{
         int mrouter_s4; int p = 1; struct vifctl vc;

         mrouter_s4 = socket(AF_INET, SOCK_RAW, IPPROTO_IGMP);
         E(setsockopt(mrouter_s4, IPPROTO_IP, MRT_INIT,
                 (void *)&p, sizeof(p)));

         memset(&vc, 0, sizeof(vc));
         vc.vifc_vifi = vc.vifc_threshold = 1;
         vc.vifc_rate_limit = 4096;
         vc.vifc_lcl_addr.s_addr = inet_addr(argv[1]);
         E(setsockopt(mrouter_s4, IPPROTO_IP, MRT_ADD_VIF,
                 (void *)&vc, sizeof(vc)));

         while(1) {
                 char buf[4096]; struct sockaddr_in sender;
                 socklen_t sendsize = sizeof(sender);
                 int size = recvfrom(mrouter_s4, buf, 4096, 0,
                         (struct sockaddr *) &sender, &sendsize);
                 printf ("got %d from %s\n", size,
                         inet_ntoa(sender.sin_addr));
         }
}






[-- Attachment #2: Type: text/html, Size: 3869 bytes --]

^ permalink raw reply

* Re: [patch] Re: Kernels > 2.6.1-mm3 do not boot. - SOLVED
From: Fabio Coatti @ 2004-01-25 21:21 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Andi Kleen, bunk, eric, linux-kernel
In-Reply-To: <20040125131153.16bb662b.akpm@osdl.org>

Alle Sunday 25 January 2004 22:11, Andrew Morton ha scritto:

> >
> > I disagree with that change.
>
> Well there doesn't seem much doubt that -funit-at-a-time causes Fabio's
> kernel to fail.  Do we know exactly which compiler he is using?

Well,  I'm using gcc (GCC) 3.3.1 (Mandrake Linux 9.2 3.3.1-2mdk), provided 
with Mandrake 9.2. If more details about configuration are needed please let 
me know.


-- 
Fabio Coatti       http://www.ferrara.linux.it/members/cova     
Ferrara Linux Users Group           http://ferrara.linux.it
GnuPG fp:9765 A5B6 6843 17BC A646  BE8C FA56 373A 5374 C703
Old SysOps never die... they simply forget their password.

^ permalink raw reply

* Question about procfs function
From: Leonardo Henrique Machado @ 2004-01-25 21:23 UTC (permalink / raw)
  To: netfilter-devel


Where can I find a complete tutorial about procfs?

I need to print a whole table in a procfs file.
I have created the file but I cannot understand
one of it's functions:

proc = proc_net_create(procfs_name, 0, procfs_getinfo);

procfs_getinfo is a very confusing function! I would like
to save a linked list in a buffer and after that I'll print
it in the procfs buffer file.

I know that procfs_getinfo (or whatever name you gave it)
must return a integer representing the size of the buffer
that will store my table. Anyway, where can I find good
tutorials and examples about using this procfs buffer
function?

Is there a better place to ask about it?


//leoh
main(){int j=1234;char t[]=":@abcdefghijklmnopqrstuvwxyz.\n"
,*i = "iqgbgxmlvivuc\n:wwnfwsdoi"; char *strchr(char *,int);
while(*i){j+=strchr(t,*i++)-t;j%=sizeof t-1;putchar(t[j]);}}

^ permalink raw reply

* [Bluez-users] itec CF dongle and PCMCIA reduction
From: Michal Semler (volny.cz) @ 2004-01-25 21:15 UTC (permalink / raw)
  To: Bluez-users

Hi,

in one shop in Czech Republic, there they have very cheap BT CF card from 
iTec.
This card has CF<->PCMCIA reduction.

Will this work with BlueZ?

Michal 



-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
_______________________________________________
Bluez-users mailing list
Bluez-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-users

^ permalink raw reply


This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.