Another slowish week. This developers still seem mostly distracted by TCG.
There was some talk of BIOS upgrades, a few minor upgrades to things like the floppy controller and powerpc floating point support. A few bug reports were either ignored or quickly fixed. Some developers asked how to add more board emulations to qemu and were told to read the source code.
Alexander Graf attempted to get TCG to work from him (a continuation of an earlier attempt. Fabrice Bellard replied, elegantly summarizing the current state of TCG as follows:
The fact that it works in some cases is a miracle.
And then discussing both "a temporary solution" and "the right solution" to the problem Alexander hit. TCG is very much a work in progress, only currently implemented for i386 and that full of rough edges.
Herve Poussineau submitted a patch fixing a bunch of bugs in the emulated floppy controller:
Attached patch fixes some issues in the floppy disk controller: - Enhance reset support (external and software) - Use MAX_FD constant when possible - Support up to 4 drives if MAX_FD is set to 4 - Fix DOR register, which should be writable at any time - Let MSR return 0x20 when non-DMA transfer is happening - Don't assume caller wants to read whole track at once - Add seek to next sector when in non-DMA mode - Fix non-DMA write, which was stopping after only 1 byte
Aurelien Jarno submitted a series of three patches (one, two, three) to improve soft floating point support on PowerPC.
Jan Holzhueter asked and Blue Swirl answered:
> we are planing to get rid of some old sparc hardware. > The problem is that there are applications on it that require > sun4m and Solaris 1.1.2 / SunOS 4.1.4. > As known qemu-system-sparc is not able to boot the Solaris Kernel at > the moment. ... > My question is how far away are you form getting it to work > and in what time frame could it be done? The problem is twofold: Qemu emulates the CPU and hardware devices, OpenBIOS presents an Open Firmware interface to the kernel. The HW part is somewhat complete, though every new kernel may expose new bugs. For the OpenBIOS situation is a bit different as Solaris seems to have some kind of undocumented assumptions of the interface. For example in your report Solaris dies because of unaligned access (trap #07). Could be a bug in OpenBIOS that Linux does not happen to trigger.
The thread continued to a dozen messages, with a general consensus that qemu probably mostly worked, but OpenBIOS didn't yet.
Ryan Harper announced that the upstream bochs bios now supported DMI, he'd tested it, and it worked for him.
He asked what was involved in officially testing and pulling the updated version into qemu, but there was no reply.
Aurelien Jarno posted:
The patch below from KVM improves network transfers in a huge way. wget in a MIPS target now gives me a transfer speed of up to 120 Mbits/s with an e1000 emulated card. kvm: qemu: generate signals on tap I/O currently tap does not generate signals on I/O; this causes network latency to be dependent on the timer tick (1ms without dyntick, guest dependent with dyntick). by generating a signal on I/O, we can inform the guest immediately that a packet has arrived.
Anders Melchiorsen replied with a more elaborate and more generic patch, to generate immediate signals to deliver interrupts for more I/O devices, rather than wait for the next timer interrupt to signal pending I/O. Aurelien approved of the new patch, but the thread petered out there.
Kuniyasu Suzaki announced a new release of VKNOPPIX, a bootable x86 Linux CD preinstalled with a range of emulation software:
We released new VMKNOPPIX for x86 (20080213). http://unit.aist.go.jp/itri/knoppix/vmknoppix/index-en.html Guide-PDF http://unit.aist.go.jp/itri/knoppix/vmknoppix/VMKnoppix-x86-20080213e.pdf
...
# Included virtual machine software on KNOPPIX 5.1.1 (kernel 2.6.19) Xen3.2.0, KVM60, VirtualBox, QEMU091, KQEMU(QEMU with Accelerator), UserModeLinux
Dirk Behme asked how to read a partitioned image file on the host.
JonY recommended passing an offset argument to the mount command and pointed at a howto. Laurent Vivier gave a kernel patch to teach the loop device to manage partitions. Stuart Brady pointed at the kpartx command from util-linux.
This week's attempt to build qemu with gcc 4 came from Christian Roue, who posted a patch to work around the issues he hit.
Paul Brook, Alexander Graf, and Thiemo Seufer all pointed out that the real fix for these issues was to replace dyngen with TCG, and that (in Thiemo's words) "fixing the immediate problem [building dyngen with gcc 4] shouldn't get too involved", and that the build workarounds "should rather go away than expand". Christian promised to read up on TCG.
Arabinda Verma asked:
I have a PXA320 based target board and linux kernel which runs on it. I want to emulate the board on QEMU. Kindly, let me know how I can go about.
Unlike the similar questions asked last week, this one got an answer from Paul Brook:
1) Get hardware programming docs for the board. 2) Implement emulation of that hardware. (2) is fairly straightforward. I suspect you'll find that (1) is near impossible as the PXA320 is now owned by Marvell. Paul
When Arabinda asked for clarification, Paul followed up:
On Thursday 21 February 2008, Arabinda Verma wrote: > Hello Paul, > > Thanks for your reply. > > Please recommend some document or pointer on how to implement emulation of > hardware. Theere isn't any, just what's in the source. It's mostly fairly straightforward once you get your head round it. Paul
Edgar E. Iglesias posted a "Small testsuite for mmap.", followed by a patch fixing the issue it demonstrated, and then more tests and fixes.
Blue Swirl posted a preliminary implementation of TCG for sparc, although it wasn't complete enough to run programs yet.
There was no reply.
Slow week for checkins. An optimization, two bugfixes and a cleanup of the realtime clock infrastructure.