Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 10 Oct 2000 10:59:03 +0100
From:      Steve Roome <steve@sse0691.bri.hp.com>
To:        Frode Vatvedt Fjeld <frodef@acm.org>
Cc:        freebsd-multimedia@FreeBSD.ORG, Carl Makin <carl@stagecraft.cx>
Subject:   Re: xinerama + 2* MGA 2064W boards
Message-ID:  <20001010105903.A1660@moose.bri.hp.com>
In-Reply-To: <2haecd8b9v.fsf@dslab7.cs.uit.no>; from frodef@acm.org on Tue, Oct 10, 2000 at 08:23:40AM %2B0200
References:  <MailDrop1.2d7k-PPC.1001010123851@30.stagecraft.cx> <2haecd8b9v.fsf@dslab7.cs.uit.no>

next in thread | previous in thread | raw e-mail | index | archive | help

--BXVAT5kNtrzKuDFl
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Tue, Oct 10, 2000 at 08:23:40AM +0200, Frode Vatvedt Fjeld wrote:
> 
> > On Mon, 9 Oct 2000 18:11:44 +0100 steve@sse0691.bri.hp.com (Steve Roome)
> > wrote:
> > 
> > >I've got two Matrox Milleniums in this machine, its a dual processor
> > >(thought it should be dual head as well!) PPro 200.
> 
> Carl Makin <carl@stagecraft.cx> writes:
> 
> > I'm running XFree86 4.0.1 on 4.1-STABLE with two G200s in a Dell
> > 2300 Dual PIII/450 machine hooked to two 21 inch monitors.  It works
> > very well in dual headed mode. I've also had it working in Xinerama
> > but I couldn't find any window managers that supported xinerama in
> > any sensible way.
> 
> I'm also having no trouble with the recent 4.1.1-RELEASE and two MGA
> 2164W cards, one AGP and one PCI. I'm running them with XFree-4.0.1
> (from ports) in xinerama mode with twm. Works perfectly, virtual
> console switching and all. I'm not using any AGP kernel module (that I
> know of).

I've heard it works quite well, this machine predates AGP though. I
think it was the first machines I saw with DIMMS on it, before I'd
heard of them! I think that this particular model was one of the
top-a-the-range server types when it came out. Maybe there is more
useful info in the attached dmesg.

Well, I think I'm figuring this out :

I'm using 2 PCI Matrox Milleniums (version 1 I think, the MGA 2064W,
they came in these machines by default iirc. with 2MB).

pci0: <Matrox MGA Millennium 2064W graphics accelerator> at 12.0 irq 10
pci0: <Matrox MGA Millennium 2064W graphics accelerator> at 13.0 irq 11

I tried compiling a kernel with two vga devices :
device vga0 at isa?
device vga1 at isa?

Interestingly the only differences this made was that dmesg used to
say :

vga0: <Matrox MGA 2064W graphics accelerator> rev 0x01 int a irq 10 on pci0.11.0


but now says :
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0

(and also the processors are now 175MHz apparently, I'll check in the
BIOS, but I expect I've either rejumpered it dumbly or more likely
someone changed the timing code..)

I'm not sure what that's all about ?! Perhaps I should use device vga
at pci ?...  well I'm about to try that anyway.. just send this first,
I'll even try a generic "device vga" and see if it groks all the
devices.  [There's nothing in the vga manpage about it being able to
probe more than one standard vga device.. and I've not started poking
about in the code yet!]

Anyway.. here's the problem methinks, the output from scanpci -v and
pciconf -l[v].

The second graphics card, where scanpci is saying :

  BASE0     0xa0000000  addr 0xa0000000  MEM
  BASE1     0xa0800008  addr 0xa0800000  MEM PREFETCHABLE
  BASEROM   0xd0000000  addr 0xd0000000  not-decode-enabled

Certainly looks to me like it's not figured out what it should do with
this card, and I think (guess) the driver probably thinks that those
addresses are valid and setup by the BIOS or something, so it then
goes and just memmaps it or whatever with an inappropriate area of
memory as the framebuffer -> Crash.

That's my theory. hopefully someone very clueful has an idea ?!

Or better yet knows how to initialise these addresses to more
reasonable settings, in fact, I'd really like to have even just
text on the other screen. Not sure how you do that with TWO pci
cards, perhaps FreeBSD is just not cut out for that.

Ooh, now that's gotta count as bait! =) [not flamebait of course]

Thanks in advance,

	Steve

[side note, the -v on pciconf is my addition, it formats the output of
pciconf slightly better than the default version, and also displays in
english the class and subclass of the pci device, IMHO I think this is
really handy... As it's nice for pci devices that are
"none@pci.somewhere" to be shown as "VGA display device" rather than
poor Joe Random Novice having to go look up what class 0x030000 means
or install X for a decent version of scanpci. It's mickey mouse
code. Dunno why similar hasn't been put in the default version ?!]


--BXVAT5kNtrzKuDFl
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename=scanpci


pci bus 0x0 cardnum 0x00 function 0x0000: vendor 0x8086 device 0x0484
 Intel 82378IB/ZB pci-isa bridge
  STATUS    0x0200  COMMAND 0x0007
  CLASS     0x00 0x00 0x00  REVISION 0x88
  BYTE_0    0xf00d67  BYTE_1  0x00  BYTE_2  0x00  BYTE_3  0x00

pci bus 0x0 cardnum 0x01 function 0x0000: vendor 0x1095 device 0x0646
 CMD 646
  STATUS    0x0280  COMMAND 0x0005
  CLASS     0x01 0x01 0x8a  REVISION 0x01
  BIST      0x00  HEADER 0x00  LATENCY 0x30  CACHE 0x00
  BASE0     0x000001f1  addr 0x000001f0  I/O
  BASE1     0x000003f5  addr 0x000003f4  I/O
  BASE2     0x00000171  addr 0x00000170  I/O
  BASE3     0x00000375  addr 0x00000374  I/O
  BASE4     0x0000fc01  addr 0x0000fc00  I/O
  MAX_LAT   0x04  MIN_GNT 0x02  INT_PIN 0x01  INT_LINE 0x0e

pci bus 0x0 cardnum 0x02 function 0x0000: vendor 0x9004 device 0x8078
 Adaptec 7880
  STATUS    0x0280  COMMAND 0x0017
  CLASS     0x01 0x00 0x00  REVISION 0x00
  BIST      0x00  HEADER 0x00  LATENCY 0xf8  CACHE 0x08
  BASE0     0x0000f801  addr 0x0000f800  I/O
  BASE1     0xffbfc000  addr 0xffbfc000  MEM
  MAX_LAT   0x08  MIN_GNT 0x08  INT_PIN 0x01  INT_LINE 0x09
  BYTE_0    0x1580  BYTE_1  0x00  BYTE_2  0x00  BYTE_3  0x00

pci bus 0x0 cardnum 0x0c function 0x0000: vendor 0x102b device 0x0519
 Matrox MGA 2064W
  STATUS    0x0280  COMMAND 0x0080
  CLASS     0x03 0x00 0x00  REVISION 0x01
  BASE0     0xffbec000  addr 0xffbec000  MEM
  BASE1     0xff000008  addr 0xff000000  MEM PREFETCHABLE
  MAX_LAT   0x00  MIN_GNT 0x00  INT_PIN 0x01  INT_LINE 0x0a
  BYTE_0    0x5f000100  BYTE_1  0x00  BYTE_2  0x00  BYTE_3  0x00

pci bus 0x0 cardnum 0x0d function 0x0000: vendor 0x102b device 0x0519
 Matrox MGA 2064W
  STATUS    0x0280  COMMAND 0x0083
  CLASS     0x03 0x00 0x00  REVISION 0x01
  BASE0     0xa0000000  addr 0xa0000000  MEM
  BASE1     0xa0800008  addr 0xa0800000  MEM PREFETCHABLE
  BASEROM   0xd0000000  addr 0xd0000000  not-decode-enabled
  MAX_LAT   0x00  MIN_GNT 0x00  INT_PIN 0x01  INT_LINE 0x0b
  BYTE_0    0x5f2c0100  BYTE_1  0x00  BYTE_2  0x00  BYTE_3  0x00

pci bus 0x0 cardnum 0x0e function 0x0000: vendor 0x1022 device 0x2000
 AMD 79C970 Lance
 CardVendor 0x103c card 0x104c (HP, Card unknown)
  STATUS    0x0280  COMMAND 0x0007
  CLASS     0x02 0x00 0x00  REVISION 0x25
  BIST      0x00  HEADER 0x00  LATENCY 0xf8  CACHE 0x00
  BASE0     0x0000f401  addr 0x0000f400  I/O
  BASE1     0xffbdc000  addr 0xffbdc000  MEM
  BASEROM   0xfd000000  addr 0xfd000000  not-decode-enabled
  MAX_LAT   0xff  MIN_GNT 0x06  INT_PIN 0x01  INT_LINE 0x0b

pci bus 0x0 cardnum 0x14 function 0x0000: vendor 0x8086 device 0x84c5
 Intel 82450GX20
  STATUS    0x0080  COMMAND 0x0000
  CLASS     0x05 0x00 0x00  REVISION 0x04

pci bus 0x0 cardnum 0x19 function 0x0000: vendor 0x8086 device 0x84c4
 Intel P6
  STATUS    0x2200  COMMAND 0x0147
  CLASS     0x06 0x00 0x00  REVISION 0x04
  HEADER    0x00  LATENCY 0x20

--BXVAT5kNtrzKuDFl
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename=pciconf

isab0@pci0:0:0
	class=0x000000 card=0x00000000 chip=0x04848086 rev=0x88 hdr=0x00
	Device not classified.

atapci0@pci0:1:0
	class=0x01018a card=0x00000000 chip=0x06461095 rev=0x01 hdr=0x00
	IDE storage controller

ahc0@pci0:2:0
	class=0x010000 card=0x00000000 chip=0x80789004 rev=0x00 hdr=0x00
	SCSI storage controller

none0@pci0:12:0
	class=0x030000 card=0x00000000 chip=0x0519102b rev=0x01 hdr=0x00
	VGA display device

none1@pci0:13:0
	class=0x030000 card=0x00000000 chip=0x0519102b rev=0x01 hdr=0x00
	VGA display device

lnc0@pci0:14:0
	class=0x020000 card=0x104c103c chip=0x20001022 rev=0x25 hdr=0x00
	Ethernet network device

chip0@pci0:20:0
	class=0x050000 card=0x00000000 chip=0x84c58086 rev=0x04 hdr=0x00
	RAM Memory

chip1@pci0:25:0
	class=0x060000 card=0x00000000 chip=0x84c48086 rev=0x04 hdr=0x00
	Host bridge device


--BXVAT5kNtrzKuDFl
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename=dmesg

Copyright (c) 1992-2000 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
	The Regents of the University of California. All rights reserved.
FreeBSD 4.1-STABLE #1: Mon Oct  9 17:34:25 BST 2000
    root@moose.bri.hp.com:/usr/src/sys/compile/MOOSE
Timecounter "i8254"  frequency 1193182 Hz
CPU: Pentium Pro (175.77-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x619  Stepping = 9
  Features=0xfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV>
real memory  = 201326592 (196608K bytes)
avail memory = 192782336 (188264K bytes)
Changing APIC ID for IO APIC #0 from 16 to 2 in MP table
Changing APIC ID for IO APIC #0 from 0 to 2 on chip
Programming 16 pins in IOAPIC #0
IOAPIC #0 intpin 2 -> irq 0
FreeBSD/SMP: Multiprocessor motherboard
 cpu0 (BSP): apic id:  1, version: 0x00040011, at 0xfee00000
 cpu1 (AP):  apic id:  0, version: 0x00040011, at 0xfee00000
 io0 (APIC): apic id:  2, version: 0x000f0011, at 0xfec00000
Preloaded elf kernel "kernel" at 0xc0308000.
Preloaded userconfig_script "/boot/kernel.conf" at 0xc030809c.
Pentium Pro MTRR support enabled
md0: Malloc disk
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <Intel 82454KX/GX (Orion) host to PCI bridge> on motherboard
pci0: <PCI bus> on pcib0
isab0: <Intel 82378IB PCI to ISA bridge> at device 0.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <CMD 646 ATA controller> port 0xfc00-0xfc0f,0x374-0x377,0x170-0x17f,0x3f4-0x3f7,0x1f0-0x1ff irq 14 at device 1.0 on pci0
ata1: at 0x170 irq 15 on atapci0
ahc0: <Adaptec aic7880 Ultra SCSI adapter> port 0xf800-0xf8ff mem 0xffbfc000-0xffbfcfff irq 9 at device 2.0 on pci0
ahc0: Using left over BIOS settings
ahc0: aic7880 Single Channel A, SCSI Id=7, 16/255 SCBs
pci0: <Matrox MGA Millennium 2064W graphics accelerator> at 12.0 irq 10
pci0: <Matrox MGA Millennium 2064W graphics accelerator> at 13.0 irq 11
lnc0: <PCNet/PCI Ethernet adapter> port 0xf400-0xf41f mem 0xffbdc000-0xffbdc01f irq 11 at device 14.0 on pci0
lnc0: PCnet-FAST address 00:60:b0:3e:4b:76
lnc0: driver is using old-style compatability shims
chip0: <Intel 82453KX/GX (Orion) PCI memory controller> at device 20.0 on pci0
fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
kbd0 at atkbd0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model Generic PS/2 mouse, device ID 0
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1 at port 0x2f8-0x2ff irq 3 on isa0
sio1: type 16550A
ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/8 bytes threshold
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
ppi0: <Parallel I/O> on ppbus0
sb0 at port 0x220 irq 5 drq 1 on isa0
snd0: <SoundBlaster 16 4.13> 
sb0: driver is using old-style compatability shims
sbxvi0 at port 0xffffffff drq 5 on isa0
isa_compat: didn't get ports for sbxvi
snd0: <SoundBlaster 16 4.13> 
WARNING: "snd" is usurping "snd"'s cdevsw[]
sbxvi0: driver is using old-style compatability shims
sbmidi0 at port 0x330 on isa0
snd0: <SoundBlaster MPU-401> 
WARNING: "snd" is usurping "snd"'s cdevsw[]
sbmidi0: driver is using old-style compatability shims
APIC_IO: routing 8254 via IOAPIC #0 intpin 2
SMP: AP CPU #1 Launched!
acd0: CDROM <MATSHITA CR-583> at ata1-master using PIO3
Waiting 5 seconds for SCSI devices to settle
Mounting root from ufs:/dev/da0s1a
da0 at ahc0 bus 0 target 0 lun 0
da0: <QUANTUM XP34550S LXY1> Fixed Direct Access SCSI-2 device 
da0: 20.000MB/s transfers (20.000MHz, offset 15), Tagged Queueing Enabled
da0: 4341MB (8890760 512 byte sectors: 64H 32S/T 4341C)
WARNING: / was not properly dismounted
WARNING: R/W mount of / denied.  Filesystem is not clean - run fsck
link_elf: symbol splash_register undefined
lnc0: Memory error  -- Resetting

--BXVAT5kNtrzKuDFl--


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-multimedia" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20001010105903.A1660>