<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;DEUMSXkzeip7ImA9WhRUFkQ.&quot;"><id>tag:blogger.com,1999:blog-6739077729235978763</id><updated>2012-01-27T21:31:28.782+01:00</updated><category term="UNIX" /><category term="Select Without Attention" /><category term="firmware update" /><category term="NeXTStep" /><category term="MMU" /><category term="bug" /><category term="Martux" /><category term="HelenOS" /><category term="IRQ" /><category term="macio" /><category term="Carey" /><category term="dma" /><category term="Windows" /><category term="Sun Studio" /><category term="Oracle" /><category term="le" /><category term="fpu" /><category term="firmware dump" /><category term="slavio" /><category term="MilaX" /><category term="SX" /><category term="Solaris" /><category term="firmware update file" /><category term="performance" /><category term="y2k10" /><category term="update" /><category term="cpu" /><category term="linux" /><category term="debug" /><category term="INQUIRY" /><category term="POST" /><category term="ufsboot" /><category term="escc" /><category term="SCSI" /><category term="sam" /><category term="ciphers" /><category term="bootblk" /><category term="success" /><category term="bcm963xx" /><category term="OpenBIOS" /><category term="2010" /><category term="ssh" /><category term="legion" /><category term="how-to" /><category term="Mitch" /><category term="Java" /><category term="sparc" /><category term="networking" /><category term="OpenSolaris" /><category term="PromDiag" /><category term="Sun" /><category term="credits" /><category term="emulator" /><category term="sparc64" /><category term="Message Accepted" /><category term="esp" /><category term="Forth" /><category term="OBP" /><category term="kenai" /><category term="qemu" /><category term="OLPC" /><category term="user-mode" /><category term="sun4u" /><category term="NCR53c9x" /><category term="tme" /><category term="NetBSD" /><category term="energy saving" /><category term="progress" /><category term="cg14" /><category term="SunOS" /><title>Artyom Tarasenko's blog</title><subtitle type="html" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://tyom.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://tyom.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/6739077729235978763/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>atar</name><uri>http://www.blogger.com/profile/16986140925986775324</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="27" src="http://2.bp.blogspot.com/_qRSJEMG7OsY/SwaWaXtg66I/AAAAAAAAAAM/WIt46E6OHzo/S220/av1.JPG" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>95</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/ArtyomTarasenkosBlog" /><feedburner:info uri="artyomtarasenkosblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;DEUMSXkyfip7ImA9WhRUFkQ.&quot;"><id>tag:blogger.com,1999:blog-6739077729235978763.post-8001414997051774003</id><published>2012-01-22T21:14:00.000+01:00</published><updated>2012-01-27T21:31:28.796+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-27T21:31:28.796+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="sparc" /><category scheme="http://www.blogger.com/atom/ns#" term="SCSI" /><category scheme="http://www.blogger.com/atom/ns#" term="qemu" /><category scheme="http://www.blogger.com/atom/ns#" term="bug" /><category scheme="http://www.blogger.com/atom/ns#" term="sparc64" /><title>Does anybody use recent qemu versions?</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
After a long break I tried a current qemu git/master today. What can I say? The SPARC-related stuff is broken in a few places since a &lt;b&gt;few months&lt;/b&gt;. SCSI signals an error for the "Inquiry" command, Leon3 test hangs, sparc64 is broken too. Bisecting is tricky though, because at least sparc64 seems to broken in different ways in subsequent commits.&lt;br /&gt;
&lt;br /&gt;
Don't have time to fix it myself, but will send a couple of bug reports to the mailing list. Meanwhile, what is your favorite qemu version?&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6739077729235978763-8001414997051774003?l=tyom.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/TaQWs2QPM8Ulo9va9i4fvvNHUmA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TaQWs2QPM8Ulo9va9i4fvvNHUmA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/TaQWs2QPM8Ulo9va9i4fvvNHUmA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TaQWs2QPM8Ulo9va9i4fvvNHUmA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ArtyomTarasenkosBlog/~4/0jn1Nqv8eCY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://tyom.blogspot.com/feeds/8001414997051774003/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6739077729235978763&amp;postID=8001414997051774003" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6739077729235978763/posts/default/8001414997051774003?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6739077729235978763/posts/default/8001414997051774003?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ArtyomTarasenkosBlog/~3/0jn1Nqv8eCY/does-anybody-use-recent-qemu-versions.html" title="Does anybody use recent qemu versions?" /><author><name>atar</name><uri>http://www.blogger.com/profile/16986140925986775324</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="27" src="http://2.bp.blogspot.com/_qRSJEMG7OsY/SwaWaXtg66I/AAAAAAAAAAM/WIt46E6OHzo/S220/av1.JPG" /></author><thr:total>0</thr:total><feedburner:origLink>http://tyom.blogspot.com/2012/01/does-anybody-use-recent-qemu-versions.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEUNQng8cCp7ImA9WhdRFUs.&quot;"><id>tag:blogger.com,1999:blog-6739077729235978763.post-993312591416136523</id><published>2011-07-30T23:16:00.023+02:00</published><updated>2011-08-05T19:44:53.678+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-05T19:44:53.678+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="NetBSD" /><category scheme="http://www.blogger.com/atom/ns#" term="qemu" /><category scheme="http://www.blogger.com/atom/ns#" term="IRQ" /><category scheme="http://www.blogger.com/atom/ns#" term="success" /><category scheme="http://www.blogger.com/atom/ns#" term="sparc64" /><title>Of Course, It Runs NetBSD!™</title><content type="html">NetBSD boot was almost a piece of cake. It tries to detect more things than Solaris and Linux, so I had to implement a couple of device registers more. At the first glance using more registers contradicts with the declared portability. On another hand, it would work on some modified/weird chipsets having non-standard interrupt controllers. Don't know if such chipsets were ever produced though.&lt;br /&gt;
&lt;br /&gt;
&lt;table bgcolor="#cfe2f3"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;NetBSD 4.0.1 (INSTALL) #0: Wed Oct&amp;nbsp; 8 01:13:04 PDT 2008&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; builds@wb32:/home/builds/ab/netbsd-4-0-1-RELEASE/sparc64/200810080053Z-obj/home/builds/ab/netbsd-4-0-1-RELEASE/src/sys/arch/sparc64/compile/INSTALL&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;total memory = 256 MB&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;avail memory = 234 MB&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;timecounter: Timecounters tick every 10.000 msec&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;mainbus0 (root): QEMU,Ultra-3/2: hostid 80000000&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;cpu0 at mainbus0: SUNW,UltraSPARC @ 100.681 MHz, UPA id 0&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;cpu0: 32K instruction (32 b/l), 16K data (32 b/l), 512K external (64 b/l)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;...&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;# ping 10.0.2.2&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;PING 10.0.2.2 (10.0.2.2): 56 data bytes&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;64 bytes from 10.0.2.2: icmp_seq=0 ttl=255 time=1.575 ms&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;64 bytes from 10.0.2.2: icmp_seq=1 ttl=255 time=1.150 ms&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;^C&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;----10.0.2.2 PING Statistics----&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;2 packets transmitted, 2 packets received, 0.0% packet loss&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;round-trip min/avg/max/stddev = 1.150/1.363/1.575/0.301 ms&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;#&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
Haven't found any CPU bugs so far, only interrupt processing in the 
serial port (not relevant to [Open]Solaris). Surprisingly sparc32 and 
sparc64 serial drivers diverge quite a lot.&lt;br /&gt;
 &lt;br /&gt;
Next stop - FreeBSD/sparc64.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6739077729235978763-993312591416136523?l=tyom.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/1HB47nY09twDeVXrawb3fuJuO3c/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1HB47nY09twDeVXrawb3fuJuO3c/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/1HB47nY09twDeVXrawb3fuJuO3c/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1HB47nY09twDeVXrawb3fuJuO3c/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ArtyomTarasenkosBlog/~4/CH2QIHDJAd4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://tyom.blogspot.com/feeds/993312591416136523/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6739077729235978763&amp;postID=993312591416136523" title="9 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6739077729235978763/posts/default/993312591416136523?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6739077729235978763/posts/default/993312591416136523?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ArtyomTarasenkosBlog/~3/CH2QIHDJAd4/of-course-it-runs-netbsd.html" title="Of Course, It Runs NetBSD!™" /><author><name>atar</name><uri>http://www.blogger.com/profile/16986140925986775324</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="27" src="http://2.bp.blogspot.com/_qRSJEMG7OsY/SwaWaXtg66I/AAAAAAAAAAM/WIt46E6OHzo/S220/av1.JPG" /></author><thr:total>9</thr:total><feedburner:origLink>http://tyom.blogspot.com/2011/07/of-course-it-runs-netbsd.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUAGQXgzfCp7ImA9WhdTGEg.&quot;"><id>tag:blogger.com,1999:blog-6739077729235978763.post-4869120341732299848</id><published>2011-07-17T00:02:00.002+02:00</published><updated>2011-07-17T00:02:00.684+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-17T00:02:00.684+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="OBP" /><category scheme="http://www.blogger.com/atom/ns#" term="NetBSD" /><category scheme="http://www.blogger.com/atom/ns#" term="Forth" /><title>Hiding the boot device from an OS</title><content type="html">Suspecting a bug in SCSI subsystem, I was wondering how to prevent an OS from detecting the device it's booting from. At first it sounds weird, but it's possible for most of OS/distributions in the SPARC (and probably PPC) world, because they&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;boot&amp;nbsp; init scripts from a RAM disk&lt;/li&gt;
&lt;li&gt;use IEEE 1275 device tree to find out available devices *&lt;/li&gt;
&lt;/ul&gt;
*) with exception of&amp;nbsp; Linux. At least the Linux uniform IDE driver tries to detect a hardware by probing.&lt;br /&gt;
&lt;br /&gt;
For FreeBSD, NetBSD, OpenBSD and Solaris it's possible to hide the boot device from the OS install CD with the following commands:&lt;br /&gt;
&lt;br /&gt;
&lt;b style="color: #666666;"&gt;ok&lt;/b&gt; cd scsi " unknown" name device-end&lt;br /&gt;
&lt;b style="color: #666666;"&gt;ok&lt;/b&gt; boot /unknown/sd@6,0:f&lt;br /&gt;
&lt;br /&gt;
Use the &lt;a href="http://wiki.laptop.org/go/Forth_Lesson_12"&gt;Forth&lt;/a&gt;, Luke!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6739077729235978763-4869120341732299848?l=tyom.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/t8vE6ZStmas6Hfbdv0EaQ-11S4c/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/t8vE6ZStmas6Hfbdv0EaQ-11S4c/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/t8vE6ZStmas6Hfbdv0EaQ-11S4c/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/t8vE6ZStmas6Hfbdv0EaQ-11S4c/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ArtyomTarasenkosBlog/~4/2blPAHZj2rs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://tyom.blogspot.com/feeds/4869120341732299848/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6739077729235978763&amp;postID=4869120341732299848" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6739077729235978763/posts/default/4869120341732299848?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6739077729235978763/posts/default/4869120341732299848?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ArtyomTarasenkosBlog/~3/2blPAHZj2rs/hiding-boot-device-from-os.html" title="Hiding the boot device from an OS" /><author><name>atar</name><uri>http://www.blogger.com/profile/16986140925986775324</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="27" src="http://2.bp.blogspot.com/_qRSJEMG7OsY/SwaWaXtg66I/AAAAAAAAAAM/WIt46E6OHzo/S220/av1.JPG" /></author><thr:total>0</thr:total><feedburner:origLink>http://tyom.blogspot.com/2011/07/hiding-boot-device-from-os.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE4ER3g-fip7ImA9WhdTGUU.&quot;"><id>tag:blogger.com,1999:blog-6739077729235978763.post-196598692523779320</id><published>2011-07-10T15:10:00.016+02:00</published><updated>2011-07-18T11:55:06.656+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-18T11:55:06.656+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="linux" /><category scheme="http://www.blogger.com/atom/ns#" term="qemu" /><category scheme="http://www.blogger.com/atom/ns#" term="user-mode" /><category scheme="http://www.blogger.com/atom/ns#" term="sparc64" /><title>User mode emulation for Linux/SPARC64</title><content type="html">As you know, qemu has a user-mode emulation. This means binaries for one CPU (for example SPARC) can be executed on another CPU (for example i686) under the same OS. The system calls are executed directly on the host (which means they are executed as fast as for native binaries), and the executable code itself is translated with TCG.&lt;br /&gt;
After I fixed ELF loading for SPARC64 binaries, qemu can load not only static Linux/sparc64 binaries, but dynamically linked ones too. To achieve that qemu has to be statically linked (it may sound confusing, for launching statically linked binaries qemu doesn't have to be built statically but for the dynamically one it has to be) and chrooted to the guest OS file system image:&lt;br /&gt;
&amp;nbsp;qemu$ ./configure --target-list=sparc-linux-user,sparc64-linux-user,sparc32plus-linux-user --static &amp;amp;&amp;amp; make&lt;br /&gt;
&amp;nbsp;...&lt;br /&gt;
&amp;nbsp;qemu$&amp;nbsp; mv -i sparc32plus-linux-user/qemu-sparc32plus ../debian-6-sparc64-initrd/&lt;br /&gt;
&amp;nbsp;qemu$&amp;nbsp; su&lt;br /&gt;
&amp;nbsp;Password:&lt;br /&gt;
&amp;nbsp;#&amp;nbsp; /usr/sbin/chroot ../debian-6-sparc64-initrd/ /qemu-sparc32plus -L . /bin/busybox&lt;br /&gt;
BusyBox v1.17.1 (Debian 1:1.17.1-8) multi-call binary.&lt;br /&gt;
Copyright (C) 1998-2009 Erik Andersen, Rob Landley, Denys Vlasenko&lt;br /&gt;
and others. Licensed under GPLv2.&lt;br /&gt;
See source distribution for full notice.&lt;br /&gt;
&lt;br /&gt;
Usage: busybox [function] [arguments]...&lt;br /&gt;
&amp;nbsp;&amp;nbsp; or: function [arguments]...&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BusyBox is a multi-call binary that combines many common Unix&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; utilities into a single executable.&amp;nbsp; Most people will create a&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; link to busybox for each function they wish to use and BusyBox&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; will act like whatever it was invoked as.&lt;br /&gt;
&lt;br /&gt;
Currently defined functions:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [, [[, ar, ash, basename, blockdev, cat, chmod, chown, chroot, cp, cut, dd, df, dirname, dmesg, dnsdomainname, echo, egrep, env, expr, false,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; find, free, freeramdisk, grep, gunzip, halt, head, hostname, id, init, ip, kill, klogd, ln, logger, ls, md5sum, mkdir, mknod, mkswap, modinfo,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; more, mount, mv, nc, pidof, pivot_root, poweroff, printf, ps, pwd, readlink, realpath, reboot, rm, rmdir, route, sed, sh, sleep, sort,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; swapoff, swapon, sync, syslogd, tail, tar, test, tftp, touch, tr, true, tty, udhcpc, umount, uname, uniq, wc, wget, zcat&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is a great tool to find CPU bugs! One can use existing binaries for example to check that emulated CPU produces the same md5 or sha512 sum for a certain binary as the host does, or pack/unpack using gzip and bzip, or just observe weird unames:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;/usr/sbin/chroot ../debian-6-sparc64-initrd/ /qemu-sparc32plus -L . /bin/uname -a&lt;br /&gt;
Linux localhost 2.6.34.9-69.fc13.x86_64 #1 SMP Tue May 3 09:23:03 UTC 2011 sun4 GNU/Linux&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6739077729235978763-196598692523779320?l=tyom.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/jbZVvAaMd4oIPJC5i5xeW69-oUo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jbZVvAaMd4oIPJC5i5xeW69-oUo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/jbZVvAaMd4oIPJC5i5xeW69-oUo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jbZVvAaMd4oIPJC5i5xeW69-oUo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ArtyomTarasenkosBlog/~4/wAkr8xDk1mA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://tyom.blogspot.com/feeds/196598692523779320/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6739077729235978763&amp;postID=196598692523779320" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6739077729235978763/posts/default/196598692523779320?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6739077729235978763/posts/default/196598692523779320?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ArtyomTarasenkosBlog/~3/wAkr8xDk1mA/user-mode-emulation-for-linuxsparc64.html" title="User mode emulation for Linux/SPARC64" /><author><name>atar</name><uri>http://www.blogger.com/profile/16986140925986775324</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="27" src="http://2.bp.blogspot.com/_qRSJEMG7OsY/SwaWaXtg66I/AAAAAAAAAAM/WIt46E6OHzo/S220/av1.JPG" /></author><thr:total>0</thr:total><feedburner:origLink>http://tyom.blogspot.com/2011/07/user-mode-emulation-for-linuxsparc64.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0UFQXYzcSp7ImA9WhdSFUk.&quot;"><id>tag:blogger.com,1999:blog-6739077729235978763.post-1229913409181087800</id><published>2011-07-09T22:47:00.011+02:00</published><updated>2011-07-24T23:00:10.889+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-24T23:00:10.889+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="progress" /><category scheme="http://www.blogger.com/atom/ns#" term="NetBSD" /><category scheme="http://www.blogger.com/atom/ns#" term="MMU" /><category scheme="http://www.blogger.com/atom/ns#" term="qemu" /><category scheme="http://www.blogger.com/atom/ns#" term="sparc64" /><title>NetBSD vfs and MMU emulation</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Since Solaris works perfectly, I turned again to NetBSD for the further test cases. &lt;br /&gt;
&lt;br /&gt;
&lt;table bgcolor="#cfe2f3"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;root on md0a dumps on md0b&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;root file system type: ffs&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;WARNING: clock gained 1005 days&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;WARNING: CHECK AND RESET THE DATE!&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;exec /sbin/init: error 8&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;init: trying /sbin/oinit&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;exec /sbin/oinit: error 2&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;init: trying /sbin/init.bak&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;exec /sbin/init.bak: error 2&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;init: not found panic: no init&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;cpu0: kdb breakpoint at 1362e60&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Stopped in pid 1.1 (init) at   0x1362e64:   nop&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;db&amp;gt; &lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
Hmm what would be a reason for such a behavior? Sounds &lt;a href="http://tyom.blogspot.com/2009/10/cant-invoke-etcinit-error-14.html"&gt;familiar, right&lt;/a&gt;? I hear you saying CPU math bug? Wrong. :)&lt;br /&gt;
The previous time I saw the message it was really a math bug. This time it's a MMU problem. Unlike SPARC v8, the v9 has a NF&lt;b&gt;O&lt;/b&gt; mode for page mappings, which means No Fault Only. The 'only' part is crucial: all other page loads should fault.&lt;br /&gt;
&lt;br /&gt;
Solaris knows what pages has been marked NFO (after all they can be marked by the OS only) and uses only the appropriate loads.&lt;br /&gt;
&lt;br /&gt;
On the other side NetBSD vfs implementation explicitly provokes such faults to load RAM pages from a file. Had to read the NetBSD documentation to understand how its vfs works. The sources are not that good documented.&lt;br /&gt;
&lt;br /&gt;
After fixing the bug (a sort of a counterpart to the one Tsuneo Saito &lt;a href="http://lists.gnu.org/archive/html/qemu-devel/2011-07/msg01224.html"&gt;mentioned on the mailing list&lt;/a&gt;), NetBSD gets a bit further:&lt;br /&gt;
&lt;br /&gt;
&lt;table bgcolor="#cfe2f3"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;Kernelized RAIDframe activated md0:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;internal 5120 KB image area&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;root on md0a dumps on md0b&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;root file system type: ffs&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;WARNING: clock gained 1005 days&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;WARNING: CHECK AND RESET THE DATE!&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;erase ^?, werase ^W, kill ^U, intr ^C&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
The only part is missing here is the '#' prompt after the message. :) Working on it.&lt;/div&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6739077729235978763-1229913409181087800?l=tyom.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/06uJHkYEbv4-Li0WuwYwQBX85f4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/06uJHkYEbv4-Li0WuwYwQBX85f4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/06uJHkYEbv4-Li0WuwYwQBX85f4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/06uJHkYEbv4-Li0WuwYwQBX85f4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ArtyomTarasenkosBlog/~4/wosNt0e9Mqw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://tyom.blogspot.com/feeds/1229913409181087800/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6739077729235978763&amp;postID=1229913409181087800" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6739077729235978763/posts/default/1229913409181087800?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6739077729235978763/posts/default/1229913409181087800?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ArtyomTarasenkosBlog/~3/wosNt0e9Mqw/netbsd-vfs-and-mmu-emulation.html" title="NetBSD vfs and MMU emulation" /><author><name>atar</name><uri>http://www.blogger.com/profile/16986140925986775324</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="27" src="http://2.bp.blogspot.com/_qRSJEMG7OsY/SwaWaXtg66I/AAAAAAAAAAM/WIt46E6OHzo/S220/av1.JPG" /></author><thr:total>0</thr:total><feedburner:origLink>http://tyom.blogspot.com/2011/07/netbsd-vfs-and-mmu-emulation.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkQAQ389fyp7ImA9WhdTF04.&quot;"><id>tag:blogger.com,1999:blog-6739077729235978763.post-8132636818489534561</id><published>2011-07-02T23:30:00.078+02:00</published><updated>2011-07-15T13:45:42.167+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-15T13:45:42.167+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="HelenOS" /><category scheme="http://www.blogger.com/atom/ns#" term="progress" /><category scheme="http://www.blogger.com/atom/ns#" term="qemu" /><category scheme="http://www.blogger.com/atom/ns#" term="bug" /><category scheme="http://www.blogger.com/atom/ns#" term="sparc64" /><title>More math bugs</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&amp;nbsp;Why would one file system work, and another one - not?&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-eAn5F4fhFWE/TiAjFqqCDlI/AAAAAAAAACo/2sVYuLITH44/s1600/helen0.4.3-qemu-before.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="492" src="http://1.bp.blogspot.com/-eAn5F4fhFWE/TiAjFqqCDlI/AAAAAAAAACo/2sVYuLITH44/s640/helen0.4.3-qemu-before.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Because the fs driver is buggy? Of course not! The ones who read this blog on a regular basis, know that &lt;a href="http://tyom.blogspot.com/2009/10/im-back.html"&gt;inability to read the file has to do with a bug in a math emulation&lt;/a&gt;.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Thanks to &lt;a href="http://jakubsuniversalblog.blogspot.com/"&gt;Jakub&lt;/a&gt;'s test case, I fixed two bugs with carry flag handling (yes, again). Now &lt;a href="http://trac.helenos.org/wiki/ArchSparc64"&gt;HelenOS/sparc64&lt;/a&gt; boot looks like this:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="0" height="493" src="http://4.bp.blogspot.com/-aV6dkUjLnSk/Th9fwDOwe7I/AAAAAAAAACk/KItJdreN9GU/s640/helen0.4.3-qemu-works.png" width="640" /&gt;&lt;/div&gt;&lt;br /&gt;
My impressions of &lt;a href="http://www.helenos.org/"&gt;HelenOS&lt;/a&gt; - it's neat, the sources are good documented and easy readable. Also I needed just a few minutes to set up cross compiling under Linux/x86_64. So, if you need a small, micro-kernel(!) and multi-arch (amd64, arm32, ia32, ia64, mips32, ppc32, sparc64)  OS to play with, &lt;a href="http://www.helenos.org/"&gt;HelenOS&lt;/a&gt; is definitely worth looking at.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6739077729235978763-8132636818489534561?l=tyom.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/7hvHdACH2jnIqXJr1DPRPnpWaxw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7hvHdACH2jnIqXJr1DPRPnpWaxw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/7hvHdACH2jnIqXJr1DPRPnpWaxw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7hvHdACH2jnIqXJr1DPRPnpWaxw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ArtyomTarasenkosBlog/~4/nNWfdpzIQe4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://tyom.blogspot.com/feeds/8132636818489534561/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6739077729235978763&amp;postID=8132636818489534561" title="7 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6739077729235978763/posts/default/8132636818489534561?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6739077729235978763/posts/default/8132636818489534561?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ArtyomTarasenkosBlog/~3/nNWfdpzIQe4/more-math-bugs.html" title="More math bugs" /><author><name>atar</name><uri>http://www.blogger.com/profile/16986140925986775324</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="27" src="http://2.bp.blogspot.com/_qRSJEMG7OsY/SwaWaXtg66I/AAAAAAAAAAM/WIt46E6OHzo/S220/av1.JPG" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-eAn5F4fhFWE/TiAjFqqCDlI/AAAAAAAAACo/2sVYuLITH44/s72-c/helen0.4.3-qemu-before.png" height="72" width="72" /><thr:total>7</thr:total><feedburner:origLink>http://tyom.blogspot.com/2011/07/more-math-bugs.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk8AQX0_eCp7ImA9WhZWGUg.&quot;"><id>tag:blogger.com,1999:blog-6739077729235978763.post-146986192997313421</id><published>2011-05-21T07:14:00.000+02:00</published><updated>2011-05-21T07:14:00.340+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-21T07:14:00.340+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="OBP" /><category scheme="http://www.blogger.com/atom/ns#" term="qemu" /><category scheme="http://www.blogger.com/atom/ns#" term="OpenSolaris" /><category scheme="http://www.blogger.com/atom/ns#" term="sparc64" /><category scheme="http://www.blogger.com/atom/ns#" term="MilaX" /><title>Now finally something new</title><content type="html">Loading: /platform/sun4u/boot_archiveramdisk-root ufs-file-system&lt;br /&gt;
Loading: /platform/sun4u/kernel/sparcv9/unix&lt;br /&gt;
module /platform/sun4u/kernel/sparcv9/unix: text at [0x1000000, 0x10bf34d] data at 0x1800000&lt;br /&gt;
module /platform/sun4u/kernel/sparcv9/genunix: text at [0x10bf350, 0x12b5c7f] data at 0x1865e00&lt;br /&gt;
module /platform/sun4u/kernel/misc/sparcv9/platmod: text at [0x12b5c80, 0x12b5c97] data at 0x18bac30&lt;br /&gt;
module /platform/sun4u/kernel/cpu/sparcv9/SUNW,UltraSPARC-II: text at [0x12b5cc0, 0x12c2a37] data at 0x18bb2c0&lt;br /&gt;
SunOS Release 5.11 Version MilaX_0.3.2 64-bit&lt;br /&gt;
Copyright 1983-2008 Sun Microsystems, Inc.&amp;nbsp; All rights reserved.&lt;br /&gt;
Use is subject to license terms.&lt;br /&gt;
os-io Ethernet address = 52:54:0:12:34:56&lt;br /&gt;
Using default device instance data&lt;br /&gt;
mem = 262144K (0x10000000)&lt;br /&gt;
avail mem = 154615808&lt;br /&gt;
... &lt;br /&gt;
Preparing live image for use&lt;br /&gt;
Hostname: milax&lt;br /&gt;
Requesting System Maintenance Mode&lt;br /&gt;
(See /lib/svc/share/README for more information.)&lt;br /&gt;
Console login service(s) cannot run&lt;br /&gt;
&lt;br /&gt;
Root password for system maintenance (control-d to bypass):&lt;br /&gt;
single-user privilege assigned to /dev/console.&lt;br /&gt;
Entering System Maintenance Mode&lt;br /&gt;
&lt;br /&gt;
May 20 07:26:42 su: 'su root' succeeded for root on /dev/console&lt;br /&gt;
-bash: /usr/sbin/quota: No such file or directory&lt;br /&gt;
Sun Microsystems Inc.&amp;nbsp;&amp;nbsp; SunOS 5.11&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MilaX_0.3.2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; October 2008&lt;br /&gt;
-bash: /bin/mail: No such file or directory&lt;br /&gt;
-bash: id: command not found&lt;br /&gt;
-bash: id: command not found&lt;br /&gt;
-bash: [: !=: unary operator expected&lt;br /&gt;
(root@milax)# uname -X&lt;br /&gt;
System = SunOS&lt;br /&gt;
Node = milax&lt;br /&gt;
Release = 5.11&lt;br /&gt;
KernelID = MilaX_0.3.2&lt;br /&gt;
Machine = sun4u&lt;br /&gt;
BusType = &lt;unknown&gt;&lt;br /&gt;
Serial = &lt;unknown&gt;&lt;br /&gt;
Users = &lt;unknown&gt;&lt;br /&gt;
OEM# = 0&lt;br /&gt;
Origin# = 1&lt;br /&gt;
NumCPU = 1&lt;br /&gt;
&lt;br /&gt;
(root@milax)# uname -a&lt;br /&gt;
SunOS milax 5.11 MilaX_0.3.2 sun4u sparc sun4u&lt;br /&gt;
(root@milax)#&lt;/unknown&gt;&lt;/unknown&gt;&lt;/unknown&gt;&lt;br /&gt;
&lt;br /&gt;
The missing files above are caused by the maintenance mode which in turn is caused by the missing network card. So the next steps are obvious:&lt;br /&gt;
- plug in a supported NIC&lt;br /&gt;
- find a customer for the sun4u emulation&lt;br /&gt;
- ???&lt;br /&gt;
- PROFIT!&lt;br /&gt;
&lt;br /&gt;
PS. Btw, are there any live OpenSolaris/Illumos based live CDs newer than MilaX 0.3.2? The later MilaX versions seem to be PC-only.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6739077729235978763-146986192997313421?l=tyom.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/gRWj6Ru_JhfzRXCWfl4Cwk88XbU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/gRWj6Ru_JhfzRXCWfl4Cwk88XbU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/gRWj6Ru_JhfzRXCWfl4Cwk88XbU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/gRWj6Ru_JhfzRXCWfl4Cwk88XbU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ArtyomTarasenkosBlog/~4/iH07WlogaPQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://tyom.blogspot.com/feeds/146986192997313421/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6739077729235978763&amp;postID=146986192997313421" title="7 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6739077729235978763/posts/default/146986192997313421?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6739077729235978763/posts/default/146986192997313421?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ArtyomTarasenkosBlog/~3/iH07WlogaPQ/now-finally-something-new.html" title="Now finally something new" /><author><name>atar</name><uri>http://www.blogger.com/profile/16986140925986775324</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="27" src="http://2.bp.blogspot.com/_qRSJEMG7OsY/SwaWaXtg66I/AAAAAAAAAAM/WIt46E6OHzo/S220/av1.JPG" /></author><thr:total>7</thr:total><feedburner:origLink>http://tyom.blogspot.com/2011/05/now-finally-something-new.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUcGSXszeSp7ImA9WhdTFk4.&quot;"><id>tag:blogger.com,1999:blog-6739077729235978763.post-8183641206776677646</id><published>2011-05-21T01:13:00.000+02:00</published><updated>2011-07-14T10:43:48.581+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-14T10:43:48.581+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="progress" /><category scheme="http://www.blogger.com/atom/ns#" term="qemu" /><category scheme="http://www.blogger.com/atom/ns#" term="bug" /><category scheme="http://www.blogger.com/atom/ns#" term="sun4u" /><category scheme="http://www.blogger.com/atom/ns#" term="sparc64" /><category scheme="http://www.blogger.com/atom/ns#" term="fpu" /><title>Seen a really broken pipe</title><content type="html">Have you seen a broken pipe? Sounds like a stupid question for everyone who is working with *NIX. Everyone who has English as a mother tongue, or is old enough to use a non-localized OS has seen a "broken pipe" message. A younger generation might have seen the message in their native language.&lt;br /&gt;
&lt;br /&gt;
Well, that's not the sort of brokenness&amp;nbsp; I'm talking about.&amp;nbsp; I mean it more literary:&lt;br /&gt;
&lt;br /&gt;
# echo "This pipe works fine" |cat&lt;br /&gt;
This pipe works fine&lt;br /&gt;
# echo "And this pipe is veeeeeeeeeeeeeeeeeeeery broken. This pipe is really very broken. Broken." | cat&lt;br /&gt;
Ths pip eisveTkebn&lt;br /&gt;
&lt;br /&gt;
Ops. Had to spend a lot of of time in Solaris ascending from SCSI driver (at first I didn't realize that the bug appears in pipes, it looked like a DMA bug) to streams, pipe and so on and then descending to the memcpy which was the source of trouble. It turned out, memcpy uses different routines for small and large data chunks. The small chunks are copied in a loop word-wise and the large ones are copied using VIS instructions (that's SPARC equivalent for Intel's MMX). The emulation of VIS instructions in qemu is buggy, so the memory gets corrupted when these instructions are used.&lt;br /&gt;
&lt;br /&gt;
Once again I'm very impressed that Solaris 2.5.1 - Solaris 7 boots without problems on such a broken hardware. Let's see if&amp;nbsp; the newer Solaris versions would work with this emulation bug fixed.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6739077729235978763-8183641206776677646?l=tyom.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/TJ4C8Qb4njA-YnE3tqSdqDhHlkw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TJ4C8Qb4njA-YnE3tqSdqDhHlkw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/TJ4C8Qb4njA-YnE3tqSdqDhHlkw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TJ4C8Qb4njA-YnE3tqSdqDhHlkw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ArtyomTarasenkosBlog/~4/NqdhcCbEOaY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://tyom.blogspot.com/feeds/8183641206776677646/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6739077729235978763&amp;postID=8183641206776677646" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6739077729235978763/posts/default/8183641206776677646?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6739077729235978763/posts/default/8183641206776677646?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ArtyomTarasenkosBlog/~3/NqdhcCbEOaY/seen-really-broken-pipe.html" title="Seen a really broken pipe" /><author><name>atar</name><uri>http://www.blogger.com/profile/16986140925986775324</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="27" src="http://2.bp.blogspot.com/_qRSJEMG7OsY/SwaWaXtg66I/AAAAAAAAAAM/WIt46E6OHzo/S220/av1.JPG" /></author><thr:total>2</thr:total><feedburner:origLink>http://tyom.blogspot.com/2011/05/seen-really-broken-pipe.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C04FQX0yeip7ImA9WhZQGEw.&quot;"><id>tag:blogger.com,1999:blog-6739077729235978763.post-5161810260900802074</id><published>2011-04-23T11:32:00.032+02:00</published><updated>2011-04-26T11:58:30.392+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-26T11:58:30.392+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="OpenBIOS" /><category scheme="http://www.blogger.com/atom/ns#" term="sparc" /><category scheme="http://www.blogger.com/atom/ns#" term="qemu" /><category scheme="http://www.blogger.com/atom/ns#" term="success" /><category scheme="http://www.blogger.com/atom/ns#" term="Solaris" /><title>OpenBIOS strikes back</title><content type="html">Mark &lt;a href="http://lists.openbios.org/pipermail/openbios/2011-April/006338.html"&gt;did it&lt;/a&gt;! OpenBIOS svn.r1035 with two patches (&lt;a href="http://lists.openbios.org/pipermail/openbios/2011-April/006337.html"&gt;escc&lt;/a&gt; and &lt;a href="http://lists.openbios.org/pipermail/openbios/2011-April/006350.html"&gt;lance&lt;/a&gt;) can boot a sun4m Solaris. As soon as the patches are reviewed and committed I'll have to update the how-to. Booting Solaris is going to be much simpler. Congratulations the OpenBIOS Team!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6739077729235978763-5161810260900802074?l=tyom.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/fo3k3JCgK1bDH70ajmdsFOYB64E/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/fo3k3JCgK1bDH70ajmdsFOYB64E/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/fo3k3JCgK1bDH70ajmdsFOYB64E/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/fo3k3JCgK1bDH70ajmdsFOYB64E/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ArtyomTarasenkosBlog/~4/aClKBZqFuSI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://tyom.blogspot.com/feeds/5161810260900802074/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6739077729235978763&amp;postID=5161810260900802074" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6739077729235978763/posts/default/5161810260900802074?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6739077729235978763/posts/default/5161810260900802074?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ArtyomTarasenkosBlog/~3/aClKBZqFuSI/openbios-strikes-back.html" title="OpenBIOS strikes back" /><author><name>atar</name><uri>http://www.blogger.com/profile/16986140925986775324</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="27" src="http://2.bp.blogspot.com/_qRSJEMG7OsY/SwaWaXtg66I/AAAAAAAAAAM/WIt46E6OHzo/S220/av1.JPG" /></author><thr:total>0</thr:total><feedburner:origLink>http://tyom.blogspot.com/2011/04/openbios-strikes-back.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0EHQHk4eip7ImA9WhZQFEg.&quot;"><id>tag:blogger.com,1999:blog-6739077729235978763.post-2986759923629687071</id><published>2011-04-22T09:00:00.000+02:00</published><updated>2011-04-22T09:00:31.732+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-22T09:00:31.732+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="OBP" /><category scheme="http://www.blogger.com/atom/ns#" term="OpenSolaris" /><category scheme="http://www.blogger.com/atom/ns#" term="sparc64" /><category scheme="http://www.blogger.com/atom/ns#" term="Solaris" /><category scheme="http://www.blogger.com/atom/ns#" term="MilaX" /><title>Seen a usable #</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Well sort of:&lt;br /&gt;
&lt;br /&gt;
&lt;table bgcolor="#cfe2f3"&gt;&lt;tbody&gt;
&lt;tr&gt; &lt;td&gt;Loading: /platform/sun4u/ufsboot&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;Size: 330820+55556+67364 Bytes&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;SunOS Release 5.7 Version Generic_106541-08 [UNIX(R) System V Release 4.0]&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;Copyright (c) 1983-1999, Sun Microsystems, Inc.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;Ethernet address = 52:54:0:12:34:56&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;Using default device instance data&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;# uname -X&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;System = SunOS&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;Node =&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;Release = 5.7&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;KernelID = Generic_106541-08&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;Machine = sun4u&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;BusType = &amp;lt;unknown&amp;gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;Serial = &amp;lt;unknown&amp;gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;Users = &amp;lt;unknown&amp;gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;OEM# = 0&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;Origin# = 1&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;NumCPU = 1&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;# ls&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dev&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;kernel&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;opt&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;proto&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tmp&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;bin&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;devices&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lib&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;platform&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;reconfigure&amp;nbsp; usr&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;cdrom&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;etc&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;mnt&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;proc&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sbin&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var &lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
So, the Solaris 2.6 and 7 kernels are functional in a minimal mode (the 2.5.1 and 8+ hang on device detection). The single user mode is not there yet though:&lt;br /&gt;
&lt;br /&gt;
&lt;table bgcolor="#cfe2f3"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;...&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;ld.so.1: internal: malloc failed&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Killed&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;FATAL ERROR: / file system type "" is unknown&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Exiting to shell.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;#  &lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
Nice is that Solaris engineers did a really good job making the OS robust. The message above comes from a branch in a script which has a following comment:&lt;br /&gt;
&lt;br /&gt;
&lt;table bgcolor="#cfe2f3"&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # "this never happens" :-)&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
Expect the unexpected, well done!&lt;br /&gt;
&lt;br /&gt;
Now, the bad news: MilaX 0.3.2, and probably other OpenSolaris distributions are eager to play with the E-Cache, which qemu doesn't emulate. If I find the way to tell MilaX that there is no cache, it probably would get it up to the command line too. The old Solaris versions had a '-n' boot parameter to switch the cache off, but MilaX says this boot parameter is invalid.&lt;br /&gt;
&lt;br /&gt;
Gonna take a break now. (Happy Easter, everyone!) The next stop is a working single user mode. Stay tuned!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6739077729235978763-2986759923629687071?l=tyom.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/1d3T2sYKyrot46BBCQPpRO_gc8I/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1d3T2sYKyrot46BBCQPpRO_gc8I/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/1d3T2sYKyrot46BBCQPpRO_gc8I/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1d3T2sYKyrot46BBCQPpRO_gc8I/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ArtyomTarasenkosBlog/~4/ICphZKg44ew" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://tyom.blogspot.com/feeds/2986759923629687071/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6739077729235978763&amp;postID=2986759923629687071" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6739077729235978763/posts/default/2986759923629687071?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6739077729235978763/posts/default/2986759923629687071?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ArtyomTarasenkosBlog/~3/ICphZKg44ew/seen-usable.html" title="Seen a usable #" /><author><name>atar</name><uri>http://www.blogger.com/profile/16986140925986775324</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="27" src="http://2.bp.blogspot.com/_qRSJEMG7OsY/SwaWaXtg66I/AAAAAAAAAAM/WIt46E6OHzo/S220/av1.JPG" /></author><thr:total>5</thr:total><feedburner:origLink>http://tyom.blogspot.com/2011/04/seen-usable.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkUDSHw6eSp7ImA9WhZQEk8.&quot;"><id>tag:blogger.com,1999:blog-6739077729235978763.post-3131602119606334059</id><published>2011-04-16T15:16:00.046+02:00</published><updated>2011-04-19T15:37:59.211+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-19T15:37:59.211+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="OBP" /><category scheme="http://www.blogger.com/atom/ns#" term="qemu" /><category scheme="http://www.blogger.com/atom/ns#" term="sparc64" /><title>I've seen the # but it doesn't count</title><content type="html">It turned out that last weekend I didn't specify the contest conditions good enough.&lt;br /&gt;
&lt;br /&gt;
Now I have to tell that I've seen the boot prompt under qemu-system-sparc64, but being fair, it doesn't count yet, because&lt;br /&gt;
a) only Solaris 2.5.1 - 7 get it up to there. The goal for 64 bit machine is certainly OpenSolaris (or maybe "just" Solaris 10? What do you think?).&lt;br /&gt;
b) the system hangs right after printing the prompt.&lt;br /&gt;
&lt;br /&gt;
The next goal is therefore a usable # prompt, not just the hanging one. :-) But stay tuned, I'm getting closer...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6739077729235978763-3131602119606334059?l=tyom.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/XlvX4d2ZRrLrUlLk0dkj16f2R4s/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/XlvX4d2ZRrLrUlLk0dkj16f2R4s/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/XlvX4d2ZRrLrUlLk0dkj16f2R4s/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/XlvX4d2ZRrLrUlLk0dkj16f2R4s/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ArtyomTarasenkosBlog/~4/gOzFhvmLwsE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://tyom.blogspot.com/feeds/3131602119606334059/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6739077729235978763&amp;postID=3131602119606334059" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6739077729235978763/posts/default/3131602119606334059?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6739077729235978763/posts/default/3131602119606334059?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ArtyomTarasenkosBlog/~3/gOzFhvmLwsE/ive-seen-but-it-doesnt-count.html" title="I've seen the # but it doesn't count" /><author><name>atar</name><uri>http://www.blogger.com/profile/16986140925986775324</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="27" src="http://2.bp.blogspot.com/_qRSJEMG7OsY/SwaWaXtg66I/AAAAAAAAAAM/WIt46E6OHzo/S220/av1.JPG" /></author><thr:total>1</thr:total><feedburner:origLink>http://tyom.blogspot.com/2011/04/ive-seen-but-it-doesnt-count.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUACR3k9fyp7ImA9WhZRGU0.&quot;"><id>tag:blogger.com,1999:blog-6739077729235978763.post-2532224623987435177</id><published>2011-04-09T22:08:00.050+02:00</published><updated>2011-04-15T23:42:46.767+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-15T23:42:46.767+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="OpenBIOS" /><category scheme="http://www.blogger.com/atom/ns#" term="OBP" /><category scheme="http://www.blogger.com/atom/ns#" term="sparc" /><category scheme="http://www.blogger.com/atom/ns#" term="qemu" /><category scheme="http://www.blogger.com/atom/ns#" term="sparc64" /><category scheme="http://www.blogger.com/atom/ns#" term="Solaris" /><title>Whose house?</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;I occurred to me that I'm sort of competing with Mark Cave-Ayland. While Mark makes a really good job to get a proprietary OS &lt;a href="http://lists.openbios.org/pipermail/openbios/2011-April/006323.html"&gt;(Solaris 8) working with an Open Source firmware&lt;/a&gt; (OpenBIOS) under a 32 bit SPARC qemu machine, I'm trying to get a Open Source OS (OpenSolaris) working with a proprietary firmware (OBP) under a 64 bit SPARC qemu machine. Right now we are at about the same place - he is right after the disk detection, I'm a bit behind.&lt;br /&gt;
&lt;br /&gt;
Who's gonna see the '#' first, what are your bets? What task do you think is easier?&lt;br /&gt;
&lt;br /&gt;
But speaking seriously, if Mark makes it first I'll buy him a beer.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6739077729235978763-2532224623987435177?l=tyom.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/vBpWSVZH1V3rMtvvu7aj5NHqzoA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vBpWSVZH1V3rMtvvu7aj5NHqzoA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/vBpWSVZH1V3rMtvvu7aj5NHqzoA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/vBpWSVZH1V3rMtvvu7aj5NHqzoA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ArtyomTarasenkosBlog/~4/8kFej1y2U6Q" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://tyom.blogspot.com/feeds/2532224623987435177/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6739077729235978763&amp;postID=2532224623987435177" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6739077729235978763/posts/default/2532224623987435177?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6739077729235978763/posts/default/2532224623987435177?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ArtyomTarasenkosBlog/~3/8kFej1y2U6Q/whose-house.html" title="Whose house?" /><author><name>atar</name><uri>http://www.blogger.com/profile/16986140925986775324</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="27" src="http://2.bp.blogspot.com/_qRSJEMG7OsY/SwaWaXtg66I/AAAAAAAAAAM/WIt46E6OHzo/S220/av1.JPG" /></author><thr:total>4</thr:total><feedburner:origLink>http://tyom.blogspot.com/2011/04/whose-house.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkMAQnc7fSp7ImA9WhZSFko.&quot;"><id>tag:blogger.com,1999:blog-6739077729235978763.post-4990455547671920205</id><published>2011-03-27T21:59:00.135+02:00</published><updated>2011-04-01T19:20:43.905+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-04-01T19:20:43.905+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="OpenBIOS" /><category scheme="http://www.blogger.com/atom/ns#" term="OBP" /><category scheme="http://www.blogger.com/atom/ns#" term="Martux" /><category scheme="http://www.blogger.com/atom/ns#" term="progress" /><category scheme="http://www.blogger.com/atom/ns#" term="qemu" /><category scheme="http://www.blogger.com/atom/ns#" term="success" /><category scheme="http://www.blogger.com/atom/ns#" term="ufsboot" /><category scheme="http://www.blogger.com/atom/ns#" term="sparc64" /><category scheme="http://www.blogger.com/atom/ns#" term="Solaris" /><title>Round and round she goes, and where she stops nobody knows</title><content type="html">After a while I got back to qemu. This time to the sparc64 port. It's interesting to see how the highlights of the sun4m story are repeating. With the difference that this time the way goes faster. The highlights of the last weekends:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;What? Not even a greeting message? I should give it up. &lt;i style="color: #999999;"&gt;hack, hack, hack&lt;/i&gt; &lt;/li&gt;
&lt;li&gt;Oh, wow, it gives a message "Button Power ON"! Too bad it hangs afterwards. &lt;i style="color: #999999;"&gt;hack, hack, hack&lt;/i&gt; &lt;/li&gt;
&lt;li&gt;Ha! got it up to the Forth bootstrapping, too bad I have no prompt. &lt;i style="color: #999999;"&gt;hack, hack, hack&lt;/i&gt; &lt;/li&gt;
&lt;li&gt; Yes! The Forth is with me, there finally is the "&lt;b&gt;ok&lt;/b&gt; " prompt. Too bad it sees no devices. &lt;i style="color: #999999;"&gt;hack, hack, hack&lt;/i&gt; &lt;/li&gt;
&lt;li&gt;Woo-hoo, OBP sees a disk controller! Why doesn't it see the disks? &lt;i style="color: #999999;"&gt;hack, hack, hack&lt;/i&gt; &lt;/li&gt;
&lt;li&gt;Aha, there are my disks. Can I boot Solaris, please? Hrm, no. Can I boot anything? No?!? &lt;i style="color: #999999;"&gt;hack, hack&lt;/i&gt; &lt;/li&gt;
&lt;li&gt;Ok, now it's properly initialized. Well, properly enough to boot SILO, and yes, it's stuck at ufsboot just like the sparc32 version did.&lt;/li&gt;
&lt;li&gt;Ta-da! Finally I see something new:&lt;/li&gt;
&lt;/ul&gt;SunOS Release 5.11 Version Natamar_0.4__b96 64-bit&lt;br /&gt;
Copyright 1983-2008 Sun Microsystems, Inc.&amp;nbsp; All rights reserved.&lt;br /&gt;
Use is subject to license terms.&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;But wait, didn't I see it with OpenBIOS?!? Yes, I did. In fact all the 64 bit SPARC operating systems I tried so far go a little further with OpenBIOS.&lt;/li&gt;
&lt;li&gt;So, can OBP on qemu-system-sparc64 do anything the OpenBIOS can't?!? No?!? (because badly documented missing devices, probably necessary just for OBP, are badly hacked by me). I should give it up. :-)&lt;/li&gt;
&lt;/ul&gt;And this is the progress so far. Hats off to the &lt;a href="http://www.helenos.org/"&gt;HelenOS &lt;/a&gt;team who managed to get their OS running under qemu. No other OS can work under qemu-system-sparc64 yet.&lt;br /&gt;
&lt;br /&gt;
Does anyone have a Martux 0.2 image? It used to be available on &lt;a href="http://www.martux.org/"&gt;the authors site&lt;/a&gt;, but seems to be gone, leaving just &lt;a href="http://www.genunix.org/distributions/martux/marTux_0.2/MD5sums.ascii"&gt;the check sum files&lt;/a&gt;. The file I'm looking for is &lt;br /&gt;
&lt;pre&gt;CD_sun4u_sparcv9__marTux_0.2__small_naked_demo_cd_bs2048b.iso.bz2 .&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6739077729235978763-4990455547671920205?l=tyom.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Zr2Y-0jcWW33_N1V9uZ_QWmjAWc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Zr2Y-0jcWW33_N1V9uZ_QWmjAWc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Zr2Y-0jcWW33_N1V9uZ_QWmjAWc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Zr2Y-0jcWW33_N1V9uZ_QWmjAWc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ArtyomTarasenkosBlog/~4/_D32DfeUFwc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://tyom.blogspot.com/feeds/4990455547671920205/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6739077729235978763&amp;postID=4990455547671920205" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6739077729235978763/posts/default/4990455547671920205?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6739077729235978763/posts/default/4990455547671920205?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ArtyomTarasenkosBlog/~3/_D32DfeUFwc/round-and-round-she-goes-and-where-she.html" title="Round and round she goes, and where she stops nobody knows" /><author><name>atar</name><uri>http://www.blogger.com/profile/16986140925986775324</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="27" src="http://2.bp.blogspot.com/_qRSJEMG7OsY/SwaWaXtg66I/AAAAAAAAAAM/WIt46E6OHzo/S220/av1.JPG" /></author><thr:total>4</thr:total><feedburner:origLink>http://tyom.blogspot.com/2011/03/round-and-round-she-goes-and-where-she.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0cNRHo7cSp7ImA9WhZWGU4.&quot;"><id>tag:blogger.com,1999:blog-6739077729235978763.post-5976342536986120499</id><published>2011-02-12T07:35:00.002+01:00</published><updated>2011-05-21T00:38:15.409+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-21T00:38:15.409+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="OpenBIOS" /><category scheme="http://www.blogger.com/atom/ns#" term="sparc" /><category scheme="http://www.blogger.com/atom/ns#" term="qemu" /><title>Sent a small patch to OpenBIOS</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Now there is a few bytes of my code in the OpenBIOS project as well.&lt;br /&gt;
Switching perspectives is an interesting experience: while debugging qemu and seeing something what I don't understand immediately, the first thought is that some hw device is not properly emulated.&lt;br /&gt;
Debugging OpenBIOS I'm pretty much sure that hw emulation is fine.&lt;br /&gt;
&lt;br /&gt;
Anyway, fixed one bug. Solaris still crashes on the boot,&amp;nbsp; but now it should be possible to switch off the mapping of the page 0x0.&lt;br /&gt;
&lt;br /&gt;
In case you are wondering what this would be good for, there are 2 good reasons: a) being compliant to IEEE-1275 SPARC supplement, and more importantly b) ability to easy catch a null pointer dereferences.&lt;br /&gt;
&lt;br /&gt;
The trivial rest of the Solaris boot exercise is left to Mark, Blue and other OpenBIOS developers. :-)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6739077729235978763-5976342536986120499?l=tyom.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ULRxQiOQ7s5-fzMRadBTY_GXEfw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ULRxQiOQ7s5-fzMRadBTY_GXEfw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ULRxQiOQ7s5-fzMRadBTY_GXEfw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ULRxQiOQ7s5-fzMRadBTY_GXEfw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ArtyomTarasenkosBlog/~4/C4xXDeiViCM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://tyom.blogspot.com/feeds/5976342536986120499/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6739077729235978763&amp;postID=5976342536986120499" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6739077729235978763/posts/default/5976342536986120499?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6739077729235978763/posts/default/5976342536986120499?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ArtyomTarasenkosBlog/~3/C4xXDeiViCM/sent-small-patch-to-openbios.html" title="Sent a small patch to OpenBIOS" /><author><name>atar</name><uri>http://www.blogger.com/profile/16986140925986775324</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="27" src="http://2.bp.blogspot.com/_qRSJEMG7OsY/SwaWaXtg66I/AAAAAAAAAAM/WIt46E6OHzo/S220/av1.JPG" /></author><thr:total>0</thr:total><feedburner:origLink>http://tyom.blogspot.com/2011/02/sent-small-patch-to-openbios.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A08CQHg7cCp7ImA9Wx9RGE4.&quot;"><id>tag:blogger.com,1999:blog-6739077729235978763.post-8497679780037641831</id><published>2010-10-09T23:25:00.012+02:00</published><updated>2010-12-20T11:11:01.608+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-20T11:11:01.608+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="sparc" /><category scheme="http://www.blogger.com/atom/ns#" term="qemu" /><category scheme="http://www.blogger.com/atom/ns#" term="bug" /><category scheme="http://www.blogger.com/atom/ns#" term="Solaris" /><title>Bug in all Solaris versions after 5.7?!?</title><content type="html">Tried to clean up some patches for submitting upstream, and it turned out that one of the hacks is needed because of a Solaris bug! I'm really astonished.&lt;br /&gt;
The init routine of the network card driver in Solaris 2.6 has this piece of code:&lt;br /&gt;
&lt;br /&gt;
&lt;table bgcolor="#cfe2f3"&gt;&lt;tbody&gt;
&lt;tr&gt; &lt;td&gt;call&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ddi_get_parent&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;ld&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [%l0 + 0xc], %o0&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;call&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ddi_get_driver_private&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;nop&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;add&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %o0, &lt;b&gt;0x4&lt;/b&gt;, %g2&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;st&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %g2, [%l0 + 0x720]&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
That's how it looks in Solaris 9:&lt;br /&gt;
&lt;table bgcolor="#cfe2f3"&gt;&lt;tbody&gt;
&lt;tr&gt; &lt;td&gt;call&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ddi_get_parent&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;ld&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [%l0 + 0x10], %o0&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;call&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ddi_get_driver_private&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;nop&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;add&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %o0, &lt;b&gt;0x10&lt;/b&gt;, %g2&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;st&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %g2, [%l0 + 0x728]&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
Adding 0x10 to the base of dma registers, makes a pointer to a nowhere.&lt;br /&gt;
&lt;br /&gt;
Yes, qemu is not precise, and doesn't emulate memory aliasing (Blue Swirl had a patch for it), but hey, Solaris works on sun4m only due to a &lt;i&gt;coincidence&lt;/i&gt;!&lt;br /&gt;
&lt;br /&gt;
So, all the Solaris versions from 5.7 to 9 can be booted in qemu by hot patching in kadb (booting kadb is already described in &lt;a href="http://tyom.blogspot.com/2009/12/solaris-under-qemu-how-to.html"&gt;the how-to&lt;/a&gt;).&lt;br /&gt;
&lt;br /&gt;
That's how I patched Solaris 9 for booting under qemu:&lt;br /&gt;
&lt;table bgcolor="#cfe2f3"&gt;&lt;tbody&gt;
&lt;tr&gt; &lt;td&gt;kadb[0]: &lt;b&gt;le#leinit:b&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;i&gt;set a deferred breakpoint&lt;/i&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;kadb[0]: &lt;b&gt;:c&amp;nbsp;&amp;nbsp;  &lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;i&gt;continue execution&lt;/i&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;... &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;kadb[0]: &lt;b&gt;leinit+0x654?i&lt;/b&gt; &lt;/td&gt;&lt;td&gt;&lt;i&gt;check that we are at the correct place&lt;/i&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;add&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %o0, 0x10, %g2&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;kadb[0]: leinit+0x654/X&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;leinit+0x654:&amp;nbsp;&amp;nbsp; 84022010&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;kadb[0]: &lt;b&gt;leinit+0x654/W 84022004&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;leinit+0x654:&amp;nbsp;&amp;nbsp; 0x84022010&amp;nbsp;&amp;nbsp;&amp;nbsp; =&amp;nbsp;&amp;nbsp; 0x84022004&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/td&gt;&lt;td&gt;&lt;i&gt;patch&lt;/i&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;kadb[0]: &lt;b&gt;leinit:d&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;i&gt;delete the breakpoint&lt;/i&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt; &lt;td&gt;kadb[0]: &lt;b&gt;:c&lt;/b&gt; &lt;/td&gt;&lt;td&gt;&lt;i&gt;continue&lt;/i&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
Once again I can only recommend&amp;nbsp; reading the &lt;a href="http://www.amazon.com/PANIC-System-Analysis-Handbook-CD-ROM/dp/0131493868?ie=UTF8&amp;amp;tag=artyomtsblog-20&amp;amp;link_code=btl&amp;amp;camp=213689&amp;amp;creative=392969" target="_blank"&gt;PANIC! UNIX System Crash Dump Analysis Handbook&lt;/a&gt; to understand the basics before patching anything.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6739077729235978763-8497679780037641831?l=tyom.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/eDU5uCb1UzRObgHB8te-uVsoSNU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/eDU5uCb1UzRObgHB8te-uVsoSNU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/eDU5uCb1UzRObgHB8te-uVsoSNU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/eDU5uCb1UzRObgHB8te-uVsoSNU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ArtyomTarasenkosBlog/~4/01By2AjOgiU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://tyom.blogspot.com/feeds/8497679780037641831/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6739077729235978763&amp;postID=8497679780037641831" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6739077729235978763/posts/default/8497679780037641831?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6739077729235978763/posts/default/8497679780037641831?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ArtyomTarasenkosBlog/~3/01By2AjOgiU/bug-in-all-solaris-versions-after-57.html" title="Bug in all Solaris versions after 5.7?!?" /><author><name>atar</name><uri>http://www.blogger.com/profile/16986140925986775324</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="27" src="http://2.bp.blogspot.com/_qRSJEMG7OsY/SwaWaXtg66I/AAAAAAAAAAM/WIt46E6OHzo/S220/av1.JPG" /></author><thr:total>4</thr:total><feedburner:origLink>http://tyom.blogspot.com/2010/10/bug-in-all-solaris-versions-after-57.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0EFRX05cCp7ImA9Wx5VEU0.&quot;"><id>tag:blogger.com,1999:blog-6739077729235978763.post-50185370146387303</id><published>2010-10-02T12:34:00.105+02:00</published><updated>2010-10-03T13:33:34.328+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-10-03T13:33:34.328+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="sparc" /><category scheme="http://www.blogger.com/atom/ns#" term="Java" /><category scheme="http://www.blogger.com/atom/ns#" term="qemu" /><category scheme="http://www.blogger.com/atom/ns#" term="Oracle" /><title>Did java 5+ ever work on 32 bit SPARC machines?</title><content type="html">Basically the question should sound "Did java 5_ ever work on 32 bit SPARC machines?", because for the plus part I already know the answer. Up to now it didn't.&lt;br /&gt;
&lt;br /&gt;
Here goes the story:&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Wondering if could use some large application to test the emulation, I tried Java and Oracle Lite.&lt;br /&gt;
&lt;br /&gt;
I went to the Oracle site and downloaded Java 6SE, as it's the only directly downloadable version. The installer worked ok, but when I tried&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;# java -version
SPARC V8 processor detected; Server compiler requires V9 or better.
Use Client compiler on V8 processors.
Could not create the Java virtual machine.&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;Oh well, I need explicitly specify the client compiler, which is pretty stupid&lt;/pre&gt;&lt;pre&gt;since Java can auto-detect that there is the only one supported, but, ok, let's try it.&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;# java &lt;b&gt;-client&lt;/b&gt; -version
SPARC V8 processor detected; Server compiler requires V9 or better.
Use Client compiler on V8 processors.
Could not create the Java virtual machine.&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;What?!? Ok, google is my friend. There is a public bug &lt;a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6922500"&gt;#6922500&lt;/a&gt;, which tells that Java 6&lt;/pre&gt;&lt;pre&gt;can not work on SPARCStation-5 (and obviously all other 32 bit machines). The bug is closed&lt;/pre&gt;&lt;pre&gt;as a duplicate of &lt;a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6921472"&gt;#6921472&lt;/a&gt;, which is supposedly fixed in Java &lt;b&gt;7&lt;/b&gt; (!) b102. Can't find b102,&lt;/pre&gt;&lt;pre&gt;and the current Java 7 version for 32 bit SPARC is compiled for V8plus.&lt;/pre&gt;&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre&gt;I wonder why do they offer Java 6+ for 32 bit SPARC at all? It obviously can work only on 64&lt;/pre&gt;&lt;pre&gt;bit machines.&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;&lt;pre&gt;Now everyone blames Oracle, but the first version of Java 6 was released long before Oracle&lt;/pre&gt;&lt;pre&gt;bought it. It was Sun who started phoning it in.&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;&lt;pre&gt;Ok anyway, I tried Java 5 and at least "java -version" seemed to work. But an attempt to&lt;/pre&gt;&lt;pre&gt;start Oracle Lite produces a core dump mostly consisting of the same calls:&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;&lt;pre&gt;ef1b372c __1cIos_sleep6Fxi_i_ (0, 1, 0, ff725e56, 171, 6000) + c
 ef1b1888 __1cCosFsleep6FpnGThread_xi_i_ (0, 0, 1, 4, 4, ef60a9f8) + 284
 ef241d4c __1cCosJyield_all6Fi_v_ (ef670e00, ef608a30, 1056d8, ff725e56, 171, ef5ee000) + 25c
 e9000784 ???????? (e4f5eb08, 1, ef608a28, ef608a30, 2cdc, ef5ee000)
 ef1b37a0 __1cIos_sleep6Fxi_i_ (1, ef608a30, 0, 6398, 0, e9000740) + 80
 ef0ea85c __1cMgetTimeNanos6F_x_ (e4f71bb8, 1, ef608a28, ef608a30, 2cdc, ef5ee000) + 120
 ef1b37a0 __1cIos_sleep6Fxi_i_ (0, 0, 0, 1, 171, 7fffffff) + 80
 ef1b1888 __1cCosFsleep6FpnGThread_xi_i_ (0, 0, 1, 4, 4, ef60a9f8) + 284&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;&lt;pre&gt;Is there a chance that it fails due to a bug in qemu-sparc and not in Java?&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6739077729235978763-50185370146387303?l=tyom.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Rw2smST_U_7jJwSKqfDe0QQzy_U/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Rw2smST_U_7jJwSKqfDe0QQzy_U/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Rw2smST_U_7jJwSKqfDe0QQzy_U/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Rw2smST_U_7jJwSKqfDe0QQzy_U/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ArtyomTarasenkosBlog/~4/dYiuS1V0QgY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://tyom.blogspot.com/feeds/50185370146387303/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6739077729235978763&amp;postID=50185370146387303" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6739077729235978763/posts/default/50185370146387303?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6739077729235978763/posts/default/50185370146387303?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ArtyomTarasenkosBlog/~3/dYiuS1V0QgY/did-java-5-ever-work-on-32-bit-sparc.html" title="Did java 5+ ever work on 32 bit SPARC machines?" /><author><name>atar</name><uri>http://www.blogger.com/profile/16986140925986775324</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="27" src="http://2.bp.blogspot.com/_qRSJEMG7OsY/SwaWaXtg66I/AAAAAAAAAAM/WIt46E6OHzo/S220/av1.JPG" /></author><thr:total>2</thr:total><feedburner:origLink>http://tyom.blogspot.com/2010/10/did-java-5-ever-work-on-32-bit-sparc.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkACRno-cCp7ImA9Wx5REUk.&quot;"><id>tag:blogger.com,1999:blog-6739077729235978763.post-7557411413457831843</id><published>2010-08-15T12:23:00.027+02:00</published><updated>2010-08-18T16:12:47.458+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-18T16:12:47.458+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="sparc" /><category scheme="http://www.blogger.com/atom/ns#" term="qemu" /><category scheme="http://www.blogger.com/atom/ns#" term="success" /><category scheme="http://www.blogger.com/atom/ns#" term="bug" /><category scheme="http://www.blogger.com/atom/ns#" term="y2k10" /><category scheme="http://www.blogger.com/atom/ns#" term="Solaris" /><title>Fixed the "Solaris Y2K10" bug</title><content type="html">Got back to &lt;a href="http://tyom.blogspot.com/2010/01/problem-of-year-2010.html"&gt;Solaris/qemu Y2K10 bug&lt;/a&gt;. The name turned out to be misleading because a) it's not a Solaris bug and b) it's not a Y2K10 bug.&lt;br /&gt;
&lt;br /&gt;
The reason for the bug was someone mixing hexadecimal and decimal values. Gonna check if there are more such places and send the trivial fix later.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6739077729235978763-7557411413457831843?l=tyom.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/VPgBMW7YUQULbhjV-cWU919GjAY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/VPgBMW7YUQULbhjV-cWU919GjAY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/VPgBMW7YUQULbhjV-cWU919GjAY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/VPgBMW7YUQULbhjV-cWU919GjAY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ArtyomTarasenkosBlog/~4/gZUO_9MxbyQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://tyom.blogspot.com/feeds/7557411413457831843/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6739077729235978763&amp;postID=7557411413457831843" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6739077729235978763/posts/default/7557411413457831843?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6739077729235978763/posts/default/7557411413457831843?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ArtyomTarasenkosBlog/~3/gZUO_9MxbyQ/fixed-solaris-y2k10-bug.html" title="Fixed the &quot;Solaris Y2K10&quot; bug" /><author><name>atar</name><uri>http://www.blogger.com/profile/16986140925986775324</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="27" src="http://2.bp.blogspot.com/_qRSJEMG7OsY/SwaWaXtg66I/AAAAAAAAAAM/WIt46E6OHzo/S220/av1.JPG" /></author><thr:total>1</thr:total><feedburner:origLink>http://tyom.blogspot.com/2010/08/fixed-solaris-y2k10-bug.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEYERXg6fyp7ImA9Wx5SGEU.&quot;"><id>tag:blogger.com,1999:blog-6739077729235978763.post-6735346607628441068</id><published>2010-08-14T16:37:00.007+02:00</published><updated>2010-08-15T17:28:24.617+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-15T17:28:24.617+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="sparc" /><category scheme="http://www.blogger.com/atom/ns#" term="qemu" /><category scheme="http://www.blogger.com/atom/ns#" term="escc" /><category scheme="http://www.blogger.com/atom/ns#" term="Solaris" /><category scheme="http://www.blogger.com/atom/ns#" term="SunOS" /><title>Submitted SunOS 4.1.4 &amp; Solaris 2.2 fix upstream</title><content type="html">Sent upstream the serial port patch. The patch allows booting SunOS 4.1.4 and Solaris 2.2.&lt;br /&gt;
&lt;br /&gt;
Booting Solaris 2.2 is more tricky than SunOS 4.1.4, since it doesn't support SPARCStation-5. It has to be started in SS-20 emulation.&lt;br /&gt;
&lt;br /&gt;
Will update the how-to shortly.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6739077729235978763-6735346607628441068?l=tyom.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/GUHL2NnZBEjNo9v5oPK8G6RbopY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/GUHL2NnZBEjNo9v5oPK8G6RbopY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/GUHL2NnZBEjNo9v5oPK8G6RbopY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/GUHL2NnZBEjNo9v5oPK8G6RbopY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ArtyomTarasenkosBlog/~4/8A5uX7lhRjU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://tyom.blogspot.com/feeds/6735346607628441068/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6739077729235978763&amp;postID=6735346607628441068" title="17 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6739077729235978763/posts/default/6735346607628441068?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6739077729235978763/posts/default/6735346607628441068?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ArtyomTarasenkosBlog/~3/8A5uX7lhRjU/submitted-sunos-414-solaris-22-fix.html" title="Submitted SunOS 4.1.4 &amp; Solaris 2.2 fix upstream" /><author><name>atar</name><uri>http://www.blogger.com/profile/16986140925986775324</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="27" src="http://2.bp.blogspot.com/_qRSJEMG7OsY/SwaWaXtg66I/AAAAAAAAAAM/WIt46E6OHzo/S220/av1.JPG" /></author><thr:total>17</thr:total><feedburner:origLink>http://tyom.blogspot.com/2010/08/submitted-sunos-414-solaris-22-fix.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak8GRH87fCp7ImA9Wx5TEUo.&quot;"><id>tag:blogger.com,1999:blog-6739077729235978763.post-6194554430088172489</id><published>2010-07-24T22:51:00.049+02:00</published><updated>2010-07-26T23:13:45.104+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-26T23:13:45.104+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="sparc" /><category scheme="http://www.blogger.com/atom/ns#" term="NetBSD" /><category scheme="http://www.blogger.com/atom/ns#" term="dma" /><category scheme="http://www.blogger.com/atom/ns#" term="qemu" /><category scheme="http://www.blogger.com/atom/ns#" term="IRQ" /><category scheme="http://www.blogger.com/atom/ns#" term="NCR53c9x" /><title>Going deeper into NetBSD problem</title><content type="html">It looks like the documentation on the NCR89C100 chip (aka esp) is wrong or incomplete. Actually nothing new. Earlier I found that &lt;a href="http://tyom.blogspot.com/2009/11/irqtimer-puzzles.html"&gt;timer is definitely described wrong&lt;/a&gt;. But at least timer is described correctly in the Sun4m architecture manual, and for the scsi part the only source is the NCR document.&lt;br /&gt;
&lt;br /&gt;
The subunits of the real machine are much more integrated than described. DVMA works differently compared to qemu, the expected interrupts are not triggered, and "Select with(out) attention" commands work differently too. At least in the mode NetBSD uses.&lt;br /&gt;
&lt;br /&gt;
Starting to wonder why qemu is capable to boot anything at all. Looking at all this errors makes me feel like getting lost 100 meters away from the home. Or even in &lt;a href="http://tyom.blogspot.com/2009/09/third-bug-in-scsi-layer-esp-fixed.html"&gt;my own basement&lt;/a&gt;. Have to experiment further.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6739077729235978763-6194554430088172489?l=tyom.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/7m26d4jX_uMY09MDSCL3-aapIcA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7m26d4jX_uMY09MDSCL3-aapIcA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/7m26d4jX_uMY09MDSCL3-aapIcA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7m26d4jX_uMY09MDSCL3-aapIcA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ArtyomTarasenkosBlog/~4/wlPXFweshjM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://tyom.blogspot.com/feeds/6194554430088172489/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6739077729235978763&amp;postID=6194554430088172489" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6739077729235978763/posts/default/6194554430088172489?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6739077729235978763/posts/default/6194554430088172489?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ArtyomTarasenkosBlog/~3/wlPXFweshjM/going-deeper-into-netbsd-problem.html" title="Going deeper into NetBSD problem" /><author><name>atar</name><uri>http://www.blogger.com/profile/16986140925986775324</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="27" src="http://2.bp.blogspot.com/_qRSJEMG7OsY/SwaWaXtg66I/AAAAAAAAAAM/WIt46E6OHzo/S220/av1.JPG" /></author><thr:total>0</thr:total><feedburner:origLink>http://tyom.blogspot.com/2010/07/going-deeper-into-netbsd-problem.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUQBRno7eyp7ImA9Wx5SGEQ.&quot;"><id>tag:blogger.com,1999:blog-6739077729235978763.post-2280329210082104564</id><published>2010-07-17T12:47:00.002+02:00</published><updated>2010-08-15T19:29:17.403+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-15T19:29:17.403+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SCSI" /><category scheme="http://www.blogger.com/atom/ns#" term="NetBSD" /><category scheme="http://www.blogger.com/atom/ns#" term="esp" /><category scheme="http://www.blogger.com/atom/ns#" term="NCR53c9x" /><title>Bug in NetBSD 1.6 - 3.1 emulation</title><content type="html">Was going to write that I couldn't imagine what did the NetBSD guys smoke during 5 years between the versions 1.6 and 3.1 inclusively. The NCR 53c9x SCSI chip (known as "esp" in SPARC and PPC machines) was not so uncommon back then. How could they introduce an instability and didn't notice it ?!?&lt;br /&gt;
&lt;br /&gt;
The code from NetBSD 1.5.3:&lt;br /&gt;
&lt;br /&gt;
NCRDMA_SETUP(sc, &amp;amp;sc-&amp;gt;sc_cmdp, &amp;amp;sc-&amp;gt;sc_cmdlen, 0, &amp;amp;dmasize);&lt;br /&gt;
//...&lt;br /&gt;
NCRCMD(sc, NCRCMD_SELATN | NCRCMD_DMA);&lt;br /&gt;
NCRDMA_GO(sc);&lt;br /&gt;
&lt;br /&gt;
The code from NetBSD 1.6-3.1:&lt;br /&gt;
&lt;br /&gt;
NCRCMD(sc, NCRCMD_SELATN | NCRCMD_DMA);&lt;br /&gt;
NCRDMA_SETUP(sc, &amp;amp;sc-&amp;gt;sc_cmdp, &amp;amp;sc-&amp;gt;sc_cmdlen, 0, &amp;amp;dmasize);&lt;br /&gt;
NCRDMA_GO(sc);&lt;br /&gt;
&lt;br /&gt;
The code from NetBSD 4:&lt;br /&gt;
&lt;br /&gt;
NCRDMA_SETUP(sc, &amp;amp;sc-&amp;gt;sc_cmdp, &amp;amp;sc-&amp;gt;sc_cmdlen, 0, &amp;amp;dmasize);&lt;br /&gt;
//...&lt;br /&gt;
NCRCMD(sc, NCRCMD_SELATN | NCRCMD_DMA);&lt;br /&gt;
NCRDMA_GO(sc);&lt;br /&gt;
&lt;br /&gt;
See the difference? In the versions 1.6-3.1 the command is executed before the DMA is set up, so the SCSI controller may not get the command using DMA.&lt;br /&gt;
&lt;br /&gt;
And then I googled for the expected bug reports and found none. Why could it work on the real hardware? &lt;strike&gt;Maybe some latency: if the latency of a SCSI controller was larger than a DMA controller, it might work? Maybe concurrency: if some other driver (for instance Ethernet) prepared DMA for itself, the SCSI driver could steal it? Maybe DMA didn't work for these versions at all and after the first attempt they switched to the PIO mode.&lt;/strike&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6739077729235978763-2280329210082104564?l=tyom.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/RJE4oGYY-aqWulQ-CPEfdu8dgnw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/RJE4oGYY-aqWulQ-CPEfdu8dgnw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/RJE4oGYY-aqWulQ-CPEfdu8dgnw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/RJE4oGYY-aqWulQ-CPEfdu8dgnw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ArtyomTarasenkosBlog/~4/GwkkboCs92k" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://tyom.blogspot.com/feeds/2280329210082104564/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6739077729235978763&amp;postID=2280329210082104564" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6739077729235978763/posts/default/2280329210082104564?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6739077729235978763/posts/default/2280329210082104564?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ArtyomTarasenkosBlog/~3/GwkkboCs92k/bug-in-netbsd-16-31.html" title="Bug in NetBSD 1.6 - 3.1 emulation" /><author><name>atar</name><uri>http://www.blogger.com/profile/16986140925986775324</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="27" src="http://2.bp.blogspot.com/_qRSJEMG7OsY/SwaWaXtg66I/AAAAAAAAAAM/WIt46E6OHzo/S220/av1.JPG" /></author><thr:total>2</thr:total><feedburner:origLink>http://tyom.blogspot.com/2010/07/bug-in-netbsd-16-31.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEFQH8_fSp7ImA9WxFaEko.&quot;"><id>tag:blogger.com,1999:blog-6739077729235978763.post-51966388292283504</id><published>2010-07-11T10:39:00.000+02:00</published><updated>2010-07-16T11:46:51.145+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-16T11:46:51.145+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="tme" /><category scheme="http://www.blogger.com/atom/ns#" term="OBP" /><category scheme="http://www.blogger.com/atom/ns#" term="sparc" /><category scheme="http://www.blogger.com/atom/ns#" term="Martux" /><category scheme="http://www.blogger.com/atom/ns#" term="NetBSD" /><category scheme="http://www.blogger.com/atom/ns#" term="sun4u" /><category scheme="http://www.blogger.com/atom/ns#" term="sparc64" /><title>TME strikes back!</title><content type="html">A great news for everyone who's interested in the 64-bit SPARC emulation (sun4u)!&lt;br /&gt;
&lt;br /&gt;
After a nearly 3 years long pause Matt Fredette released &lt;a href="http://people.csail.mit.edu/fredette/tme/tme-0.8.tar.gz"&gt;the new version of TME&lt;/a&gt; - &lt;a href="http://people.csail.mit.edu/fredette/tme/index.html"&gt;The Machine Emulator&lt;/a&gt;. Matt has skipped the sun4m emulation, which I think makes sense, because meanwhile qemu emulates sun4m pretty well (and fast!). Therefore the current list of the supported platforms is sun2, sun3, sun4c and sun4u. The only sun4u machine which tme can emulate is Ultra 1, so don't hold your breath for OpenSolaris support just yet.&lt;br /&gt;
&lt;br /&gt;
But at least it &lt;a href="http://mail-index.netbsd.org/port-sparc/2010/06/07/msg000739.html"&gt;can boot NetBSD 5&lt;/a&gt;. Also it uses the original OBP (not OpenBIOS) which implies that the emulation is pretty close to the hardware. It also seems to emulate cg6 graphic adapter which is much more powerful than qemu's tcx. Less powerful than Bob's cg14, but it's not yet included in the official git master anyway.&lt;br /&gt;
&lt;br /&gt;
As for the OpenSolaris: it doesn't support the Ultra-1 and Ultra-2 machines. But! You can give a spin to &lt;a href="http://www.martux.org/"&gt;Martux&lt;/a&gt;, the hacked OpenSolaris distribution which does have a support for the early Ultras.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6739077729235978763-51966388292283504?l=tyom.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/b0X2ijTJxAhWeZ30YaZBc6NIRVk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/b0X2ijTJxAhWeZ30YaZBc6NIRVk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/b0X2ijTJxAhWeZ30YaZBc6NIRVk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/b0X2ijTJxAhWeZ30YaZBc6NIRVk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ArtyomTarasenkosBlog/~4/-MyyzW3PuPk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://tyom.blogspot.com/feeds/51966388292283504/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6739077729235978763&amp;postID=51966388292283504" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6739077729235978763/posts/default/51966388292283504?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6739077729235978763/posts/default/51966388292283504?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ArtyomTarasenkosBlog/~3/-MyyzW3PuPk/tme-strikes-back.html" title="TME strikes back!" /><author><name>atar</name><uri>http://www.blogger.com/profile/16986140925986775324</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="27" src="http://2.bp.blogspot.com/_qRSJEMG7OsY/SwaWaXtg66I/AAAAAAAAAAM/WIt46E6OHzo/S220/av1.JPG" /></author><thr:total>4</thr:total><feedburner:origLink>http://tyom.blogspot.com/2010/07/tme-strikes-back.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0ECSXs8eCp7ImA9WxFbGUg.&quot;"><id>tag:blogger.com,1999:blog-6739077729235978763.post-6946553644408618195</id><published>2010-07-10T20:09:00.000+02:00</published><updated>2010-07-12T20:34:28.570+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-12T20:34:28.570+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="OBP" /><category scheme="http://www.blogger.com/atom/ns#" term="sparc" /><category scheme="http://www.blogger.com/atom/ns#" term="slavio" /><category scheme="http://www.blogger.com/atom/ns#" term="qemu" /><category scheme="http://www.blogger.com/atom/ns#" term="bug" /><title>Fixed the slavio timer bug properly</title><content type="html">Fixed the &lt;a href="http://tyom.blogspot.com/2010/07/fixed-another-bug-in-slavio-timer.html"&gt;timer bug found last week&lt;/a&gt; more correctly. Will submit the patch later.&lt;br /&gt;
&lt;br /&gt;
Gosh, it is hot over here. Today is something like 38C (~100F) . The cpu in my head is refusing to send any patches and fix any further bugs till the temperature drops.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6739077729235978763-6946553644408618195?l=tyom.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/1kDCAP-NmyoQGKcMpPcrqW6FA_c/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1kDCAP-NmyoQGKcMpPcrqW6FA_c/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/1kDCAP-NmyoQGKcMpPcrqW6FA_c/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1kDCAP-NmyoQGKcMpPcrqW6FA_c/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ArtyomTarasenkosBlog/~4/ag7eR-xe53k" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://tyom.blogspot.com/feeds/6946553644408618195/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6739077729235978763&amp;postID=6946553644408618195" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6739077729235978763/posts/default/6946553644408618195?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6739077729235978763/posts/default/6946553644408618195?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ArtyomTarasenkosBlog/~3/ag7eR-xe53k/fixed-slavio-timer-bug-properly.html" title="Fixed the slavio timer bug properly" /><author><name>atar</name><uri>http://www.blogger.com/profile/16986140925986775324</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="27" src="http://2.bp.blogspot.com/_qRSJEMG7OsY/SwaWaXtg66I/AAAAAAAAAAM/WIt46E6OHzo/S220/av1.JPG" /></author><thr:total>0</thr:total><feedburner:origLink>http://tyom.blogspot.com/2010/07/fixed-slavio-timer-bug-properly.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0UMQn0_eyp7ImA9WxFbEUU.&quot;"><id>tag:blogger.com,1999:blog-6739077729235978763.post-3915843932627214941</id><published>2010-07-03T15:42:00.000+02:00</published><updated>2010-07-03T21:28:03.343+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-03T21:28:03.343+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="OBP" /><category scheme="http://www.blogger.com/atom/ns#" term="sparc" /><category scheme="http://www.blogger.com/atom/ns#" term="slavio" /><category scheme="http://www.blogger.com/atom/ns#" term="qemu" /><category scheme="http://www.blogger.com/atom/ns#" term="bug" /><title>Fixed another bug in the slavio timer emulation</title><content type="html">Trying to get NeXTStep/sparc to boot without any success, I got back to the old bug which seemed to be related: some versions of OBP hang at boot waiting for the timer interrupts.&lt;br /&gt;
&lt;br /&gt;
Somehow I got poisoned by the motto of the qemu developers: OBP doesn't work because the initial set-up is wrong. On the real hardware no one would expect BIOS to work if the machine doesn't pass the power-on self test (POST). But then I it came to me that exactly this motto prevented other people &lt;a href="http://tyom.blogspot.com/2009/08/yes-i-did-it-obp-is-functional-under.html"&gt;to get OBP working under qemu-system-sparc&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
So, I went on and asked &lt;a href="http://tyom.blogspot.com/2009/10/obp-author-is-here-and-still-cares.html"&gt;Mitch&lt;/a&gt;, if he thought whether his creation - OBP - was buggy and relied on the [probably missing] POST initialization. Mitch said that he's pretty much sure that the OBP would do the right thing in this case, so I took another look at the qemu timer code, and fixed the bug.&lt;br /&gt;
&lt;br /&gt;
The bug turned out to be unrelated to the NeXTStep boot problem. On the other hand the fix provides the alternatives to SPARCStation-5 emulation. Now it's possible to get SPARCStation-10 firmware to work, which gives 512m to the guest.&lt;br /&gt;
&lt;br /&gt;
Here come some boot logs with the OBP from SPARCStation-10 and LX.&lt;br /&gt;
&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;LX:&lt;br /&gt;
MMU Context Table Reg Test&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ERROR : Address = 00000100, exp = 005a5a50, obs = 005a5a40, xor = 00000010&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; U-NUMBER : Suspect Tsunami Module&lt;br /&gt;
&lt;br /&gt;
ttya initialized&lt;br /&gt;
Probing Memory Bank #0 32 Megabytes&lt;br /&gt;
Probing Memory Bank #1 32 Megabytes&lt;br /&gt;
Probing Memory Bank #2 32 Megabytes&lt;br /&gt;
Probing Memory Bank #3 32 Megabytes&lt;br /&gt;
Starting real time clock...&lt;br /&gt;
Incorrect configuration checksum; &lt;br /&gt;
Setting NVRAM parameters to default values.&lt;br /&gt;
Setting diag-switch? NVRAM parameter to true&lt;br /&gt;
Probing /iommu@0,10000000/sbus@0,10001000 at 4,0&amp;nbsp; espdma esp sd st SUNW,bpp ledma le &lt;br /&gt;
Probing /iommu@0,10000000/sbus@0,10001000 at 0,0&amp;nbsp; Nothing there&lt;br /&gt;
Probing /iommu@0,10000000/sbus@0,10001000 at 1,0&amp;nbsp; Nothing there&lt;br /&gt;
Probing /iommu@0,10000000/sbus@0,10001000 at 2,0&amp;nbsp; qemu,device-stub mmcodec &lt;br /&gt;
Probing /iommu@0,10000000/sbus@0,10001000 at 3,0&amp;nbsp; cgsix Data Access Error&lt;br /&gt;
Type&amp;nbsp; help&amp;nbsp; for more information&lt;br /&gt;
ok&lt;br /&gt;
&lt;br /&gt;
So, the obvious problem here is that qemu doesn't have cgsix which must be onboard.&lt;br /&gt;
&lt;br /&gt;
SS-10:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;D-Cache RAM Write/Read Test &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ERROR : Address = 00000000,&amp;nbsp; exp[63:32] = ffffffff, obs[63:32] = 00000000, xor[63:32] = ffffffff&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; U-NUMBER : Suspect Viking Module, MBus Slot 0&lt;br /&gt;
&lt;br /&gt;
ttya initialized&lt;br /&gt;
Cpu #0 TI,TMS390Z50 &lt;br /&gt;
Cpu #1 Nothing there &lt;br /&gt;
Cpu #2 Nothing there &lt;br /&gt;
Cpu #3 Nothing there &lt;br /&gt;
Probing Memory Bank #0 64 Megabytes of DRAM&lt;br /&gt;
Probing Memory Bank #1 64 Megabytes of DRAM&lt;br /&gt;
Probing Memory Bank #2 64 Megabytes of DRAM&lt;br /&gt;
Probing Memory Bank #3 64 Megabytes of DRAM&lt;br /&gt;
Probing Memory Bank #4 64 Megabytes of DRAM&lt;br /&gt;
Probing Memory Bank #5 64 Megabytes of DRAM&lt;br /&gt;
Probing Memory Bank #6 64 Megabytes of DRAM&lt;br /&gt;
Probing Memory Bank #7 64 Megabytes of DRAM&lt;br /&gt;
Starting real time clock...&lt;br /&gt;
Incorrect configuration checksum; &lt;br /&gt;
Setting NVRAM parameters to default values.&lt;br /&gt;
Setting diag-switch? NVRAM parameter to true&lt;br /&gt;
Probing /iommu@f,e0000000/sbus@f,e0001000 at f,0&amp;nbsp; espdma esp sd st ledma le SUNW,bpp &lt;br /&gt;
Probing /iommu@f,e0000000/sbus@f,e0001000 at 0,0&amp;nbsp; Nothing there&lt;br /&gt;
Probing /iommu@f,e0000000/sbus@f,e0001000 at 1,0&amp;nbsp; Nothing there&lt;br /&gt;
Probing /iommu@f,e0000000/sbus@f,e0001000 at 2,0&amp;nbsp; Nothing there&lt;br /&gt;
Probing /iommu@f,e0000000/sbus@f,e0001000 at 3,0&amp;nbsp; Nothing there&lt;br /&gt;
&lt;br /&gt;
SPARCstation 10 (1 X 390Z50), No Keyboard&lt;br /&gt;
ROM Rev. 2.10, 512 MB memory installed, Serial #0.&lt;br /&gt;
Ethernet address 52:54:0:12:34:56, Host ID: 72000000.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Power-On SelfTest FAILED ... Replace MBUS0 Module&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
Type&amp;nbsp; help&amp;nbsp; for more information&lt;br /&gt;
ok&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6739077729235978763-3915843932627214941?l=tyom.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/cC7iIYbljTB8a9kv6Sr533g8nPM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/cC7iIYbljTB8a9kv6Sr533g8nPM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/cC7iIYbljTB8a9kv6Sr533g8nPM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/cC7iIYbljTB8a9kv6Sr533g8nPM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ArtyomTarasenkosBlog/~4/7Mg2Lr6dTU0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://tyom.blogspot.com/feeds/3915843932627214941/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6739077729235978763&amp;postID=3915843932627214941" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6739077729235978763/posts/default/3915843932627214941?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6739077729235978763/posts/default/3915843932627214941?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ArtyomTarasenkosBlog/~3/7Mg2Lr6dTU0/fixed-another-bug-in-slavio-timer.html" title="Fixed another bug in the slavio timer emulation" /><author><name>atar</name><uri>http://www.blogger.com/profile/16986140925986775324</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="27" src="http://2.bp.blogspot.com/_qRSJEMG7OsY/SwaWaXtg66I/AAAAAAAAAAM/WIt46E6OHzo/S220/av1.JPG" /></author><thr:total>0</thr:total><feedburner:origLink>http://tyom.blogspot.com/2010/07/fixed-another-bug-in-slavio-timer.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A04EQX47cCp7ImA9WxFUEE4.&quot;"><id>tag:blogger.com,1999:blog-6739077729235978763.post-4992339834789402663</id><published>2010-06-19T15:11:00.000+02:00</published><updated>2010-06-20T15:18:20.008+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-20T15:18:20.008+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="sparc" /><category scheme="http://www.blogger.com/atom/ns#" term="slavio" /><category scheme="http://www.blogger.com/atom/ns#" term="NetBSD" /><category scheme="http://www.blogger.com/atom/ns#" term="qemu" /><category scheme="http://www.blogger.com/atom/ns#" term="IRQ" /><category scheme="http://www.blogger.com/atom/ns#" term="bug" /><title>Yet another bug in IRQ emulation</title><content type="html">Trying to find out why NetBSD versions 1.6-3.1 do not boot, I found a bug in IRQ processing. After fixing it these versions still don't boot, :) but fail more gracefully.&lt;br /&gt;
Looks like there is another couple of bugs to go...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6739077729235978763-4992339834789402663?l=tyom.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/1uLUoOzO9hP4Zwic5GKbAJAZALY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1uLUoOzO9hP4Zwic5GKbAJAZALY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/1uLUoOzO9hP4Zwic5GKbAJAZALY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1uLUoOzO9hP4Zwic5GKbAJAZALY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ArtyomTarasenkosBlog/~4/oeO4KhTRutA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://tyom.blogspot.com/feeds/4992339834789402663/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6739077729235978763&amp;postID=4992339834789402663" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6739077729235978763/posts/default/4992339834789402663?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6739077729235978763/posts/default/4992339834789402663?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ArtyomTarasenkosBlog/~3/oeO4KhTRutA/yet-another-bug-in-irq-emulation.html" title="Yet another bug in IRQ emulation" /><author><name>atar</name><uri>http://www.blogger.com/profile/16986140925986775324</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="27" src="http://2.bp.blogspot.com/_qRSJEMG7OsY/SwaWaXtg66I/AAAAAAAAAAM/WIt46E6OHzo/S220/av1.JPG" /></author><thr:total>2</thr:total><feedburner:origLink>http://tyom.blogspot.com/2010/06/yet-another-bug-in-irq-emulation.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0QGSHo-fyp7ImA9WxFVFEk.&quot;"><id>tag:blogger.com,1999:blog-6739077729235978763.post-1451483801757525384</id><published>2010-06-12T16:43:00.000+02:00</published><updated>2010-06-13T17:02:09.457+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-13T17:02:09.457+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="sparc" /><category scheme="http://www.blogger.com/atom/ns#" term="qemu" /><category scheme="http://www.blogger.com/atom/ns#" term="success" /><category scheme="http://www.blogger.com/atom/ns#" term="Solaris" /><title>Solaris 2.2 / sparc</title><content type="html">Still in 1993. Moved from November to May: Using the cg14 implementation from Bob I was able to boot Solaris 2.2 on emulated SPARCstation-20. It was not possible before cause Solaris 2.2 is not compatible with SS-5. I wonder what are the oldest Solaris/SunOS versions which can be booted on SS-20? Solaris 2.0 is not: it supported only sun4c. SunOS 4.1.2 can not boot either: according to the Wikipedia it supports sun4m, but none of the SPARCstations.&lt;br /&gt;
&lt;br /&gt;
So the versions left untested are Solaris 2.1 and SunOS 4.1.{0-1}. Have no idea about SunOS 4.0.&lt;br /&gt;
&lt;br /&gt;
Will post some screenshots later.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6739077729235978763-1451483801757525384?l=tyom.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/hX8d944L2UnQkKDq7rDH-zfm7BM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hX8d944L2UnQkKDq7rDH-zfm7BM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/hX8d944L2UnQkKDq7rDH-zfm7BM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hX8d944L2UnQkKDq7rDH-zfm7BM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/ArtyomTarasenkosBlog/~4/OSUbfVraSCs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://tyom.blogspot.com/feeds/1451483801757525384/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=6739077729235978763&amp;postID=1451483801757525384" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/6739077729235978763/posts/default/1451483801757525384?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/6739077729235978763/posts/default/1451483801757525384?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/ArtyomTarasenkosBlog/~3/OSUbfVraSCs/solaris-22-sparc.html" title="Solaris 2.2 / sparc" /><author><name>atar</name><uri>http://www.blogger.com/profile/16986140925986775324</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="27" src="http://2.bp.blogspot.com/_qRSJEMG7OsY/SwaWaXtg66I/AAAAAAAAAAM/WIt46E6OHzo/S220/av1.JPG" /></author><thr:total>0</thr:total><feedburner:origLink>http://tyom.blogspot.com/2010/06/solaris-22-sparc.html</feedburner:origLink></entry></feed>

