Port-powerpc archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
IBM 43P-150 support
Hello,
a little while ago I finally got my hands on an IBM 43P-150, and today
I got it to run NetBSD well enough to be useful. I'll commit the
necessary changes in the next few days.
Here's what needed attention:
- the BAT-mapping code in ofppc/machdep.c maps too much. We want PCI
memory and IO space, which is 0x80000000 - 0xfec00000, no more. Care
must be taken to *not* BAT-map anything beyond 0xff000000, but we do
want 0xf0000000 - 0xfeffffff since that's where IBM OF likes to put
BARs and the PCI IO space lives there too.
- the pckbd driver does not attach, it randomly fails the selftest in
pckbc_isa.c. Longer timeout, some changes to delay() from
evbppc/nintendo, and matching the keyboard controller's node name (
'8042' ) got it going.
- the 43P-150 has a prepivr, so we need options PIC_PREPIVR
- options PCI_NETBSD_CONFIGURE may move the graphics card's BARs around
which will mess up the early console
- IBM's OpenFirmware configures PCI cards on the primary bus but does
not enable them, so the ohci card I stuck in there would not attach
because memory space access was disabled. Simply enabling it made it
work.
- PICs cascaded to the openpic were registered with the wrong polarity,
see PR60640. I committed the fix earlier today.
- IBM OF doesn't seem to configure devices on the secondary PCI bus at
all
- the onboard audio thing is an ad1848, we have support in the kernel
but only as a component used by other drivers
- the ISA bus code should use OpenFirmware to find and attach devices
That being said, getting it to boot was quite easy - netbooting works
the same as on macppc or sparc64, and booting from disk only needs a
FAT partition with ofwboot in it, so you can 'boot disk:,\ofwboot',
which will find the NetBSD disklabel and load a kernel from an ffs1
partition. I *think* libsa supports ffs2 but that didn't work with
-current from a few days ago.
Here's some dmesg pr0n:
[ 1.000000] NetBSD 11.99.8 (GENERIC) #64: Sun Sep 6 11:29:39 EDT 2026
[ 1.000000] ml@paddy:/disk/build/obj_ofppc/sys/arch/ofppc/compile/GENERIC
[ 1.000000] Model: IBM,7043-150
[ 1.000000] total memory = 640 MB
[ 1.000000] avail memory = 609 MB
[ 1.000000] timecounter: Timecounters tick every 10.000 msec
[ 1.000000] bootpath: /pci@80000000/scsi@10/sd@6,0/netbsd
[ 1.000000] mainbus0 (root)
[ 1.000000] rtas0 at mainbus0: version 1, entry @pa 0x6db6dc
[ 1.000000] cpu0 at mainbus0: 604e (rev 1.2), ID 0 (primary)
[ 1.000000] cpu0: HID0 0xc001c086<EMCP,DBP,NHR,ICE,DCE,SGE,BHT,NOPDST>, powersave: 1
[ 1.000000] cpu0: 374.06 MHz
[ 1.000000] cpu0: L1 I-cache 32 KB 32B/line, D-cache 32 KB 32B/line
[ 1.000000] cpu0: L2 cache 1 MB 32B/line
[ 1.000000] ofwpci0 at mainbus0
[ 1.000000] io base=0x0 offset=0xfe000000 limit=0xc00000
[ 1.000000] mem base=0x80000000 offset=0x0 limit=0xfe000000
[ 1.000000] prepivr at 0xab41b000
[ 1.000000] Found openpic at fbec0000
[ 1.000000] OpenPIC Version 1.1: Supports 4 CPUs and 16 interrupt sources.
[ 1.000000] pci0 at ofwpci0 bus 0: OFW method configuration space access
[ 1.000000] pci0: i/o space, memory space enabled
[ 1.000000] pchb0 at pci0 dev 0 function 0
[ 1.000000] pchb0: vendor 1057 product 0002 (rev. 0x40)
[ 1.000000] pchb0: L2 cache: 1M, internally controlled write-back mode
[ 1.000000] pcib0 at pci0 dev 11 function 0: vendor 10ad product 0565 (rev. 0x10)
[ 1.000000] pcib0:
[ 1.000000] vendor 10ad product 0105 (IDE mass storage, interface 0x8f, revision 0x05) at pci0 dev 11 function 1 not configured
[ 1.000000] pcn0 at pci0 dev 12 function 0: AMD PCnet-PCI Ethernet
[ 1.000000] pcn0: Am79c971 PCnet-FAST rev 6, Ethernet address 00:04:ac:17:c5:ed
[ 1.000000] pcn0: interrupting at irq 22
[ 1.000000] nsphy0 at pcn0 phy 1: DP83840 10/100 media interface, rev. 1
[ 1.000000] nsphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
[ 1.000000] ukphy0 at pcn0 phy 31: OUI 0x000058, model 0x0001, rev. 1
[ 1.000000] ukphy0: 10baseT, 10baseT-FDX, auto
[ 1.000000] vendor 1014 product 0046 (undefined, subclass 0x00) at pci0 dev 13 function 0 not configured
[ 1.000000] esiop0 at pci0 dev 16 function 0: Symbios Logic 53c875 (ultra-wide scsi)
[ 1.000000] esiop0: using on-board RAM
[ 1.000000] esiop0: interrupting at irq 23
[ 1.000000] scsibus0 at esiop0: 16 targets, 8 luns per target
[ 1.000000] machfb0 at pci0 dev 18 function 0: vendor 1002 product 4752 (rev. 0x27)
[ 1.000000] machfb0: using MMIO aperture
[ 1.000000] machfb0: 16 MB aperture at 0xfc000000, 4 KB registers at 0xfbe9e000
[ 1.000000] machfb0: 128 KB ROM at 0xfbea0000
[ 1.000000] machfb0: 8192 KB SGRAM 114.992 MHz, maximum RAMDAC clock 230 MHz
[ 1.000000] machfb0: found composite sync disabled
[ 1.000000] machfb0: initial resolution 1280x1024 at 8 bpp
[ 1.000000] wsdisplay0 at machfb0 kbdmux 1: console (default, vt100 emulation)
[ 1.000000] wsmux1: connecting to wsdisplay0
[ 1.000000] direct rendering for machfb0 unsupported
[ 1.000000] ohci0 at pci0 dev 22 function 0: vendor 1045 product c861 (rev. 0x10)
[ 1.000000] csr: 02800140
[ 1.000000] ohci0: autoconfiguration error: memory access is disabled
[ 1.000000] ohci0: interrupting at irq 17
[ 1.000000] ohci0: OHCI version 1.0, legacy support
[ 1.000000] usb0 at ohci0: USB revision 1.0
[ 1.000000] ppb0 at pci0 dev 23 function 0: vendor 1014 product 0022 (rev. 0x01)
[ 1.000000] pci1 at ppb0 bus 1
[ 1.000000] pci1: i/o space, memory space enabled
[ 1.000000] isa0 at pcib0
[ 1.000000] com0 at isa0 port 0x3f8-0x3ff irq 4: ns16550a, 16-byte FIFO
[ 1.000000] com1 at isa0 port 0x2f8-0x2ff irq 3: ns16550a, 16-byte FIFO
[ 1.000000] pckbc0 at isa0 port 0x60-0x64
[ 1.000000] pckbd0 at pckbc0 (kbd slot)
[ 1.000000] pckbc0: using irq 1 for kbd slot
[ 1.000000] wskbd0 at pckbd0: console keyboard, using wsdisplay0
[ 1.000000] attimer0 at isa0 port 0x40-0x43
[ 1.000000] pcppi0 at isa0 port 0x61
[ 1.000000] fdc0 at isa0 port 0x3f0-0x3f7 irq 6 drq 2
[ 1.000000] attimer0: attached to pcppi0
[ 1.000000] vmmask 39800000 schedmask 39800000 highmask 7f800000
[ 1.000000] WARNING: system needs entropy for security; see entropy(7)
[ 1.000000] timecounter: Timecounter "mftb" frequency 20781582 Hz quality 100
[ 1.000061] timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0
[ 1.000061] scsibus0: waiting 2 seconds for devices to settle...
[ 1.023547] uhub0 at usb0: NetBSD (0x0000) OHCI root hub (0x0000), class 9/0, rev 1.00/1.00, addr 1
[ 1.023547] uhub0: 2 ports with 2 removable, self powered
[ 1.023547] fd0 at fdc0 drive 0: 1.44MB, 80 cyl, 2 head, 18 sec
[ 2.623509] uhidev0 at uhub0 port 1 configuration 1 interface 0
[ 2.623509] uhidev0: Logitech (0x046d) USB Trackball (0xc408), rev 1.10/14.00, addr 2, iclass 3/1
[ 2.643523] ums0 at uhidev0: 5 buttons
[ 2.643523] wsmouse0 at ums0 mux 0
[ 3.743511] uhidev1 at uhub0 port 2 configuration 1 interface 0
[ 3.743511] uhidev1: USB (0xc0f4) usb keyboard (0x07c0), rev 1.10/1.10, addr 3, iclass 3/1
[ 3.763524] ukbd0 at uhidev1
[ 3.763524] wskbd1 at ukbd0 mux 1
[ 3.763524] wskbd1: connecting to wsdisplay0
[ 3.763524] uhidev2 at uhub0 port 2 configuration 1 interface 1
[ 3.763524] uhidev2: USB (0xc0f4) usb keyboard (0x07c0), rev 1.10/1.10, addr 3, iclass 3/0
[ 3.793530] uhidev2: 2 report ids
[ 3.793530] uhid0 at uhidev2 reportid 1: input=2, output=0, feature=0
[ 3.793530] uhid1 at uhidev2 reportid 2: input=1, output=0, feature=0
[ 3.883509] cd0 at scsibus0 target 3 lun 0: <IBM, CDRM00203\000\000\000\000\000!K, 1_05> cdrom removable
[ 3.883509] cd0: sync (50.00ns offset 15), 16-bit (40.000MB/s) transfers
[ 14.463514] sd0 at scsibus0 target 6 lun 0: <IBM, DCAS-34330W, S65A> disk fixed
[ 14.523514] sd0: 4134 MB, 8205 cyl, 6 head, 171 sec, 512 bytes/sect x 8467200 sectors
[ 14.623518] sd0: sync (50.00ns offset 15), 16-bit (40.000MB/s) transfers, tagged queueing
[ 17.003516] WARNING: 1 error while detecting hardware; check system log.
[ 17.003516] boot device: sd0
[ 17.003516] root on sd0a dumps on sd0b
[ 17.043520] root file system type: ffs
[ 17.043520] kern.module.path=/stand/ofppc/11.99.8/modules
[ 19.423561] entropy: best effort
have fun
Michael
Home |
Main Index |
Thread Index |
Old Index