NEX-16819 loader UEFI support
Includes work by Toomas Soome <tsoome@me.com>
Upstream commits:
    loader: pxe receive cleanup
    9475 libefi: Do not return only if ReceiveFilter
    installboot: should support efi system partition
    8931 boot1.efi: scan all display modes rather than
    loader: spinconsole updates
    loader: gfx experiment to try GOP Blt() function.
    sha1 build test
    loader: add sha1 hash calculation
    common/sha1: update for loader build
    loader: biosdisk rework
    uts: 32-bit kernel FB needs mapping in low memory
    uts: add diag-device
    uts: boot console mirror with diag-device
    uts: enable very early console on ttya
    kmdb: add diag-device as input/output device
    uts: test VGA memory exclusion from mapping
    uts: clear boot mapping and protect boot pages test
    uts: add dboot map debug printf
    uts: need to release FB pages in release_bootstrap()
    uts: add screenmap ioctl
    uts: update sys/queue.h
    loader: add illumos uts/common to include path
    loader: tem/gfx font cleanup
    loader: vbe checks
    uts: gfx_private set KD_TEXT when KD_RESETTEXT is
    uts: gfx 8-bit update
    loader: gfx 8-bit fix
    loader: always set media size from partition.
    uts: MB2 support for 32-bit kernel
    loader: x86 should have tem 80x25
    uts: x86 should have tem 80x25
    uts: font update
    loader: font update
    uts: tem attributes
    loader: tem.c comment added
    uts: use font module
    loader: add font module
    loader: build rules for new font setup
    uts: gfx_private update for new font structure
    uts: early boot update for new font structure
    uts: font update
    uts: font build rules update for new fonts
    uts: tem update to new font structure
    loader: module.c needs to include tem_impl.h
    uts: gfx_private 8x16 font rework
    uts: make font_lookup public
    loader: font rework
    uts: font rework
    9259 libefi: efi_alloc_and_read should check for PMBR
    uts: tem utf-8 support
    loader: implement tem utf-8 support
    loader: tem should be able to display UTF-8
    7784 uts: console input should support utf-8
    7796 uts: ldterm default to utf-8
    uts: do not reset serial console
    uts: set up colors even if tem is not console
    uts: add type for early boot properties
    uts: gfx_private experiment with drm and vga
    uts: gfx_private should use setmode drm callback.
    uts: identify FB types and set up gfx_private based
    loader: replace gop and vesa with framebuffer
    uts: boot needs simple tem to support mdb
    uts: boot_keyboard should emit esc sequences for
    uts: gfx_private FB showuld be written by line
    kmdb: set terminal window size
    uts: gfx_private needs to keep track of early boot FB
    pnglite: move pnglite to usr/src/common
    loader: gfx_fb
    ficl-sys: add gfx primitives
    loader: add illumos.png logo
    ficl: add fb-putimage
    loader: add png support
    loader: add alpha blending for gfx_fb
    loader: use term-drawrect for menu frame
    ficl: add simple gfx words
    uts: provide fb_info via fbgattr dev_specific array.
    uts: gfx_private add alpha blending
    uts: update sys/ascii.h
    uts: tem OSC support (incomplete)
    uts: implement env module support and use data from
    uts: tem get colors from early boot data
    loader: use crc32 from libstand (libz)
    loader: optimize for size
    loader: pass tem info to the environment
    loader: import tem for loader console
    loader: UEFI loader needs to set ISADIR based on
    loader: need UEFI32 support
    8918 loader.efi: add vesa edid support
    uts: tem_safe_pix_clear_prom_output() should only
    uts: tem_safe_pix_clear_entire_screen() should use
    uts: tem_safe_check_first_time() should query cursor
    uts: tem implement cls callback & visual_io v4
    uts: gfx_vgatext use block cursor for vgatext
    uts: gfx_private implement cls callback & visual_io
    uts: gfx_private bitmap framebuffer implementation
    uts: early start frame buffer console support
    uts: font functions should check the input char
    uts: font rendering should support 16/24/32bit depths
    uts: use smallest font as fallback default.
    uts: update terminal dimensions based on selected
    7834 uts: vgatext should use gfx_private
    uts: add spacing property to 8859-1.bdf
    terminfo: add underline for sun-color
    terminfo: sun-color has 16 colors
    uts: add font load callback type
    loader: do not repeat int13 calls with error 0x20 and
    8905 loader: add skein/edonr support
    8904 common/crypto: make skein and edonr loader
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
Reviewed by: Sanjay Nadkarni <sanjay.nadkarni@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
Revert "NEX-16819 loader UEFI support"
This reverts commit ec06b9fc617b99234e538bf2e7e4d02a24993e0c.
Reverting due to failures in the zfs-tests and the sharefs-tests
NEX-16819 loader UEFI support
Includes work by Toomas Soome <tsoome@me.com>
Upstream commits:
    loader: pxe receive cleanup
    9475 libefi: Do not return only if ReceiveFilter
    installboot: should support efi system partition
    8931 boot1.efi: scan all display modes rather than
    loader: spinconsole updates
    loader: gfx experiment to try GOP Blt() function.
    sha1 build test
    loader: add sha1 hash calculation
    common/sha1: update for loader build
    loader: biosdisk rework
    uts: 32-bit kernel FB needs mapping in low memory
    uts: add diag-device
    uts: boot console mirror with diag-device
    uts: enable very early console on ttya
    kmdb: add diag-device as input/output device
    uts: test VGA memory exclusion from mapping
    uts: clear boot mapping and protect boot pages test
    uts: add dboot map debug printf
    uts: need to release FB pages in release_bootstrap()
    uts: add screenmap ioctl
    uts: update sys/queue.h
    loader: add illumos uts/common to include path
    loader: tem/gfx font cleanup
    loader: vbe checks
    uts: gfx_private set KD_TEXT when KD_RESETTEXT is
    uts: gfx 8-bit update
    loader: gfx 8-bit fix
    loader: always set media size from partition.
    uts: MB2 support for 32-bit kernel
    loader: x86 should have tem 80x25
    uts: x86 should have tem 80x25
    uts: font update
    loader: font update
    uts: tem attributes
    loader: tem.c comment added
    uts: use font module
    loader: add font module
    loader: build rules for new font setup
    uts: gfx_private update for new font structure
    uts: early boot update for new font structure
    uts: font update
    uts: font build rules update for new fonts
    uts: tem update to new font structure
    loader: module.c needs to include tem_impl.h
    uts: gfx_private 8x16 font rework
    uts: make font_lookup public
    loader: font rework
    uts: font rework
    libefi: efi_alloc_and_read should check for PMBR
    uts: tem utf-8 support
    loader: implement tem utf-8 support
    loader: tem should be able to display UTF-8
    7784 uts: console input should support utf-8
    7796 uts: ldterm default to utf-8
    uts: do not reset serial console
    uts: set up colors even if tem is not console
    uts: add type for early boot properties
    uts: gfx_private experiment with drm and vga
    uts: gfx_private should use setmode drm callback.
    uts: identify FB types and set up gfx_private based
    loader: replace gop and vesa with framebuffer
    uts: boot needs simple tem to support mdb
    uts: boot_keyboard should emit esc sequences for
    uts: gfx_private FB showuld be written by line
    kmdb: set terminal window size
    uts: gfx_private needs to keep track of early boot FB
    pnglite: move pnglite to usr/src/common
    loader: gfx_fb
    ficl-sys: add gfx primitives
    loader: add illumos.png logo
    ficl: add fb-putimage
    loader: add png support
    loader: add alpha blending for gfx_fb
    loader: use term-drawrect for menu frame
    ficl: add simple gfx words
    uts: provide fb_info via fbgattr dev_specific array.
    uts: gfx_private add alpha blending
    uts: update sys/ascii.h
    uts: tem OSC support (incomplete)
    uts: implement env module support and use data from
    uts: tem get colors from early boot data
    loader: use crc32 from libstand (libz)
    loader: optimize for size
    loader: pass tem info to the environment
    loader: import tem for loader console
    loader: UEFI loader needs to set ISADIR based on
    loader: need UEFI32 support
    8918 loader.efi: add vesa edid support
    uts: tem_safe_pix_clear_prom_output() should only
    uts: tem_safe_pix_clear_entire_screen() should use
    uts: tem_safe_check_first_time() should query cursor
    uts: tem implement cls callback & visual_io v4
    uts: gfx_vgatext use block cursor for vgatext
    uts: gfx_private implement cls callback & visual_io
    uts: gfx_private bitmap framebuffer implementation
    uts: early start frame buffer console support
    uts: font functions should check the input char
    uts: font rendering should support 16/24/32bit depths
    uts: use smallest font as fallback default.
    uts: update terminal dimensions based on selected
    7834 uts: vgatext should use gfx_private
    uts: add spacing property to 8859-1.bdf
    terminfo: add underline for sun-color
    terminfo: sun-color has 16 colors
    uts: add font load callback type
    loader: do not repeat int13 calls with error 0x20 and
    8905 loader: add skein/edonr support
    8904 common/crypto: make skein and edonr loader
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
Reviewed by: Sanjay Nadkarni <sanjay.nadkarni@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
101 vm_machdep.o \ 102 x_call.o 103 104 # 105 # Add the SMBIOS subsystem object files directly to the list of objects 106 # built into unix itself; this is all common code except for smb_dev.c. 107 # 108 CORE_OBJS += $(SMBIOS_OBJS) 109 110 # 111 # These get compiled twice: 112 # - once in the dboot (direct boot) identity mapped code 113 # - once for use during early startup in unix 114 # 115 BOOT_DRIVER_OBJS = \ 116 boot_console.o \ 117 boot_keyboard.o \ 118 boot_keyboard_table.o \ 119 boot_mmu.o \ 120 boot_vga.o \ 121 boot_xconsole.o \ 122 dboot_multiboot2.o \ 123 $(FONT_OBJS) 124 125 CORE_OBJS += $(BOOT_DRIVER_OBJS) 126 127 # 128 # Extra XEN files separated out for now. 129 # 130 CORE_OBJS += \ 131 cpr_driver.o \ 132 evtchn.o \ 133 gnttab.o \ 134 hypercall.o \ 135 hyperevent.o \ 136 hypersubr.o \ 137 mp_xen.o \ 138 panic_asm.o \ 139 xenguest.o \ 140 xenbus_client.o \ 
 174 DBOOT_OBJS +=                   \
 175         dboot_asm.o             \
 176         dboot_printf.o          \
 177         dboot_startkern.o       \
 178         dboot_xen.o             \
 179         hypercall.o             \
 180         hypersubr.o             \
 181         memcpy.o                \
 182         memset.o                \
 183         string.o                \
 184         $(BOOT_DRIVER_OBJS)     \
 185         $(DBOOT_OBJS_$(CLASS))
 186 
 187 #
 188 #                       driver & misc modules
 189 #
 190 BALLOON_OBJS += balloon_drv.o
 191 DOMCAPS_OBJS += domcaps.o
 192 EVTCHN_OBJS += evtchn_dev.o
 193 GFX_PRIVATE_OBJS += gfx_private.o gfxp_pci.o gfxp_segmap.o \
 194                     gfxp_devmap.o gfxp_vgatext.o gfxp_vm.o vgasubr.o
 195 IOAT_OBJS += ioat.o ioat_rs.o ioat_ioctl.o ioat_chan.o
 196 ISANEXUS_OBJS += isa.o dma_engine.o i8237A.o
 197 PCI_E_NEXUS_OBJS += npe.o npe_misc.o
 198 PCI_E_NEXUS_OBJS += pci_common.o pci_kstats.o pci_tools.o
 199 PCINEXUS_OBJS += pci.o pci_common.o pci_kstats.o pci_tools.o
 200 PRIVCMD_OBJS += seg_mf.o privcmd.o privcmd_hcall.o
 201 ROOTNEX_OBJS += rootnex.o
 202 XPVTOD_OBJS += xpvtod.o
 203 XPV_AUTOCONFIG_OBJS += xpv_autoconfig.o
 204 XPV_PSM_OBJS += xpv_psm.o mp_platform_common.o mp_platform_xpv.o \
 205                 apic_regops.o psm_common.o xpv_intr.o
 206 XPV_UPPC_OBJS += xpv_uppc.o psm_common.o
 207 XENBUS_OBJS += xenbus_dev.o
 208 XENCONS_OBJS += xencons.o
 209 XPVD_OBJS += xpvd.o
 210 XPVTAP_OBJS += xpvtap.o blk_common.o seg_mf.o
 211 XNB_OBJS += xnb.o
 212 XNBE_OBJS += xnbe.o
 213 XNBO_OBJS += xnbo.o
 214 XNBU_OBJS += xnbu.o
 | 
 101         vm_machdep.o            \
 102         x_call.o
 103 
 104 #
 105 #       Add the SMBIOS subsystem object files directly to the list of objects
 106 #       built into unix itself; this is all common code except for smb_dev.c.
 107 #
 108 CORE_OBJS += $(SMBIOS_OBJS)
 109 
 110 #
 111 # These get compiled twice:
 112 # - once in the dboot (direct boot) identity mapped code 
 113 # - once for use during early startup in unix
 114 #
 115 BOOT_DRIVER_OBJS =              \
 116         boot_console.o          \
 117         boot_keyboard.o         \
 118         boot_keyboard_table.o   \
 119         boot_mmu.o              \
 120         boot_vga.o              \
 121         boot_fb.o               \
 122         boot_xconsole.o         \
 123         dboot_multiboot2.o      \
 124         $(FONT_OBJS)
 125 
 126 CORE_OBJS += $(BOOT_DRIVER_OBJS)
 127 
 128 #
 129 # Extra XEN files separated out for now.
 130 #
 131 CORE_OBJS +=                    \
 132         cpr_driver.o            \
 133         evtchn.o                \
 134         gnttab.o                \
 135         hypercall.o             \
 136         hyperevent.o            \
 137         hypersubr.o             \
 138         mp_xen.o                \
 139         panic_asm.o             \
 140         xenguest.o              \
 141         xenbus_client.o         \
175 DBOOT_OBJS += \ 176 dboot_asm.o \ 177 dboot_printf.o \ 178 dboot_startkern.o \ 179 dboot_xen.o \ 180 hypercall.o \ 181 hypersubr.o \ 182 memcpy.o \ 183 memset.o \ 184 string.o \ 185 $(BOOT_DRIVER_OBJS) \ 186 $(DBOOT_OBJS_$(CLASS)) 187 188 # 189 # driver & misc modules 190 # 191 BALLOON_OBJS += balloon_drv.o 192 DOMCAPS_OBJS += domcaps.o 193 EVTCHN_OBJS += evtchn_dev.o 194 GFX_PRIVATE_OBJS += gfx_private.o gfxp_pci.o gfxp_segmap.o \ 195 gfxp_devmap.o gfxp_vgatext.o gfxp_vm.o vgasubr.o \ 196 gfxp_fb.o gfxp_bitmap.o 197 IOAT_OBJS += ioat.o ioat_rs.o ioat_ioctl.o ioat_chan.o 198 ISANEXUS_OBJS += isa.o dma_engine.o i8237A.o 199 PCI_E_NEXUS_OBJS += npe.o npe_misc.o 200 PCI_E_NEXUS_OBJS += pci_common.o pci_kstats.o pci_tools.o 201 PCINEXUS_OBJS += pci.o pci_common.o pci_kstats.o pci_tools.o 202 PRIVCMD_OBJS += seg_mf.o privcmd.o privcmd_hcall.o 203 ROOTNEX_OBJS += rootnex.o 204 XPVTOD_OBJS += xpvtod.o 205 XPV_AUTOCONFIG_OBJS += xpv_autoconfig.o 206 XPV_PSM_OBJS += xpv_psm.o mp_platform_common.o mp_platform_xpv.o \ 207 apic_regops.o psm_common.o xpv_intr.o 208 XPV_UPPC_OBJS += xpv_uppc.o psm_common.o 209 XENBUS_OBJS += xenbus_dev.o 210 XENCONS_OBJS += xencons.o 211 XPVD_OBJS += xpvd.o 212 XPVTAP_OBJS += xpvtap.o blk_common.o seg_mf.o 213 XNB_OBJS += xnb.o 214 XNBE_OBJS += xnbe.o 215 XNBO_OBJS += xnbo.o 216 XNBU_OBJS += xnbu.o  |