From b6a66df555197c9ca28107c55e79cbedccdefa8f Mon Sep 17 00:00:00 2001 From: Sascha Wildner Date: Sun, 28 Mar 2010 00:37:53 +0100 Subject: [PATCH] Further adjustments for 64 bit vkernels. * Put a vkernel on the ISO too, just like we do with the 32 bit vkernel. * Adjust miscellaneous manual pages. * Don't build bus modules for 64 bit vkernels, too. * Install 64 bit vkernels to /var/vkernel, too. --- nrelease/Makefile | 2 +- share/man/man5/kernconf.5 | 32 +++++++++++++++++++++----------- share/man/man7/vkernel.7 | 10 +++++----- sys/Makefile.modules | 3 +-- sys/conf/kern.paths.mk | 2 +- usr.sbin/config/config.8 | 13 ++++++++++--- 6 files changed, 39 insertions(+), 23 deletions(-) diff --git a/nrelease/Makefile b/nrelease/Makefile index bc2383d9b1..0580532345 100644 --- a/nrelease/Makefile +++ b/nrelease/Makefile @@ -35,7 +35,7 @@ KERNCONF ?= DFLYLIVE VKERNEL DFLYLIVE-SMP DFLYLIVE-SMP-NOAPIC .if ${MACHINE_ARCH} == "i386" KERNCONF ?= GENERIC VKERNEL .else -KERNCONF ?= X86_64_GENERIC +KERNCONF ?= X86_64_GENERIC VKERNEL64 .endif .endif diff --git a/share/man/man5/kernconf.5 b/share/man/man5/kernconf.5 index f05a1d2447..277d63c8f9 100644 --- a/share/man/man5/kernconf.5 +++ b/share/man/man5/kernconf.5 @@ -29,9 +29,7 @@ .\" OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $DragonFly: src/share/man/man5/kernconf.5,v 1.8 2008/07/16 01:02:07 thomas Exp $ -.\" -.Dd November 14, 2009 +.Dd March 28, 2010 .Dt KERNCONF 5 .Os .Sh NAME @@ -174,15 +172,19 @@ of that language apply. Sets the platform of this kernel to .Ar name . Legal platforms are -.Sy pc32 , -.Sy pc64 , -and -.Sy vkernel , -meaning either a 32 bit +.Sy pc32 +(32 bit .Tn Intel -architecture, a 64 bit +architecture), +.Sy pc64 +(64 bit .Tn AMD -architecture, or a virtual kernel. +architecture), +.Sy vkernel +(32 bit virtual kernel), +and +.Sy vkernel64 +(64 bit virtual kernel). .Pp .It Sy pseudo-device Ar name Op Ar N Includes support for the pseudo-device @@ -201,8 +203,16 @@ kernel configuration file .It Pa /sys/config/LINT kernel configuration file for checking all the sources, includes description of kernel configuration options +.It Pa /sys/config/SOEKRIS +kernel configuration file for the +.Tn Soekris Engineering net5501 +board .It Pa /sys/config/VKERNEL -default +default 32 bit +.Xr vkernel 7 +kernel configuration file +.It Pa /sys/config/VKERNEL64 +default 64 bit .Xr vkernel 7 kernel configuration file .It Pa /sys/config/X86_64_GENERIC diff --git a/share/man/man7/vkernel.7 b/share/man/man7/vkernel.7 index 77e8b9dae8..524496bd64 100644 --- a/share/man/man7/vkernel.7 +++ b/share/man/man7/vkernel.7 @@ -29,9 +29,7 @@ .\" OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $DragonFly: src/share/man/man7/vkernel.7,v 1.43 2008/09/02 22:41:19 thomas Exp $ -.\" -.Dd March 27, 2009 +.Dd March 28, 2010 .Dt VKERNEL 7 .Os .Sh NAME @@ -41,7 +39,8 @@ .Nm vke .Nd virtual kernel architecture .Sh SYNOPSIS -.Cd "platform vkernel" +.Cd "platform vkernel # for 32 bit vkernels" +.Cd "platform vkernel64 # for 64 bit vkernels" .Cd "device vcd" .Cd "device vkd" .Cd "device vke" @@ -396,7 +395,8 @@ cause the virtual kernel to exit. .Sh BUILDING THE WORLD UNDER A VKERNEL The virtual kernel platform does not have all the header files expected by a world build, so the easiest thing to do right now is to specify a -pc32 target when building the world under a virtual kernel, like this: +pc32 (in a 32 bit vkernel) or pc64 (in a 64 bit vkernel) target when +building the world under a virtual kernel, like this: .Bd -literal vkernel# make MACHINE_PLATFORM=pc32 buildworld vkernel# make MACHINE_PLATFORM=pc32 installworld diff --git a/sys/Makefile.modules b/sys/Makefile.modules index 798f875b33..bd5f3ba32a 100644 --- a/sys/Makefile.modules +++ b/sys/Makefile.modules @@ -1,11 +1,10 @@ # Makefile.modules - build the modules (executed from the modules: target # in Makefile). # -# $DragonFly: src/sys/Makefile.modules,v 1.7 2007/12/30 20:02:56 hasso Exp $ .if defined(MODULES_OVERRIDE) SUBDIR=${MODULES_OVERRIDE} .else -.if ${MACHINE_PLATFORM} != "vkernel" +.if ${MACHINE_PLATFORM} != "vkernel" && ${MACHINE_PLATFORM} != "vkernel64" SUBDIR=bus .endif SUBDIR+=crypto emulation dev kern net netbt netgraph netproto vfs diff --git a/sys/conf/kern.paths.mk b/sys/conf/kern.paths.mk index 72fb70eac1..3fc7713a18 100644 --- a/sys/conf/kern.paths.mk +++ b/sys/conf/kern.paths.mk @@ -16,6 +16,6 @@ DESTKERNDIR?= /boot # Set DESTDIR to /var/vkernel by default for vkernel platform so as # not to shoot the real kernel installation. -.if ${MACHINE_PLATFORM} == vkernel +.if ${MACHINE_PLATFORM} == vkernel || ${MACHINE_PLATFORM} == vkernel64 DESTDIR?= /var/vkernel .endif diff --git a/usr.sbin/config/config.8 b/usr.sbin/config/config.8 index c24d85245b..c5b8cb193c 100644 --- a/usr.sbin/config/config.8 +++ b/usr.sbin/config/config.8 @@ -31,9 +31,8 @@ .\" .\" @(#)config.8 8.2 (Berkeley) 4/19/94 .\" $FreeBSD: src/usr.sbin/config/config.8,v 1.21.2.7 2003/04/23 07:32:39 brueffer Exp $ -.\" $DragonFly: src/usr.sbin/config/config.8,v 1.10 2008/07/10 00:46:57 thomas Exp $ .\" -.Dd November 14, 2009 +.Dd March 28, 2010 .Dt CONFIG 8 .Os .Sh NAME @@ -199,8 +198,16 @@ kernel configuration file .It Pa /sys/config/LINT kernel configuration file for checking all the sources, includes description of kernel configuration options +.It Pa /sys/config/SOEKRIS +kernel configuration file for the +.Tn Soekris Engineering net5501 +board .It Pa /sys/config/VKERNEL -default +default 32 bit +.Xr vkernel 7 +kernel configuration file +.It Pa /sys/config/VKERNEL64 +default 64 bit .Xr vkernel 7 kernel configuration file .It Pa /sys/config/X86_64_GENERIC -- 2.41.0