qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] Sparc Softmmu


From: Mark Cave-Ayland
Subject: Re: [Qemu-devel] Sparc Softmmu
Date: Sun, 19 Feb 2012 21:31:55 +0000
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.16) Gecko/20120207 Iceowl/1.0b1 Icedove/3.0.11

On 19/02/12 15:45, P. Wilhelm wrote:

Hi Paul,

I've been able to install Solaris 8 using CDs on the Sparc Softmmu
client system. Kudos to those responsible for Sparc development!

I've been able to run a number of applications without problems on the
client machine. I noticed something odd, however, and have been trying
to isolate the cause. Hopefully, someone here will have an idea or two
for me to try.

The issue:
The syslogd seems to accept and post to the appropriate log file only a
small number of messages before no longer updating the log file when
further messages are posted, the syslogd seems to hang. The symptom does
not appear to be different when rebooting or restarting the syslog
daemon. The daemon will post a couple of message to the log file and
then stop accepting any more.

Why ask here?
I've done a couple of things to see if I can isolate the source of the
oddity and they seem to point to qemu.

It does seem that you've found some kind of emulation bug here...

What I've done so far:
1) I've tried using "logger" and a C program I wrote to use the syslog()
function. - Both have the same issue noted above.

Okay - if you have a reproducible test case then this is a very good starting point :)

2) I've used both the OpenBios and SS5.bin bios. - Symptom does not
change between the two.

Right. I don't think this would make much difference, since OpenBIOS/SS5.bin are mainly used to provide enough support for the Solaris kernel to enumerate and interface with the virtual hardware. Once the main Solaris kernel is running, the native kernel drivers take over and so OpenBIOS/SS5.bin are no longer really in the picture from this point onwards.

3) I checked my /etc/syslog.conf on real hardware running the same
version of Solaris 8. Syslogging works as you'd expect there. (Note - I
don't have real SparcStation 5 hardware. I've been using an old Sun4u
machine, Ultra-1 -- hopefully, that does not invalidate my "real
hardware" checks.).

Okay - I'm not sure about this, but Blue/Artyom would probably be better to comment here.

4) I ran syslogd in debug mode on both the client and the real hardware,
but did not see anything in the output from each that gave a clue as to
the issue. Generally, the output confirmed that I had syslogd configured
the same way on both.

How to proceed?
I am a reasonably adept software developer, however, I do not have
experience at the guts-level of Solaris OS or Sparc hardware. My work on
Solaris/Sparc has been at the application level, but I have worked at
the hardware level on other (proprietary) systems. If I had access to
syslogd source code, I'd be comfortable working from there, but I am
fairly certain that is not available - let me know if I am wrong. I've
thought about looking for an open source syslog daemon and trying to use
it instead of the Solaris version.

Any thoughts about next steps are appreciated.

If you head on over to the OpenSolaris source repository then you can grab a copy of Oracle's syslogd code from http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/cmd/syslogd/. It's probably a much later version than the one supplied with Solaris 8, however if you can reproduce the problem using source code from there then we can definitely point you in the right direction to help find out what is wrong.

Also Blue has commented in the past that because it's only recently been possible to run SPARC Solaris under QEMU, it could be that the Solaris C compiler emits different instruction sequences to, say, GCC, and so it may be testing instruction paths in the emulator that aren't typically used by GCC/Linux which I believe was one of the primary development platforms. So you may like to experiment building your syslogd with both GCC and the native Solaris CC and then comparing the results to see if this makes a difference too.


HTH,

Mark.

--
Mark Cave-Ayland - Senior Technical Architect
PostgreSQL - PostGIS
Sirius Corporation plc - control through freedom
http://www.siriusit.co.uk
t: +44 870 608 0063

Sirius Labs: http://www.siriusit.co.uk/labs



reply via email to

[Prev in Thread] Current Thread [Next in Thread]