Print this page
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>
| Split |
Close |
| Expand all |
| Collapse all |
--- old/usr/src/boot/sys/boot/i386/libi386/Makefile
+++ new/usr/src/boot/sys/boot/i386/libi386/Makefile
1 1 #
2 2 # This file and its contents are supplied under the terms of the
3 3 # Common Development and Distribution License ("CDDL"), version 1.0.
4 4 # You may only use this file in accordance with the terms of version
5 5 # 1.0 of the CDDL.
6 6 #
7 7 # A full copy of the text of the CDDL should have accompanied this
8 8 # source. A copy of the CDDL is also available via the Internet at
|
↓ open down ↓ |
8 lines elided |
↑ open up ↑ |
9 9 # http://www.illumos.org/license/CDDL.
10 10 #
11 11
12 12 #
13 13 # Copyright 2015 Toomas Soome <tsoome@me.com>
14 14 # Copyright 2016 RackTop Systems.
15 15 #
16 16
17 17 include $(SRC)/Makefile.master
18 18
19 -CFLAGS= -O2 -I../../../../include -I../../..
20 -CPPFLAGS= -D_STANDALONE -DLOADER_ZFS_SUPPORT
19 +CFLAGS= -Os
20 +CPPFLAGS= -nostdinc -I../../../../include -I../../..
21 +CPPFLAGS += -I../../../../lib/libz
22 +CPPFLAGS += -D_STANDALONE -DLOADER_ZFS_SUPPORT
21 23
22 24 all: libi386.a
23 25
24 26 clean: clobber
25 27 clobber:
26 28 $(RM) machine x86 $(OBJS) libi386.a
27 29
28 30 AS= $(GNU_ROOT)/bin/gas
29 31 CC= $(GCC_ROOT)/bin/gcc
30 32 OBJCOPY= $(GNU_ROOT)/bin/gobjcopy
31 33 AS_FLAGS=--32
|
↓ open down ↓ |
1 lines elided |
↑ open up ↑ |
32 34 ASFLAGS=-m32
33 35 AS_CPPFLAGS=
34 36 COMPILE.s = $(AS) $(AS_FLAGS)
35 37
36 38 SRCS= biosacpi.c bioscd.c biosdisk.c biosmem.c biospnp.c \
37 39 biospci.c biossmap.c bootinfo.c bootinfo32.c bootinfo64.c \
38 40 comconsole.c devicename.c elf32_freebsd.c \
39 41 elf64_freebsd.c multiboot.c multiboot_tramp.S \
40 42 i386_copy.c i386_module.c nullconsole.c pxe.c pxetramp.s \
41 43 smbios.c time.c vidconsole.c amd64_tramp.S spinconsole.c linux.c \
42 - relocater_tramp.S
44 + relocater_tramp.S vgasubr.c vbe.c
43 45 OBJS= biosacpi.o bioscd.o biosdisk.o biosmem.o biospnp.o \
44 46 biospci.o biossmap.o bootinfo.o bootinfo32.o bootinfo64.o \
45 47 comconsole.o devicename.o elf32_freebsd.o \
46 48 elf64_freebsd.o multiboot.o multiboot_tramp.o \
47 49 i386_copy.o i386_module.o nullconsole.o pxe.o pxetramp.o \
48 50 smbios.o time.o vidconsole.o amd64_tramp.o spinconsole.o linux.o \
49 - relocater_tramp.o
51 + relocater_tramp.o vgasubr.o vbe.o
50 52
53 +COMMON= ../../common
54 +PNGLITE=$(SRC)/common/pnglite
55 +CPPFLAGS += -I$(PNGLITE)
56 +SRCS += $(COMMON)/gfx_fb.c $(PNGLITE)/pnglite.c
57 +OBJS += gfx_fb.o pnglite.o
58 +
51 59 LIBZFS= ../../zfs
52 60 SRCS += $(LIBZFS)/devicename_stubs.c
53 61 OBJS += devicename_stubs.o
54 62
55 63 BOOT_COMCONSOLE_PORT= 0x3f8
56 64 CFLAGS += -DCOMPORT=${BOOT_COMCONSOLE_PORT}
57 65
58 66 BOOT_COMCONSOLE_SPEED= 9600
59 67 CFLAGS += -DCOMSPEED=${BOOT_COMCONSOLE_SPEED}
60 68
61 69 # Make the disk code more talkative
62 70 # CFLAGS+= -DDISK_DEBUG
63 71
64 72 # Export serial numbers, UUID, and asset tag from loader.
65 73 CFLAGS += -DSMBIOS_SERIAL_NUMBERS
66 74 # Use little-endian UUID format as defined in SMBIOS 2.6.
67 75 CFLAGS += -DSMBIOS_LITTLE_ENDIAN_UUID
68 76 # Use network-endian UUID format for backward compatibility.
69 77 #CFLAGS += -DSMBIOS_NETWORK_ENDIAN_UUID
70 78
71 -# Include simple terminal emulation (cons25-compatible)
72 -CFLAGS += -DTERM_EMU
73 -
74 79 # XXX: make alloca() useable
75 80 CFLAGS += -Dalloca=__builtin_alloca
76 81
77 -CFLAGS += -I$(SRC)/common/ficl -I../../ficl \
82 +CFLAGS += -I$(SRC)/common/ficl -I../../libficl \
78 83 -I../../common -I../common \
79 84 -I../btx/lib \
80 85 -I$(SRC)/uts/intel/sys/acpi \
81 86 -I../../.. -I.
82 87 # the location of libstand
83 88 CFLAGS += -I../../../../lib/libstand/
84 89
85 90 # Handle FreeBSD specific %b and %D printf format specifiers
86 91 #FORMAT_EXTENSIONS=-D__printf__=__freebsd_kprintf__
87 92 #CFLAGS += ${FORMAT_EXTENSIONS}
88 93
89 94 CLEANFILES += machine x86
90 95
91 96 # XXX: clang integrated-as doesn't grok .codeNN directives yet
92 97 # CFLAGS.amd64_tramp.S= ${CLANG_NO_IAS}
93 98 # CFLAGS.multiboot_tramp.S= ${CLANG_NO_IAS}
94 99 # CFLAGS += ${CFLAGS.${.IMPSRC:T}}
95 100
96 101 include ../Makefile.inc
97 102
98 103 # For multiboot2.h, must be last, to avoid conflicts
99 104 CPPFLAGS += -I$(SRC)/uts/common
100 105
101 106 machine:
102 107 $(RM) machine
103 108 $(SYMLINK) ../../../i386/include machine
104 109
|
↓ open down ↓ |
17 lines elided |
↑ open up ↑ |
105 110 x86:
106 111 $(RM) x86
107 112 $(SYMLINK) ../../../x86/include x86
108 113
109 114 $(OBJS): machine x86
110 115
111 116 libi386.a: $(OBJS)
112 117 $(AR) $(ARFLAGS) $@ $(OBJS)
113 118
114 119 %.o: $(LIBZFS)/%.c
120 + $(COMPILE.c) -o $@ $<
121 +
122 +%.o: $(COMMON)/%.c
123 + $(COMPILE.c) -o $@ $<
124 +
125 +%.o: $(PNGLITE)/%.c
115 126 $(COMPILE.c) -o $@ $<
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX