[Qemu-devel] PATCH: Whole kqemu module can be natively built on Solaris now
( ... not the kqemu-wrapper alone [and then linked against foreign built object files, as until recently]. ) Only Makefiles needed to be ported. No real porting. But more testing was required, than one might have expected (#0._gld_vs._ld #1._mcmodel=kernel vs. -fpic) gdiff -Nurb against http://qemu.com/kqemu-1.3.0pre11.tar.gz : http://opensolaris.org/os/project/qemu/downloads/kqemu-1.3.0pre11__osol20070214.gdiff.bz2 Same gdiff, but without Eric Lowe's CDDL licensed kqemu-solaris wrapper code : http://opensolaris.org/os/project/qemu/downloads/kqemu-1.3.0pre11__osol20070214_WithoutEricLowesWRAPPER__kqemu-solaris.c__.gdiff.bz2 OPEN kqemu accelerator FULL src bins : http://opensolaris.org/os/project/qemu/downloads/kqemu-1.3.0pre11__sol10FCSplus_20070214_src_and_bins.tar.bz2 Juergen Keil's latest patch (enabling kqemu on old Sol10FCS based hosts) is embedded and compiled in. Thanks for the steadily increasing community involvement, testing and comments. Speacial thanks to Juergen Keil, Ben Taylor and Eric Lowe. p.s. SUNWqemu 0.9.0 sparc and x86/x64 (with Sittichai's TAP patch) will be released on 20070218. Thanks. [EMAIL PROTECTED] btw: kqemu may not be a wonder pill. But it does increase performance dramatically in _certain_ scenarios. Please start by reading the docs: http://qemu.com/kqemu-tech.html http://qemu.com/kqemu-doc.html http://qemu.com/kqemu-changelog.html ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
[Qemu-devel] How to get started __/__ Re: PATCH: Whole kqemu module can be natively built on Solaris now
OPEN kqemu accelerator FULL src bins : http://opensolaris.org/os/project/qemu/downloads/kqemu-1.3.0pre11__sol10FCSplus_20070214_src_and_bins.tar.bz2 --- A) To install precompiled module (on eitehr amd64 or i386): Step 0.) Extract and go into folder Step 1.) # gmake osol-install Step 2.) reconfigure devices or reboot host Step 3.) use it (see kqemu docs at www.qemu.com) B) To compile yourself (on either amd64 or i386 Solaris10_FCS or higher): Step 0.) Extract and go into folder Step 1.) # ./configure Step 2.) # gmake Step 3.) # gmake osol-install Step 4.) reconfigure devices or reboot host Step 5.) use it (see kqemu docs at www.qemu.com) Very general note: kqemu will only work if host-system-kernel == qemu-binary-target == qemu-guest. Please ensure that first, before wondering about kqemu related stderr output. ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
Re: [Qemu-devel] [RFC] qemu-gui status report
Marc Andre Tanner wrote: Hi, I just want to let you know that i have made some improvements to qemu-gui, communication with qemu is now done over a tcp socket rather than stdio. However it is still a long way to go until it is really usable, especially input handling, vnc and drawing performance need some work. If someone wants to take a closer look the current development snapshot can be found at: http://www.brain-dump.org/projects/qemu-gui/doku.php/download You will need qemu from cvs because the command line switches have changed since 0.8.2. There are also a few screenshots available. http://www.brain-dump.org/projects/qemu-gui/doku.php/screenshots Comments and patches are welcome. Regards, Marc +1 We (qemu-project at opensolaris.org) ship it with SUNWqemu ( http://www.opensolaris.org/os/project/qemu/downloads/ ), the binary qemu package for Solaris SPARC and x86/x64. As we bring out a new release (based on cvs20070120sat) over night, we can test and integrate your new version. Regards, Martin ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
Re: [Qemu-devel] [PATCH] ATAPI CDROM DMA support is incomplete
Hi Juergen Keil wrote: Hi, some time ago, ATAPI DMA support was added to hw/ide.c, but the DMA support is incomplete: DMA data transfers are implemented for ATAPI/SCSI READ commands only (GPCMD_READ_10, GPCMD_READ_12, GPCMD_READ_CD), but all other ATAPI/SCSI commands still try to transfer data using PIO mode. Because of this problem, neither Windows ME nor Windows 2000 guests will use ATAPI CD DMA transfers and fall back to PIO mode. Or a OpenSolaris x86 guest will report errors like this WARNING: /[EMAIL PROTECTED],0/[EMAIL PROTECTED],1/[EMAIL PROTECTED] (ata1): timeout: abort request, target=0 lun=0 and is unable to read data from the CD (You had to force the ata/atapi driver to pio mode to work around this problem). The attached patch adds DMA support for non-READ ATAPI/SCSI commands. Index: hw/ide.c === You got it fixed once again, thank you Mr. Keil! -MB ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
SoftICE under DOS16, anybody? __/__ Re: [Qemu-devel] [PATCH] intentinoal slowing down qemu - brake
Johannes Schindelin wrote: This patch adds support for slowing down qemu and saving cpu load. if you're using the right kernel, QEMU will sleep while there is nothing to be done. As was stated by the OP, this is for DOS games. So, there is no nothing to be done. Further, you are assuming everybody uses Linux. What makes you think so? Besides, your nice would not do the same thing, you know? You'd need _another_ tast _using_ the CPU to slow down QEmu. Which would burn through the battery like hell. Ciao, Dscho Might something like that help SoftICE for DOS16 to run properly without freezing the whole guest after one or two ^D's (i.e. for setting breakpoints and switching back to the dos command.com)? WinICE (on DOS386 a.k.a. {win386.exe / chicago's dos386.exe, now called vmm32.vxd}) does/did already work well, when I last tested this a year ago, but SoftICE for real mode DOS would always hang the whole guest when being run inside QEMU (emulation case, not yet tested in case of x86_x_x86 virtualization). The same happens when using the Insignia_SoftWindows Pentium-ISA-PC Emulator on Solaris_sparc, running any version of (MS-/IBM) or DRDOS. Bochs claims to provide a more accurate emulation than qemu (at the cost of making it marginally slower), but doesn't fix the SoftICE issue either. It does - on the other hand - work as expected inside any version of SunPCi, which only emulates a bit of io and graphics, but uses a physical x86 cpu, rather than emulating it (I think it doesn't even have to virtualize it, because nobody else is using the cpu sitting on that pci card). Has onybody found a way to work around the SoftICE_for_DOS16 instabilities under qemu? (btw, my problems *are* qemu-dependant, not caused by an incompatible himem.sys or anything of that sort / identical diskimages tested under SunPCi, SoftWindows and qemu_for_SolarisSPARC-Hosts). Thanks, Maddin ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
Re: SoftICE under DOS16, anybody? __/__ Re: [Qemu-devel] [PATCH] intentinoal slowing down qemu - brake
Martin Bochnig wrote: Might something like that help SoftICE for DOS16 to run properly without freezing the whole guest after one or two ^D's (i.e. for setting breakpoints and switching back to the dos command.com)? WinICE (on DOS386 a.k.a. {win386.exe / chicago's dos386.exe, now called vmm32.vxd}) does/did already work well, when I last tested this a year ago, but SoftICE for real mode DOS would always hang the whole guest when being run inside QEMU (emulation case, not yet tested in case of x86_x_x86 virtualization). The same happens when using the Insignia_SoftWindows Pentium-ISA-PC Emulator on Solaris_sparc, running any version of (MS-/IBM) or DRDOS. Bochs claims to provide a more accurate emulation than qemu (at the cost of making it marginally slower), but doesn't fix the SoftICE issue either. It does - on the other hand - work as expected inside any version of SunPCi, which only emulates a bit of io and graphics, but uses a physical x86 cpu, rather than emulating it (I think it doesn't even have to virtualize it, because nobody else is using the cpu sitting on that pci card). Has onybody found a way to work around the SoftICE_for_DOS16 instabilities under qemu? (btw, my problems *are* qemu-dependant, not caused by an incompatible himem.sys or anything of that sort / identical diskimages tested under SunPCi, SoftWindows and qemu_for_SolarisSPARC-Hosts). Thanks, Maddin I might some remote day invest a bit of effort into trying to find out WHY exactly SoftICE_for_realmodeDOS hangs the emulation (under qemu, bochs and SoftWindows/RealPC) : Whether or not it freezes somehow internally because of actually running, or, more specifically, whether it just has to do with listening to the keyboard for ^D sequences (int16h and int21h_AH==01 / see Ralf Brown's grand Interrupt list) to activate the SoftICE UI. If it is just the latter, then maybe due to a timing related problem, or maybe because the SoftICE-TSR somehow interferes with COMMAND.COM (or any shell like i.e. BASH_for_DOS or 4DOS.COM) that are concurrently listening to kbd input and therefore actively issuing certains DOS-21h and 16h interrupts permanently (with appropriate values in (E)AL, (E)AL, or(E)AX, permanently requesting the keyboard, if it has new input in its associated stdin buffer (not quite correct, simplified). The issue applies to all major SoftICE_for_realmodeDOS releases/versions. Thanks. -- Martin ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
Re: [Qemu-devel] Solaris package?
Jonathan Kalbfeld wrote: Someone wrote a newer Solaris package for QEMU? I couldn't find it at OpenSolaris.org. I want to use it instead of the one I built. jonathan http://www.google.com/search?hl=deq=opensolaris+qemubtnG=Google-Suchemeta= --martin ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
Re: [Qemu-devel] qemu-0.8.2 on glibc 2.2.5: CLOCK_MONOTONIC not defined
Wolfgang Schildbach wrote: I stumbled upon the same problem as Bill Rossi (see his post below): The current cvs version of qemu fails to compile on my machine because CLOCK_MONOTONIC is not defined in my glibc. According to clock_gettime(3), systems that define this functionality have _POSIX_MONOTONIC_CLOCK and _POSIX_TIMERS set. Updating the ifdef (see patch below) to include these makes the offending code go away on my CLOCK_MONOTONIC-less system (gcc3.3), but continues to include it on a newer system with a later libgcc. Not sure if the __linux__ in there is still necessary, but I left The same happens on Solaris(11, but probably all versions). (Note: Solaris uses its own libc not glibc.) A complete merge of opensolaris.org's current QEMU patch http://opensolaris.org/os/project/qemu/downloads/ from 0.8.2 to cvs may follow some time next week. Two other things needed to be changed for cvs.current to build on Solaris/SunOS5.x. Martin Bochnig at nowhere ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
[Qemu-devel] Everything OK with kqemu vs. new SUNWqemu-0.8.2, REV=2006.10.18-sol10-i386-opt.pkg.gz for x64/x86
It was a misunderstanding. You know, I'm new to x86 HOSTs running qemu (doing most things on sparc normally). I therefore didn't have prior kqemu experience. Eric Lowe wrote: OH, oh, -kernel-kqemu does NOT work with Solaris guests. Your binary 32bit version actually does in 70% of tested cases (Sol10_U2 boot DVD and marTux_0.2_x64__snv46) ! It does work with -kernel-kqemu and boots into marTux_0.2 x86 OpenSolaris 32bit mode! This is what confused me, and which made me believe, we had been talking about A) (appropriate kqemu loaded)(-kernel-kqemu) rather than B) (appropriate kqemu loaded)!(-no-kqemu) all the time. A total misunderstanding which made me wonder, how to see the light. You can only use kqemu without any kqemu parameters to QEMU so it does the default of virtualizing only the user-mode bits and emulating CPL=0. Ahh, cool. Then I simply misunderstood the help-comment/option-description of -kernel-kqemu, when I believed, user-mode bits only applies to the linux_X_linux usermode case (not softmmu full system emulation). Well, then it works ok what I get. I need to do a performace analysis covering module_loaded versus driver_removed (or -no-kqemu). -kernel-kqemu does appear to work OK with Linux and Windows guests. Sun_JDS1-Linux yes. Dos/Win9x no. (also a no-go with /opt/SUNWqemu/32/bin/qemu from your previous binary tar archive version, whereas OpenSolaris guests do work with your 20061002 version) Apparrently NT based Win would potentially work with -kernel-kqemu, when you say that you could sucessfully boot into XP. Do Linux-HOSTS running qemu/kqemu have the same incompatibility problems with certain guests (i.e. OpenSolaris or Win9x), or rather the BSD kqemu wrapper which you have ported to Solaris? After discussing with Fabrice the ins and outs of -kernel-kqemu I built a kernel which fixes some of the issues (Solaris has some naughty code which clears IF using POPF instead of using the CLI instruction) but there is one problem I could not solve kernel-side; kqemu does not do full page table shadowing for the kernel but instead updates the page tables of the guest in-situ with the translated pfns. Solaris gets very cranky about this since it assumes that the PTE.pfn == page_t.p_pagenum when doing the reverse translation. In your case I think you probably got bitten instead by an interrupt coming into the guest when it expected interrupts to be off -- the dispatcher does some twiddling with interrupts in some of its code which invoke the bad macro that uses PUSH $2 followed by POPF to clear IF. Interesting. I need to play around with that. Testing without -kernel-kqemu should not have any problems.. if you do encounter any problems let me know. The only problem is, that the Sol10_U2 DVD stops booting the installer after Configuring Devices. ^C brings me to the # prompt (letting it running over night doesn't have it make progress). Not sure why that happens. May not have to do with kqemu. --- Thanks for introducing me to the kqemu(-wrapper) matter. The more respect do I have for your wrapper-port. -Martin Eric Lowe wrote: kqemu should work with OpenSolaris guests provided you don't use -kernel-kqemu. -kernel-kqemu is incompatible with the OpenSolaris kernel for a couple of reasons. First, it appears kqemu will need a change in its page table shadowing if we want to support OpenSolaris guests with full virtualization, due to the way the HAT layer manages its page tables which is very different from Linux and Windows; second, there is a bug (well, an RFE) in OpenSolaris itself which would also need to be addressed. I have booted Windows XP and Linux using -kernel-kqemu with OpenSolaris as the host using the binary bits mentioned below and they worked fine for me. I also had no difficulty booting OpenSolaris guests on these bits in 32-bit and 64-bit mode w/ kqemu. I will install the latest packages on my home system tonight and retry my tests with the latest kernel accelerator (my machine is an Athlon X2 so I can test both 32-bit and 64-bit). - Eric - Original Message From: Martin Bochnig [EMAIL PROTECTED] Cc: Open Solaris opensolaris-discuss@opensolaris.org; qemu-devel@nongnu.org; [EMAIL PROTECTED] Sent: Thursday, October 19, 2006 2:50:37 AM Subject: err Re: [qemu-discuss] New SUNWqemu-0.8.2, REV=2006.10.18-sol10-i386-opt.pkg.gz for x64/x86 ready for public testing Sorry, the new version doesn't work with kqemu very well. This affects the old and the new src equally. The compiler or build env seems to be the problem. Please continue to use the previous version that can still be obtained from http://opensolaris.org/os/project/qemu/downloads/qemu-osol-0.8.2-bin-x86.tar.gz Sorry for any inconveniences. Martin Bochnig wrote: http://opensolaris.org/os/project/qemu/downloads/ Latest patched QEMU sources 20061013 http://opensolaris.org/os/project/qemu/downloads/qemu-0.8.2
Re: [Qemu-devel] SUNWqemu-0.8.2,REV=2006.10.14-sol8-sparc-opt.pkg released
Blue Swirl wrote: Is there some problem that can't be fixed with the sparc64.ld instead of disabling it for Solaris? Yes and no. The problem is gnu-ld vs. sun-ld, rather than Linux vs. Solaris. I cannot find an equivalent option for sun-ld. 32bit sparc.ld is also disabled under Solaris for that reason, and has always been. OpenSolaris is still based on its own SUNW-toolchain, not on binutils. (though I'm not sure about Nextenda/GNU-Solaris) Even though OpenSolaris can optionally be compiled with SUNW's gcc 3.4.x now (/usr/sfw/bin/gcc), it still uses its own /usr/ccs/bin/as and ld. All gcc-packages offered on Solaris freeware sites are also built not to use gas or gnu-ld. If you simply make a dirty symlink to /usr/ccs/bin/[as|ld] small things may build and link just good enough. But qemu doesn't, because certain dependencies (like -lm) are skipped / not considered valid, for some reason. It all _might_ potentially work when one would build a complete toolchain only for the purpose of getting qemu built with sparc32: LDFLAGS+=-Wl,-T,$(SRC_PATH)/sparc.ld and sparc64: LDFLAGS+=-Wl,-T,$(SRC_PATH)/sparc64.ld But the resulting performance benefit may be zero, if not negative: SUNW's assembler and linker are not bad, especially on sparc. The ARM/MIPS bits could be rewritten more generally with #ifdef AREG0 instead of _sparc_. Maybe these would be better handled once in dyngen-exec.h so that that the targets don't assume they get any asm registers. Yes, of course. But I plan to use a faster method and to actually use as much as possible physical host registers (see sparc-target directly below). Why do you reorder the registers in Sparc? Dumb trying-out is sometimes the only wayout: I *tried* all possible combinations of registers in a systematic testing-approach (I only did this on the sparc-target so far, need to do the same for mips and arm). The assignments in the patch are the best I could get (as many as possible fast host registers, rather than slow main memory locations). Any other order of assignments resulted in segfaults. That's why everything appears to be out of order in target-sparc/exec.h. And if I would bring target-sparc/exec.h in order again, by changing the AREG assignments in dyngen-exec.h, I would mess up all the other targets like i386-softmmu and x86_64-softmmu. One odd observation: If I try to make use of AREG1 in target-sparc/exec.h, it would _always_ result in a segfault in gen_code_buffer(), no matter at all, which physical sparc host-register I would have assigned to AREG1 in dyngen-exec.h. There is something that makes AREG1 itself unusable on sparc hosts for all other emulation targets, except i386-softmmu, x86_64-softmmu (and maybe ppc-softmmu). The int64_t issue could be checked with configure, resulting in HAS_INT64 #defined as needed. Yep. Thanks for your feedback. And for your good work on the sparc target(s). The Solaris_sparc guest 32bit kernel still died a month ago, did you make progress? Are there ways to lern from the now open source sun4v's OBP to see, what SUNW's proprietary OBP handles differently, when compared to the public ieee1275-1994 standard or other implementations like SmartFirmware? (wasn't there a SUNW-compatibility #ifdef in SmartFirmware [I don't have that code] ? ) May it be possible, to employ SUNW's sun4v OBP in a potential future sun4v emulation target (i.e. as -M option of sparc64-softmmu)? ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
Re: [Qemu-devel] Re: Hello
Eric Lowe wrote: please ask Eric Lowe. I did not prepare the x64/x86 stuff. And the sdl amd64 bit patch is also from him. Before I finally go: I just learned, that the term stuff has a negative side-meaning: http://dict.tu-chemnitz.de/dings.cgi?lang=enservice=en-deopterrors=0optpro=0query=stuffdlink=selfcomment= That was by no means my intention ! Further: I didn't mention, that Eric Lowe is the guy, who ported the BSD-kqemu-wrapper to Solaris x86 and x64. Cool! Well done !! -martin The SDL patch is from Juergen Zimmermann. I have not had any problems building 64-bit using --prefix /wherever/i/please to both QEMU and SDL's configure scripts; note that adding wherever libSDL winds up ($PFX/bin) to your PATH prior to configuring QEMU is a requirement so that QEMU will link to the right spot - Eric ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
Re: [Qemu-devel] AMD64+Solaris10 compile
Ishwar Rattan wrote: Is there a way to compile qemu-cvs-snapshot under Solaris-10 running on amd64 processor? -ishwar Take that: http://www.martux.org/qemu/XXX__qemu-0.8.2-solaris__20061010x11_g.tar.gz or http://www.opensolaris.org/os/project/qemu/downloads/qemu-0.8.2-solaris.tar.gz (will be sync'ed later today) http://opensolaris.org/os/project/qemu/downloads/ M. ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
Re: [Qemu-devel] AMD64+Solaris10 compile
Eric Lowe wrote: Is there a way to compile qemu-cvs-snapshot under Solaris-10 running on amd64 processor? Check out the sources and instructions at http://www.opensolaris.org/os/project/qemu There are some patches for 64-bit builds that I think still need to be committed to the main CVS source, you can create your own diffs -vs- the 0.8.2 stock source to see what was done to get 64-bit builds to work and apply the same changes to the CVS source if you really want the latest. You may also need to update your gcc (such as with Blastwave gcc) if /usr/sfw/bin/gcc doesn't work. There you will also find a kqemu accelerator module which should work for Solaris 10. - Eric Ah, ok, Eric already did respond. Nothing to add. -MB ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
Re: [Qemu-devel] configure flag for compilation question..
Ishwar Rattan wrote: Trying to compile qemu on amd64 based Solaris. I do not have write permission to /usr/local subtree ./configure --libdir=other-path --prefix=not-ustlocal is fine but make always generates binaries that want to find /usr/local/lib/libSDL-1.2.so.0 etc. (checked with ldd). Where is the problem 64bit versus 32bit ? (32 bit version of libSDL-1.2.so.0 found while amd64 64bit version needed?) (should go under /usr/local/lib/amd64/libSDL-1.2.so.0) What is the way out for this sticky point? -ishwar Read ld.so.1(1) i.e. # man ld.so.1 Then: One option is to set $LD_LIBRARY_PATH (or potentially $LD_LIBRARY_PATH_64 [not required]). bash: # export LD_LIBRARY_PATH=/export/home/me/foo/mypersonallibs:$LD_LIBRARY_PATH Did you set ./configure --prefix=SomeWritableLocation ? ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
Re: [Qemu-devel] configure flag for compilation question..
Ishwar Rattan wrote: On Fri, 13 Oct 2006, Martin Bochnig wrote: Ishwar Rattan wrote: Where is the problem 64bit versus 32bit ? (32 bit version of libSDL-1.2.so.0 found while amd64 64bit version needed?) (should go under /usr/local/lib/amd64/libSDL-1.2.so.0) Well, the problem is I do not root privileges so can't place libSL in /usr/local/lib or /usr/local/lib/amd64. I would like to keep it in $HOME/lib and want qemu to see the lib archive. I will try LD_LIBRARY_PATH option. Is to possible to have a staticly linked version of libSDL in the qemu binaries? The short answer is NO, not on SunOS = 5.10 . Especially not for 64bit. In particular not for 64bit_amd64. You will hardly be able to meet the required dependencies. I'm leaving over the weekend now, much luck with it. -ishwar ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
Re: [Qemu-devel] configure flag for compilation question..
Ben Taylor wrote: Ishwar Rattan [EMAIL PROTECTED] wrote: Trying to compile qemu on amd64 based Solaris. I do not have write permission to /usr/local subtree ./configure --libdir=other-path --prefix=not-ustlocal is fine but make always generates binaries that want to find /usr/local/lib/libSDL-1.2.so.0 etc. (checked with ldd). What is the way out for this sticky point? Manually add -L/usr/local/lib -R/usr/local/lib Rather -L/his/home/sdl_amd64/lib -R/his/home/sdl_amd64/lib Because I doubt, an amd64 version of libSDL is currently present in /usr/local/lib/amd64 (and he doesn't have w access). This method is btw not really new to me, see my posting from a few hours ago: http://www.opensolaris.org/jive/thread.jspa?threadID=15448tstart=0 to the Makefile for the link phase so it will correctly add those paths to the library lookup. If I had a code base to look at this instance, I could tell you where. You could also add those flags to Makefile.target in the SOLARIS specific areas, which would probably make more sense. As Martin indicated, setting LD_LIBRARY_PATH may get you a running binary, but LD_LIBRARY_PATH is the wrong answer for Solaris. Ben LD_LIBRARY_PATH is the wrong answer for Solaris ??? --- Weak statement. It has its [dis]advantages. Namely that the paths to a library are _not_ hardwired. That's the exactly reason, why I did recommend it in this very scenario. And I would do it again for Ishwar's current needs. -M. ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
Re: [Qemu-devel] configure flag for compilation question..
Ishwar Rattan wrote: Also, I downloaded the SDL-1.2.11 source from opensolaris.org download page. I can't figure out how to apply the 64bit patch (patch rejects the diffs, a visual inspection shows that patch is already applied to the source?) -ishwar Manually applying a patch will always work (vi or emacs -nw) Regards (leaving soon, really now) ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
Re: [Qemu-devel] configure flag for compilation question..
Ben Taylor wrote: As Martin indicated, setting LD_LIBRARY_PATH may get you a running binary, but LD_LIBRARY_PATH is the wrong answer for Solaris. My answer had been a bit longer: Read ld.so.1(1) i.e. # man ld.so.1 Then: *One* option is to set $LD_LIBRARY_PATH (or potentially $LD_LIBRARY_PATH_64 [not required]). ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
Re: [Qemu-devel] configure flag for compilation question..
Ben Taylor wrote: Martin Bochnig [EMAIL PROTECTED] wrote: Ben Taylor wrote: As Martin indicated, setting LD_LIBRARY_PATH may get you a running binary, but LD_LIBRARY_PATH is the wrong answer for Solaris. My answer had been a bit longer: Read ld.so.1(1) i.e. # man ld.so.1 Then: *One* option is to set $LD_LIBRARY_PATH (or potentially $LD_LIBRARY_PATH_64 [not required]). I'm not saying it doesn't work. But properly compiled programs for Solaris include the run time paths to the libraries so an LD_LIBRARY_PATH environment variable is not required. LD_LIBRARY_PATH is interesting to test out new versions of support libraries without actually having to recompile, so it has it's uses. but too often, folks use LD_LIBRARY_PATH as a panacea on Solaris to fix poorly compiled programs. Ben He is experimenting and trying out a bit. Not building to be published packages. I advised him to read and understand ld.so.1(1). And I mentioned $LD_LIBRARY_PATH as *one* possible option for him to get quick results. ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
[Qemu-devel] Re: Hello
Ishwar Rattan wrote: I think the SDL source I downloaded is already prepatched. See the diff file below: my assumption is that --- indicates the original file and +++ the patched version (I might be wrong here). So, line in file with - in first column is reference to original file and is to be replaced by with line with + in first column. Hi, please ask Eric Lowe. I did not prepare the x64/x86 stuff. And the sdl amd64 bit patch is also from him. The diff is not very big, that's true. But it is not zero, I don't know. I didn't build sdl for x64 so far. I'm mostly the sparc guy. I had been busy all week long in improving the src to better support sparc-hosts. Therefore didn't I come to amd64 so far, while I do intend to asap. See my diff from yesterday (which is meanwhile totally obsolete again) : http://www.martux.org/qemu/qemu-0.8.2-solaris__20061010x11.gdiff Pls. gimme time until I throw the sparc pkg out before I can deeper look into amd64-HOST support. Thanks, Martin diff -ur SDL-1.2.11.orig/configure SDL-1.2.11.jnz/configure --- SDL-1.2.11.orig/configure Tue Jun 27 06:48:54 2006 +++ SDL-1.2.11.jnz/configure Mon Sep 4 15:28:28 2006 @@ -33170,10 +33170,10 @@ if test x$enable_rpath = xyes; then if test $ARCH = bsdi -o $ARCH = freebsd -o $ARCH = irix -o $ARCH = linux -o $ARCH = netbsd; then - SDL_RLD_FLAGS=-Wl,-rpath,\${exec_prefix}/lib + SDL_RLD_FLAGS=-Wl,-rpath,\${libdir} fi ... -- In configure file (of source distribution): Lines around 33170+ already have the replacement done? # Set runtime shared library paths as needed if test x$enable_rpath = xyes; then if test $ARCH = bsdi -o $ARCH = freebsd -o $ARCH = irix -o $ARCH = linux -o $ARCH = netbsd; then SDL_RLD_FLAGS=-Wl,-rpath,\${libdir} fi if test $ARCH = solaris; then ... I am stumped by why the compiled binaries do not work. This is the limit of my expertise. Can I find pre-patched SDL-1.2.11 source somewhere? Regards, -ishwar ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
Re: [Qemu-devel] configure flag for compilation question..
Ben Taylor wrote: Ishwar Rattan [EMAIL PROTECTED] wrote: On Fri, 13 Oct 2006, Martin Bochnig wrote: Ishwar Rattan wrote: Where is the problem 64bit versus 32bit ? (32 bit version of libSDL-1.2.so.0 found while amd64 64bit version needed?) (should go under /usr/local/lib/amd64/libSDL-1.2.so.0) Well, the problem is I do not root privileges so can't place libSL in /usr/local/lib or /usr/local/lib/amd64. I would like to keep it in $HOME/lib and want qemu to see the lib archive. I will try LD_LIBRARY_PATH option. It should work. the main thing is to not to agressive with LD_LIBRARY_PATH in this case. Since it sounds like it already may be linking against /usr/local/lib where the current libSDL is, you should just be able to add the new lib dir to the LD_LIBRARY_PATH env variable, and then run ldd on qemu to make sure it's finding the right libraries. When you have the right LD_LIBRARY_PATH, then it should be working for you. Is to possible to have a staticly linked version of libSDL in the qemu binaries? There is an option for statically linked libSDL in the qemu binaries, Sounds funny. and I tried to make sure I kept that intact for solaris in the configure script. wow Try it and see what happens. Not much. Ben ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
Re: [Qemu-devel] configure flag for compilation question..
Ben Taylor wrote: Martin Bochnig [EMAIL PROTECTED] wrote: Ben Taylor wrote: Ishwar Rattan [EMAIL PROTECTED] wrote: Trying to compile qemu on amd64 based Solaris. I do not have write permission to /usr/local subtree ./configure --libdir=other-path --prefix=not-ustlocal is fine but make always generates binaries that want to find /usr/local/lib/libSDL-1.2.so.0 etc. (checked with ldd). What is the way out for this sticky point? Manually add -L/usr/local/lib -R/usr/local/lib Rather -L/his/home/sdl_amd64/lib -R/his/home/sdl_amd64/lib Yeah, that. brain fart when I was typing that. Because I doubt, an amd64 version of libSDL is currently present in /usr/local/lib/amd64 (and he doesn't have w access). Right. I knew what I meant, I just didn't type it right. This method is btw not really new to me, see my posting from a few hours ago: http://www.opensolaris.org/jive/thread.jspa?threadID=15448tstart=0 to the Makefile for the link phase so it will correctly add those paths to the library lookup. If I had a code base to look at this instance, I could tell you where. You could also add those flags to Makefile.target in the SOLARIS specific areas, which would probably make more sense. As Martin indicated, setting LD_LIBRARY_PATH may get you a running binary, but LD_LIBRARY_PATH is the wrong answer for Solaris. Ben LD_LIBRARY_PATH is the wrong answer for Solaris ??? --- Weak statement. LD_LIBRARY_PATH is the wrong answer for Solaris. It's great for trying to fix problems like this when the app won't run with a particular set of libraries, or you're testing with new libraries and you don't want to recompile (I've done this before). Too many people use it as a panacea for poorly compiled/configured Open source software. In this case, he might just set the LD_LIBRARY_PATH and never recompile it, even though it won't work if it uses the default LIB path. No further comment, except this one: bash-3.00# pwd /opt/SUNWqemu/bin bash-3.00# ls -al total 676 dr-xr-xr-x 5 root bin 1024 Oct 14 06:26 . drwxr-xr-x 5 root bin 512 Oct 14 06:26 .. lrwxrwxrwx 1 root root 9 Oct 14 06:26 JQEMU.jar - jqemu.jar lrwxrwxrwx 1 root root 10 Oct 14 06:26 JQEMU.jnlp - jqemu.jnlp lrwxrwxrwx 1 root root 20 Oct 14 06:26 SWING-LAYOUT-1.0.jar - swing-layout-1.0.jar -r-xr-xr-x 1 root bin 48 Oct 14 03:23 jqemu-launcher-gui -r-xr-xr-x 1 root bin 150854 Oct 14 03:30 jqemu.jar -r-xr-xr-x 1 root bin 524 Oct 14 03:32 jqemu.jnlp lrwxrwxrwx 1 root root 18 Oct 14 06:26 qemu - ./sparcv8plus/qemu lrwxrwxrwx 1 root root 22 Oct 14 06:26 qemu-img - ./sparcv8plus/qemu-img lrwxrwxrwx 1 root root 29 Oct 14 06:26 qemu-system-586 - ./sparcv8plus/qemu-system-586 lrwxrwxrwx 1 root root 29 Oct 14 06:26 qemu-system-686 - ./sparcv8plus/qemu-system-686 lrwxrwxrwx 1 root root 29 Oct 14 06:26 qemu-system-arm - ./sparcv8plus/qemu-system-arm lrwxrwxrwx 1 root root 30 Oct 14 06:26 qemu-system-mips - ./sparcv8plus/qemu-system-mips lrwxrwxrwx 1 root root 32 Oct 14 06:26 qemu-system-mipsel - ./sparcv8plus/qemu-system-mipsel lrwxrwxrwx 1 root root 29 Oct 14 06:26 qemu-system-ppc - ./sparcv8plus/qemu-system-ppc lrwxrwxrwx 1 root root 31 Oct 14 06:26 qemu-system-sparc - ./sparcv8plus/qemu-system-sparc lrwxrwxrwx 1 root root 32 Oct 14 06:26 qemu-system-x86_64 - ./sparcv8plus/qemu-system-x86_64 -r-xr-xr-x 1 root bin 1591 Oct 14 00:00 sdl-config dr-xr-xr-x 2 root bin 512 Oct 14 06:26 sparcv7 dr-xr-xr-x 2 root bin 512 Oct 14 06:26 sparcv8 dr-xr-xr-x 2 root bin 512 Oct 14 06:26 sparcv8plus -r-xr-xr-x 1 root bin 140545 Oct 14 03:30 swing-layout-1.0.jar -r-xr-xr-x 1 root bin 332 Oct 14 05:39 test-qemu -r-xr-xr-x 1 root bin 252 Oct 14 05:40 test-qemu-system-arm -r-xr-xr-x 1 root bin 887 Oct 14 04:49 test-qemu-system-mips -r-xr-xr-x 1 root bin 319 Oct 14 04:54 test-qemu-system-sparc bash-3.00# ldd */qemu-system-mips|grep SDL libSDL-1.2.so.0 = /opt/SUNWqemu/lib/sparcv7/libSDL-1.2.so.0 libSDL-1.2.so.0 = /opt/SUNWqemu/lib/sparcv8/libSDL-1.2.so.0 libSDL-1.2.so.0 = /opt/SUNWqemu/lib/sparcv8plus/libSDL-1.2.so.0 bash-3.00# ldd */qemu-system-mips|grep libz libz.so = /opt/SUNWqemu/lib/sparcv7/libz.so libz.so = /opt/SUNWqemu/lib/sparcv8/libz.so libz.so = /opt/SUNWqemu/lib/sparcv8plus/libz.so bash-3.00# uname -a SunOS mb1x-ws1 5.11 snv_41 sun4u sparc SUNW,Sun-Fire-280R bash-3.00# isainfo -v 64-bit sparcv9 applications vis2 vis 32-bit sparc applications vis2 vis v8plus div32 mul32 bash
[Qemu-devel] SUNWqemu-0.8.2, REV=2006.10.14-sol8-sparc-opt.pkg released
Martin Bochnig wrote: Hello, uploading gdiff and sparc-pkg to www.martux.org/qemu/RELEASES/sparc and to the opensolaris site. In a few minutes. Ouch, file too big: File 1 (SUNWqemu-0.8.2,REV=2006.10.14-sol8-sparc-opt.pkg.gz) was ignored. The file size is 28080k, which exceeds the maximum size of 15360k. Cannot be uploaded to http://opensolaris.org/os/project/qemu/downloads Please download the file(s) from http://www.martux.org/qemu/RELEASES/sparc/ http://www.martux.org/qemu/RELEASES/sparc/SUNWqemu-0.8.2,REV=2006.10.14-sol8-sparc-opt.pkg.gz http://www.martux.org/qemu/RELEASES/sparc/qemu-0.8.2-solaris__20061002mon__EricL__versus__qemu-0.8.2-solaris__20061013fri__MB.gdiff http://www.martux.org/qemu/RELEASES/sparc/qemu-0.8.2__default_FabriceB__versus__qemu-0.8.2-solaris__20061013fri__MB.gdiff for now. See the diffs for added features. Attention: IDE-Patch is derived from old IDE patch written by grand-master Juergen Keil, who once achieved the major part of porting QEMU to Solaris (!) back in 2004 . He submitted that ide.c patch over a year ago, but it never made it into CVS for some odd reason. Regards -- Martin Bochnig http://www.martux.org/RELEASES/x86_and_x64/DVD/ (amd64) http://www.genunix.org/distributions/martux/marTux_0.2/(sparcv9) Generating x86 pkg till Sunday. (port down to Sol8-i386 has to be polished up) Regards, Martin ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
Re: [Qemu-devel] [RFC] qemu-gui based on wxWidgets and libvncclient
+1 Marc André Tanner wrote: Hi, During the last few weeks i was playing around with the idea to implement a GUI for qemu and so this is what i came up with. Since i am still pretty new to C/C++ development (in fact i would call this my first real world C++ application) and not familiar with qemu internals i decided to implement the GUI independent of qemu itself. So from a technically point of view i just call qemu with arguments to redirect the monitor to stdio and to export the display to vnc (-monitor stdio -vnc display). I then try to capture and embed the vnc display within the GUI that's where libvncclient[1] comes in. It's this last step which doesn't yet work as expected. It is extremely slow and/or crashes after some time. But since i am not that experienced in both multi threaded gui and wxWidgets programming i am stuck. So i hope someone from the list can help me here, the two most important files for this issue are vncpanel.cpp and vncdisplaythread.cpp. My current development snapshot can be found at http://www.brain-dump.org/projects/qemu-gui/doku.php/download but don't expect it to actually work it's still buggy and in pre alpha state. Any comments, ideas, patches and so on are highly appreciated. At this point i would like to thank Johannes Schindelin for his help with the integration of libvncclient. Thanks, Marc [1] http://libvncserver.sourceforge.net/ ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
[Qemu-devel] Suggested stubs for coming a bit closer to functional native sparcv9 HOST support:
Hi, qemu-0.8.2-solaris20060930__v9_stubs.gdiff ## only a messy personal testing-snapshot FYI, with no compatibility or clarity in mind ## a gdiff -Nurb against 20060930's http://www.opensolaris.org/os/project/qemu/downloads/qemu-0.8.2-solaris.tar.gz Current Status: = This is still the very best I can get on an OpenSolaris sparc64 host when cd'ing to linux-test (from http://www.qemu.com/linux-test-0.5.1.tar.gz) and running # /tmp/Q_E_M_U/sparcv9_testing/qemu-0.8.2-solaris__v9_stubs/i386-softmmu/qemu -nographic -hda linux.img -kernel bzImage-2.4.21 -append console=ttyS0 root=/dev/hda sb=0x220,5,1,5 ide2=noprobe ide3=noprobe ide4=noprobe ide5=noprobe -d all : # uname -a SunOS mb1x-ws1 5.11 snv_41 sun4u sparc SUNW,Sun-Fire-280R # isainfo -k sparcv9 # ls -al /tmp/qemu.log -rw-r--r-- 1 root root2022 Oct 5 13:03 /tmp/qemu.log # cat /tmp/qemu.log EAX= EBX= ECX= EDX=0600 ESI= EDI= EBP= ESP= EIP=fff0 EFL=0002 [---] CPL=0 II=0 A20=1 HLT=0 ES = CS =f000 SS = DS = FS = GS = LDT= 8000 TR = 8000 GDT= IDT= CR0=6010 CR2= CR3= CR4= CCS= CCD= CCO=EFLAGS IN: 0xfff0: ljmp $0xf000,$0xe05b OP: 0x: movl_T0_im 0xf000 0x0001: movl_T1_imu 0xe05b 0x0002: movl_seg_T0_vm 0x4c 0x0003: movl_T0_T1 0x0004: jmp_T0 0x0005: movl_T0_0 0x0006: exit_tb 0x0007: end AFTER FLAGS OPT: 0x: movl_T0_im 0xf000 0x0001: movl_T1_imu 0xe05b 0x0002: movl_seg_T0_vm 0x4c 0x0003: movl_T0_T1 0x0004: jmp_T0 0x0005: movl_T0_0 0x0006: exit_tb 0x0007: end OUT: [size=124] 0x101242060: sethi %hi(0), %o5 0x101242064: or %o5, 1, %o5 ! 0x1 0x101242068: unknown 0x10124206c: sethi %hi(0x11f9400), %o4 0x101242070: add %o5, %o4, %o5 0x101242074: mov %o5, %o5 0x101242078: mov %o5, %g4 0x10124207c: sethi %hi(0), %o5 0x101242080: or %o5, 1, %o5 ! 0x1 0x101242084: unknown 0x101242088: sethi %hi(0x11f9400), %o4 0x10124208c: add %o5, %o4, %o5 0x101242090: or %o5, 0x5b, %o5 0x101242094: mov %o5, %g5 0x101242098: sethi %hi(0xfc00), %o5 0x10124209c: or %o5, 0x3ff, %o5 ! 0x 0x1012420a0: and %g4, %o5, %o3 0x1012420a4: sethi %hi(0), %o5 0x1012420a8: or %o5, 1, %o5 ! 0x1 0x1012420ac: unknown 0x1012420b0: sethi %hi(0x11f9400), %o4 0x1012420b4: add %o5, %o4, %o5 0x1012420b8: or %o5, 0x4c, %o5 0x1012420bc: add %g3, %o5, %o5 0x1012420c0: st %o3, [ %o5 ] 0x1012420c4: sll %o3, 4, %o3 0x1012420c8: st %o3, [ %o5 + 4 ] 0x1012420cc: mov %g5, %g4 0x1012420d0: st %g4, [ %g3 + 0x20 ] 0x1012420d4: clr %g4 0x1012420d8: jmp %i0 + 8 # file /tmp/Q_E_M_U/sparcv9_testing/qemu-0.8.2-solaris__v9_stubs/i386-softmmu/qemu i386-softmmu/qemu: ELF 64-bit MSB executable SPARCV9 Version 1, dynamically linked, not stripped # Summary = I know, being able to natively build for sparcv9 is not required by any means (because ultrasparc asm [i.e. ticks] _can_ already be used via sparcv8plus [which is basically 32bit with UltraSPARC extensions / no v8plus cpu ever existed], no sparc-X-sparc kqemu LKM driver exists as of now that would make building for sparcv9 a requirement, and of course can qemu be built now for v8plus, v8 or v7 [special thanks again to Juergen Keil and Johannes Schindelin] and then be run under a booted sparcv9 host kernel), but it would be interesting to see, how one would get it working / what is still missing. References: http://www.cs.utexas.edu/users/novak/sparcv9.pdf http://libvncserver.sourceforge.net/qemu/qemu-porting.html http://www.qemu.com/qemu-tech.html p.s. I finally return to the rather trivial task of bringing the promised SUNWqemu and CSWqemu packages out, plus a patch against http://www.qemu.com/qemu-0.8.2.tar.gz Globally switching to current CVS afterwards (already tested it on sparc32). I apologize for the delay. Regards, Maddin http://www.martux.org diff -Nurb ./qemu-0.8.2-solaris__20060930/Makefile ./qemu-0.8.2-solaris__v9_stubs/Makefile --- ./qemu-0.8.2-solaris__20060930/Makefile 2006-09-13 09:40:58.0 +0200 +++ ./qemu-0.8.2-solaris__v9_stubs/Makefile 2006-10-05 11:23:34.109516000 +0200 @@ -5,12 +5,12 @@ .PHONY: all clean distclean dvi info install install-doc tar tarbin \ speed test test2 html dvi info -CFLAGS+=-Wall -O2 -g -fno-strict-aliasing -I. +CFLAGS+=-Wall -O1 -g -fno-strict-aliasing -I. ifdef CONFIG_DARWIN CFLAGS+= -mdynamic-no-pic endif ifeq ($(ARCH),sparc) -CFLAGS+=-mcpu=ultrasparc +CFLAGS+=-mcpu=ultrasparc -O2 endif LDFLAGS+=-g LIBS= diff -Nurb ./qemu-0.8.2-solaris__20060930/Makefile.target ./qemu-0.8.2-solaris__v9_stubs/Makefile.target --- ./qemu-0.8.2-solaris__20060930/Makefile.target
Re: [Qemu-devel] Problem running Sparc on OS X
Bob Nestor wrote: With his patch I get the console output from PROLL. I was actually able to boot the first stage bootstrap of the Debian Sarge distribution. Unfortunately the patch doesn't solve the problem of booting a Solaris installation CD, but I think this may be due to a disk block size problem. Very unlikely, it would definitely show further progress (at least is this the case if you experience such an issue on a real sparc box). The unique Solaris(2.)6++ install media (CD/DVD) layout is a ways more suspicious candidate here. Especially that those media contain ufs slices among others (strange enough that they got more than one slice at all). BUT, unfortunately is is either NOT the reasons, OR it is one of at least two reasons. I got exactly the same behaviour when trying to boot Solaris(2.)8_hw2004 from the raw / slice of my physical hdd :( (Sun and MacPPC assume a 2048 byte disk block size on the CD.) I mean the opposite. The world uses 2048 byte disk block size on the CD. You mean 512 byte block size. Here's Jose's original message with his patch: --- It also makes the SPARConSPARC case usable, finally. (though there is still a freeze when the scsi driver tries to load during SPARC_LinUX guest boot / wasted a day, modified *latest* proll sources and rebuilt proll several times, also diff. files in [QEMU-root]/hw and [QEMU-root]/target-sparc, but didn't find a solution that late-summer day in September) Martin Bochnig --- target-sparc/op_helper.c23 Jul 2005 14:27:54 - 1.15 +++ target-sparc/op_helper.c27 Sep 2005 23:54:52 - @@ -225,4 +225,5 @@ - if (size == 4) - tswap32s(ret); -else if (size == 2) - tswap16s((uint16_t *)ret); + + tswap32s(ret); + if (size == 2) { + ret = ret 16; + }else if (size == 1) { + ret = ret 24; + } + break; default: ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
Re: [Qemu-devel] Re: Problem running Sparc on OS X
Bob Nestor wrote (also in response to my posting ... ) : haven't tried booting directly from the actual hard disk from my IPX, but I'm getting an image of it to try that next. Things seem to run differently with QEMU on Intel vs. Mac so I'm going to try both hosts. ^^ I personally do not run Intel, not even x86 or x64 (not at all except in QEMU or SunPCi). I performed my runs on SunBlade2000 (UltraSPARC3cu). Will also have a Mac to try linux on it first, before we eventually will get OpenSolaris running on it. ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
Re: [Qemu-devel] SPARC patch for OS X (big endian machines)
Jose Renau wrote: Without the following patch, I was unable to start the Linux boot process on OS X (powerPC bigendian). I tried on ia64 (Linux) and works fine too. Pretty cool. I can confirm this for SPARC hosts , too (also MSB). Hey, be aware that the SPARConSPARC case finally works with your patch :) Even in SDL/gui mode, not just with -nographic. Thank you! --- target-sparc/op_helper.c 23 Jul 2005 14:27:54 - 1.15 +++ target-sparc/op_helper.c 27 Sep 2005 23:54:52 - @@ -225,4 +225,5 @@ void helper_ld_asi(int asi, int size, int sign) { + uint32_t ret = 0; @@ -258,8 +259,12 @@ case 0x20 ... 0x2f: /* MMU passthrough */ cpu_physical_memory_read(T0, (void *) ret, size); - if (size == 4) - tswap32s(ret); - else if (size == 2) - tswap16s((uint16_t *)ret); + + tswap32s(ret); + if (size == 2) { + ret = ret 16; + }else if (size == 1) { + ret = ret 24; + } + break; default: ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
[Qemu-devel] RGB vs. BGR rame buffers _/_ Re: colors
Hi, Ben Taylor wrote: Do you think this is one of those things that could be done as a command line option, (like -rgb/-gbr) without having to have two versions? (this would allow you to have both behaviors in one binary). [Don't take this as me asking you to do this, I'm just wondering what the correct way to do this outloud is. :-)] As I don't do much *heavy* coding, do you think it would be appropriate to use a function table, or just if/then's to handle the correct mapping? Again - I'm just wondering outloud so I can be a little smarter after this experience. Ben you're right: Adding a -bgr runtime option (for certain SPARC frame buffer based HOSTS [displaying the QEMU window, but not necessarily running the QEMU process]) was overdue. I just did so and the updated Solaris_sparc_OR_x86_HOST_ready tarball is now available at http://user.cs.tu-berlin.de/~mbeinsx/s_r_c/CSWqemu_src_0.7.2__with_new_bgr_option.tar.bz2 The actual gdiff to http://user.cs.tu-berlin.de/~mbeinsx/s_r_c/CSWqemu_0.7.2_sources.tar.bz2 can be found here: http://user.cs.tu-berlin.de/~mbeinsx/s_r_c/CSWqemu_src_0.7.2__with_new_bgr_option.diff Furthermore it is attached for convenience: CSWqemu_src_0.7.2__with_new_bgr_option.diff The older precompiled SunOS/SVR4 pkgadd packages contine to be available at http://user.cs.tu-berlin.de/~mbeinsx/qemu/qemu-0.7.0,REV=2005.06.27-SunOS5.8-sparc-CSW.pkg.bz2 and http://user.cs.tu-berlin.de/~mbeinsx/qemu/qemu-0.7.0,REV=2005.06.27-SunOS5.8-i386-CSW.pkg.bz2 where plain networking *is* included and fully functional (emulated NE2000 nic). However, TUN/TAP bridging support was not yet compiled in. martin bochnig diff -Nurb qemu__OLD/hw/vga.c qemu__with_new_bgr_option/hw/vga.c --- qemu__OLD/hw/vga.c 2005-09-07 18:21:31.490916000 +0200 +++ qemu__with_new_bgr_option/hw/vga.c 2005-09-07 17:30:43.529284000 +0200 @@ -788,23 +788,43 @@ static inline unsigned int rgb_to_pixel8(unsigned int r, unsigned int g, unsigned b) { +if (bgr_display_enabled) { +return ((b 5) 5) | ((g 5) 2) | (r 6); +} +else { return ((r 5) 5) | ((g 5) 2) | (b 6); } +} static inline unsigned int rgb_to_pixel15(unsigned int r, unsigned int g, unsigned b) { +if (bgr_display_enabled) { +return ((b 3) 10) | ((g 3) 5) | (r 3); +} +else { return ((r 3) 10) | ((g 3) 5) | (b 3); } +} static inline unsigned int rgb_to_pixel16(unsigned int r, unsigned int g, unsigned b) { +if (bgr_display_enabled) { +return ((b 3) 11) | ((g 2) 5) | (r 3); +} +else { return ((r 3) 11) | ((g 2) 5) | (b 3); } +} static inline unsigned int rgb_to_pixel32(unsigned int r, unsigned int g, unsigned b) { +if (bgr_display_enabled) { +return (b 16) | (g 8) | r; +} +else { return (r 16) | (g 8) | b; } +} #define DEPTH 8 #include vga_template.h diff -Nurb qemu__OLD/vl.c qemu__with_new_bgr_option/vl.c --- qemu__OLD/vl.c 2005-09-05 22:28:45.0 +0200 +++ qemu__with_new_bgr_option/vl.c 2005-09-07 16:44:42.100901000 +0200 @@ -139,6 +139,7 @@ int prep_enabled = 0; int rtc_utc = 1; int cirrus_vga_enabled = 1; +int bgr_display_enabled = 0; #ifdef TARGET_SPARC int graphic_width = 1024; int graphic_height = 768; @@ -2879,6 +2880,7 @@ -snapshot write to temporary files instead of disk image files\n -m megs set virtual RAM size to megs MB [default=%d]\n -nographic disable graphical output and redirect serial I/Os to console\n + -bgrinvert colors for HOSTS using certain SPARC frame buffers\n #ifndef _WIN32 -k language use keyboard layout (for example \fr\ for French)\n #endif @@ -3011,6 +3013,7 @@ QEMU_OPTION_cirrusvga, QEMU_OPTION_g, QEMU_OPTION_std_vga, +QEMU_OPTION_bgr, QEMU_OPTION_monitor, QEMU_OPTION_serial, QEMU_OPTION_parallel, @@ -3089,6 +3092,7 @@ { full-screen, 0, QEMU_OPTION_full_screen }, { pidfile, HAS_ARG, QEMU_OPTION_pidfile }, { win2k-hack, 0, QEMU_OPTION_win2k_hack }, +{ bgr, 0, QEMU_OPTION_bgr }, /* temporary options */ { pci, 0, QEMU_OPTION_pci }, @@ -3516,6 +3520,9 @@ case QEMU_OPTION_std_vga: cirrus_vga_enabled = 0; break; +case QEMU_OPTION_bgr: +bgr_display_enabled = 1; +break; case QEMU_OPTION_g: { const char *p; diff -Nurb qemu__OLD/vl.h qemu__with_new_bgr_option/vl.h --- qemu__OLD/vl.h 2005-08-21 11:30:40.0 +0200 +++ qemu__with_new_bgr_option/vl.h 2005-09-07 16:10:39.365955000 +0200 @@ -128,6 +128,7 @@ extern int bios_size; extern int rtc_utc; extern int cirrus_vga_enabled; +extern int bgr_display_enabled; extern int graphic_width; extern int graphic_height; extern int graphic_depth; ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo
Re: [Qemu-devel] compiling qemu-0.7.2 on Solaris express (gcc-3.4.4)
Ben Taylor wrote: in qemu-0.7.2/hw/apic.c gcc -Wall -O2 -g -fno-strict-aliasing -fomit-frame-pointer -I. -I/export/src/qemu-05-18-05/test/qemu-0.7.2/target-i386 -I/export/src/qemu-05-18-05/test/qemu-0.7.2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -I/export/src/qemu-05-18-05/test/qemu-0.7.2/fpu -I/export/src/qemu-05-18-05/test/qemu-0.7.2/slirp -c -o apic.o /export/src/qemu-05-18-05/test/qemu-0.7.2/hw/apic.c Assembler: apic.c /var/tmp//ccO3Ifuk.s, line 165 : Illegal mnemonic /var/tmp//ccO3Ifuk.s, line 165 : Syntax error gmake: *** [apic.o] Error 1 Ideas? Just use gnu-as (often called gas) instead of SUNW's /usr/ccs/bin/as and (a patched) 0.7.2 will also compile on x86, not only on SPARC Solaris. On Solaris10 or 11_nevada it is not required to custom-build gcc for doing so anymore, just use /usr/sfw/bin/gcc. It will then use gas, but still not gnu-ld. However, it works. martin ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel
Re: [Qemu-devel] qemu exec-all.h
Ozan Türkyılmaz wrote: i have a request cound you put cvs checkouts to another maling list ? Ozan Türkyılmaz, do you have any idea what you're actually talking about?? I'd suggest that you first find out #0) who Fabrice Bellard is and #1) what he is doing here! On 21/08/05, Fabrice Bellard [EMAIL PROTECTED] wrote: CVSROOT:/cvsroot/qemu Module name:qemu Branch: Changes by: Fabrice Bellard [EMAIL PROTECTED] 05/08/21 09:37:35 ___ Qemu-devel mailing list [EMAIL PROTECTED] http://lists.nongnu.org/mailman/listinfo/qemu-devel
Re: [Qemu-devel] Q: how to change floppy disks?
Nardmann, Heiko wrote: Hi together, I try to install a Windows NT Server starting with three floppy disks (missing a bootable CD). After booting from the first one (with '-fda /dev/fd0' as a qemu option ) I am expected to insert the second one into 'A:'. But pressing enter does not result in an access to the floppy disk drive. Anyone with a similar problem who has solved this, i.e. changing floppy disks? Maybe using QEMU-Monitor would be of help for hot-swapping media ?! begin:vcard fn:Martin Bochnig n:Bochnig;Martin email;internet:[EMAIL PROTECTED] tel;home:+49-30-92 0 92 82 7 note;quoted-printable:Martin Bochnig = =0D=0A= =0D=0A= email: [EMAIL PROTECTED] = =0D=0A= www: http://user.cs.tu-berlin.de/~mbeinsx/index.html = =0D=0A= SCSecA Solaris 9 = =0D=0A= SCNA Solaris 9, 8 = =0D=0A= SCSA Solaris 9, 8 = =0D=0A= SCJP Java J2SE 1.4=0D=0A= TOEFL, GMAT=0D=0A= =0D=0A= Student of Maths and BSciIT x-mozilla-html:FALSE version:2.1 end:vcard ___ Qemu-devel mailing list Qemu-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/qemu-devel