public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* kernel 2.5.20 on alpha (RE: [patch] Re: kernel 2.5.18 on alpha)
@ 2002-06-04 10:11 Oliver Pitzeier
  2002-06-04 12:45 ` Oliver Pitzeier
  2002-06-04 20:04 ` David Mosberger
  0 siblings, 2 replies; 15+ messages in thread
From: Oliver Pitzeier @ 2002-06-04 10:11 UTC (permalink / raw)
  To: o.pitzeier, 'Ivan Kokshaysky'
  Cc: 'Richard Henderson', linux-kernel, axp-kernel-list

Oliver Pitzeier wrote:
[ ... ]

> If you want to know the error:

[ ... ]

> `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

I guess I found where the error comes from:

(from the 2.5.20 Changelog):
> <davidm@napali.hpl.hp.com>
> [PATCH] pass "page" pointer to clear_user_page()/copy_user_page()
> 
> Hi Linus,
> 
> Are you willing to change the interfaces of clear_user_page() and
> copy_user_page() so that they can receive the relevant page pointer as
> a separate argument?  I need this on ia64 to implement the lazy-cache
> flushing scheme.
>
> I believe PPC would also benefit from this.
>
> --david

Now I believe, that Alpha also benefits from this. :o) The only thing
I have to do - I guess - is to change the defines for copy_user_page()
and clear_user_page. Adding the not used parameter >pg< should not make
any problems.

Greetz,
  Oliver 




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

* RE: kernel 2.5.20 on alpha (RE: [patch] Re: kernel 2.5.18 on alpha)
  2002-06-04 10:11 kernel 2.5.20 on alpha (RE: [patch] Re: kernel 2.5.18 on alpha) Oliver Pitzeier
@ 2002-06-04 12:45 ` Oliver Pitzeier
  2002-06-04 14:06   ` Oliver Pitzeier
  2002-06-04 20:04 ` David Mosberger
  1 sibling, 1 reply; 15+ messages in thread
From: Oliver Pitzeier @ 2002-06-04 12:45 UTC (permalink / raw)
  To: 'Ivan Kokshaysky'; +Cc: linux-kernel, axp-kernel-list

Hi!

I already found a few more errors while trying to compile
2.5.20. I send you the patch as soon as I have successfully
compiled the kernel _without_ problems (hopefully today).

FYI. I do not compile very much options; The main options
I compile ('coz I need 'em and nothing more...):
SCSI:           QLogic ISP
Network:        DECchip Tulip (dc2114x) and Early DECchip
                Tulip (dc2104x)
Character Dev.: Support for console on serial port
Filesystems:    EXT3 support, no ReiserFS
Network FS:     NFS (as module)

Greetz,
   Oliver

> Oliver Pitzeier wrote:
> [ ... ]
> 
> > If you want to know the error:
> 
> [ ... ]
> 
> > `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
> 
> I guess I found where the error comes from:
> 
> (from the 2.5.20 Changelog):
> > <davidm@napali.hpl.hp.com>
> > [PATCH] pass "page" pointer to clear_user_page()/copy_user_page()
> > 
> > Hi Linus,
> > 
> > Are you willing to change the interfaces of clear_user_page() and
> > copy_user_page() so that they can receive the relevant page 
> pointer as 
> > a separate argument?  I need this on ia64 to implement the 
> lazy-cache 
> > flushing scheme.
> >
> > I believe PPC would also benefit from this.
> >
> > --david
> 
> Now I believe, that Alpha also benefits from this. :o) The 
> only thing I have to do - I guess - is to change the defines 
> for copy_user_page() and clear_user_page. Adding the not used 
> parameter >pg< should not make any problems.
> 
> Greetz,
>   Oliver 



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

* RE: kernel 2.5.20 on alpha (RE: [patch] Re: kernel 2.5.18 on alpha)
  2002-06-04 12:45 ` Oliver Pitzeier
@ 2002-06-04 14:06   ` Oliver Pitzeier
  2002-06-04 14:22     ` Jan-Benedict Glaw
                       ` (2 more replies)
  0 siblings, 3 replies; 15+ messages in thread
From: Oliver Pitzeier @ 2002-06-04 14:06 UTC (permalink / raw)
  To: axp-kernel-list, 'Ivan Kokshaysky'; +Cc: linux-kernel

Ok. Kernel compiled, but at the startup I see this:
[ ... ]
Initializing RT netlink socket
pci: passed tb register update test
pci: passed sg loopback i/o read test
pci: passed tbia test
pci: passed pte write cache snoop test
pci: failed valid tag invalid pte reload test (mcheck; workaround
available)
pci: passed pci machine check test
Kernel bug at /usr/src/linux-2.5.20/include/linux/device.h:75
swapper(1): Kernel Bug 1
pc = [<fffffc00003dceac>]  ra = [<fffffc00003dbc14>]  ps = 0000    Not
tainted
v0 = 0000000000000000  t0 = 0000000000000000  t1 = fffffc00005b3a48
t2 = fffffc00001e2888  t3 = fffffc00001e2878  t4 = ffffffff00000000
t5 = 0000000000000001  t6 = fffffc000ffe1c68  t7 = fffffc00008a8000
a0 = fffffc00001e2878  a1 = 0000000000000000  a2 = 0000000000000000
a3 = 0000000000000000  a4 = fffffffffffffffe  a5 = 0000000000000002
t8 = fffffc00005a85b0  t9 = 0000000000008000  t10= 0000000000008000
t11= 0000000000010000  pv = fffffc00003dce80  at = 0000000000000000
gp = fffffc00005eece8  sp = fffffc00008ab400
Trace:fffffc00003dbc14 fffffc00003100c8 fffffc0000310708
fffffc0000310bf8 fffffc000032ed58 fffffc000031008c fffffc00003100b0
fffffc00003106f0 
Code: a44400c0  2fe00000  e4400018  a022000c  f4200004  00000081
<0000004b> 00579a9d 
Kernel panic: Attempted to kill init!

I check what is on line 75 in device.h!

Greetz,
  Oliver

PS: Anybody want's the patches???

> -----Original Message-----
> From: axp-kernel-list-admin@redhat.com 
> [mailto:axp-kernel-list-admin@redhat.com] On Behalf Of Oliver Pitzeier
> Sent: Tuesday, June 04, 2002 2:45 PM
> To: 'Ivan Kokshaysky'
> Cc: linux-kernel@vger.kernel.org; axp-kernel-list@redhat.com
> Subject: RE: kernel 2.5.20 on alpha (RE: [patch] Re: kernel 
> 2.5.18 on alpha)
> 
> 
> Hi!
> 
> I already found a few more errors while trying to compile 
> 2.5.20. I send you the patch as soon as I have successfully 
> compiled the kernel _without_ problems (hopefully today).
> 
> FYI. I do not compile very much options; The main options
> I compile ('coz I need 'em and nothing more...):
> SCSI:           QLogic ISP
> Network:        DECchip Tulip (dc2114x) and Early DECchip
>                 Tulip (dc2104x)
> Character Dev.: Support for console on serial port
> Filesystems:    EXT3 support, no ReiserFS
> Network FS:     NFS (as module)
> 
> Greetz,
>    Oliver
> 
> > Oliver Pitzeier wrote:
> > [ ... ]
> > 
> > > If you want to know the error:
> > 
> > [ ... ]
> > 
> > > `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
> > 
> > I guess I found where the error comes from:
> > 
> > (from the 2.5.20 Changelog):
> > > <davidm@napali.hpl.hp.com>
> > > [PATCH] pass "page" pointer to clear_user_page()/copy_user_page()
> > > 
> > > Hi Linus,
> > > 
> > > Are you willing to change the interfaces of clear_user_page() and
> > > copy_user_page() so that they can receive the relevant page
> > pointer as
> > > a separate argument?  I need this on ia64 to implement the
> > lazy-cache
> > > flushing scheme.
> > >
> > > I believe PPC would also benefit from this.
> > >
> > > --david
> > 
> > Now I believe, that Alpha also benefits from this. :o) The
> > only thing I have to do - I guess - is to change the defines 
> > for copy_user_page() and clear_user_page. Adding the not used 
> > parameter >pg< should not make any problems.
> > 
> > Greetz,
> >   Oliver
> 
> 
> 
> 
> _______________________________________________
> Axp-kernel-list mailing list
> Axp-kernel-list@redhat.com
> https://listman.redhat.com/mailman/listinfo/axp-kernel-list
> 



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

* Re: kernel 2.5.20 on alpha (RE: [patch] Re: kernel 2.5.18 on alpha)
  2002-06-04 14:06   ` Oliver Pitzeier
@ 2002-06-04 14:22     ` Jan-Benedict Glaw
  2002-06-04 15:13       ` Oliver Pitzeier
  2002-06-04 15:47       ` Oliver Pitzeier
  2002-06-04 14:40     ` Oliver Pitzeier
  2002-06-04 16:24     ` kernel 2.5.20 on alpha (RE: [patch] Re: kernel 2.5.18 on alpha) Thunder from the hill
  2 siblings, 2 replies; 15+ messages in thread
From: Jan-Benedict Glaw @ 2002-06-04 14:22 UTC (permalink / raw)
  To: linux-kernel

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

On Tue, 2002-06-04 16:06:35 +0200, Oliver Pitzeier <o.pitzeier@uptime.at>
wrote in message <000001c20bd1$0cad7580$010b10ac@sbp.uptime.at>:
> Ok. Kernel compiled, but at the startup I see this:
> [ ... ]
> Initializing RT netlink socket
> pci: passed tb register update test
> pci: passed sg loopback i/o read test
> pci: passed tbia test
> pci: passed pte write cache snoop test
> pci: failed valid tag invalid pte reload test (mcheck; workaround
> available)
> pci: passed pci machine check test
> Kernel bug at /usr/src/linux-2.5.20/include/linux/device.h:75
> swapper(1): Kernel Bug 1
> pc = [<fffffc00003dceac>]  ra = [<fffffc00003dbc14>]  ps = 0000    Not
> tainted
> v0 = 0000000000000000  t0 = 0000000000000000  t1 = fffffc00005b3a48
> 
> I check what is on line 75 in device.h!

That's a known problem. Please look for my mail with Subject "[2.5.19]
Oops during PCI scan on Alpha". One follow-up had a working (but
hackish) fix.

> PS: Anybody want's the patches???

/me

MfG, JBG
PS: Please answer _under_ or _within_ an old mail, but never ever above
it!

-- 
Jan-Benedict Glaw   .   jbglaw@lug-owl.de   .   +49-172-7608481
	 -- New APT-Proxy written in shell script --
	   http://lug-owl.de/~jbglaw/software/ap2/

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

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

* RE: kernel 2.5.20 on alpha (RE: [patch] Re: kernel 2.5.18 on alpha)
  2002-06-04 14:06   ` Oliver Pitzeier
  2002-06-04 14:22     ` Jan-Benedict Glaw
@ 2002-06-04 14:40     ` Oliver Pitzeier
  2002-06-04 15:19       ` Patrick Mochel
  2002-06-04 16:24     ` kernel 2.5.20 on alpha (RE: [patch] Re: kernel 2.5.18 on alpha) Thunder from the hill
  2 siblings, 1 reply; 15+ messages in thread
From: Oliver Pitzeier @ 2002-06-04 14:40 UTC (permalink / raw)
  To: axp-kernel-list, 'Ivan Kokshaysky'; +Cc: linux-kernel

Can anybody tell me what's wrong within this line:

linux-2.5.20/include/linux/device.h:
[ ... ]
     73 static inline struct bus_type * get_bus(struct bus_type * bus)
     74 {
-->> 75         BUG_ON(!atomic_read(&bus->refcount));
     76         atomic_inc(&bus->refcount);
     77         return bus;
     78 }
[ ... ]

I guess BUG_ON always produces an error? But why is my kernel
jumping there and why is BUG_ON there?

This is new to me... I can't find get_bus in 2.5.18.

-Oliver

Oliver Pitzeier wrote:
> Ok. Kernel compiled, but at the startup I see this:
> [ ... ]
> Initializing RT netlink socket
> pci: passed tb register update test
> pci: passed sg loopback i/o read test
> pci: passed tbia test
> pci: passed pte write cache snoop test
> pci: failed valid tag invalid pte reload test (mcheck; workaround
> available)
> pci: passed pci machine check test
> Kernel bug at /usr/src/linux-2.5.20/include/linux/device.h:75
> swapper(1): Kernel Bug 1
> pc = [<fffffc00003dceac>]  ra = [<fffffc00003dbc14>]  ps = 0000    Not
> tainted
> v0 = 0000000000000000  t0 = 0000000000000000  t1 = 
> fffffc00005b3a48 t2 = fffffc00001e2888  t3 = fffffc00001e2878 
>  t4 = ffffffff00000000 t5 = 0000000000000001  t6 = 
> fffffc000ffe1c68  t7 = fffffc00008a8000 a0 = fffffc00001e2878 
>  a1 = 0000000000000000  a2 = 0000000000000000 a3 = 
> 0000000000000000  a4 = fffffffffffffffe  a5 = 
> 0000000000000002 t8 = fffffc00005a85b0  t9 = 0000000000008000 
>  t10= 0000000000008000 t11= 0000000000010000  pv = 
> fffffc00003dce80  at = 0000000000000000 gp = fffffc00005eece8 
>  sp = fffffc00008ab400 Trace:fffffc00003dbc14 
> fffffc00003100c8 fffffc0000310708 fffffc0000310bf8 
> fffffc000032ed58 fffffc000031008c fffffc00003100b0 fffffc00003106f0 
> Code: a44400c0  2fe00000  e4400018  a022000c  f4200004  
> 00000081 <0000004b> 00579a9d 
> Kernel panic: Attempted to kill init!
> 
> I check what is on line 75 in device.h!
> 
> Greetz,
>   Oliver
> 
> PS: Anybody want's the patches???
> 
> > -----Original Message-----
> > From: axp-kernel-list-admin@redhat.com
> > [mailto:axp-kernel-list-admin@redhat.com] On Behalf Of 
> Oliver Pitzeier
> > Sent: Tuesday, June 04, 2002 2:45 PM
> > To: 'Ivan Kokshaysky'
> > Cc: linux-kernel@vger.kernel.org; axp-kernel-list@redhat.com
> > Subject: RE: kernel 2.5.20 on alpha (RE: [patch] Re: kernel 
> > 2.5.18 on alpha)
> > 
> > 
> > Hi!
> > 
> > I already found a few more errors while trying to compile
> > 2.5.20. I send you the patch as soon as I have successfully 
> > compiled the kernel _without_ problems (hopefully today).
> > 
> > FYI. I do not compile very much options; The main options
> > I compile ('coz I need 'em and nothing more...):
> > SCSI:           QLogic ISP
> > Network:        DECchip Tulip (dc2114x) and Early DECchip
> >                 Tulip (dc2104x)
> > Character Dev.: Support for console on serial port
> > Filesystems:    EXT3 support, no ReiserFS
> > Network FS:     NFS (as module)
> > 
> > Greetz,
> >    Oliver
> > 
> > > Oliver Pitzeier wrote:
> > > [ ... ]
> > > 
> > > > If you want to know the error:
> > > 
> > > [ ... ]
> > > 
> > > > `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
> > > 
> > > I guess I found where the error comes from:
> > > 
> > > (from the 2.5.20 Changelog):
> > > > <davidm@napali.hpl.hp.com>
> > > > [PATCH] pass "page" pointer to 
> clear_user_page()/copy_user_page()
> > > > 
> > > > Hi Linus,
> > > > 
> > > > Are you willing to change the interfaces of 
> clear_user_page() and
> > > > copy_user_page() so that they can receive the relevant page
> > > pointer as
> > > > a separate argument?  I need this on ia64 to implement the
> > > lazy-cache
> > > > flushing scheme.
> > > >
> > > > I believe PPC would also benefit from this.
> > > >
> > > > --david
> > > 
> > > Now I believe, that Alpha also benefits from this. :o) The only 
> > > thing I have to do - I guess - is to change the defines for 
> > > copy_user_page() and clear_user_page. Adding the not used 
> parameter 
> > > >pg< should not make any problems.
> > > 
> > > Greetz,
> > >   Oliver



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

* RE: kernel 2.5.20 on alpha (RE: [patch] Re: kernel 2.5.18 on alpha)
  2002-06-04 14:22     ` Jan-Benedict Glaw
@ 2002-06-04 15:13       ` Oliver Pitzeier
  2002-06-04 15:47       ` Oliver Pitzeier
  1 sibling, 0 replies; 15+ messages in thread
From: Oliver Pitzeier @ 2002-06-04 15:13 UTC (permalink / raw)
  To: 'Jan-Benedict Glaw', linux-kernel, axp-kernel-list
  Cc: 'Ivan Kokshaysky'

Jan-Benedict Glaw wrote:
> That's a known problem. Please look for my mail with Subject 
> "[2.5.19] Oops during PCI scan on Alpha". One follow-up had a 
> working (but
> hackish) fix.
[ ... ]

OK. Next error. I give up for today. :o)
[ ... ]
Freeing unused kernel memory: 360k freed
Kernel bug at ll_rw_blk.c:1602
swapper(1): Kernel Bug 1
pc = [<fffffc000040b850>]  ra = [<fffffc000040ba44>]  ps = 0000    Not
tainted
v0 = 0000000000000000  t0 = 0000000000000060  t1 = 0000000000000001
t2 = fffffc000fd84740  t3 = 0000000000000000  t4 = 0000000000000060
t5 = 0000000000000001  t6 = fffffc000fcfabf0  t7 = fffffc00008a8000
a0 = fffffc000fee08c0  a1 = fffffc000fee08c0  a2 = fffffc00008ab4e0
a3 = fffffc00008ab4f0  a4 = fffffc00008ab554  a5 = 0000000000000001
t8 = 0000000000000000  t9 = 0000000000000001  t10= 0000000000000000
t11= 0000000000000278  pv = fffffc000040b9a0  at = fffffc00005acc90
gp = fffffc00005eece8  sp = fffffc00008ab530
Trace:fffffc000040ba44 fffffc0000382e00 fffffc00003831f4
fffffc0000383354 fffffc00003b2280 fffffc00003d630c fffffc00003464ac
fffffc00003b2280 fffffc00003b280c fffffc0000359c10 fffffc0000359e14
fffffc0000347204 fffffc0000347928 fffffc00003477d0 fffffc0000368b58
fffffc0000369a00 fffffc000031078c fffffc00003101cc fffffc0000310708
fffffc0000310bf8 fffffc000032ed58 fffffc000031008c fffffc00003100b0
fffffc00003106f0 
Code: 4821f621  48213681  48407622  404103a2  e4400005  00000081
<00000642> 0057c095 
Kernel panic: Attempted to kill init!



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

* RE: kernel 2.5.20 on alpha (RE: [patch] Re: kernel 2.5.18 on alpha)
  2002-06-04 14:40     ` Oliver Pitzeier
@ 2002-06-04 15:19       ` Patrick Mochel
  2002-06-04 15:33         ` Oliver Pitzeier
                           ` (2 more replies)
  0 siblings, 3 replies; 15+ messages in thread
From: Patrick Mochel @ 2002-06-04 15:19 UTC (permalink / raw)
  To: Oliver Pitzeier; +Cc: axp-kernel-list, 'Ivan Kokshaysky', linux-kernel


[ I apologize for answering this so late, and being so tardy in releasing 
docs explaining all this. I'll be sending docs to the list soon... ]

On Tue, 4 Jun 2002, Oliver Pitzeier wrote:

> Can anybody tell me what's wrong within this line:
> 
> linux-2.5.20/include/linux/device.h:
> [ ... ]
>      73 static inline struct bus_type * get_bus(struct bus_type * bus)
>      74 {
> -->> 75         BUG_ON(!atomic_read(&bus->refcount));
>      76         atomic_inc(&bus->refcount);
>      77         return bus;
>      78 }
> [ ... ]
> 
> I guess BUG_ON always produces an error? But why is my kernel
> jumping there and why is BUG_ON there?

The short of it: 2.5.19 introduced a struct bus_type that describes each
bus type in the system. It holds lists of all the devices and drivers that
are found for that bus type.

When a bus is probed and devices are discovered, they are inserted into
the bus's list of devices (as well as their place in the global
hierarchy).

The problem: bus_types are registered with the system, which intializes 
all the internal fields, making them ready for use. The PCI bus is being 
probed before the PCI bus type has been registered. 

device_register() calls bus_add_device(), which does get_bus(). With a
refcount == 0, you hit the BUG().

The PCI bus type is registered in 
drivers/pci/pci-driver.c::pci_driver_init(), which is a subsys_initcall. 

pci_scan_bus() is called from arch/alpha/kernel/pci.c::common_init_pci().  
It appears that this is called from pcibios_init(), which is also a
subsys_initcall. The arch/ objects are probably linked before the driver/
objects on alpha, so the bus ends up being scanned before the bus type is
registered.

Can pcibios_init() be demoted to a device_initcall? This would delay 
probing until all the subsystems could be setup...

	-pat


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

* RE: kernel 2.5.20 on alpha (RE: [patch] Re: kernel 2.5.18 on alpha)
  2002-06-04 15:19       ` Patrick Mochel
@ 2002-06-04 15:33         ` Oliver Pitzeier
  2002-06-04 20:23         ` Michal Jaegermann
  2002-06-04 22:00         ` Paul Mackerras
  2 siblings, 0 replies; 15+ messages in thread
From: Oliver Pitzeier @ 2002-06-04 15:33 UTC (permalink / raw)
  To: 'Patrick Mochel'
  Cc: axp-kernel-list, 'Ivan Kokshaysky', linux-kernel

Patrick Mochel wrote:
> [ I apologize for answering this so late, and being so tardy 
> in releasing 
> docs explaining all this. I'll be sending docs to the list soon... ]

Alright. This is OK. :o)

[ ... ]

> The short of it: 2.5.19 introduced a struct bus_type that 
> describes each
> bus type in the system. It holds lists of all the devices and 
> drivers that are found for that bus type.

I guessed so and already found this out. :o)

[ ... ]

> The arch/ objects are probably linked before  the driver/
> objects on alpha, so the bus ends up being scanned before the 
> bus type is registered.

Seems, that you're right!

> Can pcibios_init() be demoted to a device_initcall? This would delay 
> probing until all the subsystems could be setup...

Yea, great idea, but I don't have the time at the moment to do this.
I hope anybody else will (please) do it!?

-Oliver



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

* RE: kernel 2.5.20 on alpha (RE: [patch] Re: kernel 2.5.18 on alpha)
  2002-06-04 14:22     ` Jan-Benedict Glaw
  2002-06-04 15:13       ` Oliver Pitzeier
@ 2002-06-04 15:47       ` Oliver Pitzeier
  1 sibling, 0 replies; 15+ messages in thread
From: Oliver Pitzeier @ 2002-06-04 15:47 UTC (permalink / raw)
  To: 'Jan-Benedict Glaw', linux-kernel; +Cc: axp-kernel-list

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

Jan Benedict Glaw wrote:
[ ... ]
> > PS: Anybody want's the patches???
> 
> /me

OK, I attached the patches:
a small part is from: Anton Blanchard;
a big part from: Ivan Kokshaysky
a small part from: me...

And I took an idea from: "davidm@napali.hpl.hp.com" (See the
2.5.20 Changelog)

-Oliver

[-- Attachment #2: kernel-2.5.20.alpha.patch --]
[-- Type: application/octet-stream, Size: 9433 bytes --]

diff -r -C2 tarballs/linux-2.5.20/arch/alpha/kernel/osf_sys.c linux-2.5.20/arch/alpha/kernel/osf_sys.c
*** tarballs/linux-2.5.20/arch/alpha/kernel/osf_sys.c	Mon Jun  3 03:44:37 2002
--- linux-2.5.20/arch/alpha/kernel/osf_sys.c	Tue Jun  4 11:19:48 2002
***************
*** 34,37 ****
--- 34,38 ----
  #include <linux/types.h>
  #include <linux/ipc.h>
+ #include <linux/namei.h>
  
  #include <asm/fpu.h>
diff -r -C2 tarballs/linux-2.5.20/arch/alpha/kernel/pci.c linux-2.5.20/arch/alpha/kernel/pci.c
*** tarballs/linux-2.5.20/arch/alpha/kernel/pci.c	Mon Jun  3 03:44:41 2002
--- linux-2.5.20/arch/alpha/kernel/pci.c	Tue Jun  4 11:19:48 2002
***************
*** 191,200 ****
  #undef GB
  
! static void __init
  pcibios_init(void)
  {
! 	if (!alpha_mv.init_pci)
! 		return;
! 	alpha_mv.init_pci();
  }
  
--- 191,200 ----
  #undef GB
  
! static int __init
  pcibios_init(void)
  {
! 	if (alpha_mv.init_pci)
! 		alpha_mv.init_pci();
! 	return 0;
  }
  
diff -r -C2 tarballs/linux-2.5.20/arch/alpha/kernel/signal.c linux-2.5.20/arch/alpha/kernel/signal.c
*** tarballs/linux-2.5.20/arch/alpha/kernel/signal.c	Mon Jun  3 03:44:49 2002
--- linux-2.5.20/arch/alpha/kernel/signal.c	Tue Jun  4 11:19:48 2002
***************
*** 19,22 ****
--- 19,23 ----
  #include <linux/stddef.h>
  #include <linux/tty.h>
+ #include <linux/binfmts.h>
  
  #include <asm/bitops.h>
diff -r -C2 tarballs/linux-2.5.20/drivers/pci/pci-driver.c linux-2.5.20/drivers/pci/pci-driver.c
*** tarballs/linux-2.5.20/drivers/pci/pci-driver.c	Mon Jun  3 03:44:51 2002
--- linux-2.5.20/drivers/pci/pci-driver.c	Tue Jun  4 16:46:39 2002
***************
*** 193,197 ****
  }
  
! subsys_initcall(pci_driver_init);
  
  EXPORT_SYMBOL(pci_match_device);
--- 193,197 ----
  }
  
! arch_initcall(pci_driver_init);
  
  EXPORT_SYMBOL(pci_match_device);
diff -r -C2 tarballs/linux-2.5.20/fs/mpage.c linux-2.5.20/fs/mpage.c
*** tarballs/linux-2.5.20/fs/mpage.c	Mon Jun  3 03:44:44 2002
--- linux-2.5.20/fs/mpage.c	Tue Jun  4 14:30:34 2002
***************
*** 13,16 ****
--- 13,17 ----
  #include <linux/kernel.h>
  #include <linux/module.h>
+ #include <linux/kdev_t.h>
  #include <linux/bio.h>
  #include <linux/fs.h>
diff -r -C2 tarballs/linux-2.5.20/include/asm-alpha/bitops.h linux-2.5.20/include/asm-alpha/bitops.h
*** tarballs/linux-2.5.20/include/asm-alpha/bitops.h	Mon Jun  3 03:44:49 2002
--- linux-2.5.20/include/asm-alpha/bitops.h	Tue Jun  4 11:19:49 2002
***************
*** 316,319 ****
--- 316,333 ----
  }
  
+ /*
+  * 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)
diff -r -C2 tarballs/linux-2.5.20/include/asm-alpha/mc146818rtc.h linux-2.5.20/include/asm-alpha/mc146818rtc.h
*** tarballs/linux-2.5.20/include/asm-alpha/mc146818rtc.h	Mon Jun  3 03:44:39 2002
--- linux-2.5.20/include/asm-alpha/mc146818rtc.h	Tue Jun  4 12:39:46 2002
***************
*** 25,27 ****
--- 25,29 ----
  })
  
+ #define RTC_IRQ 8
+ 
  #endif /* __ASM_ALPHA_MC146818RTC_H */
diff -r -C2 tarballs/linux-2.5.20/include/asm-alpha/page.h linux-2.5.20/include/asm-alpha/page.h
*** tarballs/linux-2.5.20/include/asm-alpha/page.h	Mon Jun  3 03:44:52 2002
--- linux-2.5.20/include/asm-alpha/page.h	Tue Jun  4 12:07:23 2002
***************
*** 16,23 ****
  
  extern void clear_page(void *page);
! #define clear_user_page(page, vaddr)	clear_page(page)
  
  extern void copy_page(void * _to, void * _from);
! #define copy_user_page(to, from, vaddr)	copy_page(to, from)
  
  #ifdef STRICT_MM_TYPECHECKS
--- 16,23 ----
  
  extern void clear_page(void *page);
! #define clear_user_page(page, vaddr, pg)	clear_page(page)
  
  extern void copy_page(void * _to, void * _from);
! #define copy_user_page(to, from, vaddr, pg)	copy_page(to, from)
  
  #ifdef STRICT_MM_TYPECHECKS
***************
*** 96,101 ****
  #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)
  #endif /* CONFIG_DISCONTIGMEM */
  
--- 96,105 ----
  #define __va(x)			((void *)((unsigned long) (x) + PAGE_OFFSET))
  #ifndef CONFIG_DISCONTIGMEM
! #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 */
  
diff -r -C2 tarballs/linux-2.5.20/include/asm-alpha/pgtable.h linux-2.5.20/include/asm-alpha/pgtable.h
*** tarballs/linux-2.5.20/include/asm-alpha/pgtable.h	Mon Jun  3 03:44:45 2002
--- linux-2.5.20/include/asm-alpha/pgtable.h	Tue Jun  4 12:10:18 2002
***************
*** 180,188 ****
  #if defined(CONFIG_ALPHA_GENERIC) || \
      (defined(CONFIG_ALPHA_EV6) && !defined(USE_48_BIT_KSEG))
! #define PHYS_TWIDDLE(phys) \
!   ((((phys) & 0xc0000000000UL) == 0x40000000000UL) \
!   ? ((phys) ^= 0xc0000000000UL) : (phys))
  #else
! #define PHYS_TWIDDLE(phys) (phys)
  #endif
  
--- 180,189 ----
  #if defined(CONFIG_ALPHA_GENERIC) || \
      (defined(CONFIG_ALPHA_EV6) && !defined(USE_48_BIT_KSEG))
! #define KSEG_PFN	(0xc0000000000UL >> PAGE_SHIFT)
! #define PHYS_TWIDDLE(pfn) \
!   ((((pfn) & KSEG_PFN) == (0x40000000000UL >> PAGE_SHIFT)) \
!   ? ((pfn) ^= KSEG_PFN) : (pfn))
  #else
! #define PHYS_TWIDDLE(pfn) (pfn)
  #endif
  
***************
*** 200,209 ****
  
  #ifndef CONFIG_DISCONTIGMEM
  #define mk_pte(page, pgprot)						\
  ({									\
  	pte_t pte;							\
  									\
! 	pte_val(pte) = ((unsigned long)(page - mem_map) << 32) |	\
! 		       pgprot_val(pgprot);				\
  	pte;								\
  })
--- 201,211 ----
  
  #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) = (page_to_pfn(page) << 32) | pgprot_val(pgprot);	\
  	pte;								\
  })
***************
*** 220,227 ****
  	pte;									\
  })
  #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 pte_modify(pte_t pte, pgprot_t newprot)
--- 222,239 ----
  	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 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)
***************
*** 234,251 ****
  { 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
--- 246,249 ----
diff -r -C2 tarballs/linux-2.5.20/include/asm-alpha/tlb.h linux-2.5.20/include/asm-alpha/tlb.h
*** tarballs/linux-2.5.20/include/asm-alpha/tlb.h	Mon Jun  3 03:44:48 2002
--- linux-2.5.20/include/asm-alpha/tlb.h	Tue Jun  4 11:19:48 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
diff -r -C2 tarballs/linux-2.5.20/include/linux/bio.h linux-2.5.20/include/linux/bio.h
*** tarballs/linux-2.5.20/include/linux/bio.h	Mon Jun  3 03:44:52 2002
--- linux-2.5.20/include/linux/bio.h	Tue Jun  4 12:56:40 2002
***************
*** 129,134 ****
   * will die
   */
! #define bio_to_phys(bio)	(page_to_phys(bio_page((bio))) + (unsigned long) bio_offset((bio)))
! #define bvec_to_phys(bv)	(page_to_phys((bv)->bv_page) + (unsigned long) (bv)->bv_offset)
  
  /*
--- 129,134 ----
   * will die
   */
! #define bio_to_phys(bio)	((page_to_pfn(bio_page((bio))) << PAGE_SHIFT) + (unsigned long) bio_offset((bio)))
! #define bvec_to_phys(bv)	((page_to_pfn((bv)->bv_page) << PAGE_SHIFT) + (unsigned long) (bv)->bv_offset)
  
  /*

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

* RE: kernel 2.5.20 on alpha (RE: [patch] Re: kernel 2.5.18 on alpha)
  2002-06-04 14:06   ` Oliver Pitzeier
  2002-06-04 14:22     ` Jan-Benedict Glaw
  2002-06-04 14:40     ` Oliver Pitzeier
@ 2002-06-04 16:24     ` Thunder from the hill
  2 siblings, 0 replies; 15+ messages in thread
From: Thunder from the hill @ 2002-06-04 16:24 UTC (permalink / raw)
  To: Oliver Pitzeier; +Cc: axp-kernel-list, 'Ivan Kokshaysky', linux-kernel

Hi,

On Tue, 4 Jun 2002, Oliver Pitzeier wrote:
> Kernel bug at /usr/src/linux-2.5.20/include/linux/device.h:75
> I check what is on line 75 in device.h!

You find BUG_ON(atomic_read(&bus_refcount));

It might already be fixed by some of Irwing's patches.

> PS: Anybody want's the patches???

Sure as hell, if there are any new.

Regards,
Thunder
-- 
ship is leaving right on time	|	Thunder from the hill at ngforever
empty harbour, wave goodbye	|
evacuation of the isle		|	free inhabitant not directly
caveman's paintings drowning	|	belonging anywhere


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

* Re: kernel 2.5.20 on alpha (RE: [patch] Re: kernel 2.5.18 on alpha)
  2002-06-04 10:11 kernel 2.5.20 on alpha (RE: [patch] Re: kernel 2.5.18 on alpha) Oliver Pitzeier
  2002-06-04 12:45 ` Oliver Pitzeier
@ 2002-06-04 20:04 ` David Mosberger
  1 sibling, 0 replies; 15+ messages in thread
From: David Mosberger @ 2002-06-04 20:04 UTC (permalink / raw)
  To: o.pitzeier
  Cc: 'Ivan Kokshaysky', 'Richard Henderson',
	linux-kernel, axp-kernel-list

>>>>> On Tue, 4 Jun 2002 12:11:05 +0200, "Oliver Pitzeier" <o.pitzeier@uptime.at> said:

  >> `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

  Oliver> I guess I found where the error comes from:

  Oliver> (from the 2.5.20 Changelog):
  >> <davidm@napali.hpl.hp.com> [PATCH] pass "page" pointer to
  >> clear_user_page()/copy_user_page()
  >> 
  >> Hi Linus,
  >> 
  >> Are you willing to change the interfaces of clear_user_page() and
  >> copy_user_page() so that they can receive the relevant page
  >> pointer as a separate argument?  I need this on ia64 to implement
  >> the lazy-cache flushing scheme.
  >> 
  >> I believe PPC would also benefit from this.
  >> 
  >> --david

  Oliver> Now I believe, that Alpha also benefits from this. :o) The
  Oliver> only thing I have to do - I guess - is to change the defines
  Oliver> for copy_user_page() and clear_user_page. Adding the not
  Oliver> used parameter >pg< should not make any problems.

Yes, you can simply ignore the page pointer argument.  It's there for
those arches that want to take advantage of it.  Sorry about causing
breakage...

	--david

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

* Re: kernel 2.5.20 on alpha (RE: [patch] Re: kernel 2.5.18 on alpha)
  2002-06-04 15:19       ` Patrick Mochel
  2002-06-04 15:33         ` Oliver Pitzeier
@ 2002-06-04 20:23         ` Michal Jaegermann
  2002-06-04 20:36           ` Jeff Garzik
  2002-06-04 22:00         ` Paul Mackerras
  2 siblings, 1 reply; 15+ messages in thread
From: Michal Jaegermann @ 2002-06-04 20:23 UTC (permalink / raw)
  To: Patrick Mochel; +Cc: linux-kernel, jgarzik

On Tue, Jun 04, 2002 at 08:19:49AM -0700, Patrick Mochel wrote:
> 
> The short of it: 2.5.19 introduced a struct bus_type that describes each
> bus type in the system.

Which immediately collided with 'static struct bus_type {...}'
hidden in drivers/net/tulip/de4x5.c and, as result, the later does
not compile anymore.  These two "bus_types" are quite dissimilar. :-)

An obvious and trivial fix was to globally replace "bus_type"
in de4x5.c with "de4x5_bus_type" (or this should be done in some
other manner).

  Michal

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

* Re: kernel 2.5.20 on alpha (RE: [patch] Re: kernel 2.5.18 on alpha)
  2002-06-04 20:23         ` Michal Jaegermann
@ 2002-06-04 20:36           ` Jeff Garzik
  0 siblings, 0 replies; 15+ messages in thread
From: Jeff Garzik @ 2002-06-04 20:36 UTC (permalink / raw)
  To: Michal Jaegermann; +Cc: Patrick Mochel, linux-kernel

Michal Jaegermann wrote:

>On Tue, Jun 04, 2002 at 08:19:49AM -0700, Patrick Mochel wrote:
>  
>
>>The short of it: 2.5.19 introduced a struct bus_type that describes each
>>bus type in the system.
>>    
>>
>
>Which immediately collided with 'static struct bus_type {...}'
>hidden in drivers/net/tulip/de4x5.c and, as result, the later does
>not compile anymore.  These two "bus_types" are quite dissimilar. :-)
>  
>


FWIW that s/bus_type/de4x5_bus_type/ patch was applied to 2.5.20 (and to 
2.4.x too, even)

    Jeff





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

* RE: kernel 2.5.20 on alpha (RE: [patch] Re: kernel 2.5.18 on alpha)
  2002-06-04 15:19       ` Patrick Mochel
  2002-06-04 15:33         ` Oliver Pitzeier
  2002-06-04 20:23         ` Michal Jaegermann
@ 2002-06-04 22:00         ` Paul Mackerras
  2002-06-04 22:07           ` kernel 2.5.20 on alpha David S. Miller
  2 siblings, 1 reply; 15+ messages in thread
From: Paul Mackerras @ 2002-06-04 22:00 UTC (permalink / raw)
  To: Patrick Mochel; +Cc: linux-kernel

Patrick Mochel writes:

> The problem: bus_types are registered with the system, which intializes 
> all the internal fields, making them ready for use. The PCI bus is being 
> probed before the PCI bus type has been registered. 

We hit this on PPC too.

> Can pcibios_init() be demoted to a device_initcall? This would delay 
> probing until all the subsystems could be setup...

No, because we have device drivers that are initialized with a
device_initcall and which reasonably expect the PCI subsystem to be
set up before they are called.

I can see two solutions: either rename "unused_initcall" to "sys_init"
or something similar and use it for sys_bus_init, or else make an
alias for fs_initcall called "bus_init" or something and use that for
pcibios_init.

Paul.

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

* Re: kernel 2.5.20 on alpha
  2002-06-04 22:00         ` Paul Mackerras
@ 2002-06-04 22:07           ` David S. Miller
  0 siblings, 0 replies; 15+ messages in thread
From: David S. Miller @ 2002-06-04 22:07 UTC (permalink / raw)
  To: paulus; +Cc: mochel, linux-kernel

   From: Paul Mackerras <paulus@samba.org>
   Date: Wed, 5 Jun 2002 08:00:25 +1000 (EST)
   
   I can see two solutions: either rename "unused_initcall" to "sys_init"
   or something similar and use it for sys_bus_init

See similar postings on this topic, with Subject
"Re: [2.5.19] Oops during PCI scan on Alpha"

There is a patch at the end of the thread which does
exactly as you describe.

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

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

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-06-04 10:11 kernel 2.5.20 on alpha (RE: [patch] Re: kernel 2.5.18 on alpha) Oliver Pitzeier
2002-06-04 12:45 ` Oliver Pitzeier
2002-06-04 14:06   ` Oliver Pitzeier
2002-06-04 14:22     ` Jan-Benedict Glaw
2002-06-04 15:13       ` Oliver Pitzeier
2002-06-04 15:47       ` Oliver Pitzeier
2002-06-04 14:40     ` Oliver Pitzeier
2002-06-04 15:19       ` Patrick Mochel
2002-06-04 15:33         ` Oliver Pitzeier
2002-06-04 20:23         ` Michal Jaegermann
2002-06-04 20:36           ` Jeff Garzik
2002-06-04 22:00         ` Paul Mackerras
2002-06-04 22:07           ` kernel 2.5.20 on alpha David S. Miller
2002-06-04 16:24     ` kernel 2.5.20 on alpha (RE: [patch] Re: kernel 2.5.18 on alpha) Thunder from the hill
2002-06-04 20:04 ` David Mosberger

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