Saturday, July 30, 2011

Of Course, It Runs NetBSD!™

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.

NetBSD 4.0.1 (INSTALL) #0: Wed Oct  8 01:13:04 PDT 2008
        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
total memory = 256 MB
avail memory = 234 MB
timecounter: Timecounters tick every 10.000 msec
mainbus0 (root): QEMU,Ultra-3/2: hostid 80000000
cpu0 at mainbus0: SUNW,UltraSPARC @ 100.681 MHz, UPA id 0
cpu0: 32K instruction (32 b/l), 16K data (32 b/l), 512K external (64 b/l)
...
# ping 10.0.2.2
PING 10.0.2.2 (10.0.2.2): 56 data bytes
64 bytes from 10.0.2.2: icmp_seq=0 ttl=255 time=1.575 ms
64 bytes from 10.0.2.2: icmp_seq=1 ttl=255 time=1.150 ms
^C
----10.0.2.2 PING Statistics----
2 packets transmitted, 2 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 1.150/1.363/1.575/0.301 ms
#

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.

Next stop - FreeBSD/sparc64.

9 comments:

Jason Stevens said...

wow that looks pretty cool! Is this rolled into CVS? I hope it makes it for the upcoming 0.15!

Also what firmware did you use? flags? lol

I tried it for the heck of it with the 0.15rc2 and got some weird:

Unimplemented service set-symbol-lookup ([2] -- [0])

atar said...

No, it's not upstream yet. For now, I only submit bug fixes to the devices available upstream. The new implemented devices are not public.

Jason Stevens said...

oh ok.

Anonymous said...

Привет!
Где-то в комментах читал, что хочь посмотреть на МCВC 3.0/SPARC. Могу скинуть.

Anonymous said...

> For now, I only submit bug fixes to the devices available upstream.
> The new implemented devices are not public.
"Команда QEMU" не принимает таких резких нововведений ИЛИ вы планируете сделать закрытую платную версию QEMU-SPARC только для вашего личного пользования? )))

atar said...

МCВC 3.0/SPARC

да, интересно. Она только 32 бита, или 64 тоже?

Стукнись в atar4qemu@gmail.com

"Команда QEMU" не принимает таких резких нововведений

Часть из них нет смысла даже посылать: они не вписываются в архитектуру qemu. Пока что все попытки улучшить систему прерываний заканчивались флеймом и были отклонены.

ИЛИ вы планируете сделать закрытую платную версию QEMU-SPARC

Платная уже есть :) . Закрытую, но бесплатную, по-моему нет смысла: слишком много возни по выпиливанию чисто GPL-ного кода.

только для вашего личного пользования?

Почему только для личного?

Anonymous said...

> Пока что все попытки улучшить систему прерываний заканчивались флеймом и были отклонены.
Понятно.
> Платная уже есть :)
Вот этого я не ожидал. Как назывется и где встречается? :)
> Почему только для личного?
Если никто не купит :)

Anonymous said...

is this blog active?? have you an update of running solaris on qemu? i'm interested in solaris 9 in qemu

atar said...

Solaris 9 can be booted the way described in the how-to.

I can also provide a [paid] support if you are interested.