QEMU weekly news, Feb 12 2008 - Feb 18 2008

1 Mailing list


1 Mailing list

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.

1.1 "February 12, 2008 - [RESEND] TCG breakage if TARGET_LONG_BITS

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.

1.2 February 12, 2008 - Fix floppy controller issues v2

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

1.3 February 12, 2008 - Upgrade PPC floating point (3 posts)

Aurelien Jarno submitted a series of three patches (one, two, three) to improve soft floating point support on PowerPC.

1.4 February 14, 2008 - qemu-system-sparc and Solaris 1.1.2 / SunOS 4.1.4

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.

1.5 February 14, 2008 - BOCHS update with DMI functional

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.

1.6 February 14, 2008 - [PATCH] qemu: generate signals on tap I/O

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.

1.7 February 14, 2008 - Release: VMKnoppix for x86(20080213)

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 

1.8 February 16, 2008 - How to extract content of a raw image on host?

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.

1.9 February 16, 2008 - Patch for compiling with GCC 4

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.

1.10 February 16, 2008 - Qemu emulation for PXA320 based board

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

1.11 February 16, 2008 - MMAP tests and fixes (3 messages)

Edgar E. Iglesias posted a "Small testsuite for mmap.", followed by a patch fixing the issue it demonstrated, and then more tests and fixes.

1.12 February 17, 2008 - [PATCH, RFC] Sparc 32/64 code generator for TCG.

Blue Swirl posted a preliminary implementation of TCG for sparc, although it wasn't complete enough to run programs yet.

There was no reply.

1.13 Source control

Slow week for checkins. An optimization, two bugfixes and a cleanup of the realtime clock infrastructure.