All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: 2.6.18-rc1 fails to boot on E250
@ 2006-07-14 23:53 David Miller
  2006-07-15  7:39 ` Marc Zyngier
                   ` (12 more replies)
  0 siblings, 13 replies; 14+ messages in thread
From: David Miller @ 2006-07-14 23:53 UTC (permalink / raw)
  To: sparclinux

From: Marc Zyngier <maz@misterjones.org>
Date: Fri, 14 Jul 2006 12:18:47 +0200

> Quick investigation shows that pbm->name is used a tad too early in
> pbm_register_toplevel_resources. The included patchlet fixes that,
> allowing the boot to go a little further, but not much :

Also, pbm_register_toplevel_resources should not be overwriting
that string as it does currently.  I've added your fix and a fix
for that problem to my tree, thanks a lot.

> Looks like no IRQ can be requested, probably a problem with the new
> IRQ framework.

Please reboot with of_debug=3 and send the logs here.  It's
almost certainly a bug in the psycho bus IRQ translater in
arch/sparc64/kernel/prom.c:psycho_irq_build()/psycho_irq_trans_init().
A good debugging log will give some clues.

Thanks!

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

* Re: 2.6.18-rc1 fails to boot on E250
  2006-07-14 23:53 2.6.18-rc1 fails to boot on E250 David Miller
@ 2006-07-15  7:39 ` Marc Zyngier
  2006-07-16  1:22 ` David Miller
                   ` (11 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: Marc Zyngier @ 2006-07-15  7:39 UTC (permalink / raw)
  To: sparclinux

>>>>> "David" = David Miller <davem@davemloft.net> writes:

David> Please reboot with of_debug=3 and send the logs here.  It's
David> almost certainly a bug in the psycho bus IRQ translater in
David> arch/sparc64/kernel/prom.c:psycho_irq_build()/psycho_irq_trans_init().
David> A good debugging log will give some clues.

I'm away from my machines for the week end (answering you mail through
my cell phone...) I'll be back tomorrow evening and will post the log
asap.

thanks again.

M.


-- 
And if you don't know where you're going, any road will take you there...

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

* Re: 2.6.18-rc1 fails to boot on E250
  2006-07-14 23:53 2.6.18-rc1 fails to boot on E250 David Miller
  2006-07-15  7:39 ` Marc Zyngier
@ 2006-07-16  1:22 ` David Miller
  2006-07-16 15:44 ` Marc Zyngier
                   ` (10 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: David Miller @ 2006-07-16  1:22 UTC (permalink / raw)
  To: sparclinux

From: Marc Zyngier <maz@misterjones.org>
Date: Sat, 15 Jul 2006 09:39:47 +0200

> I'm away from my machines for the week end (answering you mail through
> my cell phone...) I'll be back tomorrow evening and will post the log
> asap.

I'm up in the mountains, away from my primary computers too, so no
rush :)

Thanks a lot for all of your help so far.

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

* Re: 2.6.18-rc1 fails to boot on E250
  2006-07-14 23:53 2.6.18-rc1 fails to boot on E250 David Miller
  2006-07-15  7:39 ` Marc Zyngier
  2006-07-16  1:22 ` David Miller
@ 2006-07-16 15:44 ` Marc Zyngier
  2006-07-17  3:15 ` David Miller
                   ` (9 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: Marc Zyngier @ 2006-07-16 15:44 UTC (permalink / raw)
  To: sparclinux

>>>>> "David" = David Miller <davem@davemloft.net> writes:

David> Please reboot with of_debug=3 and send the logs here.  It's
David> almost certainly a bug in the psycho bus IRQ translater in
David> arch/sparc64/kernel/prom.c:psycho_irq_build()/psycho_irq_trans_init().
David> A good debugging log will give some clues.

Ok, back from wandering around a nice lake in Britanny... :)

Here's the log with of_debug=3:

[    0.000000] PROMLIB: Sun IEEE Boot Prom 'OBP 3.30.0 2003/11/11 10:37'
[    0.000000] PROMLIB: Root node compatible: sun4u
[    0.000000] Linux version 2.6.18-rc1 (maz@positive) (gcc version 4.0.3 (Ubuntu 4.0.3-1ubuntu5)) #5 SMP Fri Jul 14 11:43:38 CEST 2006
[    0.000000] ARCH: SUN4U
[    0.000000] Ethernet address: 08:00:20:d8:e4:6d
Remapping the kernel... done.
[    0.000000] PROM: Built device tree with 75588 bytes of memory.
Booting Linux...
[    0.000000] Built 1 zonelists.  Total pages: 260721
[    0.000000] Kernel command line: root=/dev/sda2 ro -p of_debug=3
[    0.000000] PID hash table entries: 4096 (order: 12, 32768 bytes)
[   17.140306] Console: colour dummy device 80x25
[    0.022800] Dentry cache hash table entries: 262144 (order: 8, 2097152 bytes)
[    0.116660] Inode-cache hash table entries: 131072 (order: 7, 1048576 bytes)
[    0.320438] Memory: 2066520k available (2544k kernel code, 832k data, 168k init) [fffff80000000000,000000007fecc000]
[    0.523177] Calibrating delay using timer specific routine.. 800.45 BogoMIPS (lpj\x1600918)
[    0.620652] Security Framework v1.0.0 initialized
[    0.676646] SELinux:  Disabled at boot.
[    0.722518] Mount-cache hash table entries: 512
[    0.777520] CPU[0]: Caches D[sz(16384):line_sz(32)] I[sz(16384):line_sz(32)] E[sz(2097152):line_sz(64)]
[    0.889181] Using max_cache_size of 2MB
[    1.027179] Calibrating delay using timer specific routine.. 800.05 BogoMIPS (lpj\x1600116)
[    1.027328] CPU[1]: Caches D[sz(16384):line_sz(32)] I[sz(16384):line_sz(32)] E[sz(2097152):line_sz(64)]
[    1.028063] CPU 1: synchronized TICK with master CPU (last diff -21 cycles,maxerr 712 cycles)
[    1.028082] Brought up 2 CPUs
[    1.028100] Total of 2 processors activated (1600.51 BogoMIPS).
[    3.137988] migration_costA911
[    3.175435] checking if image is initramfs... it is
[    5.999753] Freeing initrd memory: 5983k freed
[    6.053334] NET: Registered protocol family 16
[    6.107077] /memory reg[0] -> 0
[    6.143205] /memory reg[1] -> 20000000
[    6.187689] /memory reg[2] -> 40000000
[    6.232477] /memory reg[3] -> 60000000
[    6.278490] /pci@1f,4000 reg[0] -> 1fe00004000
[    6.330467] /pci@1f,4000 reg[1] -> 1fe01000000
[    6.383523] /pci@1f,4000 reg[2] -> 1fe00000000
[    6.436637] /pci@1f,4000: direct translate 7f1 --> 1
[    6.496013] /pci@1f,4000: direct translate 7ee --> 2
[    6.555384] /pci@1f,4000: direct translate 7ef --> 3
[    6.614750] /pci@1f,4000: direct translate 7e5 --> 4
[    6.674127] /pci@1f,4000: direct translate 7e8 --> 5
[    6.733495] /pci@1f,4000: direct translate 7f2 --> 6
[    6.793316] /pci@1f,4000/ebus@1/auxio@14,726000 reg[0] -> 1fff1726000
[    6.869959] /pci@1f,4000/ebus@1/auxio@14,726000 reg[1] -> 1fff1728000
[    6.947056] /pci@1f,4000/ebus@1/auxio@14,726000 reg[2] -> 1fff172a000
[    7.024136] /pci@1f,4000/ebus@1/auxio@14,726000 reg[3] -> 1fff172c000
[    7.101208] /pci@1f,4000/ebus@1/auxio@14,726000 reg[4] -> 1fff172f000
[    7.178466] /pci@1f,4000/ebus@1/power@14,724000 reg[0] -> 1fff1724000
[    7.255560] /pci@1f,4000/ebus@1/SUNW,pll@14,504000 reg[0] -> 1fff1504000
[    7.335766] /pci@1f,4000/ebus@1/sc@14,500000 reg[0] -> 1fff1500000
[    7.409692] /pci@1f,4000/ebus@1/se@14,400000 reg[0] -> 1fff1400000
[    7.483478] /pci@1f,4000/ebus@1/se@14,400000: Apply [/pci@1f,4000:2b] imap --> [NULL:2b]
[    7.580549] /pci@1f,4000/ebus@1/se@14,200000 reg[0] -> 1fff1200000
[    7.654269] /pci@1f,4000/ebus@1/se@14,200000: Apply [/pci@1f,4000:23] imap --> [NULL:23]
[    7.751383] /pci@1f,4000/ebus@1/su@14,3083f8 reg[0] -> 1fff13083f8
[    7.825091] /pci@1f,4000/ebus@1/su@14,3083f8: Apply [/pci@1f,4000:29] imap --> [NULL:29]
[    7.922208] /pci@1f,4000/ebus@1/su@14,3062f8 reg[0] -> 1fff13062f8
[    7.995915] /pci@1f,4000/ebus@1/su@14,3062f8: Apply [/pci@1f,4000:2a] imap --> [NULL:2a]
[    8.093035] /pci@1f,4000/ebus@1/ecpp@14,3043bc reg[0] -> 1fff13043bc
[    8.168823] /pci@1f,4000/ebus@1/ecpp@14,3043bc reg[1] -> 1fff1300398
[    8.244880] /pci@1f,4000/ebus@1/ecpp@14,3043bc reg[2] -> 1fff1700000
[    8.320911] /pci@1f,4000/ebus@1/ecpp@14,3043bc: Apply [/pci@1f,4000:22] imap --> [NULL:22]
[    8.420080] /pci@1f,4000/ebus@1/eeprom@14,0 reg[0] -> 1fff1000000
[    8.492948] /pci@1f,4000/ebus@1/flashprom@10,0 reg[0] -> 1fff0000000
[    8.568815] /pci@1f,4000/ebus@1/flashprom@10,0 reg[1] -> 1fff0000000
[    8.645035] /pci@1f,4000/ebus@1/SUNW,envctrltwo@14,600000 reg[0] -> 1fff1600000
[    8.732331] /pci@1f,4000/ebus@1/SUNW,envctrltwo@14,600000: Apply [/pci@1f,4000:28] imap --> [NULL:28]
[    8.842788] /pci@1f,4000/ebus@1/SUNW,envctrltwo@14,600000: Apply [/pci@1f,4000:25] imap --> [NULL:25]
[    8.953419] /pci@1f,4000/network@1,1 reg[0] -> 1ff84100000
[    9.018745] /pci@1f,4000/network@1,1: Apply [/pci@1f,4000:21] imap --> [NULL:21]
[    9.107524] /pci@1f,4000/scsi@3 reg[0] -> 1fe02012000
[    9.167691] /pci@1f,4000/scsi@3 reg[1] -> 1ff84108000
[    9.228118] /pci@1f,4000/scsi@3 reg[2] -> 1ff8410a000
[    9.288525] /pci@1f,4000/scsi@3: Apply [/pci@1f,4000:20] imap --> [NULL:20]
[    9.372460] /pci@1f,4000/scsi@3,1 reg[0] -> 1fe02012400
[    9.434337] /pci@1f,4000/scsi@3,1 reg[1] -> 1ff8410c000
[    9.496854] /pci@1f,4000/scsi@3,1 reg[2] -> 1ff8410e000
[    9.559343] /pci@1f,4000/scsi@3,1: Apply [/pci@1f,4000:26] imap --> [NULL:26]
[    9.645518] /pci@1f,4000/pci@5/SUNW,hme@0,1 reg[0] -> 0
[    9.707232] /pci@1f,4000/pci@5/SUNW,hme@0,1 reg[1] -> 0
[    9.769741] /pci@1f,4000/pci@5/SUNW,hme@0,1: PCI swizzle [/pci@1f,4000/pci@5] 2 --> 2
[    9.863531] /pci@1f,4000/pci@5/SUNW,hme@0,1: Apply [/pci@1f,4000:2] imap --> [/pci@1f,4000:1d]
[    9.966648] /pci@1f,4000/pci@5/SUNW,hme@0,1: Apply IRQ trans [/pci@1f,4000] 2 --> 7
[   10.058487] /pci@1f,4000/pci@5/SUNW,isptwo@4 reg[0] -> 0
[   10.121785] /pci@1f,4000/pci@5/SUNW,isptwo@4 reg[1] -> 0
[   10.185339] /pci@1f,4000/pci@5/SUNW,isptwo@4 reg[2] -> 0
[   10.248873] /pci@1f,4000/pci@5/SUNW,isptwo@4 reg[3] -> 0
[   10.312410] /pci@1f,4000/pci@5/SUNW,isptwo@4: PCI swizzle [/pci@1f,4000/pci@5] 1 --> 1
[   10.407242] /pci@1f,4000/pci@5/SUNW,isptwo@4: Apply [/pci@1f,4000:1] imap --> [/pci@1f,4000:1c]
[   10.511405] /pci@1f,4000/pci@5/SUNW,isptwo@4: Apply IRQ trans [/pci@1f,4000] 1 --> 8
[   10.604676] /pci@1f,2000 reg[0] -> 1fe00002000
[   10.657153] /pci@1f,2000 reg[1] -> 1fe01800000
[   10.710287] /pci@1f,2000 reg[2] -> 1fe00000000
[   10.763408] /pci@1f,2000: direct translate 7f0 --> 9
[   10.822778] /pci@1f,2000: direct translate 7ee --> 2
[   10.882153] /pci@1f,2000: direct translate 7ef --> 3
[   10.941524] /pci@1f,2000: direct translate 7e5 --> 4
[   11.000895] /pci@1f,2000: direct translate 7e8 --> 5
[   11.060266] /pci@1f,2000: direct translate 7f2 --> 6
[   11.119841] /counter-timer reg[0] -> 1fe00001c00
[   11.174825] /counter-timer reg[1] -> 1fe00001860
[   11.230048] /counter-timer reg[2] -> 1fe00001060
[   11.285251] /counter-timer: Apply [/:7ec] imap --> [NULL:7ec]
[   11.354009] /counter-timer: Apply [/:7ed] imap --> [NULL:7ed]
[   11.423129] /mc reg[0] -> 1c000000000
[   11.466653] /mc/bank@0,0 reg[0] -> 0
[   11.509360] /mc/bank@0,0/dimm@0,0 reg[0] -> 0
[   11.561437] /mc/bank@0,0/dimm@0,1 reg[0] -> 1
[   11.613534] /mc/bank@0,0/dimm@0,2 reg[0] -> 2
[   11.665604] /mc/bank@0,0/dimm@0,3 reg[0] -> 3
[   11.717696] /mc/bank@0,20000000 reg[0] -> 20000000
[   11.774975] /mc/bank@0,20000000/dimm@0,0 reg[0] -> 0
[   11.834350] /mc/bank@0,20000000/dimm@0,1 reg[0] -> 1
[   11.893710] /mc/bank@0,20000000/dimm@0,2 reg[0] -> 2
[   11.953093] /mc/bank@0,20000000/dimm@0,3 reg[0] -> 3
[   12.012472] /mc/bank@0,40000000 reg[0] -> 40000000
[   12.069755] /mc/bank@0,40000000/dimm@0,0 reg[0] -> 0
[   12.129108] /mc/bank@0,40000000/dimm@0,1 reg[0] -> 1
[   12.188500] /mc/bank@0,40000000/dimm@0,2 reg[0] -> 2
[   12.247845] /mc/bank@0,40000000/dimm@0,3 reg[0] -> 3
[   12.307247] /mc/bank@0,60000000 reg[0] -> 60000000
[   12.364534] /mc/bank@0,60000000/dimm@0,0 reg[0] -> 0
[   12.423882] /mc/bank@0,60000000/dimm@0,1 reg[0] -> 1
[   12.483257] /mc/bank@0,60000000/dimm@0,2 reg[0] -> 2
[   12.542629] /mc/bank@0,60000000/dimm@0,3 reg[0] -> 3
[   12.602005] /SUNW,UltraSPARC-II@0,0 reg[0] -> 1c000000000
[   12.666613] /SUNW,UltraSPARC-II@1,0 reg[0] -> 1c200000000
[   12.731815] PCI: Probing for controllers.

What I can tell so far, after trying to put quite a few printk here
and there, is that prom.c:psycho_irq_build() doesnt't get called for
devices directly hanging off the psycho controler.

That's because of_device.c:apply_interrupt_map() can't match the
requested interrupt into the interrupt map, and returns NULL. Now, the
logic inside apply_interrupt_map() is beyond my understanding of OF.

For reference (and debugging), I'm including both interrupt-map and
interrupt-map-mask, just in case it might be usefull.

root@positive:/proc/openprom/pci@1f,4000# cat interrupt-map
00000800.00000000.00000000.00000002.f006d1b0.00000021.00001000.00000000.00000000.00000001.f006d1b0.00000010.00001000.00000000.00000000.00000002.f006d1b0.00000011.00001000.00000000.00000000.00000003.f006d1b0.00000012.00001000.00000000.00000000.00000004.f006d1b0.00000013.00001800.00000000.00000000.00000001.f006d1b0.00000020.00001900.00000000.00000000.00000001.f006d1b0.00000026.00002000.00000000.00000000.00000001.f006d1b0.00000018.00002000.00000000.00000000.00000002.f006d1b0.00000019.00002000.00000000.00000000.00000003.f006d1b0.0000001a.00002000.00000000.00000000.00000004.f006d1b0.0000001b.00002800.00000000.00000000.00000001.f006d1b0.0000001c.00002800.00000000.00000000.00000002.f006d1b0.0000001d.00002800.00000000.00000000.00000003.f006d1b0.0000001e.00002800.00000000.00000000.00000004.f006d1b0.0000001f
root@positive:/proc/openprom/pci@1f,4000# cat interrupt-map-mask 
00fff800.00000000.00000000.00000007

As usual, I'll be happy to test any idea you may have to solve this
problem.

Cheers,

	M.
-- 
And if you don't know where you're going, any road will take you there...

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

* Re: 2.6.18-rc1 fails to boot on E250
  2006-07-14 23:53 2.6.18-rc1 fails to boot on E250 David Miller
                   ` (2 preceding siblings ...)
  2006-07-16 15:44 ` Marc Zyngier
@ 2006-07-17  3:15 ` David Miller
  2006-07-17  5:12 ` David Miller
                   ` (8 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: David Miller @ 2006-07-17  3:15 UTC (permalink / raw)
  To: sparclinux

From: Marc Zyngier <maz@misterjones.org>
Date: Sun, 16 Jul 2006 17:44:37 +0200

> For reference (and debugging), I'm including both interrupt-map and
> interrupt-map-mask, just in case it might be usefull.
> 
> root@positive:/proc/openprom/pci@1f,4000# cat interrupt-map
> 00000800.00000000.00000000.00000002.f006d1b0.00000021.00001000.00000000.00000000.00000001.f006d1b0.00000010.00001000.00000000.00000000.00000002.f006d1b0.00000011.00001000.00000000.00000000.00000003.f006d1b0.00000012.00001000.00000000.00000000.00000004.f006d1b0.00000013.00001800.00000000.00000000.00000001.f006d1b0.00000020.00001900.00000000.00000000.00000001.f006d1b0.00000026.00002000.00000000.00000000.00000001.f006d1b0.00000018.00002000.00000000.00000000.00000002.f006d1b0.00000019.00002000.00000000.00000000.00000003.f006d1b0.0000001a.00002000.00000000.00000000.00000004.f006d1b0.0000001b.00002800.00000000.00000000.00000001.f006d1b0.0000001c.00002800.00000000.00000000.00000002.f006d1b0.0000001d.00002800.00000000.00000000.00000003.f006d1b0.0000001e.00002800.00000000.00000000.00000004.f006d1b0.0000001f
> root@positive:/proc/openprom/pci@1f,4000# cat interrupt-map-mask 
> 00fff800.00000000.00000000.00000007
> 
> As usual, I'll be happy to test any idea you may have to solve this
> problem.

The problem is that aparently only the IRQ routing information for
the PCI expansion slots is listed in the interrupt-map property.
Therefore you need to calculate the INO by hand.

I'll try to cook something up, thanks for the debugging info.

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

* Re: 2.6.18-rc1 fails to boot on E250
  2006-07-14 23:53 2.6.18-rc1 fails to boot on E250 David Miller
                   ` (3 preceding siblings ...)
  2006-07-17  3:15 ` David Miller
@ 2006-07-17  5:12 ` David Miller
  2006-07-17  7:26 ` Marc Zyngier
                   ` (7 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: David Miller @ 2006-07-17  5:12 UTC (permalink / raw)
  To: sparclinux

From: Marc Zyngier <maz@misterjones.org>
Date: Sun, 16 Jul 2006 17:44:37 +0200

> As usual, I'll be happy to test any idea you may have to solve this
> problem.

This should do it.  I sanity booted this on my ultra60 just to
make sure. :-)

diff-tree 06390fa60b00941eac0fac107e63942ec9277f2c (from 82d6897fefca6206bca7153805b4c5359ce97fc4)
Author: David S. Miller <davem@sunset.davemloft.net>
Date:   Sun Jul 16 22:10:44 2006 -0700

    [SPARC64]: Fix more of_device layer IRQ bugs, and correct PROMREG_MAX.
    
    Sabre and Psycho PCI controllers can have partial interrupt-map
    properties, meaning that on-board devices don't match up to any
    entries.  Instead, they are fully specified from the beginning and
    we should pass them directly to the IRQ translator as-is.
    
    Also, fill in the necessary translator slots for the "graphics"
    and "expansion UPA" interrupts on Sabre, Psycho, and SYSIO SBUS.
    
    Increase PROMREG_MAX to 24, as seen on SUNW,ffb devices.
    
    Finally, prevent accidentally writing past the end of the of_device
    struct resource[] and irqs[] arrays.  Spit out a log message when
    we ignore some entries because there are too many of them.
    
    Signed-off-by: David S. Miller <davem@davemloft.net>

diff --git a/arch/sparc64/kernel/of_device.c b/arch/sparc64/kernel/of_device.c
index 7064cee..238bbf6 100644
--- a/arch/sparc64/kernel/of_device.c
+++ b/arch/sparc64/kernel/of_device.c
@@ -542,9 +542,17 @@ static void __init build_device_resource
 	/* Convert to num-cells.  */
 	num_reg /= 4;
 
-	/* Conver to num-entries.  */
+	/* Convert to num-entries.  */
 	num_reg /= na + ns;
 
+	/* Prevent overruning the op->resources[] array.  */
+	if (num_reg > PROMREG_MAX) {
+		printk(KERN_WARNING "%s: Too many regs (%d), "
+		       "limiting to %d.\n",
+		       op->node->full_name, num_reg, PROMREG_MAX);
+		num_reg = PROMREG_MAX;
+	}
+
 	for (index = 0; index < num_reg; index++) {
 		struct resource *r = &op->resource[index];
 		u32 addr[OF_MAX_ADDR_CELLS];
@@ -650,8 +658,22 @@ apply_interrupt_map(struct device_node *
 	next:
 		imap += (na + 3);
 	}
-	if (i = imlen)
+	if (i = imlen) {
+		/* Psycho and Sabre PCI controllers can have 'interrupt-map'
+		 * properties that do not include the on-board device
+		 * interrupts.  Instead, the device's 'interrupts' property
+		 * is already a fully specified INO value.
+		 *
+		 * Handle this by deciding that, if we didn't get a
+		 * match in the parent's 'interrupt-map', and the
+		 * parent is an IRQ translater, then use the parent as
+		 * our IRQ controller.
+		 */
+		if (pp->irq_trans)
+			return pp;
+
 		return NULL;
+	}
 
 	*irq_p = irq;
 	cp = of_find_node_by_phandle(handle);
@@ -803,6 +825,14 @@ static struct of_device * __init scan_on
 		op->num_irqs = 0;
 	}
 
+	/* Prevent overruning the op->irqs[] array.  */
+	if (op->num_irqs > PROMINTR_MAX) {
+		printk(KERN_WARNING "%s: Too many irqs (%d), "
+		       "limiting to %d.\n",
+		       dp->full_name, op->num_irqs, PROMINTR_MAX);
+		op->num_irqs = PROMINTR_MAX;
+	}
+
 	build_device_resources(op, parent);
 	for (i = 0; i < op->num_irqs; i++)
 		op->irqs[i] = build_one_device_irq(op, parent, op->irqs[i]);
diff --git a/arch/sparc64/kernel/prom.c b/arch/sparc64/kernel/prom.c
index c86007a..5cc5ab6 100644
--- a/arch/sparc64/kernel/prom.c
+++ b/arch/sparc64/kernel/prom.c
@@ -344,10 +344,12 @@ static unsigned long __psycho_onboard_im
 /*0x2f*/	PSYCHO_IMAP_CE,
 /*0x30*/	PSYCHO_IMAP_A_ERR,
 /*0x31*/	PSYCHO_IMAP_B_ERR,
-/*0x32*/	PSYCHO_IMAP_PMGMT
+/*0x32*/	PSYCHO_IMAP_PMGMT,
+/*0x33*/	PSYCHO_IMAP_GFX,
+/*0x34*/	PSYCHO_IMAP_EUPA,
 };
 #define PSYCHO_ONBOARD_IRQ_BASE		0x20
-#define PSYCHO_ONBOARD_IRQ_LAST		0x32
+#define PSYCHO_ONBOARD_IRQ_LAST		0x34
 #define psycho_onboard_imap_offset(__ino) \
 	__psycho_onboard_imap_off[(__ino) - PSYCHO_ONBOARD_IRQ_BASE]
 
@@ -529,6 +531,10 @@ static unsigned long __sabre_onboard_ima
 /*0x2e*/	SABRE_IMAP_UE,
 /*0x2f*/	SABRE_IMAP_CE,
 /*0x30*/	SABRE_IMAP_PCIERR,
+/*0x31*/	0 /* reserved */,
+/*0x32*/	0 /* reserved */,
+/*0x33*/	SABRE_IMAP_GFX,
+/*0x34*/	SABRE_IMAP_EUPA,
 };
 #define SABRE_ONBOARD_IRQ_BASE		0x20
 #define SABRE_ONBOARD_IRQ_LAST		0x30
@@ -895,6 +901,8 @@ static unsigned long sysio_irq_offsets[]
 	SYSIO_IMAP_CE,
 	SYSIO_IMAP_SBERR,
 	SYSIO_IMAP_PMGMT,
+	SYSIO_IMAP_GFX,
+	SYSIO_IMAP_EUPA,
 };
 
 #undef bogon
diff --git a/include/asm-sparc64/openprom.h b/include/asm-sparc64/openprom.h
index b4959d2..e01b805 100644
--- a/include/asm-sparc64/openprom.h
+++ b/include/asm-sparc64/openprom.h
@@ -175,7 +175,7 @@ struct linux_nodeops {
 };
 
 /* More fun PROM structures for device probing. */
-#define PROMREG_MAX     16
+#define PROMREG_MAX     24
 #define PROMVADDR_MAX   16
 #define PROMINTR_MAX    15
 

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

* Re: 2.6.18-rc1 fails to boot on E250
  2006-07-14 23:53 2.6.18-rc1 fails to boot on E250 David Miller
                   ` (4 preceding siblings ...)
  2006-07-17  5:12 ` David Miller
@ 2006-07-17  7:26 ` Marc Zyngier
  2006-07-17  8:31 ` David Miller
                   ` (6 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: Marc Zyngier @ 2006-07-17  7:26 UTC (permalink / raw)
  To: sparclinux

>>>>> "David" = David Miller <davem@davemloft.net> writes:

David> This should do it.  I sanity booted this on my ultra60 just to
David> make sure. :-)

While it obviously looks better (no more NULL translators), the
machine hangs before probing the SCSI controllers. And the serial
console is painfully slow as soon as the console is switched from PROM
to SAB.

Looks like this E250 is an odd beast...

Thanks again for your help Dave.

	M.

[    0.000000] PROMLIB: Sun IEEE Boot Prom 'OBP 3.30.0 2003/11/11 10:37'
[    0.000000] PROMLIB: Root node compatible: sun4u
[    0.000000] Linux version 2.6.18-rc2 (maz@positive) (gcc version 4.0.3 (Ubuntu 4.0.3-1ubuntu5)) #13 SMP Mon Jul 17 08:46:08 CEST 2006
[    0.000000] ARCH: SUN4U
[    0.000000] Ethernet address: 08:00:20:d8:e4:6d
[    0.000000] PROM: Built device tree with 75588 bytes of memory.
[    0.000000] Built 1 zonelists.  Total pages: 260720
[    0.000000] Kernel command line: root=/dev/sda2 ro -p of_debug=3
[    0.000000] PID hash table entries: 4096 (order: 12, 32768 bytes)
[   10.845929] Console: colour dummy device 80x25
[   10.908294] Dentry cache hash table entries: 262144 (order: 8, 2097152 bytes)
[   11.002152] Inode-cache hash table entries: 131072 (order: 7, 1048576 bytes)
[   11.205399] Memory: 2066520k available (2544k kernel code, 832k data, 168k init) [fffff80000000000,000000007fecc000]
[   11.408670] Calibrating delay using timer specific routine.. 800.45 BogoMIPS (lpj\x1600908)
[   11.506149] Security Framework v1.0.0 initialized
[   11.562140] SELinux:  Disabled at boot.
[   11.608013] Mount-cache hash table entries: 512
[   11.663014] CPU[0]: Caches D[sz(16384):line_sz(32)] I[sz(16384):line_sz(32)] E[sz(2097152):line_sz(64)]
[   11.774676] Using max_cache_size of 2MB
[   11.912672] Calibrating delay using timer specific routine.. 800.05 BogoMIPS (lpj\x1600112)
[   11.912818] CPU[1]: Caches D[sz(16384):line_sz(32)] I[sz(16384):line_sz(32)] E[sz(2097152):line_sz(64)]
[   11.913514] CPU 1: synchronized TICK with master CPU (last diff -22 cycles,maxerr 713 cycles)
[   11.913534] Brought up 2 CPUs
[   11.913552] Total of 2 processors activated (1600.51 BogoMIPS).
[   14.022513] migration_costA881
[   14.059977] checking if image is initramfs... it is
[   16.884598] Freeing initrd memory: 5984k freed
[   16.938255] NET: Registered protocol family 16
[   16.991920] /memory reg[0] -> 0
[   17.028076] /memory reg[1] -> 20000000
[   17.072565] /memory reg[2] -> 40000000
[   17.117357] /memory reg[3] -> 60000000
[   17.163357] /pci@1f,4000 reg[0] -> 1fe00004000
[    0.035471] /pci@1f,4000 reg[1] -> 1fe01000000
[    0.088525] /pci@1f,4000 reg[2] -> 1fe00000000
[    0.141648] /pci@1f,4000: direct translate 7f1 --> 1
[    0.201019] /pci@1f,4000: direct translate 7ee --> 2
[    0.260384] /pci@1f,4000: direct translate 7ef --> 3
[    0.319760] /pci@1f,4000: direct translate 7e5 --> 4
[    0.379131] /pci@1f,4000: direct translate 7e8 --> 5
[    0.438503] /pci@1f,4000: direct translate 7f2 --> 6
[    0.498343] /pci@1f,4000/ebus@1/auxio@14,726000 reg[0] -> 1fff1726000
[    0.574968] /pci@1f,4000/ebus@1/auxio@14,726000 reg[1] -> 1fff1728000
[    0.652064] /pci@1f,4000/ebus@1/auxio@14,726000 reg[2] -> 1fff172a000
[    0.729144] /pci@1f,4000/ebus@1/auxio@14,726000 reg[3] -> 1fff172c000
[    0.806215] /pci@1f,4000/ebus@1/auxio@14,726000 reg[4] -> 1fff172f000
[    0.883478] /pci@1f,4000/ebus@1/power@14,724000 reg[0] -> 1fff1724000
[    0.960569] /pci@1f,4000/ebus@1/SUNW,pll@14,504000 reg[0] -> 1fff1504000
[    1.040771] /pci@1f,4000/ebus@1/sc@14,500000 reg[0] -> 1fff1500000
[    1.114700] /pci@1f,4000/ebus@1/se@14,400000 reg[0] -> 1fff1400000
[    1.188481] /pci@1f,4000/ebus@1/se@14,400000: Apply [/pci@1f,4000:2b] imap --> [/pci@1f,4000:2b]
[    1.293707] /pci@1f,4000/ebus@1/se@14,400000: Apply IRQ trans [/pci@1f,4000] 2b --> 7
[    1.387626] /pci@1f,4000/ebus@1/se@14,200000 reg[0] -> 1fff1200000
[    1.461357] /pci@1f,4000/ebus@1/se@14,200000: Apply [/pci@1f,4000:23] imap --> [/pci@1f,4000:23]
[    1.566604] /pci@1f,4000/ebus@1/se@14,200000: Apply IRQ trans [/pci@1f,4000] 23 --> 8
[    1.660533] /pci@1f,4000/ebus@1/su@14,3083f8 reg[0] -> 1fff13083f8
[    1.734256] /pci@1f,4000/ebus@1/su@14,3083f8: Apply [/pci@1f,4000:29] imap --> [/pci@1f,4000:29]
[    1.839499] /pci@1f,4000/ebus@1/su@14,3083f8: Apply IRQ trans [/pci@1f,4000] 29 --> 9
[    1.933431] /pci@1f,4000/ebus@1/su@14,3062f8 reg[0] -> 1fff13062f8
[    2.007154] /pci@1f,4000/ebus@1/su@14,3062f8: Apply [/pci@1f,4000:2a] imap --> [/pci@1f,4000:2a]
[    2.112400] /pci@1f,4000/ebus@1/su@14,3062f8: Apply IRQ trans [/pci@1f,4000] 2a --> a
[    2.206342] /pci@1f,4000/ebus@1/ecpp@14,3043bc reg[0] -> 1fff13043bc
[    2.282135] /pci@1f,4000/ebus@1/ecpp@14,3043bc reg[1] -> 1fff1300398
[    2.358190] /pci@1f,4000/ebus@1/ecpp@14,3043bc reg[2] -> 1fff1700000
[    2.434220] /pci@1f,4000/ebus@1/ecpp@14,3043bc: Apply [/pci@1f,4000:22] imap --> [/pci@1f,4000:22]
[    2.541536] /pci@1f,4000/ebus@1/ecpp@14,3043bc: Apply IRQ trans [/pci@1f,4000] 22 --> b
[    2.637544] /pci@1f,4000/ebus@1/eeprom@14,0 reg[0] -> 1fff1000000
[    2.710411] /pci@1f,4000/ebus@1/flashprom@10,0 reg[0] -> 1fff0000000
[    2.786287] /pci@1f,4000/ebus@1/flashprom@10,0 reg[1] -> 1fff0000000
[    2.862510] /pci@1f,4000/ebus@1/SUNW,envctrltwo@14,600000 reg[0] -> 1fff1600000
[    2.949807] /pci@1f,4000/ebus@1/SUNW,envctrltwo@14,600000: Apply [/pci@1f,4000:28] imap --> [/pci@1f,4000:28]
[    3.068600] /pci@1f,4000/ebus@1/SUNW,envctrltwo@14,600000: Apply IRQ trans [/pci@1f,4000] 28 --> 5
[    3.175875] /pci@1f,4000/ebus@1/SUNW,envctrltwo@14,600000: Apply [/pci@1f,4000:25] imap --> [/pci@1f,4000:25]
[    3.294621] /pci@1f,4000/ebus@1/SUNW,envctrltwo@14,600000: Apply IRQ trans [/pci@1f,4000] 25 --> 4
[    3.402116] /pci@1f,4000/network@1,1 reg[0] -> 1ff84100000
[    3.467452] /pci@1f,4000/network@1,1: Apply [/pci@1f,4000:21] imap --> [/pci@1f,4000:21]
[    3.564369] /pci@1f,4000/network@1,1: Apply IRQ trans [/pci@1f,4000] 21 --> c
[    3.649962] /pci@1f,4000/scsi@3 reg[0] -> 1fe02012000
[    3.710145] /pci@1f,4000/scsi@3 reg[1] -> 1ff84108000
[    3.770569] /pci@1f,4000/scsi@3 reg[2] -> 1ff8410a000
[    3.830975] /pci@1f,4000/scsi@3: Apply [/pci@1f,4000:20] imap --> [/pci@1f,4000:20]
[    3.922668] /pci@1f,4000/scsi@3: Apply IRQ trans [/pci@1f,4000] 20 --> d
[    4.003419] /pci@1f,4000/scsi@3,1 reg[0] -> 1fe02012400
[    4.065332] /pci@1f,4000/scsi@3,1 reg[1] -> 1ff8410c000
[    4.127835] /pci@1f,4000/scsi@3,1 reg[2] -> 1ff8410e000
[    4.190332] /pci@1f,4000/scsi@3,1: Apply [/pci@1f,4000:26] imap --> [/pci@1f,4000:26]
[    4.284098] /pci@1f,4000/scsi@3,1: Apply IRQ trans [/pci@1f,4000] 26 --> e
[    4.367152] /pci@1f,4000/pci@5/SUNW,hme@0,1 reg[0] -> 0
[    4.428836] /pci@1f,4000/pci@5/SUNW,hme@0,1 reg[1] -> 0
[    4.491348] /pci@1f,4000/pci@5/SUNW,hme@0,1: PCI swizzle [/pci@1f,4000/pci@5] 2 --> 2
[    4.585136] /pci@1f,4000/pci@5/SUNW,hme@0,1: Apply [/pci@1f,4000:2] imap --> [/pci@1f,4000:1d]
[    4.688249] /pci@1f,4000/pci@5/SUNW,hme@0,1: Apply IRQ trans [/pci@1f,4000] 2 --> f
[    4.780090] /pci@1f,4000/pci@5/SUNW,isptwo@4 reg[0] -> 0
[    4.843389] /pci@1f,4000/pci@5/SUNW,isptwo@4 reg[1] -> 0
[    4.906945] /pci@1f,4000/pci@5/SUNW,isptwo@4 reg[2] -> 0
[    4.970478] /pci@1f,4000/pci@5/SUNW,isptwo@4 reg[3] -> 0
[    5.034017] /pci@1f,4000/pci@5/SUNW,isptwo@4: PCI swizzle [/pci@1f,4000/pci@5] 1 --> 1
[    5.128848] /pci@1f,4000/pci@5/SUNW,isptwo@4: Apply [/pci@1f,4000:1] imap --> [/pci@1f,4000:1c]
[    5.233009] /pci@1f,4000/pci@5/SUNW,isptwo@4: Apply IRQ trans [/pci@1f,4000] 1 --> 10
[    5.327306] /pci@1f,2000 reg[0] -> 1fe00002000
[    5.379801] /pci@1f,2000 reg[1] -> 1fe01800000
[    5.432940] /pci@1f,2000 reg[2] -> 1fe00000000
[    5.486051] /pci@1f,2000: direct translate 7f0 --> 11
[    5.546471] /pci@1f,2000: direct translate 7ee --> 2
[    5.605841] /pci@1f,2000: direct translate 7ef --> 3
[    5.665213] /pci@1f,2000: direct translate 7e5 --> 4
[    5.724578] /pci@1f,2000: direct translate 7e8 --> 5
[    5.783953] /pci@1f,2000: direct translate 7f2 --> 6
[    5.843531] /counter-timer reg[0] -> 1fe00001c00
[    5.898518] /counter-timer reg[1] -> 1fe00001860
[    5.953738] /counter-timer reg[2] -> 1fe00001060
[    6.008941] /counter-timer: Apply [/:7ec] imap --> [NULL:7ec]
[    6.077699] /counter-timer: Apply [/:7ed] imap --> [NULL:7ed]
[    6.146811] /mc reg[0] -> 1c000000000
[    6.190346] /mc/bank@0,0 reg[0] -> 0
[    6.233054] /mc/bank@0,0/dimm@0,0 reg[0] -> 0
[    6.285135] /mc/bank@0,0/dimm@0,1 reg[0] -> 1
[    6.337229] /mc/bank@0,0/dimm@0,2 reg[0] -> 2
[    6.389303] /mc/bank@0,0/dimm@0,3 reg[0] -> 3
[    6.441398] /mc/bank@0,20000000 reg[0] -> 20000000
[    6.498675] /mc/bank@0,20000000/dimm@0,0 reg[0] -> 0
[    6.558052] /mc/bank@0,20000000/dimm@0,1 reg[0] -> 1
[    6.617415] /mc/bank@0,20000000/dimm@0,2 reg[0] -> 2
[    6.676786] /mc/bank@0,20000000/dimm@0,3 reg[0] -> 3
[    6.736177] /mc/bank@0,40000000 reg[0] -> 40000000
[    6.793465] /mc/bank@0,40000000/dimm@0,0 reg[0] -> 0
[    6.852818] /mc/bank@0,40000000/dimm@0,1 reg[0] -> 1
[    6.912214] /mc/bank@0,40000000/dimm@0,2 reg[0] -> 2
[    6.971546] /mc/bank@0,40000000/dimm@0,3 reg[0] -> 3
[    7.030940] /mc/bank@0,60000000 reg[0] -> 60000000
[    7.088224] /mc/bank@0,60000000/dimm@0,0 reg[0] -> 0
[    7.147598] /mc/bank@0,60000000/dimm@0,1 reg[0] -> 1
[    7.206954] /mc/bank@0,60000000/dimm@0,2 reg[0] -> 2
[    7.266338] /mc/bank@0,60000000/dimm@0,3 reg[0] -> 3
[    7.325705] /SUNW,UltraSPARC-II@0,0 reg[0] -> 1c000000000
[    7.390323] /SUNW,UltraSPARC-II@1,0 reg[0] -> 1c200000000
[    7.455477] PCI: Probing for controllers.
[    7.507602] /pci@1f,4000: PSYCHO PCI Bus Module ver[4:0]
[    7.569511] /pci@1f,2000: PSYCHO PCI Bus Module ver[4:0]
[    7.637443] PCI0(PBMB): Bus running at 33MHz
[    7.687691] PCI0(PBMA): Bus running at 66MHz
[    7.738003] ebus0: [auxio] [power] [SUNW,pll] [sc] [se] [se] [su] [su] [ecpp] [eeprom] [flashprom] [SUNW,envctrltwo]
[    7.864037] power: Control reg at 1fff1724000 ... not using powerd.
[    7.940029] usbcore: registered new driver usbfs
[    7.994305] usbcore: registered new driver hub
[    8.048221] AUXIO: Found device at /pci@1f,4000/ebus@1/auxio@14,726000
[    8.125645] /pci@1f,4000/ebus@1/eeprom@14,0: Clock regs at 000001fff1000000
[    8.210584] NET: Registered protocol family 2
[    8.305608] IP route cache hash table entries: 65536 (order: 6, 524288 bytes)
[    8.392733] TCP established hash table entries: 262144 (order: 9, 4194304 bytes)
[    8.500716] TCP bind hash table entries: 65536 (order: 7, 1048576 bytes)
[    8.584300] TCP: Hash tables configured (established 262144 bind 65536)
[    8.661904] TCP reno registered
[    8.704767] audit: initializing netlink socket (disabled)
[    8.767771] audit(1153120449.744:1): initialized
[    8.823266] Total HugeTLB memory allocated, 0
[    8.875744] VFS: Disk quotas dquot_6.5.1
[    8.922003] Dquot-cache hash table entries: 1024 (order 0, 8192 bytes)
[    9.000369] Initializing Cryptographic API
[    9.048949] io scheduler noop registered
[    9.095760] io scheduler anticipatory registered (default)
[    9.161395] io scheduler deadline registered
[    9.212477] io scheduler cfq registered
[   13.511816] Console: switching to mono PROM 80x34
[    0.755841] rtc_init: no PC rtc found
[    0.797963] [drm] Initialized drm 1.0.1 20051102
[    0.853922] /pci@1f,4000/ebus@1/su@14,3083f8: Keyboard port at 1fff13083f8, irq 9
[    0.942869] /pci@1f,4000/ebus@1/su@14,3062f8: Mouse port at 1fff13062f8, irq 10
[    1.030823] se@14,400000: ttyS0 at MMIO 0x1fff1400040 (irq = 7) is a SAB82532 V3.2
[    1.121209] Console: ttyS0 (SAB82532)
[    7.233578] se@14,400000: ttyS1 at MMIO 0x1fff1400000 (irq = 7) is a SAB82532 V3.2
[    7.413825] se@14,200000: ttyS2 at MMIO 0x1fff1200040 (irq = 8) is a SAB82532 V3.2
[    7.597584] se@14,200000: ttyS3 at MMIO 0x1fff1200000 (irq = 8) is a SAB82532 V3.2
[    8.177657] RAMDISK driver initialized: 16 RAM disks of 65536K size 1024 blocksize
[    8.505947] loop: loaded (max 8 devices)
[    8.709533] sunhme.c:v3.00 June 23, 2006 David S. Miller (davem@davemloft.net)
[    8.889462] eth0: HAPPY MEAL (PCI/CheerIO) 10/100BaseT Ethernet 08:00:20:d8:e4:6d 
[    9.073726] eth1: HAPPY MEAL (PCI/CheerIO) 10/100BaseT Ethernet 08:00:20:d8:e4:6d 
[    9.297645] Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
[    9.447146] ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
[    9.657685] rtc_sun_init: Registered Mostek RTC driver.
[    9.780093] usbmon: debugfs is not available
[    9.929730] usbcore: registered new driver usbhid
[   10.038546] drivers/usb/input/hid-core.c: v2.6:USB HID core driver
[   10.245720] mice: PS/2 mouse device common for all mice
[   10.371931] TCP bic registered
[   10.442232] NET: Registered protocol family 1
[   10.543795] NET: Registered protocol family 17
[   11.380060] input: Sun Mouse as /class/input/input0

-- 
And if you don't know where you're going, any road will take you there...

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

* Re: 2.6.18-rc1 fails to boot on E250
  2006-07-14 23:53 2.6.18-rc1 fails to boot on E250 David Miller
                   ` (5 preceding siblings ...)
  2006-07-17  7:26 ` Marc Zyngier
@ 2006-07-17  8:31 ` David Miller
  2006-07-17 12:33 ` Marc Zyngier
                   ` (5 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: David Miller @ 2006-07-17  8:31 UTC (permalink / raw)
  To: sparclinux

From: Marc Zyngier <maz@misterjones.org>
Date: Mon, 17 Jul 2006 09:26:01 +0200

> While it obviously looks better (no more NULL translators), the
> machine hangs before probing the SCSI controllers. And the serial
> console is painfully slow as soon as the console is switched from PROM
> to SAB.
> 
> Looks like this E250 is an odd beast...

Please turn off CONFIG_PROM_CONSOLE if you have that thing
enabled, just as a test.

Thanks.

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

* Re: 2.6.18-rc1 fails to boot on E250
  2006-07-14 23:53 2.6.18-rc1 fails to boot on E250 David Miller
                   ` (6 preceding siblings ...)
  2006-07-17  8:31 ` David Miller
@ 2006-07-17 12:33 ` Marc Zyngier
  2006-07-17 13:14 ` Marc Zyngier
                   ` (4 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: Marc Zyngier @ 2006-07-17 12:33 UTC (permalink / raw)
  To: sparclinux

>>>>> "David" = David Miller <davem@davemloft.net> writes:

David> Please turn off CONFIG_PROM_CONSOLE if you have that thing
David> enabled, just as a test.

Just did it, but it doesn't change anything. I'm afraid we're facing
multiple issues here, so I tried to narrow things down a bit.

I compiled a minimal kernel with SCSI build-in, and booted it. Didn't
see anything, serial console stayed silent. Booted it again with '-p',
and discovered quite a few things :

[    0.000000] PROMLIB: Sun IEEE Boot Prom 'OBP 3.30.0 2003/11/11 10:37'
[    0.000000] PROMLIB: Root node compatible: sun4u
[    0.000000] Linux version 2.6.18-rc2 (maz@positive) (gcc version 4.0.3 (Ubuntu 4.0.3-1ubuntu5)) #15 SMP Mon Jul 17 11:44:17 CEST 2006
[    0.000000] ARCH: SUN4U
[    0.000000] Ethernet address: 08:00:20:d8:e4:6d
Remapping the kernel... done.
[    0.000000] PROM: Built device tree with 75588 bytes of memory.
Booting Linux...
[    0.000000] Built 1 zonelists.  Total pages: 261515
[    0.000000] Kernel command line: root=/dev/sda2 ro -p
[    0.000000] PID hash table entries: 4096 (order: 12, 32768 bytes)
[    1.768082] Console: colour dummy device 80x25
[    1.830464] Dentry cache hash table entries: 262144 (order: 8, 2097152 bytes)
[    1.924328] Inode-cache hash table entries: 131072 (order: 7, 1048576 bytes)
[    2.133255] Memory: 2072816k available (2336k kernel code, 768k data, 160k init) [fffff80000000000,000000007fecc000]
[    2.334845] Calibrating delay using timer specific routine.. 800.45 BogoMIPS (lpj\x1600910)
[    2.432463] Mount-cache hash table entries: 512
[    2.487169] CPU[0]: Caches D[sz(16384):line_sz(32)] I[sz(16384):line_sz(32)] E[sz(2097152):line_sz(64)]
[    2.598827] Using max_cache_size of 2MB
[    2.734847] Calibrating delay using timer specific routine.. 800.05 BogoMIPS (lpj\x1600113)
[    2.734987] CPU[1]: Caches D[sz(16384):line_sz(32)] I[sz(16384):line_sz(32)] E[sz(2097152):line_sz(64)]
[    2.735669] CPU 1: synchronized TICK with master CPU (last diff 1 cycles,maxerr 670 cycles)
[    2.735688] Brought up 2 CPUs
[    2.735707] Total of 2 processors activated (1600.51 BogoMIPS).
[    4.821092] migration_cost@125
[    4.860133] NET: Registered protocol family 16
[    4.925643] PCI: Probing for controllers.
[    4.980633] /pci@1f,4000: PSYCHO PCI Bus Module ver[4:0]
[    5.042506] /pci@1f,2000: PSYCHO PCI Bus Module ver[4:0]
[    5.110741] PCI0(PBMB): Bus running at 33MHz
[    5.161031] PCI0(PBMA): Bus running at 66MHz
[    5.211222] ebus0: [auxio] [power] [SUNW,pll] [sc] [se] [se] [su] [su] [ecpp] [eeprom] [flashprom] [SUNW,envctrltwo]
[    5.337246] power: Control reg at 1fff1724000 ... not using powerd.
[    5.413586] SCSI subsystem initialized
[    5.457801] AUXIO: Found device at /pci@1f,4000/ebus@1/auxio@14,726000
[    5.535585] /pci@1f,4000/ebus@1/eeprom@14,0: Clock regs at 000001fff1000000
[    5.620335] NET: Registered protocol family 2
[    5.715112] IP route cache hash table entries: 65536 (order: 6, 524288 bytes)
[    5.802151] TCP established hash table entries: 262144 (order: 9, 4194304 bytes)
[    5.910219] TCP bind hash table entries: 65536 (order: 7, 1048576 bytes)
[    5.994188] TCP: Hash tables configured (established 262144 bind 65536)
[    6.071662] TCP reno registered
[    6.113577] audit: initializing netlink socket (disabled)
[    6.176488] audit(1153136985.744:1): initialized
[    6.231980] Total HugeTLB memory allocated, 0
[    6.285168] Initializing Cryptographic API
[    6.332892] io scheduler noop registered
[    6.379724] io scheduler anticipatory registered (default)
[    6.445331] io scheduler deadline registered
[    6.496446] io scheduler cfq registered
[    6.702611] rtc_init: no PC rtc found
[    6.745455] /pci@1f,4000/ebus@1/su@14,3083f8: Keyboard port at 1fff13083f8, irq 9
[    6.834564] /pci@1f,4000/ebus@1/su@14,3062f8: Mouse port at 1fff13062f8, irq 10
[    6.922385] se@14,400000: ttyS0 at MMIO 0x1fff1400040 (irq = 7) is a SAB82532 V3.2
[    7.012992] Console: ttyS0 (SAB82532)
[    0.000000] PROMLIB: Sun IEEE Boot Prom 'OBP 3.30.0 2003/11/11 10:37'
[    0.000000] PROMLIB: Root node compatible: sun4u
[    0.000000] Linux version 2.6.18-rc2 (maz@positive) (gcc version 4.0.3 (Ubuntu 4.0.3-1ubuntu5)) #15 SMP Mon Jul 17 11:44:17 CEST 2006
[    0.000000] ARCH: SUN4U
[    0.000000] Ethernet address: 08:00:20:d8:e4:6d
[    0.000000] PROM: Built device tree with 75588 bytes of memory.
[    0.000000] Built 1 zonelists.  Total pages: 261515
[    0.000000] Kernel command line: root=/dev/sda2 ro -p
[    0.000000] PID hash table entries: 4096 (order: 12, 32768 bytes)
[    1.768082] Console: colour dummy device 80x25
[    1.830464] Dentry cache hash table entries: 262144 (order: 8, 2097152 bytes)
[    1.924328] Inode-cache hash table entries: 131072 (order: 7, 1048576 bytes)
[    2.133255] Memory: 2072816k available (2336k kernel code, 768k data, 160k init) [fffff80000000000,000000007fecc000]
[    2.334845] Calibrating delay using timer specific routine.. 800.45 BogoMIPS (lpj\x1600910)
[    2.432463] Mount-cache hash table entries: 512
[    2.487169] CPU[0]: Caches D[sz(16384):line_sz(32)] I[sz(16384):line_sz(32)] E[sz(2097152):line_sz(64)]
[    2.598827] Using max_cache_size of 2MB
[    2.734847] Calibrating delay using timer specific routine.. 800.05 BogoMIPS (lpj\x1600113)
[    2.734987] CPU[1]: Caches D[sz(16384):line_sz(32)] I[sz(16384):line_sz(32)] E[sz(2097152):line_sz(64)]
[    2.735669] CPU 1: synchronized TICK with master CPU (last diff 1 cycles,maxerr 670 cycles)
[    2.735688] Brought up 2 CPUs
[    2.735707] Total of 2 processors activated (1600.51 BogoMIPS).
[    4.821092] migration_cost@125
[    4.860133] NET: Registered protocol family 16
[    4.925643] PCI: Probing for controllers.
[    4.980633] /pci@1f,4000: PSYCHO PCI Bus Module ver[4:0]
[    5.042506] /pci@1f,2000: PSYCHO PCI Bus Module ver[4:0]
[    5.110741] PCI0(PBMB): Bus running at 33MHz
[    5.161031] PCI0(PBMA): Bus running at 66MHz
[    5.211222] ebus0: [auxio] [power] [SUNW,pll] [sc] [se] [se] [su] [su] [ecpp] [eeprom] [flashprom] [SUNW,envctrltwo]
[    5.337246] power: Control reg at 1fff1724000 ... not using powerd.
[    5.413586] SCSI subsystem initialized
[    5.457801] AUXIO: Found device at /pci@1f,4000/ebus@1/auxio@14,726000
[    5.535585] /pci@1f,4000/ebus@1/eeprom@14,0: Clock regs at 000001fff1000000
[    5.620335] NET: Registered protocol family 2
[    5.715112] IP route cache hash table entries: 65536 (order: 6, 524288 bytes)
[    5.802151] TCP established hash table entries: 262144 (order: 9, 4194304 bytes)
[    5.910219] TCP bind hash table entries: 65536 (order: 7, 1048576 bytes)
[    5.994188] TCP: Hash tables configured (established 262144 bind 65536)
[    6.071662] TCP reno registered
[    6.113577] audit: initializing netlink socket (disabled)
[    6.176488] audit(1153136985.744:1): initialized
[    6.231980] Total HugeTLB memory allocated, 0
[    6.285168] Initializing Cryptographic API
[    6.332892] io scheduler noop registered
[    6.379724] io scheduler anticipatory registered (default)
[    6.445331] io scheduler deadline registered
[    6.496446] io scheduler cfq registered
[    6.702611] rtc_init: no PC rtc found
[    6.745455] /pci@1f,4000/ebus@1/su@14,3083f8: Keyboard port at 1fff13083f8, irq 9
[    6.834564] /pci@1f,4000/ebus@1/su@14,3062f8: Mouse port at 1fff13062f8, irq 10
[    6.922385] se@14,400000: ttyS0 at MMIO 0x1fff1400040 (irq = 7) is a SAB82532 V3.2
[    7.012992] Console: ttyS0 (SAB82532)
[   14.336491] se@14,400000: ttyS1 at MMIO 0x1fff1400000 (irq = 7) is a SAB82532 V3.2
[   14.521423] se@14,200000: ttyS2 at MMIO 0x1fff1200040 (irq = 8) is a SAB82532 V3.2
[   14.700346] se@14,200000: ttyS3 at MMIO 0x1fff1200000 (irq = 8) is a SAB82532 V3.2
[   14.883155] RAMDISK driver initialized: 16 RAM disks of 65536K size 1024 blocksize
[   15.063393] loop: loaded (max 8 devices)
[   15.154829] sunhme.c:v3.00 June 23, 2006 David S. Miller (davem@davemloft.net)
[   15.326396] eth0: HAPPY MEAL (PCI/CheerIO) 10/100BaseT Ethernet 08:00:20:d8:e4:6d 
[   15.487428] eth1: HAPPY MEAL (PCI/CheerIO) 10/100BaseT Ethernet 08:00:20:d8:e4:6d 
[   15.648382] sym0: <875> rev 0x14 at pci 0001:00:03.0 irq 13
[   15.866066] sym0: No NVRAM, ID 7, Fast-20, SE, parity checking
[   16.010457] sym0: SCSI BUS has been reset.
[   16.104719] scsi0 : sym-2.2.3
[    1.957508]   Vendor: SEAGATE   Model: ST32171W SUN2.1G  Rev: 7462
[    2.066401]   Type:   Direct-Access                      ANSI SCSI revision: 02
[    2.234826]  target0:0:0: tagged command queuing enabled, command queue depth 16.
[    2.412770]  target0:0:0: Beginning Domain Validation
[    2.532142]  target0:0:0: asynchronous
[    2.637839]  target0:0:0: wide asynchronous
[    2.742849]  target0:0:0: FAST-20 WIDE SCSI 40.0 MB/s ST (50 ns, offset 15)
[    2.917316]  target0:0:0: Domain Validation skipping write tests
[    3.058940]  target0:0:0: Ending Domain Validation
[    4.407074]   Vendor: HP        Model: C1537A            Rev: L706
[    4.516051]   Type:   Sequential-Access                  ANSI SCSI revision: 02
[    4.684657]  target0:0:5: Beginning Domain Validation
[    4.804890]  target0:0:5: asynchronous
[    4.909228]  target0:0:5: FAST-10 SCSI 10.0 MB/s ST (100 ns, offset 16)
[    5.077111]  target0:0:5: Domain Validation skipping write tests
[    5.218782]  target0:0:5: Ending Domain Validation
[    5.353655]   Vendor: TOSHIBA   Model: XM6201TASUN32XCD  Rev: 1103
[    5.462607]   Type:   CD-ROM                             ANSI SCSI revision: 02
[    5.631071]  target0:0:6: Beginning Domain Validation
[    5.750068]  target0:0:6: asynchronous
[    5.840347]  target0:0:6: FAST-10 SCSI 10.0 MB/s ST (100 ns, offset 16)
[    5.997596]  target0:0:6: Domain Validation skipping write tests
[    6.139255]  target0:0:6: Ending Domain Validation
[    8.603938] sym1: <875> rev 0x14 at pci 0001:00:03.1 irq 14
[    8.823119] sym1: No NVRAM, ID 7, Fast-20, SE, parity checking
[    8.970624] sym1: SCSI BUS has been reset.
[    9.066495] scsi1 : sym-2.2.3
[   11.976523]   Vendor: FUJITSU   Model: MAB3045S SUN4.2G  Rev: 2107
[   12.085147]   Type:   Direct-Access                      ANSI SCSI revision: 02
[   12.252863]  target1:0:0: tagged command queuing enabled, command queue depth 16.
[   12.429503]  target1:0:0: Beginning Domain Validation
[   12.548063]  target1:0:0: asynchronous
[   12.638502]  target1:0:0: wide asynchronous
[   12.737156]  target1:0:0: FAST-20 WIDE SCSI 40.0 MB/s ST (50 ns, offset 16)
[   12.902699]  target1:0:0: Domain Validation skipping write tests
[   13.043851]  target1:0:0: Ending Domain Validation
[    0.088326] SCSI device sda: 4157201 512-byte hdwr sectors (2128 MB)
[    0.243839] sda: Write Protect is off
[    0.334634] SCSI device sda: drive cache: write through w/ FUA
[    0.477664] SCSI device sda: 4157201 512-byte hdwr sectors (2128 MB)
[    0.633037] sda: Write Protect is off
[    0.723869] SCSI device sda: drive cache: write through w/ FUA
[    0.861390]  sda: sda1 sda2 sda3 sda4
[    0.962079] sd 0:0:0:0: Attached scsi disk sda
[    1.070488] SCSI device sdb: 8385121 512-byte hdwr sectors (4293 MB)
[    1.222523] sdb: Write Protect is off
[    1.308145] SCSI device sdb: drive cache: write through
[    1.431608] SCSI device sdb: 8385121 512-byte hdwr sectors (4293 MB)
[    1.583307] sdb: Write Protect is off
[    1.669874] SCSI device sdb: drive cache: write through
[    1.792189]  sdb: sdb1 sdb2 sdb3 sdb4 sdb5 sdb6 sdb7 sdb8
[    1.911027] sd 1:0:0:0: Attached scsi disk sdb
[    2.014949] sd 0:0:0:0: Attached scsi generic sg0 type 0
[    2.139608] scsi 0:0:5:0: Attached scsi generic sg1 type 1
[    2.267420] scsi 0:0:6:0: Attached scsi generic sg2 type 5
[    2.395262] sd 1:0:0:0: Attached scsi generic sg3 type 0
[    2.520118] rtc_sun_init: Registered Mostek RTC driver.
[    2.643201] mice: PS/2 mouse device common for all mice
[    2.766680] TCP bic registered
[    2.837032] NET: Registered protocol family 1
[    2.938572] NET: Registered protocol family 17
[    3.065107] EXT3-fs: INFO: recovery required on readonly filesystem.
[    3.215155] EXT3-fs: write access will be enabled during recovery.
[    3.764644] input: Sun Mouse as /class/input/input0
[    3.917323] kjournald starting.  Commit interval 5 seconds
[    3.981288] EXT3-fs: recovery complete.
[    3.993637] EXT3-fs: mounted filesystem with ordered data mode.
[    4.274657] VFS: Mounted root (ext3 filesystem) readonly.

First, SCSI was correctly probed and root fs mounted, so we know that
at least some PCI devices have their interrupt correctly configured
thanks to your latest patch.

Then, we still have a problem with sunsab, as ports are registered in
a different order from what we had in 2.6.15 :

[    7.949257] ttyS0 at MMIO 0x1fff1400000 (irq = 7790816) is a SAB82532 V3.2
[    7.949508] Console: ttyS0 (SAB82532)
[   11.662182] ttyS1 at MMIO 0x1fff1400040 (irq = 7790816) is a SAB82532 V3.2
[   11.743901] ttyS2 at MMIO 0x1fff1200000 (irq = 7790560) is a SAB82532 V3.2
[   11.826468] ttyS3 at MMIO 0x1fff1200040 (irq = 7790560) is a SAB82532 V3.2

Would have to swap between 0x1fff1400000 and 0x1fff1400040. I'll try
to come up with a patch if I can spare some time tonight.

Finally, it looks like the box silently hangs as soon as it reaches
user-mode. Irk...

	M.
-- 
And if you don't know where you're going, any road will take you there...

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

* Re: 2.6.18-rc1 fails to boot on E250
  2006-07-14 23:53 2.6.18-rc1 fails to boot on E250 David Miller
                   ` (7 preceding siblings ...)
  2006-07-17 12:33 ` Marc Zyngier
@ 2006-07-17 13:14 ` Marc Zyngier
  2006-07-17 22:52 ` David Miller
                   ` (3 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: Marc Zyngier @ 2006-07-17 13:14 UTC (permalink / raw)
  To: sparclinux

>>>>> "maz" = Marc Zyngier <maz@misterjones.org> writes:

maz> Would have to swap between 0x1fff1400000 and 0x1fff1400040. I'll try
maz> to come up with a patch if I can spare some time tonight.

I tried the following patch, without much success.  Looks like
*nothing* hits the serial console if '-p' isn't set on the command
line. I still suspect that this patch is valid though. Oh well...

Off to some more head scratching.

	M.

[SPARC64] Fix sunsab ports ordering

Register second SAB port before the first one, as serial A is wired to
it, and expected to appear as ttyS0.

Signed-off-by: Marc Zyngier <maz@misterjones.org>

diff --git a/drivers/serial/sunsab.c b/drivers/serial/sunsab.c
index 979497f..cb55d81 100644
--- a/drivers/serial/sunsab.c
+++ b/drivers/serial/sunsab.c
@@ -1061,8 +1061,8 @@ static int __devinit sab_probe(struct of
 		return err;
 	}
 
-	uart_add_one_port(&sunsab_reg, &up[0].port);
 	uart_add_one_port(&sunsab_reg, &up[1].port);
+	uart_add_one_port(&sunsab_reg, &up[0].port);
 
 	dev_set_drvdata(&op->dev, &up[0]);
 

-- 
And if you don't know where you're going, any road will take you there...

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

* Re: 2.6.18-rc1 fails to boot on E250
  2006-07-14 23:53 2.6.18-rc1 fails to boot on E250 David Miller
                   ` (8 preceding siblings ...)
  2006-07-17 13:14 ` Marc Zyngier
@ 2006-07-17 22:52 ` David Miller
  2006-07-17 23:41 ` David Miller
                   ` (2 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: David Miller @ 2006-07-17 22:52 UTC (permalink / raw)
  To: sparclinux

From: Marc Zyngier <maz@misterjones.org>
Date: Mon, 17 Jul 2006 14:33:59 +0200

> Then, we still have a problem with sunsab, as ports are registered in
> a different order from what we had in 2.6.15 :
> 
> [    7.949257] ttyS0 at MMIO 0x1fff1400000 (irq = 7790816) is a SAB82532 V3.2
> [    7.949508] Console: ttyS0 (SAB82532)
> [   11.662182] ttyS1 at MMIO 0x1fff1400040 (irq = 7790816) is a SAB82532 V3.2
> [   11.743901] ttyS2 at MMIO 0x1fff1200000 (irq = 7790560) is a SAB82532 V3.2
> [   11.826468] ttyS3 at MMIO 0x1fff1200040 (irq = 7790560) is a SAB82532 V3.2
> 
> Would have to swap between 0x1fff1400000 and 0x1fff1400040. I'll try
> to come up with a patch if I can spare some time tonight.
> 
> Finally, it looks like the box silently hangs as soon as it reaches
> user-mode. Irk...

Good spotting, your followup patch is correct.

I hooked up a serial console line to my ultra60 and will try
to work this out.  I think the problem is not related to
interrupts this time.

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

* Re: 2.6.18-rc1 fails to boot on E250
  2006-07-14 23:53 2.6.18-rc1 fails to boot on E250 David Miller
                   ` (9 preceding siblings ...)
  2006-07-17 22:52 ` David Miller
@ 2006-07-17 23:41 ` David Miller
  2006-07-18  6:25 ` Marc Zyngier
  2006-07-18  6:33 ` David Miller
  12 siblings, 0 replies; 14+ messages in thread
From: David Miller @ 2006-07-17 23:41 UTC (permalink / raw)
  To: sparclinux

From: David Miller <davem@davemloft.net>
Date: Mon, 17 Jul 2006 15:52:55 -0700 (PDT)

> I hooked up a serial console line to my ultra60 and will try
> to work this out.  I think the problem is not related to
> interrupts this time.

Ok, your patch was only half-correct. :-) This patch below, which goes
on top of your's, fixes things up and also fixes a problem with the
uart table sizing in this driver.

I was able to boot up to full multi-user with full serial
console on my ultra60 after these changes.

Let me know how it goes for you.

Thanks.

diff-tree f26a75da243428fdeb1e9b2e57cd713a5cdb53a8 (from e25b839bd81dd04df8c5d3f4713c66703a13cc14)
Author: David S. Miller <davem@sunset.davemloft.net>
Date:   Mon Jul 17 16:40:26 2006 -0700

    [SERIAL] sunsab: Get line numbers and table sizing correct.
    
    Table sizing code should look for "se" not "su" nodes.
    
    The chip at the lower address should get the first index.
    
    Signed-off-by: David S. Miller <davem@davemloft.net>

diff --git a/drivers/serial/sunsab.c b/drivers/serial/sunsab.c
index cb55d81..dc673e1 100644
--- a/drivers/serial/sunsab.c
+++ b/drivers/serial/sunsab.c
@@ -1047,12 +1047,13 @@ static int __devinit sab_probe(struct of
 	up = &sunsab_ports[inst * 2];
 
 	err = sunsab_init_one(&up[0], op,
-			      sizeof(union sab82532_async_regs),
+			      0,
 			      (inst * 2) + 0);
 	if (err)
 		return err;
 
-	err = sunsab_init_one(&up[1], op, 0,
+	err = sunsab_init_one(&up[1], op,
+			      sizeof(union sab82532_async_regs),
 			      (inst * 2) + 1);
 	if (err) {
 		of_iounmap(up[0].port.membase,
@@ -1061,8 +1062,8 @@ static int __devinit sab_probe(struct of
 		return err;
 	}
 
-	uart_add_one_port(&sunsab_reg, &up[1].port);
 	uart_add_one_port(&sunsab_reg, &up[0].port);
+	uart_add_one_port(&sunsab_reg, &up[1].port);
 
 	dev_set_drvdata(&op->dev, &up[0]);
 
@@ -1117,7 +1118,7 @@ static int __init sunsab_init(void)
 	int err;
 
 	num_channels = 0;
-	for_each_node_by_name(dp, "su")
+	for_each_node_by_name(dp, "se")
 		num_channels += 2;
 	for_each_node_by_name(dp, "serial") {
 		if (of_device_is_compatible(dp, "sab82532"))

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

* Re: 2.6.18-rc1 fails to boot on E250
  2006-07-14 23:53 2.6.18-rc1 fails to boot on E250 David Miller
                   ` (10 preceding siblings ...)
  2006-07-17 23:41 ` David Miller
@ 2006-07-18  6:25 ` Marc Zyngier
  2006-07-18  6:33 ` David Miller
  12 siblings, 0 replies; 14+ messages in thread
From: Marc Zyngier @ 2006-07-18  6:25 UTC (permalink / raw)
  To: sparclinux

>>>>> "David" = David Miller <davem@davemloft.net> writes:

David> Ok, your patch was only half-correct. :-) This patch below,
David> which goes on top of your's, fixes things up and also fixes a
David> problem with the uart table sizing in this driver.

Dave, you rock. :-)

The box booted all the way to userland, without any problem.

Thanks a lot for your help !

	M.
-- 
And if you don't know where you're going, any road will take you there...

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

* Re: 2.6.18-rc1 fails to boot on E250
  2006-07-14 23:53 2.6.18-rc1 fails to boot on E250 David Miller
                   ` (11 preceding siblings ...)
  2006-07-18  6:25 ` Marc Zyngier
@ 2006-07-18  6:33 ` David Miller
  12 siblings, 0 replies; 14+ messages in thread
From: David Miller @ 2006-07-18  6:33 UTC (permalink / raw)
  To: sparclinux

From: Marc Zyngier <maz@misterjones.org>
Date: Tue, 18 Jul 2006 08:25:17 +0200

> The box booted all the way to userland, without any problem.
> 
> Thanks a lot for your help !

Thanks for testing :)

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

end of thread, other threads:[~2006-07-18  6:33 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-07-14 23:53 2.6.18-rc1 fails to boot on E250 David Miller
2006-07-15  7:39 ` Marc Zyngier
2006-07-16  1:22 ` David Miller
2006-07-16 15:44 ` Marc Zyngier
2006-07-17  3:15 ` David Miller
2006-07-17  5:12 ` David Miller
2006-07-17  7:26 ` Marc Zyngier
2006-07-17  8:31 ` David Miller
2006-07-17 12:33 ` Marc Zyngier
2006-07-17 13:14 ` Marc Zyngier
2006-07-17 22:52 ` David Miller
2006-07-17 23:41 ` David Miller
2006-07-18  6:25 ` Marc Zyngier
2006-07-18  6:33 ` David Miller

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.