<HTML><BODY>Hello,<br><br><br>now finally, but without time to instruct newcomers.<br>I only post this _early_ to prove I'm not talking about hot air / vapoware.<br><br>At the moment - when building with gcc - I get an assertiob error and resulting panic _also_ on Sol11.1++ (unlike 2 weeks ago when mostly building with the redistributable osol Studio12.1).<br><br>However, I attach the old module bins from two weeks ago.<br>I said I won't instruct end-users, this means I won't mention that you first need a worjing agpgart and also not (beyond this short note), that on Illumos kernels it is necessary to manyally correct a symlink in /dev/dri.<br><br><br>Because even after the user finally has a working agpgart, Illumos' DDI/DKI for some reason creates a wrong symlink during initialization.<br><br><br>Example:<br><br>GOOD:<br><br>ls -al /dev/dri<br>total 11<br>drwxr-xr-x   5 root root   5 Nov 24 10:41 .<br>drwxr-xr-x 282 root root 282 Dec 10 17:32 ..<br>lrwxrwxrwx   1 root root  36 Nov 24 09:55 card0 -> ../../devices/pci@0,0/display@2:drm0<br>lrwxrwxrwx   1 root root  42 Nov 24 10:02 controlD64 -> ../../devices/pci@0,0/display@2:controlD64<br>root@opensxce:~#<br><br><br><br>BAD (as on Illumos or any other older Solaris kernels before S11 snv_175) :<br><br>ls -al /dev/dri<br>total 11<br>drwxr-xr-x   5 root root   5 Nov 24 10:41 .<br>drwxr-xr-x 282 root root 282 Dec 10 17:32 ..<br>lrwxrwxrwx   1 root root  42 Nov 24 10:41 card0 -> ../../devices/pci@0,0/display@2:controlD64<br>lrwxrwxrwx   1 root root  36 Nov 24 09:55 card1 -> ../../devices/pci@0,0/display@2:drm0<br>root@opensxce:~#<br><br>(can be fixed by simply renaming /dev/dri/card0 to /dev/dri/controlD64 in the boot scripts, for each boot, until the real solution is found in Illumos' DDI/DKI bindings, which so far has a low priority until the rest works)<br><br><br>On old CPU's such as my 2700k (finally no longer only a Celeron G530, thanks to your donations!) it is sufficient for getting a working agpgart to wget, uncompress and install <a href="http://svr4.opensxce.org/201405/i386/5.11/sunw_agp-OpenSXCE__Illumos20140505%2cREV%3d2014.05.07.03.16-SunOS5.11-i386-SUNW.pkg.gz" data-mce-href="http://svr4.opensxce.org/201405/i386/5.11/sunw_agp-OpenSXCE__Illumos20140505%2cREV%3d2014.05.07.03.16-SunOS5.11-i386-SUNW.pkg.gz">http://svr4.opensxce.org/201405/i386/5.11/sunw_agp-OpenSXCE__Illumos20140505%2cREV%3d2014.05.07.03.16-SunOS5.11-i386-SUNW.pkg.gz</a>  [or to use pkgutil if you are on OpenSXCE2014.05).<br><br>Until the real problems are solved, there is no need to upload an updated version with newer pciids.<br><br><br><br>Now - here my proposed diff in 2 versions plus also the binary i915 and drm modules from 2 weeks ago.<br>Again: I won't provide howto instructions, because the audience of this post is very small and those who can use anything from this letter, won't need such instrcutions.<br><br><br>The only real question was and is: Why does this work (bypassing all gfxp 11.1++ interfaces) nevertheless only on 11.1++ and panics the host early during X11 initialization on 11.0 and Illumos.<br><br>Meanwhile I have the suspicion (judging from binutils) that in the more modern gfxp driver the frame buffer gets mmapp'ed.<br>However, unlike Illumos or old OpenSolaris, in S11.0 this code seems to be already inside gfxp:<br><br>$ nm gfx_private|grep setup<br>BFD: gfx_private: warning: sh_link not set for section `.eh_frame'<br>                 U ddi_regs_map_setup<br>                 U devmap_devmem_setup<br>                 U devmap_umem_setup<br>00000000000006bc T gfxp_ddi_segmap_setup<br>0000000000000a00 T gfxp_devmap_umem_setup<br>00000000000026f4 t gfxp_setup_fbcons<br>                 U pci_config_setup<br><br><br>BUT DESPITE THIS, it panics on 11.0 due to attempted dereferencing of a NULL pointer triggering a TRAP.<br><br><br>Normally I would never publish such instable non-functional stuff.<br>Ahh, ps.: On 11.1++ this stuff works if built with Studio.<br>But forget getting back to the Text console after X11 was already up. It is possible to enter commands afterwards, but only blindly without seeing anything (console is completely srapped).<br>However - restarting X11 or rebooting will function (on S11.1++). Only that you won't see what you typed.<br><br>This happens in this case not because of incomplete cleanup, but has to do with structs not properly initialized and not correctly assigned to the correct objects (especially fb_info).<br><br>Neverthe less X11 and compize (even with gnome) do work fine on S11.1++, yet not on 11.0 or Illumos).<br>The return2console issue can be addressed after we finally have it working on 11.0 and Illumos.<br><br><br>As for" gfxp is "not" a moving target: nm suggests otherwise.<br>And replacing newer or older versions of gfxp (as possible with i915/drm and agpgart [all related submodules]) CANNOT be done with gfxp, neitehr upwards, now downwards. Missing symbols (depends directly on the /platform/i86pc/kernel/amd64/unix itself).<br><br>Even replacing Grub1 against Grub2 or vide versa (Such as Solaris 11.1 booted from Grub1) : No difference.<br><br><br>As for the panic backtrace that I usually got 2 weeks ago (today with gcc a different one, and no matter if on 11.1++ or earlier - never works, I'm a bit confused if that's really a gcc vs. studio issue, or realted to some other change during the diff created today, dammit), here how it would look like, I uload the kernel dumps to opensxce.org/kms_dump in 10 minutes.<br><br>Here you see how it appeared in /var/adm/messages:<br><br><br>Nov 23 05:08:37 opensxce pcplusmp: [ID 805372 kern.info] pcplusmp: pci8086,122 (i915) instance 0 irq 0x10 vector 0x83 ioapic 0x2 intin 0x10 is bound to cpu 2<br>Nov 23 05:08:37 opensxce drm: [ID 120748 kern.warning] WARNING: [drm:drm_gem_object_alloc_internal_normal:153] ddi_dma_mem_alloc failed<br>Nov 23 05:08:37 opensxce last message repeated 1 time<br>Nov 23 05:08:37 opensxce drm: [ID 350376 kern.warning] WARNING: [drm:i915_gem_alloc_object:3315] failed to init gem object<br>Nov 23 05:08:37 opensxce drm: [ID 278599 kern.warning] WARNING: [drm:init_status_page:1233] Failed to allocate status page<br>Nov 23 05:08:37 opensxce drm: [ID 651038 kern.warning] WARNING: [drm:i915_driver_firstopen:1647] failed to init modeset<br>Nov 23 05:09:51 opensxce reboot: [ID 330035 auth.crit] initiated by martin on /dev/console<br>Nov 23 05:09:57 opensxce rpcbind: [ID 240694 daemon.error] rpcbind terminating on signal 15.<br>Nov 23 05:10:30 opensxce genunix: [ID 672855 kern.notice] syncing file systems...<br>Nov 23 05:10:31 opensxce genunix: [ID 904073 kern.notice]  done<br>Nov 23 05:10:32 opensxce unix: [ID 836849 kern.notice]<br>Nov 23 05:10:32 opensxce ^Mpanic[cpu6]/thread=ffffff04e79790a0:<br>Nov 23 05:10:32 opensxce genunix: [ID 335743 kern.notice] BAD TRAP: type=e (#pf Page fault) rp=ffffff001f610ab0 addr=20 occurred in module "i915" due to a NULL pointer dereference<br>Nov 23 05:10:32 opensxce unix: [ID 100000 kern.notice]<br>Nov 23 05:10:32 opensxce unix: [ID 839527 kern.notice] reboot:<br>Nov 23 05:10:32 opensxce unix: [ID 753105 kern.notice] #pf Page fault<br>Nov 23 05:10:32 opensxce unix: [ID 532287 kern.notice] Bad kernel fault at addr=0x20<br>Nov 23 05:10:32 opensxce unix: [ID 243837 kern.notice] pid=1994, pc=0xfffffffff7cbe7ee, sp=0xffffff001f610ba0, eflags=0x10246<br>Nov 23 05:10:32 opensxce unix: [ID 211416 kern.notice] cr0: 8005003b<pg,wp,ne,et,ts,mp,pe> cr4: 406f8<osxsav,xmme,fxsr,pge,mce,pae,pse,de><br>Nov 23 05:10:32 opensxce unix: [ID 624947 kern.notice] cr2: 20<br>Nov 23 05:10:32 opensxce unix: [ID 625075 kern.notice] cr3: 4400000<br>Nov 23 05:10:32 opensxce unix: [ID 625715 kern.notice] cr8: c<br>Nov 23 05:10:32 opensxce unix: [ID 100000 kern.notice]<br>Nov 23 05:10:32 opensxce unix: [ID 592667 kern.notice]  rdi: ffffff04df197038 rsi:          24a7c85 rdx: ffffff04e79790a0<br>Nov 23 05:10:32 opensxce unix: [ID 592667 kern.notice]  rcx:                6  r8:                0  r9:               32<br>Nov 23 05:10:32 opensxce unix: [ID 592667 kern.notice]  rax:                0 rbx: ffffff04e12fe2b0 rbp: ffffff001f610bc0<br>Nov 23 05:10:32 opensxce unix: [ID 592667 kern.notice]  r10: ffffff04df197528 r11:                1 r12: ffffff001f610d6c<br>Nov 23 05:10:32 opensxce unix: [ID 592667 kern.notice]  r13: fffffffffbd4fb88 r14:                1 r15: ffffff04fdedfa40<br>Nov 23 05:10:32 opensxce unix: [ID 592667 kern.notice]  fsb: fffffd7fff172a40 gsb: ffffff04e604e580  ds:               4b<br>Nov 23 05:10:32 opensxce unix: [ID 592667 kern.notice]   es:               4b  fs:                0  gs:                0<br>Nov 23 05:10:32 opensxce unix: [ID 592667 kern.notice]  trp:                e err:                0 rip: fffffffff7cbe7ee<br>Nov 23 05:10:32 opensxce unix: [ID 592667 kern.notice]   cs:               30 rfl:            10246 rsp: ffffff001f610ba0<br>Nov 23 05:10:32 opensxce unix: [ID 266532 kern.notice]   ss:               38<br>Nov 23 05:10:32 opensxce unix: [ID 100000 kern.notice]<br>Nov 23 05:10:32 opensxce genunix: [ID 655072 kern.notice] ffffff001f610990 unix:die+df ()<br>Nov 23 05:10:32 opensxce genunix: [ID 655072 kern.notice] ffffff001f610aa0 unix:trap+dc0 ()<br>Nov 23 05:10:32 opensxce genunix: [ID 655072 kern.notice] ffffff001f610ab0 unix:cmntrap+e6 ()<br>Nov 23 05:10:32 opensxce genunix: [ID 655072 kern.notice] ffffff001f610bc0 i915:i915_gem_context_fini+4e ()<br>Nov 23 05:10:32 opensxce genunix: [ID 655072 kern.notice] ffffff001f610c50 i915:i915_quiesce+292 ()<br>Nov 23 05:10:32 opensxce genunix: [ID 655072 kern.notice] ffffff001f610c80 genunix:devi_quiesce+3b ()<br>Nov 23 05:10:32 opensxce genunix: [ID 655072 kern.notice] ffffff001f610cc0 genunix:quiesce_one_device+81 ()<br>Nov 23 05:10:32 opensxce genunix: [ID 655072 kern.notice] ffffff001f610cf0 genunix:quiesce_devices+46 ()<br>Nov 23 05:10:32 opensxce genunix: [ID 655072 kern.notice] ffffff001f610d20 genunix:quiesce_devices+3b ()<br>Nov 23 05:10:32 opensxce genunix: [ID 655072 kern.notice] ffffff001f610d50 genunix:quiesce_devices+3b ()<br>Nov 23 05:10:32 opensxce genunix: [ID 655072 kern.notice] ffffff001f610db0 unix:mdboot+165 ()<br>Nov 23 05:10:32 opensxce genunix: [ID 655072 kern.notice] ffffff001f610e40 genunix:kadmin+416 ()<br>Nov 23 05:10:32 opensxce genunix: [ID 655072 kern.notice] ffffff001f610ec0 genunix:uadmin+16d ()<br>Nov 23 05:10:32 opensxce genunix: [ID 655072 kern.notice] ffffff001f610f10 unix:brand_sys_sysenter+1c9 ()<br>Nov 23 05:10:32 opensxce unix: [ID 100000 kern.notice]<br>Nov 23 05:10:32 opensxce genunix: [ID 672855 kern.notice] syncing file systems...<br>Nov 23 05:10:32 opensxce genunix: [ID 904073 kern.notice]  done<br>Nov 23 05:10:33 opensxce genunix: [ID 111219 kern.notice] dumping to /dev/zvol/dsk/rpool1/dump, offset 65536, content: kernel<br>Nov 23 05:10:47 opensxce genunix: [ID 100000 kern.notice]<br>Nov 23 05:10:47 opensxce genunix: [ID 665016 kern.notice] ^M100% done: 285228 pages dumped,<br>Nov 23 05:10:47 opensxce genunix: [ID 851671 kern.notice] dump succeeded<br>Nov 23 05:11:33 opensxce genunix: [ID 540533 kern.notice] ^MSunOS Release 5.11 Version master-0-ga443cc8 64-bit<br>Nov 23 05:11:33 opensxce genunix: [ID 877030 kern.notice] Copyright (c) 1983, 2010, Oracle and/or its affiliates. All rights reserved.<br><br><br><br><br>Regards,<br>and hopefully we can get this Saga solved  ;)<br><br><br>%martin<br>(the bins are too large and got blocked by oi-dev, this means I upload them in 10 minutes to opensxce.org/kms/unstable_bins/20151210thu)<br><<the src is attached>><br><br><br><br><br><br><br><br><br><br><br></BODY></HTML>