<HTML><BODY>Ok, while I didn't want to flood this list with all symbols of all versions and exact details regarding what arrived (or in some cases disappeared) when, I should probably provide at least one complete listing for the latest verion of gfx_private, taken on Solaris 11.3.<br>Quite some calls also into /platform/i86pc/kernel/unix (which I won't even cover here!)<br><br><br> nm /mnt11.3/platform/i86pc/kernel/misc/amd64/gfx_private<br>0000000000000024 T _fini<br>0000000000000040 T _info<br>0000000000000008 T _init<br>                 U as_ctl<br>                 U as_map<br>                 U as_rangelock<br>                 U as_rangeunlock<br>                 U as_unmap<br>                 U availrmem<br>0000000000000020 b Bbss.bss<br>0000000000000000 b Bbss.bss<br>                 U bcons_is_serial<br>                 U bcopy<br>                 U boot_fb_putchar<br>                 U btop<br>                 U btopr<br>                 U bzero<br>                 U cdev_mmap<br>                 U check_reset_console<br>                 U cmn_err<br>                 U console<br>                 U copyout<br>                 U cv_destroy<br>                 U cv_init<br>                 U cv_signal<br>                 U cv_timedwait<br>                 U cv_wait<br>00000000000001f8 d Ddata.data<br>0000000000000000 d Ddata.data<br>0000000000000050 d Ddata.data<br>0000000000000058 d Ddata.data<br>00000000000000f8 d Ddata.data<br>0000000000000350 d Ddata.data<br>00000000000002a0 d Ddata.data<br>                 U ddi_copyin<br>                 U ddi_copyout<br>                 U ddi_device_mapping_check<br>                 U ddi_dma_mem_alloc<br>                 U ddi_get_instance<br>                 U ddi_get_lbolt<br>                 U ddi_get_parent<br>                 U ddi_get8<br>                 U ddi_getlongprop<br>                 U ddi_prop_free<br>                 U ddi_prop_get_int<br>                 U ddi_prop_lookup_int_array<br>                 U ddi_prop_lookup_string<br>                 U ddi_prop_remove<br>                 U ddi_prop_update_int<br>                 U ddi_prop_update_int64<br>                 U ddi_put8<br>                 U ddi_regs_map_free<br>                 U ddi_regs_map_setup<br>                 U ddi_root_node<br>                 U ddi_walk_devs<br>                 U delay<br>0000000000000050 d dev_attr<br>0000000000000298 d dev_attr<br>0000000000000348 d dev_attr<br>                 U devmap_devmem_setup<br>                 U devmap_umem_setup<br>                 U devopsp<br>0000000000000f1c t do_gfx_ioctl<br>0000000000000000 r Drodata.rodata<br>                 U drv_usectohz<br>0000000000000350 D ENCODINGS<br>                 U fb_info<br>00000000000001f8 d fb_ops<br>0000000000000b50 D FONTDATA<br>                 U force_screen_output<br>0000000000000058 d gem_dma_attr<br>                 U generic_fb_fill_cursor<br>                 U generic_solaris_to_dfb<br>                 U getmajor<br>0000000000003460 t gfxp_4to8<br>0000000000001fc4 T gfxp_alloc_from_mempool<br>0000000000001978 T gfxp_alloc_kernel_space<br>0000000000002fc0 T gfxp_bm_attach<br>0000000000000240 d gfxp_bm_attr<br>0000000000002d84 t gfxp_bm_blt_updtshadow<br>0000000000003ae8 t gfxp_bm_cons_clear<br>0000000000003608 t gfxp_bm_cons_copy<br>0000000000003a30 t gfxp_bm_cons_cursor<br>0000000000003524 t gfxp_bm_cons_display<br>0000000000002db0 t gfxp_bm_copy_memory<br>0000000000002f04 t gfxp_bm_copy_updtshadow<br>0000000000003074 T gfxp_bm_detach<br>0000000000003484 t gfxp_bm_devinit<br>0000000000004138 t gfxp_bm_devmap<br>00000000000030fc t gfxp_bm_export_fbinfo<br>0000000000002d5c t gfxp_bm_generic_blt<br>0000000000002ed0 t gfxp_bm_generic_copy<br>0000000000002f88 T gfxp_bm_getfb_info<br>000000000000378c t gfxp_bm_hide_cursor<br>0000000000003e6c t gfxp_bm_kdsetgraphics<br>0000000000003e88 t gfxp_bm_kdsetmode<br>0000000000003e24 t gfxp_bm_kdsettext<br>0000000000004020 t gfxp_bm_kdshutdown<br>0000000000003cc4 t gfxp_bm_load_sd_image<br>0000000000002cb0 t gfxp_bm_paint_memory<br>0000000000003744 t gfxp_bm_polled_copy<br>0000000000003aa0 t gfxp_bm_polled_cursor<br>00000000000035c0 t gfxp_bm_polled_display<br>0000000000003818 t gfxp_bm_prepare_cursor<br>0000000000002f44 T gfxp_bm_register_fbops<br>0000000000004128 t gfxp_bm_resume<br>00000000000038fc t gfxp_bm_show_cursor<br>0000000000003c50 t gfxp_bm_shutdown_end<br>0000000000003b5c t gfxp_bm_splash_shutdown<br>00000000000040ec t gfxp_bm_suspend<br>0000000000002f68 T gfxp_bm_unregister_fbops<br>0000000000003d78 t gfxp_bm_vbios_setmode<br>00000000000015fc t gfxp_check_for_console<br>0000000000001ec8 T gfxp_convert_addr<br>0000000000001ce4 T gfxp_ddi_dma_mem_alloc<br>00000000000006bc T gfxp_ddi_segmap_setup<br>0000000000000a1c T gfxp_devmap_umem_setup<br>0000000000000bcc T gfxp_fb_attach<br>0000000000000efc T gfxp_fb_close<br>0000000000000e2c T gfxp_fb_detach<br>00000000000013bc T gfxp_fb_devmap<br>0000000000001450 T gfxp_fb_get_fbtype<br>0000000000001334 T gfxp_fb_ioctl<br>0000000000001478 T gfxp_fb_map_vga_ioreg<br>0000000000001784 t gfxp_fb_notify_serial<br>0000000000000ec4 T gfxp_fb_open<br>0000000000001558 t gfxp_fb_resume<br>0000000000000b88 T gfxp_fb_softc_alloc<br>0000000000000ba4 T gfxp_fb_softc_free<br>0000000000001504 t gfxp_fb_suspend<br>00000000000014d0 T gfxp_fb_unmap_vga_ioreg<br>0000000000001cc4 T gfxp_fix_mem_cache_attrs<br>0000000000001c2c T gfxp_free_kernel_space<br>0000000000002570 T gfxp_free_mempool<br>00000000000019a8 T gfxp_load_kernel_space<br>0000000000000a8c T gfxp_map_devmem<br>0000000000001a60 T gfxp_map_kernel_space<br>0000000000000018 b gfxp_max_mempool_size<br>0000000000000008 b gfxp_mempool<br>0000000000002710 T gfxp_mempool_destroy<br>0000000000001f6c T gfxp_mempool_init<br>0000000000000010 b gfxp_mempool_mutex<br>0000000000000000 b gfxp_mempool_pages<br>0000000000001d50 T gfxp_mlock_user_memory<br>0000000000001e0c T gfxp_munlock_user_memory<br>0000000000000630 T gfxp_pci_device_present<br>00000000000000f8 t gfxp_pci_find_bsf<br>0000000000000560 t gfxp_pci_find_vd<br>0000000000000064 t gfxp_pci_get_bsf<br>0000000000000200 T gfxp_pci_init_handle<br>00000000000002e8 T gfxp_pci_read_byte<br>00000000000003c0 T gfxp_pci_read_dword<br>0000000000000354 T gfxp_pci_read_word<br>0000000000000428 T gfxp_pci_write_byte<br>0000000000000500 T gfxp_pci_write_dword<br>0000000000000494 T gfxp_pci_write_word<br>0000000000003248 t gfxp_setup_fbcons<br>00000000000009f4 T gfxp_umem_cookie_destroy<br>00000000000009a8 T gfxp_umem_cookie_init<br>0000000000001bc8 T gfxp_unload_kernel_space<br>0000000000001b3c T gfxp_unmap_kernel_space<br>0000000000001c8c T gfxp_va2pa<br>00000000000043f8 T gfxp_vga_attach<br>00000000000002f0 d gfxp_vga_attr<br>00000000000047e0 t gfxp_vga_cons_clear<br>0000000000004624 t gfxp_vga_cons_copy<br>00000000000047f8 t gfxp_vga_cons_cursor<br>0000000000004570 t gfxp_vga_cons_display<br>00000000000044ec T gfxp_vga_detach<br>0000000000004520 t gfxp_vga_devinit<br>000000000000518c t gfxp_vga_devmap<br>00000000000002a0 D gfxp_vga_emulate_vbios<br>0000000000004930 t gfxp_vga_get_cursor<br>0000000000005374 t gfxp_vga_get_isa_reg_index<br>00000000000041cc T gfxp_vga_get_mapped_ioregs<br>0000000000005250 t gfxp_vga_get_pci_reg_index<br>00000000000048c8 t gfxp_vga_hide_cursor<br>0000000000004f08 t gfxp_vga_init<br>0000000000004be8 t gfxp_vga_kdsetgraphics<br>0000000000004c18 t gfxp_vga_kdsetmode<br>0000000000004b70 t gfxp_vga_kdsettext<br>0000000000004200 T gfxp_vga_map_reg<br>00000000000047c8 t gfxp_vga_polled_copy<br>00000000000048b0 t gfxp_vga_polled_cursor<br>000000000000460c t gfxp_vga_polled_display<br>0000000000005108 t gfxp_vga_restore_colormap<br>0000000000004aa0 t gfxp_vga_restore_textmode<br>0000000000004b3c t gfxp_vga_resume<br>0000000000005088 t gfxp_vga_save_colormap<br>0000000000004a68 t gfxp_vga_save_text<br>00000000000048d8 t gfxp_vga_set_cursor<br>0000000000004d6c t gfxp_vga_set_text<br>0000000000004f8c t gfxp_vga_setfont<br>0000000000004b0c t gfxp_vga_suspend<br>00000000000049e4 t gfxp_vga_vbios_setmode<br>0000000000001858 T gfxp_vgatext_attach<br>00000000000018d8 T gfxp_vgatext_close<br>0000000000001880 T gfxp_vgatext_detach<br>0000000000001940 T gfxp_vgatext_devmap<br>0000000000001908 T gfxp_vgatext_ioctl<br>00000000000018a8 T gfxp_vgatext_open<br>0000000000001824 T gfxp_vgatext_softc_alloc<br>0000000000001838 T gfxp_vgatext_softc_free<br>                 U graphics_mode<br>                 U hat_devload<br>                 U hat_getpfnum<br>                 U hat_pageunload<br>                 U hat_unload<br>                 U heap_arena<br>                 U i_ddi_decr_locked_memory<br>                 U i_ddi_incr_locked_memory<br>00000000000015a0 t is_pci_bridge<br>                 U kas<br>                 U kmem_free<br>                 U kmem_zalloc<br>                 U makedevice<br>                 U map_addr<br>                 U membar_producer<br>                 U memcpy<br>                 U memmove<br>                 U memset<br>                 U minclsyspri<br>                 U mod_info<br>                 U mod_install<br>                 U mod_miscops<br>                 U mod_remove<br>0000000000000010 d modlinkage<br>0000000000000000 d modlmisc<br>0000000000001f2c t mpool_append<br>0000000000001edc t mpool_break<br>                 U mutex_destroy<br>                 U mutex_enter<br>                 U mutex_exit<br>                 U mutex_init<br>                 U nodev<br>00000000000000a8 d old_gem_dma_attr<br>                 U p0<br>                 U page_create_io<br>                 U page_free<br>                 U page_hashin<br>                 U page_hashout<br>                 U page_io_lock<br>                 U page_io_unlock<br>                 U page_list_break<br>                 U page_list_concat<br>                 U page_resv<br>                 U page_sub<br>                 U page_sub_common<br>                 U page_unresv<br>                 U pci_config_get16<br>                 U pci_config_setup<br>                 U pci_config_teardown<br>                 U pci_getb_func<br>                 U pci_getl_func<br>                 U pci_getw_func<br>                 U pci_putb_func<br>                 U pci_putl_func<br>                 U pci_putw_func<br>                 U ptob<br>                 U saved_vbe_mode<br>                 U screen_putchar<br>                 U segdev_create<br>                 U set_errno<br>0000000000000000 r solaris_color_to_pc_color<br>                 U splash_shutdown_last<br>                 U splash_shutdown_start<br>                 U splash_shutdown_update<br>                 U splash_stop<br>                 U strcmp<br>                 U thread_create_named<br>                 U thread_exit<br>                 U thread_join<br>                 U valid_usr_range<br>                 U vbios_exec_cmd<br>                 U vbios_free_reply<br>                 U vbios_register_handle<br>00000000000001b8 D VGA_ATR_TEXT<br>0000000000000024 b vga_col<br>00000000000001db D VGA_CRTC_TEXT<br>00000000000029a4 T vga_get_atr<br>0000000000002c10 T vga_get_cmap<br>0000000000002860 T vga_get_crtc<br>0000000000002938 T vga_get_grc<br>0000000000002744 T vga_get_hardware_settings<br>0000000000002b14 T vga_get_indexed<br>00000000000027f8 T vga_get_reg<br>00000000000028cc T vga_get_seq<br>00000000000001cd D VGA_GRC_TEXT<br>00000000000002a8 d vga_ops<br>0000000000002b68 T vga_put_cmap<br>0000000000000020 b vga_row<br>00000000000001d6 D VGA_SEQ_TEXT<br>0000000000002a28 T vga_set_atr<br>0000000000002890 T vga_set_crtc<br>0000000000002968 T vga_set_grc<br>0000000000002ab0 T vga_set_indexed<br>0000000000002828 T vga_set_reg<br>00000000000028fc T vga_set_seq<br>00000000000000f8 D VGA_TEXT_PALETTES<br>                 U vmem_alloc<br>                 U vmem_free<br><br><br><br><br>Then again:<br><br><br><a href="http://openindiana.org/pipermail/oi-dev/2015-December/003962.html">http://openindiana.org/pipermail/oi-dev/2015-December/003962.html</a><br><pre>randyf at sibernet.com randyf at sibernet.com Tue Dec 1 06:44:23 UTC 2015<br><br>>    It's not as moving as you might think.  A number of things were added 
> late in S11 to support non-intel framebuffers, it just seemed proper to 
> have i915 use them where appropriate.  Though not sure yet what might 
> venture into the next version.</pre><br><br>See above listing and explain how you think this gets reflected by the actual output ...<br><br><br></BODY></HTML>