From owner-freebsd-hackers@FreeBSD.ORG Sat Apr 20 11:51:12 2013 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 6D9A5E0A for ; Sat, 20 Apr 2013 11:51:12 +0000 (UTC) (envelope-from jrisom@gmail.com) Received: from mail-ie0-x231.google.com (mail-ie0-x231.google.com [IPv6:2607:f8b0:4001:c03::231]) by mx1.freebsd.org (Postfix) with ESMTP id 40459189F for ; Sat, 20 Apr 2013 11:51:12 +0000 (UTC) Received: by mail-ie0-f177.google.com with SMTP id 9so5669630iec.36 for ; Sat, 20 Apr 2013 04:51:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:message-id:date:from:user-agent:mime-version:to:cc :subject:references:in-reply-to:content-type :content-transfer-encoding; bh=/Ih+Us/exaIuVnHmavUy/l11QbXCIaNzhOt3OdsjlH8=; b=vYx+Xi9freD1yIsryeKXHR6LLys7ysm2CwzY7FFAajL6eR33hQVF+093dMTkvBjPZp I8XB3ui8Hs2kiZLHuc8cZzJ9dslq0Rd0Q4cjcF8Xv9PMzMHdHQCSex6pilQK1AQiorxC PyWCiBAEhguOVy80vmy3mlFtMjzZfw6IOcguokfC5WYRgsJtdx11ibVv94w1zY6c4UVe 7hEj41cbH84MwPYAQ09UER28neVJMI5GsxacjhUcTprXFe7b646F3atcGqiXaXYBEnNV bMqp4jOzmdydlS/962QiMQg247lVSRQdRVG8yV7VQIyeg2dQfEETBUhWQWTCyDnrRVYb EivA== X-Received: by 10.42.64.69 with SMTP id f5mr9704651ici.29.1366458671947; Sat, 20 Apr 2013 04:51:11 -0700 (PDT) Received: from [192.168.1.34] (c-98-212-197-211.hsd1.il.comcast.net. [98.212.197.211]) by mx.google.com with ESMTPS id b3sm205808igd.5.2013.04.20.04.51.10 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Sat, 20 Apr 2013 04:51:11 -0700 (PDT) Message-ID: <5172812A.10309@gmail.com> Date: Sat, 20 Apr 2013 06:51:06 -0500 From: Joshua Isom User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:17.0) Gecko/20130328 Thunderbird/17.0.5 MIME-Version: 1.0 To: Jeremy Chadwick Subject: Re: Rebooting from loader causes a "fault" in VMware Workstation References: <20130419162834.GA90217@icarus.home.lan> <5171C9FE.8080409@gmail.com> <20130420014821.GA98555@icarus.home.lan> In-Reply-To: <20130420014821.GA98555@icarus.home.lan> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-hackers@freebsd.org 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: Sat, 20 Apr 2013 11:51:12 -0000 On 4/19/2013 8:48 PM, Jeremy Chadwick wrote: > I'm happy to open up a ticket with VMware about the issue as I'm a > customer, but I find it a little odd that other operating systems do not > exhibit this problem, including another BSD. Ones which reboot just > fine from their bootloaders: > > - Linux -- so many that I don't know where to begin: ArchLinux > 2012.10.06, CentOS 6.3, Debian 6.0.7, Finnix 1.0.5, Knoppix 7.0.4, > Slackware 14.0, and Ubuntu 11.10 > - OpenBSD 5.2 > - OpenIndiana -- build 151a7 (server version) > > So when you say "Blame VMware", I'd be happy to, except there must be > something FreeBSD's bootstraps are doing differently than everyone else > that causes this oddity. Would you not agree? A triple fault is standard practice as a fail safe guarantee of reboot. It's used either as a reboot, switch to real mode(IBM OS/2), or catastrophic unrecoverable failure. By the looks of grub(Linux and Solaris), it either jumps to it's own instruction, hoping the bios catches it("tell the BIOS a boot failure, which may result in no effect"), or jumps to a location that I can't yet determine what code exists there. I can't seem to find OpenBSD's reboot method from OpenBSD's cvsweb, only an exit but not where that exit leads to. The native operating system is irrelevant, only the boot loader so all the Linux distributions and Solaris forks all count as "grub." Many other bootloaders don't even have the reboot option, just "fail." Here's barebox, a Das U-Boot fork: /** How to reset the machine? */ while(1) In any case, it's a bag of tricks, finding something that works and is "nice." We're talking 30 years of legacy. A triple fault, assuming the mbr and loader ignores or zeroes previous memory, is guaranteed and doesn't hang.