Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/external/bsd/gnu-efi/dist Import gnu-efi-3.0.14
details: https://anonhg.NetBSD.org/src/rev/0de439280d14
branches: trunk
changeset: 987526:0de439280d14
user: jmcneill <jmcneill%NetBSD.org@localhost>
date: Thu Sep 30 18:50:09 2021 +0000
description:
Import gnu-efi-3.0.14
diffstat:
sys/external/bsd/gnu-efi/dist/Make.defaults | 8 +-
sys/external/bsd/gnu-efi/dist/Make.rules | 10 +-
sys/external/bsd/gnu-efi/dist/Makefile | 2 +-
sys/external/bsd/gnu-efi/dist/apps/bltgrid.c | 5 +-
sys/external/bsd/gnu-efi/dist/apps/lfbgrid.c | 10 +-
sys/external/bsd/gnu-efi/dist/apps/modelist.c | 4 +-
sys/external/bsd/gnu-efi/dist/apps/setjmp.c | 9 +-
sys/external/bsd/gnu-efi/dist/gnuefi/Makefile | 4 +-
sys/external/bsd/gnu-efi/dist/gnuefi/crt0-efi-aarch64.S | 4 +-
sys/external/bsd/gnu-efi/dist/gnuefi/crt0-efi-arm.S | 4 +-
sys/external/bsd/gnu-efi/dist/gnuefi/crt0-efi-ia32.S | 7 +-
sys/external/bsd/gnu-efi/dist/gnuefi/crt0-efi-ia64.S | 4 +-
sys/external/bsd/gnu-efi/dist/gnuefi/crt0-efi-mips64el.S | 4 +-
sys/external/bsd/gnu-efi/dist/gnuefi/crt0-efi-riscv64.S | 138 +++
sys/external/bsd/gnu-efi/dist/gnuefi/crt0-efi-x86_64.S | 5 +-
sys/external/bsd/gnu-efi/dist/gnuefi/elf_riscv64_efi.lds | 79 ++
sys/external/bsd/gnu-efi/dist/gnuefi/reloc_riscv64.c | 93 ++
sys/external/bsd/gnu-efi/dist/inc/efi.h | 24 +-
sys/external/bsd/gnu-efi/dist/inc/eficonex.h | 113 +++
sys/external/bsd/gnu-efi/dist/inc/efidevp.h | 98 ++-
sys/external/bsd/gnu-efi/dist/inc/efierr.h | 3 +-
sys/external/bsd/gnu-efi/dist/inc/efilink.h | 9 +-
sys/external/bsd/gnu-efi/dist/inc/efiprot.h | 17 +-
sys/external/bsd/gnu-efi/dist/inc/efirtlib.h | 18 +-
sys/external/bsd/gnu-efi/dist/inc/efisetjmp.h | 6 +-
sys/external/bsd/gnu-efi/dist/inc/efishell.h | 451 +++++++++++++
sys/external/bsd/gnu-efi/dist/inc/lib.h | 94 ++
sys/external/bsd/gnu-efi/dist/inc/libsmbios.h | 21 +-
sys/external/bsd/gnu-efi/dist/inc/mips64el/efibind.h | 6 +-
sys/external/bsd/gnu-efi/dist/inc/riscv64/efibind.h | 133 +++
sys/external/bsd/gnu-efi/dist/inc/riscv64/efilibplat.h | 9 +
sys/external/bsd/gnu-efi/dist/inc/riscv64/efisetjmp_arch.h | 40 +
sys/external/bsd/gnu-efi/dist/lib/Makefile | 4 +-
sys/external/bsd/gnu-efi/dist/lib/cmdline.c | 8 +-
sys/external/bsd/gnu-efi/dist/lib/data.c | 27 +-
sys/external/bsd/gnu-efi/dist/lib/error.c | 6 +-
sys/external/bsd/gnu-efi/dist/lib/guid.c | 6 +-
sys/external/bsd/gnu-efi/dist/lib/pause.c | 17 +
sys/external/bsd/gnu-efi/dist/lib/riscv64/initplat.c | 13 +
sys/external/bsd/gnu-efi/dist/lib/riscv64/math.c | 64 +
sys/external/bsd/gnu-efi/dist/lib/riscv64/setjmp.S | 71 ++
sys/external/bsd/gnu-efi/dist/lib/runtime/efirtlib.c | 30 +-
sys/external/bsd/gnu-efi/dist/lib/runtime/rtstr.c | 27 +-
sys/external/bsd/gnu-efi/dist/lib/smbios.c | 4 +-
sys/external/bsd/gnu-efi/dist/lib/str.c | 8 +-
45 files changed, 1601 insertions(+), 116 deletions(-)
diffs (truncated from 2453 to 300 lines):
diff -r 0d29d2f16f1f -r 0de439280d14 sys/external/bsd/gnu-efi/dist/Make.defaults
--- a/sys/external/bsd/gnu-efi/dist/Make.defaults Thu Sep 30 18:33:28 2021 +0000
+++ b/sys/external/bsd/gnu-efi/dist/Make.defaults Thu Sep 30 18:50:09 2021 +0000
@@ -62,12 +62,12 @@
# Host/target identification
OS := $(shell uname -s)
-HOSTARCH ?= $(shell $(HOSTCC) -dumpmachine | cut -f1 -d- | sed -e s,i[3456789]86,ia32, -e 's,armv7.*,arm,' )
-ARCH ?= $(shell $(HOSTCC) -dumpmachine | cut -f1 -d- | sed -e s,i[3456789]86,ia32, -e 's,armv7.*,arm,' )
+HOSTARCH ?= $(shell $(HOSTCC) -dumpmachine | cut -f1 -d- | sed -e s,i[3456789]86,ia32, -e 's,armv[67].*,arm,' )
+ARCH ?= $(shell $(HOSTCC) -dumpmachine | cut -f1 -d- | sed -e s,i[3456789]86,ia32, -e 's,armv[67].*,arm,' )
# Get ARCH from the compiler if cross compiling
ifneq ($(CROSS_COMPILE),)
- override ARCH := $(shell $(CC) -dumpmachine | cut -f1 -d-| sed -e s,i[3456789]86,ia32, -e 's,armv7.*,arm,' )
+ override ARCH := $(shell $(CC) -dumpmachine | cut -f1 -d-| sed -e s,i[3456789]86,ia32, -e 's,armv[67].*,arm,' )
endif
# FreeBSD (and possibly others) reports amd64 instead of x86_64
@@ -142,10 +142,12 @@
ifneq ($(ARCH),aarch64)
ifneq ($(ARCH),arm)
ifneq ($(ARCH),mips64el)
+ifneq ($(ARCH),riscv64)
export HAVE_EFI_OBJCOPY=y
endif
endif
endif
+endif
ifneq ($(ARCH),arm)
export LIBGCC=$(shell $(CC) $(ARCH3264) -print-libgcc-file-name)
diff -r 0d29d2f16f1f -r 0de439280d14 sys/external/bsd/gnu-efi/dist/Make.rules
--- a/sys/external/bsd/gnu-efi/dist/Make.rules Thu Sep 30 18:33:28 2021 +0000
+++ b/sys/external/bsd/gnu-efi/dist/Make.rules Thu Sep 30 18:50:09 2021 +0000
@@ -51,8 +51,14 @@
%.o: %.c
$(CC) $(INCDIR) $(CFLAGS) $(CPPFLAGS) -c $< -o $@
-%.S: %.c
+%.s: %.c
$(CC) $(INCDIR) $(CFLAGS) $(CPPFLAGS) -S $< -o $@
-%.E: %.c
+%.i: %.c
$(CC) $(INCDIR) $(CFLAGS) $(CPPFLAGS) -E $< -o $@
+
+%.o: %.S
+ $(CC) $(INCDIR) $(CFLAGS) $(CPPFLAGS) -c $< -o $@
+
+%.s: %.S
+ $(CC) $(INCDIR) $(CFLAGS) $(CPPFLAGS) -E $< -o $@
diff -r 0d29d2f16f1f -r 0de439280d14 sys/external/bsd/gnu-efi/dist/Makefile
--- a/sys/external/bsd/gnu-efi/dist/Makefile Thu Sep 30 18:33:28 2021 +0000
+++ b/sys/external/bsd/gnu-efi/dist/Makefile Thu Sep 30 18:50:09 2021 +0000
@@ -34,7 +34,7 @@
# SUCH DAMAGE.
#
-VERSION = 3.0.8
+VERSION = 3.0.14
MKFILE_PATH := $(abspath $(lastword $(MAKEFILE_LIST)))
SRCDIR = $(dir $(MKFILE_PATH))
diff -r 0d29d2f16f1f -r 0de439280d14 sys/external/bsd/gnu-efi/dist/apps/bltgrid.c
--- a/sys/external/bsd/gnu-efi/dist/apps/bltgrid.c Thu Sep 30 18:33:28 2021 +0000
+++ b/sys/external/bsd/gnu-efi/dist/apps/bltgrid.c Thu Sep 30 18:50:09 2021 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: bltgrid.c,v 1.1.1.1 2018/08/16 18:17:47 jmcneill Exp $ */
+/* $NetBSD: bltgrid.c,v 1.1.1.2 2021/09/30 18:50:09 jmcneill Exp $ */
#include <efi.h>
#include <efilib.h>
@@ -48,7 +48,7 @@
UINTN SizeOfInfo;
rc = uefi_call_wrapper(gop->QueryMode, 4, gop, i, &SizeOfInfo,
&info);
- if (EFI_ERROR(rc) && rc == EFI_NOT_STARTED) {
+ if (rc == EFI_NOT_STARTED) {
Print(L"gop->QueryMode() returned %r\n", rc);
Print(L"Trying to start GOP with SetMode().\n");
rc = uefi_call_wrapper(gop->SetMode, 2, gop,
@@ -86,6 +86,7 @@
info->HorizontalResolution,
info->VerticalResolution,
0);
+ FreePool(PixelBuffer);
return;
}
Print(L"Never found the active video mode?\n");
diff -r 0d29d2f16f1f -r 0de439280d14 sys/external/bsd/gnu-efi/dist/apps/lfbgrid.c
--- a/sys/external/bsd/gnu-efi/dist/apps/lfbgrid.c Thu Sep 30 18:33:28 2021 +0000
+++ b/sys/external/bsd/gnu-efi/dist/apps/lfbgrid.c Thu Sep 30 18:50:09 2021 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: lfbgrid.c,v 1.1.1.1 2018/08/16 18:17:47 jmcneill Exp $ */
+/* $NetBSD: lfbgrid.c,v 1.1.1.2 2021/09/30 18:50:09 jmcneill Exp $ */
#include <efi.h>
#include <efilib.h>
@@ -53,7 +53,8 @@
UINTN NumPixels;
UINT32 *PixelBuffer;
UINT32 CopySize, BufferSize;
-#if defined(__x86_64__) || defined(__aarch64__)
+#if defined(__x86_64__) || defined(__aarch64__) || \
+ (defined (__riscv) && __riscv_xlen == 64)
UINT64 FrameBufferAddr;
#elif defined(__i386__) || defined(__arm__)
UINT32 FrameBufferAddr;
@@ -72,7 +73,7 @@
UINTN SizeOfInfo;
rc = uefi_call_wrapper(gop->QueryMode, 4, gop, i, &SizeOfInfo,
&info);
- if (EFI_ERROR(rc) && rc == EFI_NOT_STARTED) {
+ if (rc == EFI_NOT_STARTED) {
Print(L"gop->QueryMode() returned %r\n", rc);
Print(L"Trying to start GOP with SetMode().\n");
rc = uefi_call_wrapper(gop->SetMode, 2, gop,
@@ -116,7 +117,8 @@
Print(L"No linear framebuffer on this device.\n");
return;
}
-#if defined(__x86_64__) || defined(__aarch64__)
+#if defined(__x86_64__) || defined(__aarch64__) || \
+ (defined (__riscv) && __riscv_xlen == 64)
FrameBufferAddr = (UINT64)gop->Mode->FrameBufferBase;
#elif defined(__i386__) || defined(__arm__)
FrameBufferAddr = (UINT32)(UINT64)gop->Mode->FrameBufferBase;
diff -r 0d29d2f16f1f -r 0de439280d14 sys/external/bsd/gnu-efi/dist/apps/modelist.c
--- a/sys/external/bsd/gnu-efi/dist/apps/modelist.c Thu Sep 30 18:33:28 2021 +0000
+++ b/sys/external/bsd/gnu-efi/dist/apps/modelist.c Thu Sep 30 18:50:09 2021 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: modelist.c,v 1.1.1.2 2018/08/16 18:17:47 jmcneill Exp $ */
+/* $NetBSD: modelist.c,v 1.1.1.3 2021/09/30 18:50:09 jmcneill Exp $ */
#include <efi.h>
#include <efilib.h>
@@ -24,7 +24,7 @@
UINTN SizeOfInfo;
rc = uefi_call_wrapper(gop->QueryMode, 4, gop, i, &SizeOfInfo,
&info);
- if (EFI_ERROR(rc) && rc == EFI_NOT_STARTED) {
+ if (rc == EFI_NOT_STARTED) {
Print(L"gop->QueryMode() returned %r\n", rc);
Print(L"Trying to start GOP with SetMode().\n");
rc = uefi_call_wrapper(gop->SetMode, 2, gop,
diff -r 0d29d2f16f1f -r 0de439280d14 sys/external/bsd/gnu-efi/dist/apps/setjmp.c
--- a/sys/external/bsd/gnu-efi/dist/apps/setjmp.c Thu Sep 30 18:33:28 2021 +0000
+++ b/sys/external/bsd/gnu-efi/dist/apps/setjmp.c Thu Sep 30 18:50:09 2021 +0000
@@ -1,8 +1,9 @@
-/* $NetBSD: setjmp.c,v 1.1.1.1 2018/08/16 18:17:47 jmcneill Exp $ */
+/* $NetBSD: setjmp.c,v 1.1.1.2 2021/09/30 18:50:09 jmcneill Exp $ */
#include <efi.h>
#include <efilib.h>
+#include <efisetjmp.h>
EFI_STATUS
efi_main(
@@ -14,12 +15,12 @@
int rc;
InitializeLib(image_handle, systab);
- rc = setjmp(&env);
+ rc = setjmp(env);
Print(L"setjmp() = %d\n", rc);
if (rc == 3) {
Print(L"3 worked\n");
- longjmp(&env, 0);
+ longjmp(env, 0);
return 0;
}
@@ -28,6 +29,6 @@
return 0;
}
- longjmp(&env, 3);
+ longjmp(env, 3);
return 0;
}
diff -r 0d29d2f16f1f -r 0de439280d14 sys/external/bsd/gnu-efi/dist/gnuefi/Makefile
--- a/sys/external/bsd/gnu-efi/dist/gnuefi/Makefile Thu Sep 30 18:33:28 2021 +0000
+++ b/sys/external/bsd/gnu-efi/dist/gnuefi/Makefile Thu Sep 30 18:50:09 2021 +0000
@@ -54,7 +54,9 @@
all: $(TARGETS)
-libgnuefi.a: $(patsubst %,libgnuefi.a(%),$(OBJS))
+libgnuefi.a: $(OBJS)
+ $(AR) $(ARFLAGS) $@ $^
+
clean:
rm -f $(TARGETS) *~ *.o $(OBJS)
diff -r 0d29d2f16f1f -r 0de439280d14 sys/external/bsd/gnu-efi/dist/gnuefi/crt0-efi-aarch64.S
--- a/sys/external/bsd/gnu-efi/dist/gnuefi/crt0-efi-aarch64.S Thu Sep 30 18:33:28 2021 +0000
+++ b/sys/external/bsd/gnu-efi/dist/gnuefi/crt0-efi-aarch64.S Thu Sep 30 18:50:09 2021 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: crt0-efi-aarch64.S,v 1.1.1.1 2018/08/16 18:17:47 jmcneill Exp $ */
+/* $NetBSD: crt0-efi-aarch64.S,v 1.1.1.2 2021/09/30 18:50:09 jmcneill Exp $ */
/*
* crt0-efi-aarch64.S - PE/COFF header for AArch64 EFI applications
@@ -36,7 +36,7 @@
.short 2 // nr_sections
.long 0 // TimeDateStamp
.long 0 // PointerToSymbolTable
- .long 1 // NumberOfSymbols
+ .long 0 // NumberOfSymbols
.short section_table - optional_header // SizeOfOptionalHeader
.short 0x206 // Characteristics.
// IMAGE_FILE_DEBUG_STRIPPED |
diff -r 0d29d2f16f1f -r 0de439280d14 sys/external/bsd/gnu-efi/dist/gnuefi/crt0-efi-arm.S
--- a/sys/external/bsd/gnu-efi/dist/gnuefi/crt0-efi-arm.S Thu Sep 30 18:33:28 2021 +0000
+++ b/sys/external/bsd/gnu-efi/dist/gnuefi/crt0-efi-arm.S Thu Sep 30 18:50:09 2021 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: crt0-efi-arm.S,v 1.1.1.1 2018/08/16 18:17:47 jmcneill Exp $ */
+/* $NetBSD: crt0-efi-arm.S,v 1.1.1.2 2021/09/30 18:50:09 jmcneill Exp $ */
/*
* crt0-efi-arm.S - PE/COFF header for ARM EFI applications
@@ -36,7 +36,7 @@
.short 2 // nr_sections
.long 0 // TimeDateStamp
.long 0 // PointerToSymbolTable
- .long 1 // NumberOfSymbols
+ .long 0 // NumberOfSymbols
.short section_table - optional_header // SizeOfOptionalHeader
.short 0x306 // Characteristics.
// IMAGE_FILE_32BIT_MACHINE |
diff -r 0d29d2f16f1f -r 0de439280d14 sys/external/bsd/gnu-efi/dist/gnuefi/crt0-efi-ia32.S
--- a/sys/external/bsd/gnu-efi/dist/gnuefi/crt0-efi-ia32.S Thu Sep 30 18:33:28 2021 +0000
+++ b/sys/external/bsd/gnu-efi/dist/gnuefi/crt0-efi-ia32.S Thu Sep 30 18:50:09 2021 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: crt0-efi-ia32.S,v 1.1.1.1 2014/04/01 16:16:08 jakllsch Exp $ */
+/* $NetBSD: crt0-efi-ia32.S,v 1.1.1.2 2021/09/30 18:50:09 jmcneill Exp $ */
/* crt0-efi-ia32.S - x86 EFI startup code.
Copyright (C) 1999 Hewlett-Packard Co.
@@ -74,5 +74,6 @@
#define IMAGE_REL_ABSOLUTE 0
.section .reloc
.long dummy // Page RVA
- .long 10 // Block Size (2*4+2)
- .word (IMAGE_REL_ABSOLUTE<<12) + 0 // reloc for dummy
+ .long 12 // Block Size (2*4+2*2), must be aligned by 32 Bits
+ .word (IMAGE_REL_ABSOLUTE<<12) + 0 // reloc for dummy
+ .word (IMAGE_REL_ABSOLUTE<<12) + 0 // reloc for dummy
diff -r 0d29d2f16f1f -r 0de439280d14 sys/external/bsd/gnu-efi/dist/gnuefi/crt0-efi-ia64.S
--- a/sys/external/bsd/gnu-efi/dist/gnuefi/crt0-efi-ia64.S Thu Sep 30 18:33:28 2021 +0000
+++ b/sys/external/bsd/gnu-efi/dist/gnuefi/crt0-efi-ia64.S Thu Sep 30 18:50:09 2021 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: crt0-efi-ia64.S,v 1.1.1.1 2014/04/01 16:16:08 jakllsch Exp $ */
+/* $NetBSD: crt0-efi-ia64.S,v 1.1.1.2 2021/09/30 18:50:09 jmcneill Exp $ */
/* crt0-efi-ia64.S - IA-64 EFI startup code.
Copyright (C) 1999 Hewlett-Packard Co.
@@ -84,6 +84,6 @@
.section .reloc, "a"
data4 _start_plabel // Page RVA
- data4 12 // Block Size (2*4+2*2)
+ data4 12 // Block Size (2*4+2*2), must be aligned by 32 Bits
data2 (IMAGE_REL_BASED_DIR64<<12) + 0 // reloc for plabel's entry point
data2 (IMAGE_REL_BASED_DIR64<<12) + 8 // reloc for plabel's global pointer
diff -r 0d29d2f16f1f -r 0de439280d14 sys/external/bsd/gnu-efi/dist/gnuefi/crt0-efi-mips64el.S
--- a/sys/external/bsd/gnu-efi/dist/gnuefi/crt0-efi-mips64el.S Thu Sep 30 18:33:28 2021 +0000
+++ b/sys/external/bsd/gnu-efi/dist/gnuefi/crt0-efi-mips64el.S Thu Sep 30 18:50:09 2021 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: crt0-efi-mips64el.S,v 1.1.1.1 2018/08/16 18:17:47 jmcneill Exp $ */
+/* $NetBSD: crt0-efi-mips64el.S,v 1.1.1.2 2021/09/30 18:50:09 jmcneill Exp $ */
/*
* crt0-efi-mips64el.S - PE/COFF header for MIPS64 EFI applications
@@ -37,7 +37,7 @@
.short 2 // nr_sections
.long 0 // TimeDateStamp
.long 0 // PointerToSymbolTable
- .long 1 // NumberOfSymbols
+ .long 0 // NumberOfSymbols
.short section_table - optional_header // SizeOfOptionalHeader
.short 0x206 // Characteristics.
// IMAGE_FILE_DEBUG_STRIPPED |
diff -r 0d29d2f16f1f -r 0de439280d14 sys/external/bsd/gnu-efi/dist/gnuefi/crt0-efi-riscv64.S
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/external/bsd/gnu-efi/dist/gnuefi/crt0-efi-riscv64.S Thu Sep 30 18:50:09 2021 +0000
@@ -0,0 +1,138 @@
+/* $NetBSD: crt0-efi-riscv64.S,v 1.1.1.1 2021/09/30 18:50:09 jmcneill Exp $ */
+
+/* SPDX-License-Identifier: GPL-2.0+ */
+/*
+ * Copright (C) 2014 Linaro Ltd. <ard.biesheuvel%linaro.org@localhost>
+ * Copright (C) 2018 Alexander Graf <agraf%suse.de@localhost>
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
Home |
Main Index |
Thread Index |
Old Index