Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F170704851
D7801.id21396.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
2 KB
Referenced Files
None
Subscribers
None
D7801.id21396.diff
View Options
Index: sys/boot/efi/loader/arch/i386/efimd.c
===================================================================
--- sys/boot/efi/loader/arch/i386/efimd.c
+++ sys/boot/efi/loader/arch/i386/efimd.c
@@ -48,7 +48,10 @@
static UINTN mapkey;
-uint64_t
+int ldr_bootinfo(struct bootinfo *, uint64_t *);
+int ldr_enter(const char *);
+
+static uint64_t
ldr_alloc(vm_offset_t va)
{
Index: sys/boot/efi/loader/arch/i386/elf32_freebsd.c
===================================================================
--- sys/boot/efi/loader/arch/i386/elf32_freebsd.c
+++ sys/boot/efi/loader/arch/i386/elf32_freebsd.c
@@ -35,12 +35,16 @@
#include <machine/elf.h>
#include <stand.h>
+#include <efi.h>
+#include <efilib.h>
+
#include "bootstrap.h"
#include "../libi386/libi386.h"
#include "../btx/lib/btxv86.h"
extern void __exec(caddr_t addr, ...);
-
+extern int bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp);
+extern int ldr_enter(const char *kernel);
static int elf32_exec(struct preloaded_file *amp);
static int elf32_obj_exec(struct preloaded_file *amp);
@@ -72,14 +76,14 @@
ehdr = (Elf_Ehdr *)&(md->md_data);
efi_time_fini();
- err = bi_load(fp->f_args, &boothowto, &bootdev, &bootinfop, &modulep, &kernend);
+ err = bi_load(fp->f_args, &modulep, &kernend);
if (err != 0) {
efi_time_init();
return(err);
}
entry = ehdr->e_entry & 0xffffff;
- printf("Start @ 0x%lx ...\n", entry);
+ printf("Start @ 0x%x ...\n", entry);
ldr_enter(fp->f_name);
Index: sys/boot/efi/loader/arch/i386/exec.c
===================================================================
--- sys/boot/efi/loader/arch/i386/exec.c
+++ sys/boot/efi/loader/arch/i386/exec.c
@@ -36,6 +36,12 @@
uint32_t __base;
struct __v86 __v86;
+/* XXX - Needed a definition here to implicitly define exit(); do not remove. */
+static void
+exit(int x)
+{
+}
+
void
__v86int()
{
Index: targets/pseudo/userland/misc/Makefile.depend
===================================================================
--- targets/pseudo/userland/misc/Makefile.depend
+++ targets/pseudo/userland/misc/Makefile.depend
@@ -77,7 +77,7 @@
DIRDEPS.arm= ${_sys_boot_fdt} ${_sys_boot_efi}
DIRDEPS.arm64= ${_sys_boot_fdt} ${_sys_boot_efi}
-DIRDEPS.i386= ${DIRDEPS.x86sys} sys/boot/efi/libefi
+DIRDEPS.i386= ${DIRDEPS.x86sys} ${_sys_boot_efi}
DIRDEPS.powerpc= ${_sys_boot_fdt} sys/boot/libstand32 sys/boot/ofw sys/boot/uboot
DIRDEPS.pc98= sys/boot/libstand32
DIRDEPS.sparc64= sys/boot/ofw ${_sys_boot_zfs}
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Mon, Sep 7, 3:07 AM (5 h, 58 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
38447104
Default Alt Text
D7801.id21396.diff (2 KB)
Attached To
Mode
D7801: Start of EFI32 boot loader support
Attached
Detach File
Event Timeline
Log In to Comment