linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* Re: 2.3 on 850
       [not found] <38C82F79.2094DDEF@amberdata.demon.co.uk>
@ 2000-03-10 12:38 ` Gabriel Paubert
  2000-03-10 20:01   ` David Monro
  0 siblings, 1 reply; 3+ messages in thread
From: Gabriel Paubert @ 2000-03-10 12:38 UTC (permalink / raw)
  To: David Monro
  Cc: Hollis R Blanchard, Linux/ppc Workstation List,
	Linux/ppc Dev List




On Thu, 9 Mar 2000, David Monro wrote:

> Well I've had a little look at this today, and something is a bit
> twisted. I've compiled it up with no vga console or framebuffer built
> in, just the serial console. I get some interesting output:
>
> loaded at:     00480410 00495230
> relocated to:  00800000 00814E20
> board data at: 00121FE0 001289EC
> relocated to:  0080E314 00814D20
> zimage at:     0048B410 0053054E
> relocated to:  00815000 008BA13E
> avail ram:     00400000 00800000
>
> Linux/PPC load: console=ttyS0,9600 hdc=swapdata hda=3079,64,32
> root=/dev/hda5 -b
> Uncompressing
> Linux...done.
> Now booting the kernel
> PReP architecture
> Total memory = 160MB; using 1024kB for hash table (at c0300000)
> Linux version 2.3.50 (davidm@fuzzbox) (gcc version 2.95.2 19991024
> (release)) #2 Thu Mar 9 22:37:05 GMT 2000
> kmem_alloc: NULL ptr (name=unknown)
> Boot arguments:
> kmem_alloc: NULL ptr (name=unknown)
> kmem_alloc: NULL ptr (name=unknown)
> kmem_alloc: NULL ptr (name=unknown)
> kmem_alloc: NULL ptr (name=unknown)
> kmem_alloc: NULL ptr (name=unknown)
> kmem_alloc: NULL ptr (name=unknown)
> On node 0 totalpages: 40960
> zone(0): 40960 pages.
> zone(1): 0 pages.
> zone(2): 0 pages.
>
> What happened to my boot arguments?????

Don't know, perhaps problems with this bootinfo thing...


> Further down:
> Setting PCI interrupts for a "IBM 8xx (Carolina)"
> Relocating PCI address 20000000 -> 1000000
> PCI: Address space collision on region 0 of device Symbios Logic Inc.
> (formerly NCR) 53c825
> PCI: Address space collision on region 0 of device Weitek P9100
> PCI: Address space collision on region 6 of device Weitek P9100
>
> This is sort of OK. What has happened here is that the '825 has an I/O
> region at 0x01000000, and the P9100 has a memory region as 0x01000000.

Is it an I/O or a memory region ? Anyway the remapping in the kernel
is dangerous and something is wrong as soon as you get this kind of
message (except for the ROM). I solved the problem in my bootloader
by reallocating all PCI resources from scratch, making sure there would
never be any conflict.

> Is this legal or not? The collision on address space 6 is almost
> certainly the bios at 0xc0000 clashing with the one for the onboard S3
> 864. Since the P9100 doesn't actually have a bios in the rom socket I'm
> not too worried about this :-)

Even then, it means that 2 slaves might respond to an acess at ISA memory
space at 0xc0000 if both ROMs are enabled, and cause conflicts on the bus.
The other one is definitely serious. what do /proc/ioports /proc/iomem and
/proc/pci (or lspci -vvxxx) report ?

FYI that's what I get on my boards:
[root@vcorr1 linux-test]# cat /proc/ioports
00000000-0000001f : dma1
00000020-0000003f : pic1
00000040-0000005f : timer
00000074-00000077 : PreP NVRAM
00000080-0000008f : dma page reg
000000a0-000000bf : pic2
000000c0-000000df : dma2
00000170-00000177 : Symphony Labs SL82c105
000001f0-000001f7 : Symphony Labs SL82c105
000002f8-000002ff : serial(auto)
00000376-00000376 : Symphony Labs SL82c105
000003c0-000003df : vga+
000003f6-000003f6 : Symphony Labs SL82c105
000003f8-000003ff : serial(auto)
00010000-000100ff : Symbios Logic Inc. (formerly NCR) 53c825
  00010000-0001007f : ncr53c8xx
00010100-0001017f : Digital Equipment Corporation DECchip 21140 [FasterNet]
  00010100-0001017f : DC21140 (eth0)
00010180-0001018f : Symphony Labs SL82c105
00010190-0001019f : Symphony Labs SL82c105

[root@vcorr1 linux-test]# cat /proc/iomem
fc6b0000-fc6bffff : S3 Inc. 86c764/765 [Trio32/64/64V+]
fc6c0000-fc6fffff : Digital Equipment Corporation DECchip 21140 [FasterNet]
fc7aee80-fc7aeeff : Digital Equipment Corporation DECchip 21140 [FasterNet]
fc7aef00-fc7aefff : Symbios Logic Inc. (formerly NCR) 53c825
fc7af000-fc7affff : Symbios Logic Inc. (formerly NCR) 53c825
fc7b0000-fc7bffff : Tundra Semiconductor Corp. CA91C042 [Universe]
fc7c0000-fc7fffff : Motorola Raven
fc800000-fcffffff : S3 Inc. 86c764/765 [Trio32/64/64V+]

(the first 2 are ROMs although there is no actual ROM on the Ethernet chip)

[root@vcorr1 linux-test]# cat /proc/pci
PCI devices found:
  Bus  0, device   0, function  0:
    Host bridge: Motorola Raven (rev 1).
      I/O at 0x0 [0xffff].
      Non-prefetchable 32 bit memory at 0xfc7c0000 [0xfc7fffff].
  Bus  0, device  11, function  0:
    ISA bridge: Symphony Labs W83C553 (rev 4).
  Bus  0, device  11, function  1:
    IDE interface: Symphony Labs SL82c105 (rev 5).
      Master Capable.  No bursts.  Min Gnt=2.Max Lat=40.
      I/O at 0x1f0 [0x1f7].
      I/O at 0x3f6 [0x3f6].
      I/O at 0x170 [0x177].
      I/O at 0x376 [0x376].
      I/O at 0x10190 [0x1019f].
      I/O at 0x10180 [0x1018f].
  Bus  0, device  12, function  0:
    SCSI storage controller: Symbios Logic Inc. (formerly NCR) 53c825 (rev 19).
      IRQ 19.
      Master Capable.  Latency=128.  Min Gnt=17.Max Lat=64.
      I/O at 0x10000 [0x100ff].
      Non-prefetchable 32 bit memory at 0xfc7aef00 [0xfc7aefff].
      Non-prefetchable 32 bit memory at 0xfc7af000 [0xfc7affff].
  Bus  0, device  13, function  0:
    Bridge: Tundra Semiconductor Corp. CA91C042 [Universe] (rev 0).
      IRQ 21.
      Master Capable.  No bursts.  Min Gnt=3.
      Non-prefetchable 32 bit memory at 0xfc7b0000 [0xfc7bffff].
  Bus  0, device  14, function  0:
    Ethernet controller: Digital Equipment Corporation DECchip 21140 [FasterNet] (rev 32).
      IRQ 18.
      Master Capable.  Latency=96.  Min Gnt=20.Max Lat=40.
      I/O at 0x10100 [0x1017f].
      Non-prefetchable 32 bit memory at 0xfc7aee80 [0xfc7aeeff].
  Bus  0, device  16, function  0:
    VGA compatible controller: S3 Inc. 86c764/765 [Trio32/64/64V+] (rev 0).
      IRQ 25.
      Non-prefetchable 32 bit memory at 0xfc800000 [0xfcffffff].


	Gabriel.


** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

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

* Re: 2.3 on 850
  2000-03-10 12:38 ` 2.3 on 850 Gabriel Paubert
@ 2000-03-10 20:01   ` David Monro
  2000-03-11 17:19     ` Gabriel Paubert
  0 siblings, 1 reply; 3+ messages in thread
From: David Monro @ 2000-03-10 20:01 UTC (permalink / raw)
  To: Gabriel Paubert; +Cc: Linux/ppc Workstation List, Linux/ppc Dev List


Gabriel Paubert wrote:
>
[..]
> > What happened to my boot arguments?????
>
> Don't know, perhaps problems with this bootinfo thing...
?? What's this?

>
> > Further down:
> > Setting PCI interrupts for a "IBM 8xx (Carolina)"
> > Relocating PCI address 20000000 -> 1000000
> > PCI: Address space collision on region 0 of device Symbios Logic Inc.
> > (formerly NCR) 53c825
> > PCI: Address space collision on region 0 of device Weitek P9100
> > PCI: Address space collision on region 6 of device Weitek P9100
> >
> > This is sort of OK. What has happened here is that the '825 has an I/O
> > region at 0x01000000, and the P9100 has a memory region as 0x01000000.
>
> Is it an I/O or a memory region ? Anyway the remapping in the kernel
> is dangerous and something is wrong as soon as you get this kind of
> message (except for the ROM). I solved the problem in my bootloader
> by reallocating all PCI resources from scratch, making sure there would
> never be any conflict.

Fair enough :-) I'll have to grab your bootloader code and have a
play...
>
> > Is this legal or not? The collision on address space 6 is almost
> > certainly the bios at 0xc0000 clashing with the one for the onboard S3
> > 864. Since the P9100 doesn't actually have a bios in the rom socket I'm
> > not too worried about this :-)
>
> Even then, it means that 2 slaves might respond to an acess at ISA memory
> space at 0xc0000 if both ROMs are enabled, and cause conflicts on the bus.
> The other one is definitely serious. what do /proc/ioports /proc/iomem and
> /proc/pci (or lspci -vvxxx) report ?

The rom area is marked disabled for both video devices in lspci.

Having finally managed to get a shell on this thing using a floppy for
the root fs:
/proc/ioports:
000001f0-000001f0 : ide0
000001f1-000001f1 : ide0
000001f2-000001f2 : ide0
000001f3-000001f3 : ide0
000001f4-000001f4 : ide0
000001f5-000001f5 : ide0
000001f6-000001f6 : ide0
000001f7-000001f7 : ide0
000002f8-000002ff : serial(auto)
000003f6-000003f6 : ide0
000003f8-000003ff : serial(auto)
00001000-00001007 : IBM Fire Coral
00009032-00009032 : ide0
01000200-0100021f : Advanced Micro Devices [AMD] 79c970 [PCnet LANCE]

/proc/iomem:
000c0000-000cffff : S3 Inc. 86c864 [Vision 864 DRAM] vers 1
013fff00-013fffff : Symbios Logic Inc. (formerly NCR) 53c825

/proc/pci (don't have lspci on floppy):
PCI devices found:
  Bus  0, device   0, function  0:
    Host bridge: Motorola MPC105 [Eagle] (rev 36).
  Bus  0, device  11, function  0:
    ISA bridge: IBM Fire Coral (rev 2).
      I/O at 0x1000 [0x1007].
  Bus  0, device  12, function  0:
    Ethernet controller: Advanced Micro Devices [AMD] 79c970 [PCnet
LANCE] (rev 22).
      IRQ 15.
      Master Capable.  Latency=211.  Min Gnt=6.Max Lat=255.
      I/O at 0x1000200 [0x100021f].
      Non-prefetchable 32 bit memory at 0x0 [0x1f].
  Bus  0, device  14, function  0:
    VGA compatible unclassified device: S3 Inc. 86c864 [Vision 864 DRAM]
vers 1 (rev 0).
      IRQ 10.
      Non-prefetchable 32 bit memory at 0x0 [0x7fffff].
  Bus  0, device  18, function  0:
    SCSI storage controller: Symbios Logic Inc. (formerly NCR) 53c825
(rev 2).
      IRQ 10.
      Master Capable.  Latency=128.
      I/O at 0x1000000 [0x200000ff].
      Non-prefetchable 32 bit memory at 0x13fff00 [0x13fffff].
  Bus  0, device  22, function  0:
    VGA compatible controller: Weitek P9100 (rev 0).
      IRQ 10.
      Non-prefetchable 32 bit memory at 0x1000000 [0x1ffffff].

As you can see, it's a bit of a mess! I've no idea what it thinks is in
the way of the second set of ide ports. The end address of the '825 I/O
regioin hasn't been remapped, so it clashes with the lance. The lance
and the S3 864 both have memory at 0x0? and the memory area for the 825
is right in the middle of the P9100 area. Yuck!

It looks a little bit different (and somewhat saner) under 2.2:
/proc/ioports:
0000-001f : dma1
0020-003f : pic1
0040-005f : timer
0074-007b : PReP NVRAM
0080-008f : dma page reg
00a0-00bf : pic2
00c0-00df : dma2
0170-0177 : ide1
01f0-01f7 : ide0
02f8-02ff : serial(set)
0376-0376 : ide1
03f6-03f6 : ide0
03f8-03ff : serial(set)
1000200-100021f : PCnet/PCI II 79C970A


lspci -v
00:00.0 Host bridge: Motorola MPC105 [Eagle] (rev 24)
        Flags: bus master, fast devsel, latency 0

00:0b.0 ISA bridge: IBM Fire Coral (rev 02)
        Flags: bus master, slow devsel, latency 0
        I/O ports at 1000

00:0c.0 Ethernet controller: Advanced Micro Devices [AMD] 79c970 [PCnet
LANCE] (rev 16)
        Flags: bus master, medium devsel, latency 211, IRQ 15
        I/O ports at 1000200

00:0e.0 VGA compatible unclassified device: S3 Inc. 86c864 [Vision 864
DRAM] vers 1
        Flags: medium devsel, IRQ 10
        Expansion ROM at 000c0000 [disabled]

00:12.0 SCSI storage controller: Symbios Logic Inc. (formerly NCR)
53c825 (rev 02)
        Flags: medium devsel, IRQ 10
        I/O ports at 1000000 [disabled]
        Memory at 013fff00 (32-bit, non-prefetchable) [disabled]

00:16.0 VGA compatible controller: Weitek P9100 (prog-if 00 [VGA])
        Flags: stepping, medium devsel, IRQ 10
        Memory at 01000000 (32-bit, non-prefetchable)
        Expansion ROM at 000c0000 [disabled]

Cheers,

	David

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

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

* Re: 2.3 on 850
  2000-03-10 20:01   ` David Monro
@ 2000-03-11 17:19     ` Gabriel Paubert
  0 siblings, 0 replies; 3+ messages in thread
From: Gabriel Paubert @ 2000-03-11 17:19 UTC (permalink / raw)
  To: David Monro; +Cc: Linux/ppc Workstation List, Linux/ppc Dev List


On Fri, 10 Mar 2000, David Monro wrote:

> Having finally managed to get a shell on this thing using a floppy for
> the root fs:
> /proc/ioports:
> 000001f0-000001f0 : ide0
> 000001f1-000001f1 : ide0
> 000001f2-000001f2 : ide0
> 000001f3-000001f3 : ide0
> 000001f4-000001f4 : ide0
> 000001f5-000001f5 : ide0
> 000001f6-000001f6 : ide0
> 000001f7-000001f7 : ide0

Wow why not 1f0-1f7 ?

> 000002f8-000002ff : serial(auto)
> 000003f6-000003f6 : ide0
> 000003f8-000003ff : serial(auto)
> 00001000-00001007 : IBM Fire Coral
> 00009032-00009032 : ide0
> 01000200-0100021f : Advanced Micro Devices [AMD] 79c970 [PCnet LANCE]
>
> /proc/iomem:
> 000c0000-000cffff : S3 Inc. 86c864 [Vision 864 DRAM] vers 1
> 013fff00-013fffff : Symbios Logic Inc. (formerly NCR) 53c825
>
> /proc/pci (don't have lspci on floppy):

no problem, cat /proc/pci is enough...

> PCI devices found:
>   Bus  0, device   0, function  0:
>     Host bridge: Motorola MPC105 [Eagle] (rev 36).
>   Bus  0, device  11, function  0:
>     ISA bridge: IBM Fire Coral (rev 2).
>       I/O at 0x1000 [0x1007].
>   Bus  0, device  12, function  0:
>     Ethernet controller: Advanced Micro Devices [AMD] 79c970 [PCnet LANCE] (rev 22).
>       IRQ 15.
>       Master Capable.  Latency=211.  Min Gnt=6.Max Lat=255.
>       I/O at 0x1000200 [0x100021f].
>       Non-prefetchable 32 bit memory at 0x0 [0x1f].
>   Bus  0, device  14, function  0:
>     VGA compatible unclassified device: S3 Inc. 86c864 [Vision 864 DRAM]
> vers 1 (rev 0).
>       IRQ 10.
>       Non-prefetchable 32 bit memory at 0x0 [0x7fffff].

Not allocated, setting a base register to 0 disables the corresponding
decoder in theory, but many devices forget that PCI spec requirement...

>   Bus  0, device  18, function  0:
>     SCSI storage controller: Symbios Logic Inc. (formerly NCR) 53c825
> (rev 2).
>       IRQ 10.
>       Master Capable.  Latency=128.
>       I/O at 0x1000000 [0x200000ff].

Wow, that's definitely a bug I had not noticed. When remapping, both the
start and end of the resource struct should be modified, else it looks
like it uses from 0x1000000 to 0x200000ff, or 512Mb - 16Mb + 256b which is
quite funny. The fix is easy: modify both the start and end of the
resource in arch/ppc/kernel/prep_pci.c in the loop with the "relocating"
message. It won't prevent conflicts from happening however...


>       Non-prefetchable 32 bit memory at 0x13fff00 [0x13fffff].
>   Bus  0, device  22, function  0:
>     VGA compatible controller: Weitek P9100 (rev 0).
>       IRQ 10.
>       Non-prefetchable 32 bit memory at 0x1000000 [0x1ffffff].

These two overlap.

>
> As you can see, it's a bit of a mess! I've no idea what it thinks is in
> the way of the second set of ide ports. The end address of the '825 I/O
> regioin hasn't been remapped, so it clashes with the lance. The lance
> and the S3 864 both have memory at 0x0? and the memory area for the 825
> is right in the middle of the P9100 area. Yuck!

As you say (only memory at zero is not a problem if devices are
correctly implemented)...



>
> It looks a little bit different (and somewhat saner) under 2.2:
> /proc/ioports:
> 0000-001f : dma1
> 0020-003f : pic1
> 0040-005f : timer
> 0074-007b : PReP NVRAM
> 0080-008f : dma page reg
> 00a0-00bf : pic2
> 00c0-00df : dma2
> 0170-0177 : ide1
> 01f0-01f7 : ide0
> 02f8-02ff : serial(set)
> 0376-0376 : ide1
> 03f6-03f6 : ide0
> 03f8-03ff : serial(set)
> 1000200-100021f : PCnet/PCI II 79C970A
>
>
> lspci -v
> 00:00.0 Host bridge: Motorola MPC105 [Eagle] (rev 24)
>         Flags: bus master, fast devsel, latency 0
>
> 00:0b.0 ISA bridge: IBM Fire Coral (rev 02)
>         Flags: bus master, slow devsel, latency 0
>         I/O ports at 1000
>
> 00:0c.0 Ethernet controller: Advanced Micro Devices [AMD] 79c970 [PCnet
> LANCE] (rev 16)
>         Flags: bus master, medium devsel, latency 211, IRQ 15
>         I/O ports at 1000200
>
> 00:0e.0 VGA compatible unclassified device: S3 Inc. 86c864 [Vision 864
> DRAM] vers 1
>         Flags: medium devsel, IRQ 10
>         Expansion ROM at 000c0000 [disabled]
>
> 00:12.0 SCSI storage controller: Symbios Logic Inc. (formerly NCR)
> 53c825 (rev 02)
>         Flags: medium devsel, IRQ 10
>         I/O ports at 1000000 [disabled]
>         Memory at 013fff00 (32-bit, non-prefetchable) [disabled]
>
> 00:16.0 VGA compatible controller: Weitek P9100 (prog-if 00 [VGA])
>         Flags: stepping, medium devsel, IRQ 10
>         Memory at 01000000 (32-bit, non-prefetchable)

Still conflicts with the memory from the 53c825. No problem as long as
it's disabled.

>         Expansion ROM at 000c0000 [disabled]
>

	Gabriel.

** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/

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

end of thread, other threads:[~2000-03-11 17:19 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <38C82F79.2094DDEF@amberdata.demon.co.uk>
2000-03-10 12:38 ` 2.3 on 850 Gabriel Paubert
2000-03-10 20:01   ` David Monro
2000-03-11 17:19     ` Gabriel Paubert

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).