CAP_NET_ADMIN (was Re: [Qemu-devel] Two quick requests.)

2007-02-10 Thread Kevin F. Quinn
On Fri, 9 Feb 2007 22:48:51 +
Paul Brook <[EMAIL PROTECTED]> wrote:

> I've very little sympathy (read: none) for people who "accidentally"
> break things by running them as root.

On a related note, I've been running qemu(-system 0.8.2) as root
recently as a hopefully temporary measure so that it can setup the
network interfaces.  Recent linux kernels require CAP_NET_ADMIN for the
tun network configuration that qemu does (specifically the TUNSETIFF
ioctl), and the only way to get the capability is to start the process
as root.

Other capabilities could be dropped; as indeed could CAP_NET_ADMIN once
the network configuration is done, but that means modifications to qemu
itself to release the capabilities, and would still leave qemu as a
suid-root binary, which it would be nicer to avoid.

Is there any way around this?  I expected to be able to configure
capabilities for executables in the filesystem, but it appears there
are serious problems with that concept so the kernel doesn't support
it.

-- 
Kevin F. Quinn


signature.asc
Description: PGP signature
___
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel


Re: CAP_NET_ADMIN (was Re: [Qemu-devel] Two quick requests.)

2007-02-10 Thread Ben Taylor

 "Kevin F. Quinn" <[EMAIL PROTECTED]> wrote: 
> On Fri, 9 Feb 2007 22:48:51 +
> Paul Brook <[EMAIL PROTECTED]> wrote:
> 
> > I've very little sympathy (read: none) for people who "accidentally"
> > break things by running them as root.
> 
> On a related note, I've been running qemu(-system 0.8.2) as root
> recently as a hopefully temporary measure so that it can setup the
> network interfaces.  Recent linux kernels require CAP_NET_ADMIN for the
> tun network configuration that qemu does (specifically the TUNSETIFF
> ioctl), and the only way to get the capability is to start the process
> as root.
> 
> Other capabilities could be dropped; as indeed could CAP_NET_ADMIN once
> the network configuration is done, but that means modifications to qemu
> itself to release the capabilities, and would still leave qemu as a
> suid-root binary, which it would be nicer to avoid.
> 
> Is there any way around this?  I expected to be able to configure
> capabilities for executables in the filesystem, but it appears there
> are serious problems with that concept so the kernel doesn't support
> it.

I just dealt with that.  I got a patch for tap for Solaris and I have a setuid 
script
that creates the tap and uses the /etc/qemu-ifup script to configure the 
interface,
then calls a script with the file descriptor of the tap interface to a script 
which
then invokes qemu with the right parameteres.

Ben


___
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel


[Qemu-devel] Patch: configure for Solaris

2007-02-10 Thread Ben Taylor

This patch consolodates Solaris configuration (it had
been in two places) , as well as adds support for Solaris 10 
for the kqemu module.

diff -ruN qemu-ORIG/configure qemu/configure
--- qemu-ORIG/configure	2007-01-31 07:10:07.0 -0500
+++ qemu/configure	2007-02-10 07:01:39.149388000 -0500
@@ -133,8 +133,15 @@
 OS_CFLAGS="-mdynamic-no-pic"
 ;;
 SunOS)
-solaris="yes"
-;;
+solaris="yes"
+make="gmake"
+install="ginstall"
+solarisrev=`uname -r | cut -f2 -d.`
+if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
+if test "$solarisrev" -ge 10 ; then
+kqemu="yes"
+fi
+;;
 *)
 oss="yes"
 linux="yes"
@@ -151,17 +158,6 @@
   fi
 fi
 
-if [ "$solaris" = "yes" ] ; then
-make="gmake"
-install="ginstall"
-solarisrev=`uname -r | cut -f2 -d.`
-if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
-if test "$solarisrev" -gt 10 ; then
-kqemu="yes"
-fi
-fi
-fi
-
 # find source path
 source_path=`dirname "$0"`
 if [ -z "$source_path" ]; then
___
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel


[Qemu-devel] Patch: solaris TAP patch

2007-02-10 Thread Ben Taylor

This patch is to allow solaris to create a tap device in qemu, using the 
modified
tun/tap driver at http://www.whiteboard.ne.jp/~admin2/tuntap.

I'm also including qemu_tap.c which is a setuid wrapper which sets up the
tap, uses /etc/qemu-ifup (included - modify for your environment) and a
start script (dsl.sh,  minimal, but shows what needs done).

To build qemu_tap, it's very simple.

gcc -o qemu_tap qemu_tap.c
sudo chown root qemu_tap
sudo chmod 4755 qemu_tap

The bridge code at http://www.whiteboard.ne.jp/~admin2/tuntap should
also work, and should only require /etc/qemu-ifup to contain the commands
to add the bridge, ie, no ifconfig should be needed.


qemu-solaris-tap-patch
Description: Binary data


qemu-ifup
Description: Binary data
/*
** qemu_tap.c:	SUID wrapper program to allow non-root user to use tap network
**  on Solaris, derived from qemu_tun.c by Sittichai Palansong
**  with guidance from the tap code he wrote in qemu/vl.c
**
** Modified by: Ben Taylor 
** Updated:		02/09/2007
**
** Author:  Sittichai Palanisong
** Updated:		05/20/2005
**
** You are expected to be able to write a shell script wrapper to invoke
** qemu with the right parameters for a tap device passed in as a file
** descriptor.  SUID privileges are only for setting the TAP device up for use.
**
*/
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 

#ifdef HAVE_NETINET_IN_H
#include 
#endif

#ifdef HAVE_NETINET_IN_SYSTM_H
#include 
#endif

#ifdef HAVE_NETINET_IP_H
#include 
#endif

#ifdef HAVE_NETINET_TCP_H
#include 
#endif

#define TUNNEWPPA   (('T'<<16) | 0x0001)

int main(int argc, char *argv[])
{
char buf[2048], ifname[10]="";
int fd, len;
int uid, pid, status;
char tap_fd[32];
char *args[4];
char *qemu_script = "./qemu.sh";
char *network_script = "/etc/qemu-ifup";

if(argc > 1){
qemu_script = argv[1];
}

uid = getuid();

if( (fd = tap_alloc(ifname)) < 0 ){
printf("Cannot allocate TAP device\n");
exit(1);
}

/* try to launch network init script */
args[0] = network_script;
args[1] = ifname;
args[2] = NULL;
pid = fork();
if (pid >= 0) {
if (pid == 0) {
/* child */
execv(network_script, args);
exit(1);
}
/* parent */
while (waitpid(pid, &status, 0) != pid);
if (!WIFEXITED(status) ||
WEXITSTATUS(status) != 0) {
fprintf(stderr, "%s: could not launch network script\n",
network_script);
exit(1);
}
}

/* now switch to back to calling user */
if(setuid( uid) < 0){
   printf("Cannot switch to UID %d\n", uid);
   exit(1);
}
printf("Switch to UID %d\n", uid);

/* try to launch qemu script*/
sprintf( tap_fd, "%d", fd);
args[0] = qemu_script;
args[1] = "-t";
args[2] = tap_fd;
args[3] = NULL;

printf("Invoking %s %s %s\n", args[0], args[1], args[2]);
execv( qemu_script, args);
exit(1);
}

/* 
 * Allocate TAP device, returns opened fd. 
 * Stores dev name in the first arg(must be large enough).
 */  
int tap_alloc(char *dev)
{
int tap_fd, if_fd, ppa = -1;
static int ip_fd = 0;
char *ptr;
static int arp_fd = 0;
int ip_muxid, arp_muxid;
struct strioctl  strioc_if, strioc_ppa;
int link_type = I_PLINK;;
struct lifreq ifr;
char actual_name[32] = "";

memset(&ifr, 0x0, sizeof(ifr));

if ( *dev ) {
   ptr = dev;	
   while ( *ptr && !isdigit((int)*ptr) ) ptr++; 
   ppa = atoi(ptr);
}

/* Check if IP device was opened */
if ( ip_fd )
   close(ip_fd);

if ( (ip_fd = open("/dev/udp", O_RDWR, 0)) < 0 ) {
   syslog(LOG_ERR, "Can't open /dev/udp");
   return -1;
}

if ( (tap_fd = open("/dev/tap", O_RDWR, 0)) < 0 ) {
   syslog(LOG_ERR, "Can't open /dev/tap");
   return -1;
}

/* Assign a new PPA and get its unit number. */
strioc_ppa.ic_cmd = TUNNEWPPA;
strioc_ppa.ic_timout = 0;
strioc_ppa.ic_len = sizeof(ppa);
strioc_ppa.ic_dp = (char *)&ppa;
if ( (ppa = ioctl (tap_fd, I_STR, &strioc_ppa)) < 0 )
   syslog (LOG_ERR, "Can't assign new interface");

if ( (if_fd = open("/dev/tap", O_RDWR, 0)) < 0 ) {
   syslog(LOG_ERR, "Can't open /dev/tap (2)");
   return -1;
}
if ( ioctl(if_fd, I_PUSH, "ip") < 0 ) {
   syslog(LOG_ERR, "Can't push IP module");
   return -1;
}
if ( ioctl(if_fd, SIOCGLIFFLAGS, &ifr) < 0 )
syslog(LOG_ERR, "Can't get flags\n");

snprintf (actual_name, 32, "tap%d", ppa);
strncpy (ifr.lifr_name, actual_name, sizeof (ifr.lifr_name));

ifr.lifr_ppa = ppa;
/* Assign ppa according to the unit number returned by tun device */

if ( ioctl (if_fd, SIOCSLIFNAME, &ifr) < 0 )
syslog (LOG_ERR, "Can

Re: [Qemu-devel] Patch: solaris TAP patch

2007-02-10 Thread Ben Taylor


Attribution for the TAP patch goes to Sittichai Palanisong 
([EMAIL PROTECTED]).The qemu_tap.c is a derivitive
work of a previous version called qemu_tun.c, and the scripts
are also by Sittichai with derivations by me.

 Ben Taylor <[EMAIL PROTECTED]> wrote: 
> 
> This patch is to allow solaris to create a tap device in qemu, using the 
> modified
> tun/tap driver at http://www.whiteboard.ne.jp/~admin2/tuntap.
> 
> I'm also including qemu_tap.c which is a setuid wrapper which sets up the
> tap, uses /etc/qemu-ifup (included - modify for your environment) and a
> start script (dsl.sh,  minimal, but shows what needs done).
> 
> To build qemu_tap, it's very simple.
> 
> gcc -o qemu_tap qemu_tap.c
> sudo chown root qemu_tap
> sudo chmod 4755 qemu_tap
> 
> The bridge code at http://www.whiteboard.ne.jp/~admin2/tuntap should
> also work, and should only require /etc/qemu-ifup to contain the commands
> to add the bridge, ie, no ifconfig should be needed.



___
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel


[Qemu-devel] [PATCH] Experimental patch providing accelerated OpenGL for Linux i386

2007-02-10 Thread Even Rouault
Here are some news. Apparently I'm unlucking with posting on this mailing list 
since the message and patch I sent last night seems to have landed nowhere. I 
have finally dropped the patch and associated comments onto qemu forum, into 
the patch section :

http://qemu-forum.ipi.fi/viewtopic.php?t=2984


___
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel


Re: CAP_NET_ADMIN (was Re: [Qemu-devel] Two quick requests.)

2007-02-10 Thread Paul Brook
> Is there any way around this?  I expected to be able to configure
> capabilities for executables in the filesystem, but it appears there
> are serious problems with that concept so the kernel doesn't support
> it.

Use tunctl to create the device.

Paul


___
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel


Re: [Qemu-devel] Two quick requests.

2007-02-10 Thread Daniel Jacobowitz
On Fri, Feb 09, 2007 at 11:06:24PM +, Paul Brook wrote:
> > Sure, but there are plenty of other ways to accidentally mess up the
> > permissions of a disk image file. A while back I had to strace qemu to
> > figure out why file modifications were vanishing after rebooting the
> > VM; the culprit turned out to be an unrelated script that had set the
> > image file's mode to 444.
> 
> If you really want to do this, do it properly. Make it an error to use a ro 
> image if the user [implicitly] requests rw access.

But if you do this please be sure not to complain about rw COW images
based on readonly ones...

-- 
Daniel Jacobowitz
CodeSourcery


___
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel


[Qemu-devel] qemu dyngen-exec.h

2007-02-10 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer  07/02/10 18:21:04

Modified files:
.  : dyngen-exec.h 

Log message:
Fix for solaris register allocation issue on amd64, by Martin Bochnig.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/dyngen-exec.h?cvsroot=qemu&r1=1.31&r2=1.32


___
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel


[Qemu-devel] qemu dyngen.c elf.h

2007-02-10 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer  07/02/10 21:31:43

Modified files:
.  : dyngen.c elf.h 

Log message:
Support for more SPARC relocations, by Martin Bochnig.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/dyngen.c?cvsroot=qemu&r1=1.47&r2=1.48
http://cvs.savannah.gnu.org/viewcvs/qemu/elf.h?cvsroot=qemu&r1=1.8&r2=1.9


___
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel


[Qemu-devel] qemu/hw usb.h

2007-02-10 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer  07/02/10 21:32:46

Modified files:
hw : usb.h 

Log message:
Fix typo, by Ed Swierk.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/usb.h?cvsroot=qemu&r1=1.10&r2=1.11


___
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel


[Qemu-devel] qemu vl.c

2007-02-10 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer  07/02/10 21:50:42

Modified files:
.  : vl.c 

Log message:
Clean up serial code for Win 32, by Kazu.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/vl.c?cvsroot=qemu&r1=1.249&r2=1.250


___
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel


[Qemu-devel] qemu Makefile.target

2007-02-10 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer  07/02/10 21:52:52

Modified files:
.  : Makefile.target 

Log message:
Build fix for mingw/Cygwin, by Kazu. It also looks like it does the
right thing for Darwin.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/Makefile.target?cvsroot=qemu&r1=1.144&r2=1.145


___
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel


[Qemu-devel] qemu qemu-doc.texi

2007-02-10 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer  07/02/10 22:14:55

Modified files:
.  : qemu-doc.texi 

Log message:
Use the actual executable names in documentation, based on a patch by
Pierre d'Herbemont.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/qemu-doc.texi?cvsroot=qemu&r1=1.128&r2=1.129


___
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel


[Qemu-devel] qemu console.c

2007-02-10 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer  07/02/10 22:37:56

Modified files:
.  : console.c 

Log message:
Serial console improvements, by Stefan Weil.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/console.c?cvsroot=qemu&r1=1.11&r2=1.12


___
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel


Re: [Qemu-devel] Re: Support for vga= kernel option

2007-02-10 Thread Thiemo Seufer
Pascal Terjan wrote:
> 2007/1/11, Pascal Terjan <[EMAIL PROTECTED]>:
> >Hello,
> >here is a little patch to add support for vga= when using -kernel.
> >
> 
> Anything against this patch ?

Repost to the list.


Thiemo


___
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel


[Qemu-devel] qemu/target-sparc op.c

2007-02-10 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer  07/02/10 22:58:02

Modified files:
target-sparc   : op.c 

Log message:
Fix floating point to integer conversion, by Aurelien Jarno.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/target-sparc/op.c?cvsroot=qemu&r1=1.23&r2=1.24


___
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel


[Qemu-devel] qemu qemu-img.c

2007-02-10 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer  07/02/10 22:59:40

Modified files:
.  : qemu-img.c 

Log message:
qemu-img: fix incorrect error message, by Stuart Brady.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/qemu-img.c?cvsroot=qemu&r1=1.16&r2=1.17


___
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel


[Qemu-devel] qemu Makefile

2007-02-10 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer  07/02/10 23:00:33

Modified files:
.  : Makefile 

Log message:
Fix linking for qemu-img on Solaris, by Ben Taylor.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/Makefile?cvsroot=qemu&r1=1.112&r2=1.113


___
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel


[Qemu-devel] qemu configure

2007-02-10 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer  07/02/10 23:21:21

Modified files:
.  : configure 

Log message:
Improve configure for Solaris, by Ben Taylor.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/configure?cvsroot=qemu&r1=1.120&r2=1.121


___
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel


Re: [Qemu-devel] [PATCH] Experimental patch providing accelerated OpenGL for Linux i386

2007-02-10 Thread Thiemo Seufer
Even Rouault wrote:
> Here are some news. Apparently I'm unlucking with posting on this mailing 
> list 
> since the message and patch I sent last night seems to have landed nowhere. I 
> have finally dropped the patch and associated comments onto qemu forum, into 
> the patch section :

Most likely due to its size.

> http://qemu-forum.ipi.fi/viewtopic.php?t=2984

Sorry, but that's just too big for me. :-)
Can you split it up in digestible pieces and post them separately?


Thiemo


___
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel


Re: [Qemu-devel] [PATCH] qemu support for S32 and U32 alsa output

2007-02-10 Thread Thiemo Seufer
Lonnie Mendez wrote:
> Forwarding this for a user who is not subscribed.
> ---
> 
> Hi,
> 
> My M-Audio soundcard (ice1712) did not play nice with qemu's alsa output
> since it only accepted S32_LE. I asked some weirdo who has nothing
> better to do at 6:50 AM in the #qemu channel on freenode for help, and
> he wrote the attached patch.
> 
> I've patched this against CVS and also against 0.8.2 with some manual
> code hacking (different line offsets), and hereby kindly request that
> someone knowledgeable takes a look at it so it can be committed.

So ... who is the person to blam^Wcredit for authorship?
The patch looks good elsewise.


Thiemo


___
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel


Re: [Qemu-devel] [PATCH] qemu support for S32 and U32 alsa output

2007-02-10 Thread Lonnie Mendez
On Sat, 2007-02-10 at 23:33 +, Thiemo Seufer wrote:
> So ... who is the person to blam^Wcredit for authorship?
> The patch looks good elsewise.

I believe the author is Vassili Karpov.



___
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel


[Qemu-devel] Combining QEMU with SimPoint

2007-02-10 Thread Shane Brennan

Hello,
  I am a graduate student at UC Santa Cruz. I am currently attempting to
integrate QEMU with SimPoint .
The main issue is a way to automatically create a BBV (Basic Block Vector)
when I run a benchmark or program under QEMU. If you have any advice on this
work, or know of any previous work along the same lines, I would be most
grateful for the help and guidance!

~Shane Brennan
___
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel


[Qemu-devel] qemu configure

2007-02-10 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer  07/02/11 00:31:33

Modified files:
.  : configure 

Log message:
Fix syntax error.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/configure?cvsroot=qemu&r1=1.121&r2=1.122


___
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel


[Qemu-devel] [PATCH] Remove bash-ism from configure

2007-02-10 Thread Anthony Liguori
This is one I introduced in the gcc-3.x autodetect.  It's against CVS 
from a little while ago so hopefully it's just fuzz.


Regards,

Anthony Liguori
diff -r 00e394f6a849 configure
--- a/configure	Sat Feb 10 19:59:51 2007 -0600
+++ b/configure	Sat Feb 10 20:03:13 2007 -0600
@@ -339,7 +339,7 @@ int main(){return 0;}
 int main(){return 0;}
 EOF
 check_cc() {
-	which "$1" >&/dev/null
+	which "$1" 2>/dev/null
 	return $?
 }
 
___
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel


[Qemu-devel] Audio

2007-02-10 Thread malc

Hello,

At http://www.boblycat.org/~malc/code/patches/qemu/ you will find latest
(21_aqemu) audio patch.

New things relative to previous one:

 1. ALSA failure to set the format is no longer considered to be a
hard error, in this situation ALSA is queried for the format it
deems acceptable and work with that (On this PPC Linux box ALSA
always returns EINVAL when asked for S16_LE but merrily works with
the default - S16_BE)

 2. Added support for 32bit per sample formats

 3. Intel Controller Hub N Function 7 AKA AC'97

New things relative to the CVS:

  1. All of the above

  2. EsounD driver by Frederick Reeve
 (If someone wants aRts driver (s)he is welcome to do it, the task
  is mostly renaming the identifiers and linking with libartsc)

Now to some mildly amusing performance observations. [1]

QEMU running Slackware 11.0 (Kernel 2.4.33) on PPC 7447A 1.3Ghz
demonstrated that:

i810_audio [2] is faster than es1370
snd-intel810 is on par with snd-ens1370

i810_audio and es1370 blow snd-intel810 and snd-ens1370 right out of
th water.

The difference is toned down on Athlon 1G - where QEMU has a luxory of
using KQEMU, but nevertheless.

Perhaps the situation is improved in latest ALSA incrarnations, i don't
know.

[1] Observations courtesy http://www.boblycat.org/~malc/apc/

[2] i810_audio might, and usually does, require setting the `clocking'
parameter upon module installation

--
vale


___
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel