* [Qemu-devel] Sparc Softmmu
@ 2012-02-19 15:45 P. Wilhelm
2012-02-19 21:31 ` Mark Cave-Ayland
[not found] ` <CACXAS8AT_WeKBNxyj+=whhXoUNe7QpCPWDTRDGDnjrqu+SbO2Q@mail.gmail.com>
0 siblings, 2 replies; 4+ messages in thread
From: P. Wilhelm @ 2012-02-19 15:45 UTC (permalink / raw)
To: qemu-devel
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.
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.
2) I've used both the OpenBios and SS5.bin bios. - Symptom does not
change between the two.
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.).
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.
Respectfully,
Paul
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Qemu-devel] Sparc Softmmu
2012-02-19 15:45 [Qemu-devel] Sparc Softmmu P. Wilhelm
@ 2012-02-19 21:31 ` Mark Cave-Ayland
[not found] ` <CACXAS8AT_WeKBNxyj+=whhXoUNe7QpCPWDTRDGDnjrqu+SbO2Q@mail.gmail.com>
1 sibling, 0 replies; 4+ messages in thread
From: Mark Cave-Ayland @ 2012-02-19 21:31 UTC (permalink / raw)
To: bearcat.pilot, qemu-devel
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
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Qemu-devel] [offtopic] Sparc Softmmu
[not found] ` <CACXAS8AT_WeKBNxyj+=whhXoUNe7QpCPWDTRDGDnjrqu+SbO2Q@mail.gmail.com>
@ 2012-02-23 23:47 ` P. Wilhelm
2012-02-26 21:34 ` Blue Swirl
0 siblings, 1 reply; 4+ messages in thread
From: P. Wilhelm @ 2012-02-23 23:47 UTC (permalink / raw)
To: Artyom Tarasenko, qemu-devel
We use the old Solaris/Sparc in a medical device we produce where I
work. Since we can't get new Sparc hardware any longer (many countries
no longer accept "refurbished" devices - so we can't sell this product
to them when we use refurbish IT parts) that is reasonable cost for our
application, we need to find a way to continue to produce our product.
The application is moderately complicated and will take some effort/time
to port to another OS / processor. I was just evaluating the possibility
of using an emulated Sparc machine to replace the Solaris box. The
thought behind using Qemu was that we can reduce hardware obsolescence
issues in the future with this layer of abstraction. Conceivably, future
hardware changes would be easier to do with less regulatory overhead. My
evaluation was exciting because I was able to, with just a couple of
days of work, get our application up and running and talking to the
other hardware associated our product. However, given the maturity level
of Qemu for Solaris on Sparc, we'll almost certainly do a port of our
application to other hardware and OS. With the evaluation work, my
interest was piqued, so I've continued to play around with Solaris /
Sparc on Qemu on my own time. Since I had a fairly well encapsulated
symptom, I thought I might be able to help identify a fix or two for Qemu.
Respectfully,
Paul
On 2/21/2012 12:49 PM, Artyom Tarasenko wrote:
> Hi Paul,
>
> may I ask you why do you need Solaris 8/sparc? I spent really a lot of
> time on sparc emulation in qemu, it was fun and I would probably do it
> further, but I saw no projects where it would be useful. Somehow it
> looked that all the apps available for Solaris are available for
> Linux/Windows as well... Do you by any chance have an example of an
> app which would be worth the efforts?
>
> Artyom
>
> On Sun, Feb 19, 2012 at 4:45 PM, P. Wilhelm<bearcat.pilot@gmail.com> wrote:
>> 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.
>>
>> 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.
>> 2) I've used both the OpenBios and SS5.bin bios. - Symptom does not change
>> between the two.
>> 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.).
>> 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.
>>
>>
>> Respectfully,
>> Paul
>>
>>
>
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Qemu-devel] [offtopic] Sparc Softmmu
2012-02-23 23:47 ` [Qemu-devel] [offtopic] " P. Wilhelm
@ 2012-02-26 21:34 ` Blue Swirl
0 siblings, 0 replies; 4+ messages in thread
From: Blue Swirl @ 2012-02-26 21:34 UTC (permalink / raw)
To: P. Wilhelm; +Cc: qemu-devel, Artyom Tarasenko
On Thu, Feb 23, 2012 at 23:47, P. Wilhelm <bearcat.pilot@gmail.com> wrote:
> We use the old Solaris/Sparc in a medical device we produce where I work.
> Since we can't get new Sparc hardware any longer (many countries no longer
> accept "refurbished" devices - so we can't sell this product to them when we
> use refurbish IT parts) that is reasonable cost for our application, we need
> to find a way to continue to produce our product. The application is
> moderately complicated and will take some effort/time to port to another OS
> / processor. I was just evaluating the possibility of using an emulated
> Sparc machine to replace the Solaris box. The thought behind using Qemu was
> that we can reduce hardware obsolescence issues in the future with this
> layer of abstraction. Conceivably, future hardware changes would be easier
> to do with less regulatory overhead. My evaluation was exciting because I
> was able to, with just a couple of days of work, get our application up and
> running and talking to the other hardware associated our product. However,
> given the maturity level of Qemu for Solaris on Sparc, we'll almost
> certainly do a port of our application to other hardware and OS. With the
> evaluation work, my interest was piqued, so I've continued to play around
> with Solaris / Sparc on Qemu on my own time. Since I had a fairly well
> encapsulated symptom, I thought I might be able to help identify a fix or
> two for Qemu.
Another possibility is to make a Solaris/Sparc to Solaris/x86 user
emulator like Linux, BSD and Darwin user emulators. They just
translate CPU instructions and system call parameters instead of
emulating a whole machine.
The license of Solaris headers is not compatible with QEMU though but
this could be avoided.
I sent a quick patch once to the list which could be used as a
starting point if you want to try this way.
But I probably would not trust QEMU if my life depended on it, and as
COPYING explains, there is also no warranty.
>
> Respectfully,
> Paul
>
> On 2/21/2012 12:49 PM, Artyom Tarasenko wrote:
>>
>> Hi Paul,
>>
>> may I ask you why do you need Solaris 8/sparc? I spent really a lot of
>> time on sparc emulation in qemu, it was fun and I would probably do it
>> further, but I saw no projects where it would be useful. Somehow it
>> looked that all the apps available for Solaris are available for
>> Linux/Windows as well... Do you by any chance have an example of an
>> app which would be worth the efforts?
>>
>> Artyom
>>
>> On Sun, Feb 19, 2012 at 4:45 PM, P. Wilhelm<bearcat.pilot@gmail.com>
>> wrote:
>>
>>> 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.
>>>
>>> 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.
>>> 2) I've used both the OpenBios and SS5.bin bios. - Symptom does not
>>> change
>>> between the two.
>>> 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.).
>>> 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.
>>>
>>>
>>> Respectfully,
>>> Paul
>>>
>>>
>>
>>
>
>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2012-02-26 21:35 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-02-19 15:45 [Qemu-devel] Sparc Softmmu P. Wilhelm
2012-02-19 21:31 ` Mark Cave-Ayland
[not found] ` <CACXAS8AT_WeKBNxyj+=whhXoUNe7QpCPWDTRDGDnjrqu+SbO2Q@mail.gmail.com>
2012-02-23 23:47 ` [Qemu-devel] [offtopic] " P. Wilhelm
2012-02-26 21:34 ` Blue Swirl
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).