From owner-svn-src-projects@FreeBSD.ORG Sat Oct 27 22:33:24 2012 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 3932A145; Sat, 27 Oct 2012 22:33:24 +0000 (UTC) (envelope-from neel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 082328FC12; Sat, 27 Oct 2012 22:33:24 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q9RMXNjk072105; Sat, 27 Oct 2012 22:33:23 GMT (envelope-from neel@svn.freebsd.org) Received: (from neel@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q9RMXNgD072101; Sat, 27 Oct 2012 22:33:23 GMT (envelope-from neel@svn.freebsd.org) Message-Id: <201210272233.q9RMXNgD072101@svn.freebsd.org> From: Neel Natu Date: Sat, 27 Oct 2012 22:33:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r242192 - projects/bhyve/usr.sbin/bhyve X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 27 Oct 2012 22:33:24 -0000 Author: neel Date: Sat Oct 27 22:33:23 2012 New Revision: 242192 URL: http://svn.freebsd.org/changeset/base/242192 Log: Present the bvm console device to the guest only when explicitly requested via the "-b" command line option. Reviewed by: grehan Obtained from: NetApp Modified: projects/bhyve/usr.sbin/bhyve/consport.c projects/bhyve/usr.sbin/bhyve/fbsdrun.c projects/bhyve/usr.sbin/bhyve/inout.h Modified: projects/bhyve/usr.sbin/bhyve/consport.c ============================================================================== --- projects/bhyve/usr.sbin/bhyve/consport.c Sat Oct 27 22:13:42 2012 (r242191) +++ projects/bhyve/usr.sbin/bhyve/consport.c Sat Oct 27 22:33:23 2012 (r242192) @@ -124,4 +124,17 @@ console_handler(struct vmctx *ctx, int v return (0); } -INOUT_PORT(console, BVM_CONSOLE_PORT, IOPORT_F_INOUT, console_handler); + +static struct inout_port consport = { + "bvmcons", + BVM_CONSOLE_PORT, + IOPORT_F_INOUT, + console_handler +}; + +void +init_bvmcons(void) +{ + + register_inout(&consport); +} Modified: projects/bhyve/usr.sbin/bhyve/fbsdrun.c ============================================================================== --- projects/bhyve/usr.sbin/bhyve/fbsdrun.c Sat Oct 27 22:13:42 2012 (r242191) +++ projects/bhyve/usr.sbin/bhyve/fbsdrun.c Sat Oct 27 22:33:23 2012 (r242192) @@ -563,21 +563,25 @@ vm_loop(struct vmctx *ctx, int vcpu, uin int main(int argc, char *argv[]) { - int c, error, gdb_port, inject_bkpt, tmp, err, ioapic; + int c, error, gdb_port, inject_bkpt, tmp, err, ioapic, bvmcons; struct vmctx *ctx; uint64_t rip; + bvmcons = 0; inject_bkpt = 0; progname = basename(argv[0]); gdb_port = DEFAULT_GDB_PORT; guest_ncpus = 1; ioapic = 0; - while ((c = getopt(argc, argv, "aehBHIPxp:g:c:z:s:S:n:m:M:")) != -1) { + while ((c = getopt(argc, argv, "abehBHIPxp:g:c:z:s:S:n:m:M:")) != -1) { switch (c) { case 'a': disable_x2apic = 1; break; + case 'b': + bvmcons = 1; + break; case 'B': inject_bkpt = 1; break; @@ -707,6 +711,9 @@ main(int argc, char *argv[]) if (gdb_port != 0) init_dbgport(gdb_port); + if (bvmcons) + init_bvmcons(); + error = vm_get_register(ctx, BSP, VM_REG_GUEST_RIP, &rip); assert(error == 0); Modified: projects/bhyve/usr.sbin/bhyve/inout.h ============================================================================== --- projects/bhyve/usr.sbin/bhyve/inout.h Sat Oct 27 22:13:42 2012 (r242191) +++ projects/bhyve/usr.sbin/bhyve/inout.h Sat Oct 27 22:33:23 2012 (r242192) @@ -62,4 +62,6 @@ int emulate_inout(struct vmctx *, int vc uint32_t *eax, int strict); int register_inout(struct inout_port *iop); +void init_bvmcons(void); + #endif /* _INOUT_H_ */