summaryrefslogtreecommitdiff
path: root/sys/arch/amd64/stand/cdboot
diff options
context:
space:
mode:
authorTom Cosgrove <tom@cvs.openbsd.org>2007-05-30 01:25:44 +0000
committerTom Cosgrove <tom@cvs.openbsd.org>2007-05-30 01:25:44 +0000
commit5733e3038b656fdd42285e950ba6520ce83284fc (patch)
tree9e6ad85f0cacfb6e26742c59a81b6ebf9ffc18b8 /sys/arch/amd64/stand/cdboot
parente89308fca5f883deb95669dc7abfdc1ebadc00e4 (diff)
Pull out the ELF loadfile pieces from the standalone libraries, so that
both 32- and 64-bit versions can be created (previously only one or the other could be built for a given boot loader). Use this to allow the i386 and amd64 boot blocks to boot both ELF32 and ELF64 kernels (i.e. amd64 boot blocks can now load i386 kernels, and vice versa). Obviously the system must support LONG mode in order to successfully run the amd64 kernel once it is loaded. Advice and discussions from/with dale@ (going back three years). Much testing nick@ and todd@; thanks.
Diffstat (limited to 'sys/arch/amd64/stand/cdboot')
-rw-r--r--sys/arch/amd64/stand/cdboot/Makefile5
-rw-r--r--sys/arch/amd64/stand/cdboot/conf.c4
2 files changed, 5 insertions, 4 deletions
diff --git a/sys/arch/amd64/stand/cdboot/Makefile b/sys/arch/amd64/stand/cdboot/Makefile
index 98f06fdb5bc..21469c17ed6 100644
--- a/sys/arch/amd64/stand/cdboot/Makefile
+++ b/sys/arch/amd64/stand/cdboot/Makefile
@@ -1,4 +1,4 @@
-# $OpenBSD: Makefile,v 1.9 2007/05/29 08:16:54 deraadt Exp $
+# $OpenBSD: Makefile,v 1.10 2007/05/30 01:25:43 tom Exp $
.include "${.CURDIR}/../Makefile.inc"
@@ -35,7 +35,8 @@ SRCS+= alloc.c exit.c strcmp.c strlen.c \
# io routines
# not required: ioctl.c write.c
SRCS+= close.c closeall.c dev.c disklabel.c dkcksum.c fstat.c lseek.c \
- open.c read.c stat.c cread.c readdir.c cons.c loadfile.c
+ open.c read.c stat.c cread.c readdir.c cons.c loadfile.c \
+ elf32.c elf64.c
# boot filesystems
SRCS+= ufs.c cd9660.c
# gcc support
diff --git a/sys/arch/amd64/stand/cdboot/conf.c b/sys/arch/amd64/stand/cdboot/conf.c
index 0bddf2cb83e..7172579a38d 100644
--- a/sys/arch/amd64/stand/cdboot/conf.c
+++ b/sys/arch/amd64/stand/cdboot/conf.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: conf.c,v 1.11 2007/05/27 18:38:33 tom Exp $ */
+/* $OpenBSD: conf.c,v 1.12 2007/05/30 01:25:43 tom Exp $ */
/*
* Copyright (c) 2004 Tom Cosgrove
@@ -42,7 +42,7 @@
#include <biosdev.h>
#include <dev/cons.h>
-const char version[] = "1.10";
+const char version[] = "2.00";
int debug = 1;