[OpenBIOS] OpenSolaris starts to live on SPARC64
Blue Swirl
blauwirbel at gmail.com
Sun Apr 4 09:06:54 CEST 2010
On 4/4/10, Artyom Tarasenko <atar4qemu at googlemail.com> wrote:
> 2010/4/3 Blue Swirl <blauwirbel at gmail.com>:
>
> > On 4/3/10, Artyom Tarasenko <atar4qemu at googlemail.com> wrote:
> >> 2010/4/3 Mark Cave-Ayland <mark.cave-ayland at siriusit.co.uk>:
> >>
> >> > Mark Cave-Ayland wrote:
> >> > (I wonder if some MMU/CPU emulation is broken somewhere?)
> >>
> >>
> >> Actually a very good question. Does qemu emulate any sun4u
> >> machine good enough to have a chance running with OBP?
> >> It may be a good strategy for fixing the "hardware". At least
> >> it was fruitful on sun4m.
> >> Blue?
> >
> > One problem with that strategy is that QEMU does not implement any
> > real machines now. Typical Ultra machines had HME NICs, 53C875 SCSI
> > controller but we have random PCI NICs and IDE (CMD646 exists but
> > usually it's only used for CDROM). OSes probably don't care whether
> > the machine matches any real one or not.
> >
> > One solution would be to implement the first Ultra machines, which
> > were partially SBUS based and had many common devices with Sun4m.
> >
> > We could also implement some mid-class machine with HME and 53C875 (it
> > may even be similar to lsi53c895a, which we have). PCI bridging does
> > not work well in QEMU. The docs aren't very good I think. This is
> > closest to what we have now. It could be interesting to see what OBP
> > from a real machine would think of the QEMU machine.
>
>
> How is SBUS connected to the IO-MMU? Directly or through a PCI bridge?
> Quick google search didn't help me to find it. I only found that in the Russian
> sparc32 PCI machine (Elbrus-90) SBUS is connected through a PCI-bridge.
> If that's the case in early Ultras too, OBP probably won't be able to tell us
> much via the serial port connected to the SBUS.
There's SYSIO bridge (U2S, STP2220ABGA-100). I couldn't find the user
manual (U2S User Manual, Part Number: 805-0168-01) but
arch/sparc64/kernel/sbus.c in Linux has some register information.
> > Third option would be to aim for T1/T2 class machines. The docs are
> > good and there is even Verilog implementation to compare with because
> > most of the devices are inside the CPU. The devices aren't very simple
> > and there is very little commonality with old HW. There are also CPU
> > features to be implemented (CMT). The boot ROM architecture is
> > interesting, there is a hypervisor which OBP uses. Everything is open
> > source, including the CPU. QEMU's Niagara machine can boot the
> > hypervisor, which will output a few lines before crashing.
>
>
> How about one more. The fourth option (or the second one for the OpenBIOS
> team) would be using Sun's legion T1/T2 emulator as the hardware for the
> OpenBIOS. It may be the shortest path to get OpenSolaris booting under
> OpenBIOS.
That's also possible. Also OpenBIOS could operate only as the
hypervisor and use OBP, or vice versa.
More information about the OpenBIOS
mailing list