From owner-freebsd-hackers@FreeBSD.ORG Fri Dec 7 20:33:18 2012 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 0555BB3C; Fri, 7 Dec 2012 20:33:18 +0000 (UTC) (envelope-from yanegomi@gmail.com) Received: from mail-la0-f54.google.com (mail-la0-f54.google.com [209.85.215.54]) by mx1.freebsd.org (Postfix) with ESMTP id 447888FC12; Fri, 7 Dec 2012 20:33:16 +0000 (UTC) Received: by mail-la0-f54.google.com with SMTP id j13so842443lah.13 for ; Fri, 07 Dec 2012 12:33:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=eDQuShOwbepPSnlt5lEldgugL68DkXSaVv48uvWe3pI=; b=qIVAmRaD4QSgpR4pOuS/tkFohrjx7GuxI6723Ss6iLp8+ipjSZ9Xx6kPmcfOJRhej8 Rh/lvFMGgmhyH+kgQIKk59N2lLohKCD2YTpT9Pe5DYxvkq9KQ35OzfzAtYNVMLqOJL7P IkeIyNZ4WjsOtEq8Cw3fyAmnZikcjTDhstvhbeDdOuu2AS1yofw77XY0Cwk2N0QzfSjH HXbV5GLYyLONf47QMt1IVccs0pBSM/pENyYIutIrW+wyPg0oPgHoWReuDaeKBRq6BJpw rR3reFp9m45bI2TeyOOO3ISeGk5kQszMMemuKEvRCsRzy7ShDs0oAHKCxnW5BHU5H0SA DO/Q== MIME-Version: 1.0 Received: by 10.152.45.229 with SMTP id q5mr6527459lam.34.1354912396078; Fri, 07 Dec 2012 12:33:16 -0800 (PST) Received: by 10.112.99.70 with HTTP; Fri, 7 Dec 2012 12:33:15 -0800 (PST) In-Reply-To: <13F96785-E0F3-4EC2-826E-070366D4A963@fisglobal.com> References: <3386ABA0-B05E-4E52-B9F7-35555A8AAFDA@fisglobal.com> <13F96785-E0F3-4EC2-826E-070366D4A963@fisglobal.com> Date: Fri, 7 Dec 2012 12:33:15 -0800 Message-ID: Subject: Re: loader and ficl/Forth help From: Garrett Cooper To: Devin Teske Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: FreeBSD Hackers X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Dec 2012 20:33:18 -0000 On Fri, Dec 7, 2012 at 12:07 PM, Devin Teske wr= ote: ... > I'll look into boot_multicons. > > However, w/respect to "boot -D", I believe that would be after the menu, = so is past the point at which we need the functionality (in drawing frames = from frames.4th). > > Also, you replied to an earlier e-mail in the thread, do note that there'= s an updated patch that centralizes the logic to "boot_serial?" function wh= ich returns boolean based on multiple conditions (currently takes $console = and $boot_serial into consideration -- should be trivial to add a check for= boot_multicons). You're correct; boot -D is for after boot and this only affects loader(8): -D boot with the dual console configuration. In th= e single configuration, the console will be either the internal display or the serial port, dependi= ng on the state of the -h option below. In the dua= l console configuration, both the internal display and the serial port will become the console at t= he same time, regardless of the state of the -h option. Rereading loader(8)'s entry on multicons, it might be a non-issue as well, given that it's only saying "kernel": boot_multicons Enables multiple console support in the kernel early on boot= . In a running system, console configuration can be manipulate= d by the conscontrol(8) utility. A grep of sys/boot suggests it's an alias for -D: $ grep -r multicons . ./userboot/userboot/bootinfo.c: {"boot_multicons", RB_MULTIPLE}, ./sparc64/loader/metadata.c: {"boot_multicons", RB_MULTIPLE}, ./forth/loader.conf:#boot_multicons=3D"" # -D: Use multiple consoles ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ./powerpc/ofw/metadata.c: {"boot_multicons", RB_MULTIPLE}, ./powerpc/ps3/metadata.c: {"boot_multicons", RB_MULTIPLE}, ./i386/libi386/comconsole.c: getenv("boot_multicons") !=3D NULL) { ./i386/libi386/bootinfo.c: {"boot_multicons", RB_MULTIPLE}, ./i386/efi/bootinfo.c: { "boot_multicons", RB_MULTIPLE}, ./pc98/libpc98/comconsole.c: getenv("boot_multicons") !=3D NULL) { ./common/loader.8:.It Va boot_multicons ./common/help.common:# Tset Sboot_multicons DUse multiple consoles ./common/help.common: set boot_multicons ./ia64/common/bootinfo.c: { "boot_multicons", RB_MULTIPLE}, ./uboot/common/metadata.c: {"boot_multicons", RB_MULTIPLE}, However, sys/boot/i386/libi386/comconsole.c is doing some matching based on the environment variable, so I'd need to look into the call flow further to better understand what's being achieved. Thanks, -Garrett