From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1O29Hi-0001qf-Og for qemu-devel@nongnu.org; Wed, 14 Apr 2010 16:34:06 -0400 Received: from [140.186.70.92] (port=52252 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1O29Hg-0001oN-Oj for qemu-devel@nongnu.org; Wed, 14 Apr 2010 16:34:05 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1O29Hd-0006Tr-JH for qemu-devel@nongnu.org; Wed, 14 Apr 2010 16:34:04 -0400 Received: from mail-wy0-f173.google.com ([74.125.82.173]:56079) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1O29Hd-0006TW-Bq for qemu-devel@nongnu.org; Wed, 14 Apr 2010 16:34:01 -0400 Received: by wye20 with SMTP id 20so275226wye.4 for ; Wed, 14 Apr 2010 13:34:00 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: References: From: Artyom Tarasenko Date: Wed, 14 Apr 2010 22:33:40 +0200 Message-ID: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Subject: [Qemu-devel] Re: OBP under qemu-system-sparc64 List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Blue Swirl Cc: qemu-devel 2010/4/14 Blue Swirl : > On 4/14/10, Artyom Tarasenko wrote: >> 2010/4/14 Blue Swirl : >> >> > On 4/14/10, Artyom Tarasenko wrote: >> =A0>> 2010/4/14 Artyom Tarasenko : >> =A0>> >> =A0>> > 2010/4/3 Blue Swirl : >> =A0>> =A0>> could be interesting to see what OBP >> =A0>> =A0>> from a real machine would think of the QEMU machine. >> =A0>> =A0> >> =A0>> =A0> it doesn't live long enough to think something (must be somet= hing trivial): >> =A0>> =A0> >> =A0>> =A0> $ sparc64-softmmu/qemu-system-sparc64 -bios u1_v3.11.1.bin -n= ographic >> =A0>> =A0> -cpu 'TI UltraSparc I' -d in_asm,int,cpu >> =A0>> =A0> -------------- >> =A0>> =A0> IN: >> =A0>> =A0> 0x000001fff0000020: =A0ldxa =A0[ %g0 ] (69), %g2 >> =A0>> =A0> 0x000001fff0000024: =A0stxa =A0%g0, [ %g0 ] (69) >> =A0>> =A0> 0x000001fff0000028: =A0b,a =A0 0x1fff0001d88 >> =A0>> =A0> >> =A0>> =A0> -------------- >> =A0>> =A0> IN: >> =A0>> =A0> 0x000001fff0001d88: =A0rdpr =A0%cwp, %g1 >> =A0>> =A0> 0x000001fff0001d8c: =A0wrpr =A00, %cwp >> =A0>> =A0> 0x000001fff0001d90: =A0wrpr =A0%g1, 0, %cwp >> =A0>> =A0> 0x000001fff0001d94: =A0call =A00x1fff0000210 >> =A0>> =A0> 0x000001fff0001d98: =A0add =A0%g0, %g0, %o0 >> =A0>> =A0> >> =A0>> =A0> -------------- >> =A0>> =A0> IN: >> =A0>> =A0> 0x000001fff0000210: =A0mov =A00x1ff, %o1 =A0 =A0! 0x1ff >> =A0>> =A0> 0x000001fff0000214: =A0sllx =A0%o1, 0x20, %o1 >> =A0>> =A0> 0x000001fff0000218: =A0sethi =A0%hi(0xf1300000), %o2 >> =A0>> =A0> 0x000001fff000021c: =A0or =A0%o2, %o1, %o2 >> =A0>> =A0> 0x000001fff0000220: =A0stba =A0%o0, [ %o2 ] (21) >> =A0>> >> =A0>> >> =A0>> and on the real machine there seems to be some device connected to= this address: >> =A0>> =A0ok 1fff1300000 bypass-asi spacel@ . >> =A0>> =A0Data Access Error >> =A0>> =A0ok cpu-afsr@ . >> =A0>> =A0104000000 >> =A0>> =A0ok 1fff1300000 bypass-asi spacel@ . >> =A0>> =A0Data Access Error >> =A0>> =A0ok cpu-afar@ . cpu-afsr@ . >> =A0>> =A01fff1300000 104000000 >> =A0>> =A0But, with single bytes it works: >> =A0>> =A0ok 1fff1300000 bypass-asi spacec@ . >> =A0>> =A064 >> =A0>> =A0ok 1fff1300001 bypass-asi spacec@ . >> =A0>> =A064 >> =A0>> =A0ok 1fff1300002 bypass-asi spacec@ . >> =A0>> =A064 >> =A0>> =A0ok 1fff1300003 bypass-asi spacec@ . >> =A0>> =A064 >> =A0>> >> =A0>> =A0If I put pseudodevices there it still doesn't get too far: >> =A0>> =A0#### skip unassigned mem access to 000001fff1300000 >> =A0>> =A0#### skip unassigned mem access to 000001fff1300004 >> =A0>> =A0#### skip unassigned mem access to 000001fff1300005 >> =A0>> =A0#### skip unassigned mem access to 000001fff1300006 >> =A0>> =A0#### skip unassigned mem access to 000001fff1300007 >> =A0> >> =A0> It's this device: >> =A0> =A0 =A0 =A0 =A0 =A0 =A0model: =A0'SUNW,sc-up' >> =A0> =A0 =A0 =A0 =A0 =A0 =A0reg: =A00000000f.01300000.00000008 >> =A0> =A0 =A0 =A0 =A0 =A0 =A0name: =A0'sc' >> >> >> thought about it, but it says xx08, and OBP tries xx00+ > > No, the third value is length. The second value is an offset to the > parent range. The first value is a selector from parent device > 'ranges' property which in this case has these values (slightly > formatted): > 00000000.00000000.000001ff.00000000.10000000. > 00000001.00000000.000001ff.10000000.10000000. > 00000002.00000000.000001ff.20000000.10000000. > 00000003.00000000.000001ff.30000000.10000000. > 0000000d.00000000.000001ff.d0000000.10000000. > 0000000e.00000000.000001ff.e0000000.10000000. > 0000000f.00000000.000001ff.f0000000.10000000 > > The last one (0xf) gives a range of 0x1fff0000000 to 0x1fffffffffff. > >> =A0>> =A0#### skip unassigned mem access to 000001fff1900000 >> =A0> >> =A0> =A0 =A0 =A0 =A0 =A0 =A0address: =A0fffb6000 >> =A0> =A0 =A0 =A0 =A0 =A0 =A0reg: =A00000000f.01900000.00000001 >> =A0> =A0 =A0 =A0 =A0 =A0 =A0name: =A0'auxio' >> =A0> >> =A0>> =A0#### skip unassigned mem access to 000001fff1100004 >> =A0> >> =A0> =A0 =A0 =A0 =A0 =A0 =A0device_type: =A0'serial' >> =A0> =A0 =A0 =A0 =A0 =A0 =A0reg: =A00000000f.01100000.00000004 >> =A0> =A0 =A0 =A0 =A0 =A0 =A0name: =A0'zs' >> =A0> >> =A0>> =A0#### skip unassigned mem access to 000001fff1100004 >> =A0>> =A0#### skip unassigned mem access to 000001fff1100000 >> =A0>> =A0#### skip unassigned mem access to 000001fff1300007 >> =A0>> =A0#### skip unassigned mem access to 000001fff1200001 >> =A0> >> =A0> =A0 =A0 =A0 =A0 =A0 =A0reg: =A00000000f.01200000.00002000 >> =A0> =A0 =A0 =A0 =A0 =A0 =A0model: =A0'mk48t59' >> =A0> =A0 =A0 =A0 =A0 =A0 =A0name: =A0'eeprom' >> =A0> >> =A0> Zilog serial (escc) and m48t59 are already implemented. >> >> >> Yes, but I thought they are also already wired. >> =A0I'll create one more hwdef entry then. >> >> =A0On the other hand I see >> =A0.console_serial_base =3D 0 >> =A0. Do we want to keep this setting? How does it work under OpenBIOS? > > It's for the Niagara machine, which uses a PC-style serial port. > OpenBIOS does not support that machine type (yet?). To me it looks the other way round: Niagra uses .console_serial_base and the two others use PC-style. So, OpenBIOS supports PC-style serials? --=20 Regards, Artyom Tarasenko solaris/sparc under qemu blog: http://tyom.blogspot.com/