From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NVtgn-0000IV-KH for qemu-devel@nongnu.org; Fri, 15 Jan 2010 16:26:41 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1NVtgi-0000Dp-VZ for qemu-devel@nongnu.org; Fri, 15 Jan 2010 16:26:41 -0500 Received: from [199.232.76.173] (port=60200 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NVtgi-0000De-QC for qemu-devel@nongnu.org; Fri, 15 Jan 2010 16:26:36 -0500 Received: from mx20.gnu.org ([199.232.41.8]:40509) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1NVtgi-0008Cr-CI for qemu-devel@nongnu.org; Fri, 15 Jan 2010 16:26:36 -0500 Received: from mail-pz0-f190.google.com ([209.85.222.190]) by mx20.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NVtgg-0004DT-3k for qemu-devel@nongnu.org; Fri, 15 Jan 2010 16:26:34 -0500 Received: by pzk28 with SMTP id 28so335848pzk.4 for ; Fri, 15 Jan 2010 13:26:32 -0800 (PST) MIME-Version: 1.0 In-Reply-To: References: <1263581172-16129-1-git-send-email-atar4qemu@google.com> From: Blue Swirl Date: Fri, 15 Jan 2010 21:26:12 +0000 Message-ID: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: [Qemu-devel] Re: sparc32 do_unassigned_access overhaul List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Artyom Tarasenko Cc: qemu-devel@nongnu.org On Fri, Jan 15, 2010 at 9:11 PM, Artyom Tarasenko wrote: > 2010/1/15 Blue Swirl : >> On Fri, Jan 15, 2010 at 6:46 PM, Artyom Tarasenko >> wrote: >>> According to pages 9-31 - 9-34 of "SuperSPARC & MultiCache Controller >>> User's Manual": >>> >>> 1. "A lower priority fault may not overwrite the >>> =C2=A0 =C2=A0MFSR status of a higher priority fault." >>> 2. The MFAR is overwritten according to the policy defined for the MFSR >>> 3. The overwrite bit is asserted if the fault status register (MFSR) >>> =C2=A0 has been written more than once by faults of the same class >>> 4. SuperSPARC will never place instruction fault addresses in the MFAR. >>> >>> Implementation of points 1-3 allows booting Solaris 2.6 and 2.5.1. >> >> Nice work! This also passes my tests. > > I'm afraid we still are not there yet though: Solaris 7 fails potentially= due to > another bug in the MMU emulation, and the initial [missing-] RAM > detection in OBP fails > very probably due to a bug in in the MMU emulation. Some guesses: - Access to unassigned RAM area may be handled by the memory controller differently (no faults, different faults etc.) than unassigned access to SBus or other area. - Real RAM banks have aliasing effects (which could be emulated by mapping the aliased RAM areas many times). - OBP on machines with ECC controller may detect missing RAM using ECC che= cks. >> However, there are some CODING_STYLE issues. > > Is it something you do by hand (or, actually, by eyes), or is there a > way I can automatically test my patches before sending? There is CODING_STYLE document in the QEMU tree, please read it. It's too bad we don't have a checkpatch script like Linux kernel has. IIRC Anthony once said that he may write one.