public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Re: business models [was patent stuff]
       [not found] <50.c105234.2a24c92d@aol.com>
@ 2002-05-28 13:42 ` Gilad Ben-Yossef
  2002-05-28 14:29   ` kernel 2.5.18 on alpha Oliver Pitzeier
  0 siblings, 1 reply; 6+ messages in thread
From: Gilad Ben-Yossef @ 2002-05-28 13:42 UTC (permalink / raw)
  To: Paratimer; +Cc: lm, adam, linux-kernel

On Tue, 2002-05-28 at 14:51, Paratimer@aol.com wrote:
> In a message dated 5/28/2002 3:55:00 AM Eastern Daylight Time, 
> gilad@benyossef.com writes:
> 
> 
> > On Tue, 2002-05-28 at 01:24, Larry McVoy wrote:
> > 
> > > If the free software community is ever going to really compete with the
> > > non-free software community, they simply have to come up with a better
> > > business model than giving it away and trying to make money on support.
> > > It's economics 101 - a free market will go to whomever can provide the
> > > needed service most cheaply.  With no barrier to entry, that means as
> > .........^^^^^^^^
> > > soon as the price gets high enough, someone will resell the 
> > > product for
> > ..^^^^^^^
> > > less.  Which results in razor thin profits, if any at all.
> > 
> > Software is not a "product" any more then a lawyer argument in a case is
> > a "product" or an architect plan for a building is a "product".  
> 
> Actually, a lawyer's argument or an architects plan can certainly
> be work products, and if I hire a lawyer to draw up a contract for
> me or an architect to design a building for me, unless our agreements
> say otherwise, I own the contract or the building plans.
> 

Of course you *can*, but do you (or anyone else) actually does this?
AFAIK this is not a very common business model. 

Gilad.
-- 
Gilad Ben-Yossef <gilad@benyossef.com>
Code mangler, senior coffee drinker and VP SIGSEGV
Qlusters ltd.

"A billion flies _can_ be wrong - I'd rather eat lamb chops than shit."
	-- Linus Torvalds on lkml





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

* kernel 2.5.18 on alpha
  2002-05-28 13:42 ` business models [was patent stuff] Gilad Ben-Yossef
@ 2002-05-28 14:29   ` Oliver Pitzeier
  2002-05-28 15:17     ` [patch] " Ivan Kokshaysky
  2002-05-30 15:13     ` Oliver Pitzeier
  0 siblings, 2 replies; 6+ messages in thread
From: Oliver Pitzeier @ 2002-05-28 14:29 UTC (permalink / raw)
  To: linux-kernel

Hi volks!

I get this error when trying to compile kernel 2.5.18 on alpha.

Please help me!

[ ... ]
gcc -D__KERNEL__ -I/root/linux-2.5.18/include -Wall -Wstrict-prototypes
-Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common
-pipe -mno-fp-regs -ffixed-8 -mcpu=ev5 -Wa,-mev6
-DKBUILD_BASENAME=do_mounts  -c -o do_mounts.o do_mounts.c
In file included from /root/linux-2.5.18/include/linux/thread_info.h:10,
                 from /root/linux-2.5.18/include/linux/spinlock.h:7,
                 from /root/linux-2.5.18/include/linux/tqueue.h:16,
                 from /root/linux-2.5.18/include/linux/sched.h:10,
                 from do_mounts.c:4:
/root/linux-2.5.18/include/linux/bitops.h: In function
`get_bitmask_order':
/root/linux-2.5.18/include/linux/bitops.h:77: warning: implicit
declaration of function `fls'
In file included from do_mounts.c:13:
/root/linux-2.5.18/include/linux/suspend.h:4:25: asm/suspend.h: No such
file or directory
make[1]: *** [do_mounts.o] Error 1
make[1]: Leaving directory `/root/linux-2.5.18/init'
make: *** [_dir_init] Error 2
[ ... ]

Greetz,
 Oliver



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

* [patch] Re: kernel 2.5.18 on alpha
  2002-05-28 14:29   ` kernel 2.5.18 on alpha Oliver Pitzeier
@ 2002-05-28 15:17     ` Ivan Kokshaysky
  2002-06-04  9:55       ` Oliver Pitzeier
  2002-05-30 15:13     ` Oliver Pitzeier
  1 sibling, 1 reply; 6+ messages in thread
From: Ivan Kokshaysky @ 2002-05-28 15:17 UTC (permalink / raw)
  To: Oliver Pitzeier; +Cc: Richard Henderson, linux-kernel

On Tue, May 28, 2002 at 04:29:15PM +0200, Oliver Pitzeier wrote:
> I get this error when trying to compile kernel 2.5.18 on alpha.

Just intended to post the patch... :-)

- sync up with new pte/pfn/page/tlb macros
- pcibios_init() should return int;
- find last bit set: ctlz for ev67 and above, generic for others.

> /root/linux-2.5.18/include/linux/suspend.h:4:25: asm/suspend.h: No such
> file or directory

I'm not sure what to do with this. I doubt that we ever want this
file on alpha. For myself I moved "#include <asm/suspend.h>"
under #ifdef CONFIG_SOFTWARE_SUSPEND and everything compiles.

Ivan.

--- 2.5.18/arch/alpha/kernel/signal.c	Sat May 25 05:55:26 2002
+++ linux/arch/alpha/kernel/signal.c	Mon May 27 16:06:22 2002
@@ -18,6 +18,7 @@
 #include <linux/smp_lock.h>
 #include <linux/stddef.h>
 #include <linux/tty.h>
+#include <linux/binfmts.h>
 
 #include <asm/bitops.h>
 #include <asm/uaccess.h>
--- 2.5.18/arch/alpha/kernel/osf_sys.c	Sat May 25 05:55:16 2002
+++ linux/arch/alpha/kernel/osf_sys.c	Mon May 27 16:06:22 2002
@@ -33,6 +33,7 @@
 #include <linux/file.h>
 #include <linux/types.h>
 #include <linux/ipc.h>
+#include <linux/namei.h>
 
 #include <asm/fpu.h>
 #include <asm/io.h>
--- 2.5.18/arch/alpha/kernel/pci.c	Sat May 25 05:55:19 2002
+++ linux/arch/alpha/kernel/pci.c	Mon May 27 17:07:15 2002
@@ -193,12 +193,12 @@ pcibios_align_resource(void *data, struc
 #undef MB
 #undef GB
 
-static void __init
+static int __init
 pcibios_init(void)
 {
-	if (!alpha_mv.init_pci)
-		return;
-	alpha_mv.init_pci();
+	if (alpha_mv.init_pci)
+		alpha_mv.init_pci();
+	return 0;
 }
 
 subsys_initcall(pcibios_init);
--- 2.5.18/include/asm-alpha/page.h	Sat May 25 05:55:29 2002
+++ linux/include/asm-alpha/page.h	Mon May 27 16:27:39 2002
@@ -95,8 +95,12 @@ extern __inline__ int get_order(unsigned
 #define __pa(x)			((unsigned long) (x) - PAGE_OFFSET)
 #define __va(x)			((void *)((unsigned long) (x) + PAGE_OFFSET))
 #ifndef CONFIG_DISCONTIGMEM
-#define virt_to_page(kaddr)	(mem_map + (__pa(kaddr) >> PAGE_SHIFT))
-#define VALID_PAGE(page)	(((page) - mem_map) < max_mapnr)
+#define pfn_to_page(pfn)	(mem_map + (pfn))
+#define page_to_pfn(page)	((unsigned long)((page) - mem_map))
+#define virt_to_page(kaddr)	pfn_to_page(__pa(kaddr) >> PAGE_SHIFT)
+
+#define pfn_valid(pfn)		((pfn) < max_mapnr)
+#define virt_addr_valid(kaddr)	pfn_valid(__pa(kaddr) >> PAGE_SHIFT)
 #endif /* CONFIG_DISCONTIGMEM */
 
 #define VM_DATA_DEFAULT_FLAGS		(VM_READ | VM_WRITE | VM_EXEC | \
--- 2.5.18/include/asm-alpha/pgtable.h	Sat May 25 05:55:22 2002
+++ linux/include/asm-alpha/pgtable.h	Mon May 27 16:27:39 2002
@@ -179,11 +179,12 @@ extern unsigned long __zero_page(void);
 #endif
 #if defined(CONFIG_ALPHA_GENERIC) || \
     (defined(CONFIG_ALPHA_EV6) && !defined(USE_48_BIT_KSEG))
-#define PHYS_TWIDDLE(phys) \
-  ((((phys) & 0xc0000000000UL) == 0x40000000000UL) \
-  ? ((phys) ^= 0xc0000000000UL) : (phys))
+#define KSEG_PFN	(0xc0000000000UL >> PAGE_SHIFT)
+#define PHYS_TWIDDLE(pfn) \
+  ((((pfn) & KSEG_PFN) == (0x40000000000UL >> PAGE_SHIFT)) \
+  ? ((pfn) ^= KSEG_PFN) : (pfn))
 #else
-#define PHYS_TWIDDLE(phys) (phys)
+#define PHYS_TWIDDLE(pfn) (pfn)
 #endif
 
 /*
@@ -199,12 +200,13 @@ extern unsigned long __zero_page(void);
 #endif
 
 #ifndef CONFIG_DISCONTIGMEM
+#define pte_pfn(pte)	(pte_val(pte) >> 32)
+#define pte_page(pte)	pfn_to_page(pte_pfn(pte))
 #define mk_pte(page, pgprot)						\
 ({									\
 	pte_t pte;							\
 									\
-	pte_val(pte) = ((unsigned long)(page - mem_map) << 32) |	\
-		       pgprot_val(pgprot);				\
+	pte_val(pte) = (page_to_pfn(page) << 32) | pgprot_val(pgprot);	\
 	pte;								\
 })
 #else
@@ -219,10 +221,20 @@ extern unsigned long __zero_page(void);
 										\
 	pte;									\
 })
+#define pte_page(x)							\
+({									\
+	unsigned long kvirt;						\
+	struct page * __xx;						\
+									\
+	kvirt = (unsigned long)__va(pte_val(x) >> (32-PAGE_SHIFT));	\
+	__xx = virt_to_page(kvirt);					\
+									\
+	__xx;								\
+})
 #endif
 
-extern inline pte_t mk_pte_phys(unsigned long physpage, pgprot_t pgprot)
-{ pte_t pte; pte_val(pte) = (PHYS_TWIDDLE(physpage) << (32-PAGE_SHIFT)) | pgprot_val(pgprot); return pte; }
+extern inline pte_t pfn_pte(unsigned long physpfn, pgprot_t pgprot)
+{ pte_t pte; pte_val(pte) = (PHYS_TWIDDLE(physpfn) << 32) | pgprot_val(pgprot); return pte; }
 
 extern inline pte_t pte_modify(pte_t pte, pgprot_t newprot)
 { pte_val(pte) = (pte_val(pte) & _PAGE_CHG_MASK) | pgprot_val(newprot); return pte; }
@@ -233,20 +245,6 @@ extern inline void pmd_set(pmd_t * pmdp,
 extern inline void pgd_set(pgd_t * pgdp, pmd_t * pmdp)
 { pgd_val(*pgdp) = _PAGE_TABLE | ((((unsigned long) pmdp) - PAGE_OFFSET) << (32-PAGE_SHIFT)); }
 
-#ifndef CONFIG_DISCONTIGMEM
-#define pte_page(x)	(mem_map+(unsigned long)((pte_val(x) >> 32)))
-#else
-#define pte_page(x)							\
-({									\
-	unsigned long kvirt;						\
-	struct page * __xx;						\
-									\
-	kvirt = (unsigned long)__va(pte_val(x) >> (32-PAGE_SHIFT));	\
-	__xx = virt_to_page(kvirt);					\
-									\
-	__xx;								\
-})
-#endif
 
 extern inline unsigned long
 pmd_page_kernel(pmd_t pmd)
--- 2.5.18/include/asm-alpha/tlb.h	Sat May 25 05:55:25 2002
+++ linux/include/asm-alpha/tlb.h	Mon May 27 16:06:22 2002
@@ -1 +1,15 @@
+#ifndef _ALPHA_TLB_H
+#define _ALPHA_TLB_H
+
+#define tlb_start_vma(tlb, vma)			do { } while (0)
+#define tlb_end_vma(tlb, vma)			do { } while (0)
+#define tlb_remove_tlb_entry(tlb, pte, addr)	do { } while (0)
+
+#define tlb_flush(tlb)				flush_tlb_mm((tlb)->mm)
+
 #include <asm-generic/tlb.h>
+
+#define pte_free_tlb(tlb,pte)			pte_free(pte)
+#define pmd_free_tlb(tlb,pmd)			pmd_free(pmd)
+ 
+#endif
--- 2.5.18/include/asm-alpha/bitops.h	Sat May 25 05:55:27 2002
+++ linux/include/asm-alpha/bitops.h	Mon May 27 16:27:39 2002
@@ -315,6 +315,20 @@ static inline int ffs(int word)
 	return word ? result+1 : 0;
 }
 
+/*
+ * fls: find last bit set.
+ */
+#if defined(__alpha_cix__) && defined(__alpha_fix__)
+static inline int fls(int word)
+{
+	long result;
+	__asm__("ctlz %1,%0" : "=r"(result) : "r"(word & 0xffffffff));
+	return 64 - result;
+}
+#else
+#define fls	generic_fls
+#endif
+
 /* Compute powers of two for the given integer.  */
 static inline int floor_log2(unsigned long word)
 {

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

* Re: kernel 2.5.18 on alpha
  2002-05-28 14:29   ` kernel 2.5.18 on alpha Oliver Pitzeier
  2002-05-28 15:17     ` [patch] " Ivan Kokshaysky
@ 2002-05-30 15:13     ` Oliver Pitzeier
  2002-05-30 15:17       ` David Woodhouse
  1 sibling, 1 reply; 6+ messages in thread
From: Oliver Pitzeier @ 2002-05-30 15:13 UTC (permalink / raw)
  To: linux-kernel

Is there really nobody who can help me with this error?

Greetz,
  Oliver

----- Original Message -----
From: "Oliver Pitzeier" <o.pitzeier@uptime.at>
To: <linux-kernel@vger.kernel.org>
Sent: Tuesday, May 28, 2002 4:29 PM
Subject: kernel 2.5.18 on alpha


> Hi volks!
>
> I get this error when trying to compile kernel 2.5.18 on alpha.
>
> Please help me!
>
> [ ... ]
> gcc -D__KERNEL__ -I/root/linux-2.5.18/include -Wall -Wstrict-prototypes
> -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common
> -pipe -mno-fp-regs -ffixed-8 -mcpu=ev5 -Wa,-mev6
> -DKBUILD_BASENAME=do_mounts  -c -o do_mounts.o do_mounts.c
> In file included from /root/linux-2.5.18/include/linux/thread_info.h:10,
>                  from /root/linux-2.5.18/include/linux/spinlock.h:7,
>                  from /root/linux-2.5.18/include/linux/tqueue.h:16,
>                  from /root/linux-2.5.18/include/linux/sched.h:10,
>                  from do_mounts.c:4:
> /root/linux-2.5.18/include/linux/bitops.h: In function
> `get_bitmask_order':
> /root/linux-2.5.18/include/linux/bitops.h:77: warning: implicit
> declaration of function `fls'
> In file included from do_mounts.c:13:
> /root/linux-2.5.18/include/linux/suspend.h:4:25: asm/suspend.h: No such
> file or directory
> make[1]: *** [do_mounts.o] Error 1
> make[1]: Leaving directory `/root/linux-2.5.18/init'
> make: *** [_dir_init] Error 2
> [ ... ]
>
> Greetz,
>  Oliver
>
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
>


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

* Re: kernel 2.5.18 on alpha
  2002-05-30 15:13     ` Oliver Pitzeier
@ 2002-05-30 15:17       ` David Woodhouse
  0 siblings, 0 replies; 6+ messages in thread
From: David Woodhouse @ 2002-05-30 15:17 UTC (permalink / raw)
  To: Oliver Pitzeier; +Cc: linux-kernel


o.pitzeier@uptime.at said:
>  Is there really nobody who can help me with this error?

If you're not capable of reading the list archives, and picking up the
patches which I believe I recall seeing, then no - I suspect you are indeed
beyond help.

--
dwmw2



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

* RE: [patch] Re: kernel 2.5.18 on alpha
  2002-05-28 15:17     ` [patch] " Ivan Kokshaysky
@ 2002-06-04  9:55       ` Oliver Pitzeier
  0 siblings, 0 replies; 6+ messages in thread
From: Oliver Pitzeier @ 2002-06-04  9:55 UTC (permalink / raw)
  To: 'Ivan Kokshaysky'; +Cc: 'Richard Henderson', linux-kernel

Ivan Kokshaysky wrote:
> On Tue, May 28, 2002 at 04:29:15PM +0200, Oliver Pitzeier wrote:
> > I get this error when trying to compile kernel 2.5.18 on alpha.
> 
> Just intended to post the patch... :-)
> 
> - sync up with new pte/pfn/page/tlb macros
> - pcibios_init() should return int;
> - find last bit set: ctlz for ev67 and above, generic for others.
> 
> > /root/linux-2.5.18/include/linux/suspend.h:4:25: asm/suspend.h: No 
> > such file or directory
> 
> I'm not sure what to do with this. I doubt that we ever want 
> this file on alpha. For myself I moved "#include 
> <asm/suspend.h>" under #ifdef CONFIG_SOFTWARE_SUSPEND and 
> everything compiles.

Yes. It does! Great job! But there are new problems with 2.5.20. I try
to catch 'em. I may find the gizmo... :o)

I you want to know the error:
gcc -D__KERNEL__ -I/usr/src/linux-2.5.20/include -Wall
-Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer
-fno-strict-aliasing -fno-common -pipe -mno-fp-regs -ffixed-8 -mcpu=ev5
-Wa,-mev6    -DKBUILD_BASENAME=main  -c -o main.o main.c
In file included from /usr/src/linux-2.5.20/include/linux/pagemap.h:10,
                 from /usr/src/linux-2.5.20/include/linux/blkdev.h:9,
                 from /usr/src/linux-2.5.20/include/linux/blk.h:4,
                 from main.c:25:
/usr/src/linux-2.5.20/include/linux/highmem.h:80:42: macro
"clear_user_page" passed 3 arguments, but takes just 2
/usr/src/linux-2.5.20/include/linux/highmem.h:114:45: macro
"copy_user_page" passed 4 arguments, but takes just 3
In file included from /usr/src/linux-2.5.20/include/linux/pagemap.h:10,
                 from /usr/src/linux-2.5.20/include/linux/blkdev.h:9,
                 from /usr/src/linux-2.5.20/include/linux/blk.h:4,
                 from main.c:25:
/usr/src/linux-2.5.20/include/linux/highmem.h: In function
`clear_user_highpage':
/usr/src/linux-2.5.20/include/linux/highmem.h:80: `clear_user_page'
undeclared (first use in this function)
/usr/src/linux-2.5.20/include/linux/highmem.h:80: (Each undeclared
identifier is reported only once
/usr/src/linux-2.5.20/include/linux/highmem.h:80: for each function it
appears in.)
/usr/src/linux-2.5.20/include/linux/highmem.h:79: warning: unused
variable `addr'
/usr/src/linux-2.5.20/include/linux/highmem.h: In function
`copy_user_highpage':
/usr/src/linux-2.5.20/include/linux/highmem.h:114: `copy_user_page'
undeclared (first use in this function)
make[1]: *** [main.o] Error 1
make[1]: Leaving directory `/usr/src/linux-2.5.20/init'
make: *** [init] Error 2

Greetz,
 Oliver



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

end of thread, other threads:[~2002-06-04  9:55 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <50.c105234.2a24c92d@aol.com>
2002-05-28 13:42 ` business models [was patent stuff] Gilad Ben-Yossef
2002-05-28 14:29   ` kernel 2.5.18 on alpha Oliver Pitzeier
2002-05-28 15:17     ` [patch] " Ivan Kokshaysky
2002-06-04  9:55       ` Oliver Pitzeier
2002-05-30 15:13     ` Oliver Pitzeier
2002-05-30 15:17       ` David Woodhouse

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