Date: Sat, 13 Apr 2019 00:50:03 -0700 From: Mark Millard <marklmi@yahoo.com> To: FreeBSD PowerPC ML <freebsd-ppc@freebsd.org> Subject: Re: usefdt boot mode on 2-socket/1-core-each G5 PowerMac7, 2: visible progress (using vt, not sc), new visible stopping point Message-ID: <CC9016A8-0B74-4F5A-8B60-73CA621976B1@yahoo.com> In-Reply-To: <C8C161E7-2775-49D2-8AE3-C2731E474282@yahoo.com> References: <1D304FA7-6319-4BBD-BA76-E616C9107F73@yahoo.com> <C8C161E7-2775-49D2-8AE3-C2731E474282@yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2019-Apr-12, at 21:51, Mark Millard <marklmi@yahoo.com> wrote: > [More details on where the failure stage is.] >=20 > On 2019-Apr-12, at 20:49, Mark Millard <marklmi at yahoo.com> wrote: >=20 >> [I experiment with more modern tools and such for targeting >> powerpc64. Also with non-default modern modes of operation, >> such as usefdt mode. I had to patch the openfirmware->fdt >> translation to allow a 2-socket/1-core-each G4 PowerMac3,6 >> to boot normally, with the ethernet present (and operable).] >>=20 >> Turns out that I had been using: >>=20 >> kern.vty=3Dsc >>=20 >> and for some reason this stops visible output just after >> "Kernel entry at . . .". (I've no clue if there is hidden >> activity vs. it just stopped there.) But with: >>=20 >> kern.vty=3Dvt >>=20 >> the PowerMac7,2 visibly gets farther, though it fails >> to finish booting in usefdt mode. >>=20 >> The new visible stopping point is (typed from a picture >> of boot -v output for usefdt mode): >>=20 >> atapci1: <ServerWorks K2 SATA150 controller> at device 12.1 on pci8 >> pcib1: failed to reserve resource for pcib8 >> pcib8: failed to allocate initial I/O port window (0-0xffffffff,0x10) >> atapci1: 0x10 bytes of rid 0x28 res 4 failed (0, 0xffffffffffffffff). >> atapci1: unable to map interrupt >> device_attach: atapci1 attach returned 6 >> ofwbus0: <vsp> mem 0xf9000000-0xf9ffffff irq 43 type vsp compat = u3-vsp (no driver attached) >> cryptosoft0: <software crypto> on nexus0 >> crypto: assign cryptosoft0 driver id 0, flags 0x6000000 >>=20 >> (I'll not repeat the long list of crypto registers/alg/flags/maxoplen = lines.) >>=20 >> Later material below suggests that the above is not the >> cause of stopping: a non-usefdt boot finishes but also >> has such text. >>=20 >> Of course some material scrolled off screen. So from >> attempting booting again, but without -v , there is >> before the above: >>=20 >> atapci0: <ServerWorks K2 SATA150 controller> mem = 0x80600000-0x80601fff irq 33554432 at device 12.0 on pci8 >> pcib1: failed to reserve resource for pcib8 >> atapci0: 0x10 bytes of rid 0x20 res 4 failed (0, 0xffffffffffffffff). >> ata2: <ATA channel> at channel 0 on atapci0 >> ata3: <ATA channel> at channel 1 on atapci0 >> ata4: <ATA channel> at channel 2 on atapci0 >> ata5: <ATA channel> at channel 3 on atapci0 >>=20 >>=20 >> A non-usefdt mode (so normal openfirmware mode) boot works >> and shows similar output: >>=20 >> atapci0: <ServerWorks K2 SATA150 controller> mem = 0x80600000-0x80601fff irq 33554432 at device 12.0 on pci8 >> pcib1: failed to reserve resource for pcib8 >> atapci0: 0x10 bytes of rid 0x20 res 4 failed (0, 0xffffffffffffffff). >> ata2: <ATA channel> at channel 0 on atapci0 >> ata3: <ATA channel> at channel 1 on atapci0 >> ata4: <ATA channel> at channel 2 on atapci0 >> ata5: <ATA channel> at channel 3 on atapci0 >> atapci1: <ServerWorks K2 SATA150 controller> at device 12.1 on pci8 >> pcib1: failed to reserve resource for pcib8 >> atapci1: 0x10 bytes of rid 0x20 res 4 failed (0, 0xffffffffffffffff). >> atapci1: unable to map interrupt >> device_attach: atapci1 attach returned 6 >> cryptosoft0: <software crypto> on nexus0 >>=20 >> This suggests that such text is normal and the hangup is >> for some other reason. It just suggests a time frame. >>=20 >> After that for non-usefdt mode is: >>=20 >> Timecounter "timebase" frequency 33333333 Hz quality 0 >> Event timer "decrementer" frequency 33333333 Hz quality 1000 >> Timecounters tick every 1.000 msec >>=20 >> and so on. Such does not show up for usefdt mode. >=20 >=20 >=20 >=20 > subsystem 3800000 > configure_first(0)... done. > module_register_init(&ata_moduledata)... done. > fbd_evh_init(0)... done. > module_register_init(&cam_moduledata)... done. > configure(0)... ofwbus0: <Open Firmware Device Tree> on nexus0 > . . . > cryptosoft0: <software crypto> on nexus0 > done. > cn_drvinit(0)... done. > mpt_postattach(0)... done. > cn_drvinit(0)... done. > vmem_start_callout(0)... done. > vm_lowmem_evh_init(0)... done. > mountroot_evh_init(0)... done. > ifaddr_event_ext_evh_init(0)... done. > configure_final(0)...=20 >=20 > (That is the end of the output.) >=20 > So during: >=20 > SI_SUB_CONFIGURE =3D 0x3800000, /* Configure devices */ >=20 > for: >=20 > static void > configure_final(void *dummy) > { >=20 > /* > * Now that we're guaranteed to have a PIC driver (or we'll = never > * have one), program it with all the previously setup = interrupts. > */ > powerpc_enable_intr(); >=20 > /* Enable external interrupts. */ > mtmsr(mfmsr() | PSL_EE); >=20 > cninit_finish(); > cold =3D 0; > } >=20 >=20 With printf's added: printf("After powerpc_enable_intr; before mtmsr masking in = PSL_EE\n"); /* Enable external interrupts. */ mtmsr(mfmsr() | PSL_EE); printf("After mtmsr masking in PSL_EE; before cninit_finish\n"); the first printf shows up and the second does not. =3D=3D=3D Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CC9016A8-0B74-4F5A-8B60-73CA621976B1>