From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.33) id 1BkljF-0005mY-Dc for qemu-devel@nongnu.org; Wed, 14 Jul 2004 11:31:29 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.33) id 1BkljA-0005mM-L1 for qemu-devel@nongnu.org; Wed, 14 Jul 2004 11:31:29 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.33) id 1BkljA-0005mC-HB for qemu-devel@nongnu.org; Wed, 14 Jul 2004 11:31:24 -0400 Received: from [171.64.10.152] (helo=smtp-roam.Stanford.EDU) by monty-python.gnu.org with esmtp (Exim 4.34) id 1Bklfi-0004eY-1Q for qemu-devel@nongnu.org; Wed, 14 Jul 2004 11:27:50 -0400 Subject: Re: [Qemu-devel] [patch] make PCI work with Windows NT 4 guest References: <877jt7ru1v.fsf@benpfaff.org> From: Ben Pfaff Date: Wed, 14 Jul 2004 08:27:47 -0700 In-Reply-To: (Johannes Schindelin's message of "Wed, 14 Jul 2004 13:01:59 +0200 (CEST)") Message-ID: <87d62ytxqk.fsf@benpfaff.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: Ben Pfaff Reply-To: blp@cs.stanford.edu, qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Johannes Schindelin Cc: qemu-devel@nongnu.org Johannes Schindelin writes: > great work! Out of curiosity: how did you manage to find out what is going > wrong? (may help others to debug similarly complicated situations...) To tell that the lack of CMOS was a problem, I tried the WNT4 install under both Bochs (in which WNT4 worked) and qemu and set up both to dump out IDE port reads and writes in the same trace format. Then I `diff'ed the outputs. There were lots of differences so I adjusted the qemu state machine until the traces were bug-for-bug identical. It still didn't work so I knew something else had to be the problem, and eventually I thought of the CMOS. I did about the same thing for figuring out how to make PCI work. I turned on lots of debug print statements, then ran installs with PCI enabled and disabled, and looked at the `diff' between the debug print outputs. There was a particular point in the PCI trace where the guest was sitting in a loop polling the IDE status register until it timed out, so I figured that it was looking for a bit that wasn't on. Adding the "seek complete" bit fixed it. -- "...I've forgotten where I was going with this, but you can bet it was scathing." --DesiredUsername