Re: FirePower (was Re: TODO list for ofppc)
Izumi Tsutsui <[email protected]> Fri, 25 Jan 2008 02:53:29 +0900
| Newsgroups | gmane.os.netbsd.ports.ofppc |
|---|---|
| Message-ID | <[email protected]> |
[email protected] wrote: > But then, we unconditionally do: > > extent_alloc_region(tag->pbs_extent, > holes[i].addr, holes[i].size, EX_NOWAIT); > > To map the holes. However, this is wrong, because the offset is different for > io and mem. it looks like the hole extent needs to be conditionalized on iomem. : > As a quick guess.. I would think your io extent for PCI_NETBSD_CONFIGURE would > be something like 0-8000. I change "holes[i].addr" to "holes[i].addr - tag->pbs_offset" in the extent_alloc_region(), also make I/O space region 0x100-0xffff and leave MATROX_MILLENNIUM vga in genofw_pci_conf_hook(), then I get: --- start=0x100000 Loaded initial symtab at 0x5431c0, strtab at 0x57beec, # entries 13643 Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 The NetBSD Foundation, Inc. All rights reserved. Copyright (c) 1982, 1986, 1989, 1991, 1993 The Regents of the University of California. All rights reserved. NetBSD 4.99.49 (DEBUG) #15: Fri Jan 25 02:34:43 JST 2008 tsutsui@mirage:/usr/src/sys/arch/ofppc/compile/DEBUG total memory = 128 MB avail memory = 117 MB bootpath: /pci/ethernet@4/netbsd.ofppc mainbus0 (root) cpu0 at mainbus0: 604e (Revision 2.3), ID 0 (primary) cpu0: HID0 8000c084<EMCP,ICE,DCE,SGE,BHT>, powersave: 1 cpu0: 166.67 MHz ofwpci0 at mainbus0 found a map reclen=5 cur=0 len=60 FOUND PCI RANGE FOUND PCI RANGE FOUND PCI RANGE returning with CUR=3 cur == 3 addr=0x80000000 size=0x10000 type=1 addr=0x81000000 size=0x3e800000 type=1 addr=0xc0000000 size=0x3c000000 type=2 range==0 i==0 range==1 i==1 RANGE iomem=1 FOUND addr=0x80000000 size=0x3f800000 type=1 HOLES FOUND addr=0x80010000 size=0xfeffff type=-1 found a map reclen=5 cur=0 len=60 FOUND PCI RANGE FOUND PCI RANGE FOUND PCI RANGE returning with CUR=3 cur == 3 addr=0x80000000 size=0x10000 type=1 addr=0x81000000 size=0x3e800000 type=1 addr=0xc0000000 size=0x3c000000 type=2 range==2 i==0 RANGE iomem=2 FOUND addr=0xc0000000 size=0x3c000000 type=2 HOLES FOUND pci0 at ofwpci0 bus 0: OFW method configuration space access pchb0 at pci0 dev 0 function 0 pchb0: IBM 82660 PowerPC to PCI Bridge and Memory Controller (rev. 0x02) pchb0: L1: enabled L2: enabled pchb0: DRAM EDO (ECC) SRAM sync pcib0 at pci0 dev 1 function 0: Symphony Labs 83C553 PCI-ISA Bridge (rev. 0x05) pciide0 at pci0 dev 1 function 1 pciide0: Symphony Labs 82C105 (rev. 0x05) pciide0: couldn't map native-PCI interrupt pciide0: couldn't map native-PCI interrupt esiop0 at pci0 dev 2 function 0: Symbios Logic 53c825a (fast wide scsi) esiop0: using on-board RAM esiop0: interrupting at irq 15 esiop0: alloc new tag DSA table at PHY addr 0x8dc000 scsibus0 at esiop0: 16 targets, 8 luns per target tlp0 at pci0 dev 4 function 0: DECchip 21140A Ethernet, pass 2.2 tlp0: sorry, unable to handle your board Matrox MGA Millennium 2064W ("Storm") (VGA display, revision 0x01) at pci0 dev 8 function 0 not configured isa0 at pcib0 lpt0 at isa0 port 0x3bc-0x3bf irq 7 com0 at isa0 port 0x3f8-0x3ff irq 4: ns16550a, working fifo com0: console com1 at isa0 port 0x2f8-0x2ff irq 3: ns16550a, working fifo attimer0 at isa0 port 0x40-0x43: AT Timer pcppi0 at isa0 port 0x61 pcppi0: attached to attimer0 biomask 8000006 netmask 8000006 ttymask 8000006 raidattach: Asked for 8 units Kernelized RAIDframe activated scsibus0: waiting 2 seconds for devices to settle... esiop0: alloc newcdb at PHY addr 0x8dd000 probe(esiop0:0:0:0): command timeout, CDB: 0x12 00 00 00 24 00 [break here] Stopped in pid 0.2 (system) at netbsd:cpu_Debugger+0x10: lwz r0, r1, 0 x14 db> tr 0x005b4f10: at comintr+0x568 0x005b4f50: at pic_handle_intr+0x17c 0x005b4fa0: at trapstart+0x8fc 0xa9b96ee0: at lwp_park_tab+0xc3c 0xa9b96ef0: at idle_loop+0xc8 0xa9b96f40: at emptyidlespin+0x10 0xa9b96f50: at _prop_dictionary_keysym32_pool+0xffabcf34 db> --- Looks iomem space still has some problem, but not so bad.. --- Izumi Tsutsui