[Qemu-devel] Release: VMKnoppix_x86x86_64(with httpfs, ftpfs, http-fuse) ISO file for HttpDisk

2007-06-22 Thread Kuniyasu Suzaki

Dear,

We released new VMKnoppix(with httpfs,ftpfs, http-fuse) for x86 and x86_64.
   http://unit.aist.go.jp/itri/knoppix/vmknoppix/index-en.html
We also released ISO file for HttpDisk with Win-QEMU and VMKnoppix.
   http://openlab.jp/oscircular/httpdisk/index.html

They boot Guest-OS with a ISO file on a HTTP/FTP server!

=
VMKnoppix(with httpfs,ftpfs, http-fuse) for x86 andx86_64
=
*** Features
* Guest OS boots form an ISO file on a HTTP/FTP server using
  httpfsftpfs. It doesn't need to download the whole ISO file. 
  GuestOS boots on Xen-HVM, KQEMU, QEMU and KVM.
   httpfs: http://httpfs.sourceforge.net/
   ftpfs:  http://ftpfs.sourceforge.net/

* VM change log. 
  - Xen 3.1.0 (Both x86 and x86_64 are upgraded) 
  knoppixHVM, knoppixU commands are prepared for easy run. 
  - KVM16(x86), KVM 18(x86_64) 
  - KQEMU (x86) 
  - QMEU (x86 and x86_64) 
  knoppix-qemu.sh command detects suitalbe one among KVM/KQEMU/QEMU. 
  - User Mode Linux (x86 and x86_64) 
  - VirtualBox (x86) 

* OS Circular
  - Xen-HVM and KVM/KQEMU/QEMU on x86
  httpfuse-qemu.sh and httpfuse-hvm.sh commands are prepared for easy 
run. 

*** Usage 
* httpfs/ftpfs for virtual machine 
  For KVM/KQEMU/QEMU
# qemu-knoppix.sh http://***/Live-CD.iso
# qemu-knoppix.sh ftp://***/Live-CD.iso
# qemu-knoppix.sh file://tmp/Live-CD.iso
qemu-knoppix.sh checks the machine and selects KVM/KQEMU/QEMU 
automatically. 

  For Xen-HVM
# knoppixHVM http://***/Live-CD.iso
# knoppixHVM ftp://***/Live-CD.iso
# knoppixHVM file://***/Live-CD.iso
   CAUTION: Xen-HVM is available on IntelVT or ADMV CPU only. 
   CAUTION: Some ftp servers don't allow httpfs. 

  Other than ISO file, qemu-knoppix.sh and knoppixHVM.sh accepts
  bootable disk format. For example, OS Zoo project offers many QEMU
  Disk Images.
   http://www.oszoo.org/wiki/index.php/Category:OS_images

* HTTP-FUSE:OS Circular (for x86 only) 
  For KVM/KQEMU/QEMU
# httpfuse-qemu.sh 
  For Xen-HVM
# httpfuse-hvm.sh 
  Current bootable OS is Debian GNU/Linux. 

*** Download
* x86 version
File name: knoppix_v5.1.1CD_20070104_xen3.1.0_vbox-20070620+IPAFont.iso
  MD5: f828056d465ff0fb7b5da183aac1b530
FTP: 
ftp://unit.aist.go.jp/itri/knoppix/iso/knoppix_v5.1.1CD_20070104_xen3.1.0_vbox-20070620+IPAFont.iso
HTTP (Ring Servers): http://www.ring.gr.jp/archives/linux/knoppix/iso/ 
Bittorrent: 
http://unit.aist.go.jp/itri/knoppix/vmknoppix/knoppix_v5.1.1CD_20070104_xen3.1.0_vbox-20070620+IPAFont.iso.torrent

* x86_64 vesion
File name: knoppix-x86_64-v5.1.1CD-20070620_xen3.1.0.iso
  MD5: c75400575d4a1806668c4035007a1a05
FTP: 
ftp://unit.aist.go.jp/itri/knoppix/iso/knoppix-x86_64-v5.1.1CD-20070620_xen3.1.0.iso
HTTP (Ring Servers): 
http://www.ring.gr.jp/archives/linux/knoppix/iso/knoppix-x86_64-v5.1.1CD-20070620_xen3.1.0.iso
Bittorrent: 
http://unit.aist.go.jp/itri/knoppix/vmknoppix/knoppix-x86_64-v5.1.1CD-20070620_xen3.1.0.iso.torrent

=
ISO file for HttpDisk with Win-QEMU and VMKnoppix
=

HttpDisk is a Windows driver to mount a ISO file on a HTTP server. 
  http://www.acc.umu.se/~bosse/
  http://www.acc.umu.se/~bosse/httpdisk-3.zip

We made ISO file which includes ROM-able applications. The ISO file
includes Win-QEMU and boots KNOPPIX without installation.  The ISO
file is used with Httpdisk or normal DVD-ROM.

*** Current ontents 
 * OpenOffice.org, FireFox, GIMP, 7-Zip, SumatraPDF, ClamWin, Putty, Sudoku, 
QEMU, etc 
   Most applications depend on http://portableapps.com. 
   The contribution is much appreciated.

 * ISO file of VMKNOPPIX
Win-QEMU uses it to boot KNOPPIX. 

*** Usage 
 * If you want to use with HttpDisk, please install it at first. 
Mount the ISO file.
Example Mount: httpdisk /mount 0 http://***/httpdisk20070621.iso /cd f: 
Example Unmount: httpdisk /umount f:

   We prepared some sites for HttpDisk in US and EU. The bandwidth of
   HttpDisk depends on network latency. Please select nearest one.

   US: United States of Amercia
   
http://aist-midphase.com/archives/linux/oscircular/httpdisk/httpdisk20070621.iso
   
http://aist-starlogic.com/archives/linux/oscircular/httpdisk/httpdisk20070621.iso
   
http://www.aist-omnis.com/archives/linux/oscircular/httpdisk/httpdisk20070621.iso
   EU: Europian Union
   
http://aist-knoppix-37.com/archives/linux/oscircular/httpdisk/httpdisk20070621.iso
   
http://www.aist-nodo50.org/archives/linux/oscircular/httpdisk/httpdisk20070621.iso
   
http://aist-easyspace.com/archives/linux/oscircular/httpdisk/httpdisk20070621.iso
   # The sites are for HttpDisk. Please download by bittorrent or
 other sites, if you want to whole ISO file.

 * If you want to use applications from a DVD-ROM, please burn the ISO image.

 * To run 

[Qemu-devel] KQEMU causing guest to crash?

2007-06-22 Thread john_taucher
Hello all. When I attempt to boot the linux image from the download 
section, I get as far as Freeing unused memory before the guest 
os crashes, leaving me with this in my dmesg logs:

 0PAX: suspicious general protection fault:  [#4]
Modules linked in: kqemu nvidia(P)
CPU:0
EIP:0060:[00770297]Tainted: P  VLI
EFLAGS: 00210046   (2.6.19.2 #3)
eax: 1b6de001   ebx: e2584000   ecx:    edx: ddd7b5b0
esi:    edi:    ebp: 00200286   esp: d7913ee8
ds: 0068   es: 0068   ss: 0068
Process qemu (pid: 636, ti=d7912000 task=d12f2ab0 task.ti=d7912000)
Stack: e2584000 00066c01 d12f2ab0 d948d900 d12f2ab0  
  
   e256c014 00200086 0033 e2584120 cfffd420 0007 
e2584000 0076e1cf 
   e2584000 0068 037f 0020   
  
Call Trace:
 [0076e1cf] 0 [0076e0d0] 0 ===
Code: 84 83 ac 00 00 00 8b 10 8b 48 04 89 8b 94 00 00 00 89 93 90 
00 00 00 8b 8b 9c 00 00 00 8b 93 98 00 00 00 89 48 04 89 10 89 1c 
24 ff 54 24 20 31 c0 8b
 93 88 00 00 00 80 bb 50 02 00 00 03 0f 94 
EIP: [00770297]  SS:ESP 0068:d7913ee8

I am using Linux 2.6.19.2 as the host os on an x86 machine. Does 
anyone know what is wrong?

--
Make the most out of every dollar.  Click here to find websites and services to 
help invest  wisely.
http://tagline.hushmail.com/fc/Ioyw6h4dPQr7yBTm5B6wECsGmjahrza96Ml2d3ZqXhcFx7ck59tioz/





[Qemu-devel] sh4: more patches

2007-06-22 Thread Magnus Damm

Hi everyone,

Here comes a few more patches for the sh4 emulator. The should be
applied on top of the patches that I posted a few weeks ago:

http://www.mail-archive.com/qemu-devel@nongnu.org/msg10830.html

Good news is that the user space emulator is in a much better shape
now - with all the patches applied I'm successfully running a static
busybox binary compiled for sh4 using qemu-sh4.

The method used to locate emulation bugs may be of value for other
fellow qemu hackers. I've written a small gdb script that single steps
in an endless loop dumping registers between each instruction. Then
I've used this script on both real target hardware (using gdbserver)
and using the gdbstub provided by qemu. Finally the traces have been
compared. I have more patches for this if anyone is interested...

The patches attached in this email contain the following fixes:

- sh4: Emulate more fpu opcodes
- sh4: Swap word order when accessing double floats
- sh4: Document FPSCR usage
- sh4: Ignore PR flag in FPSCR when performing fmov
- sh4: Use DREG() instead of XREG() wherever possible

Could someone please comment or commit? =)

Thank you!

/ magnus


qemu-cvs_20070611-sh4-fpu-ops.patch
Description: Binary data


qemu-cvs_20070611-sh4-fpu-word-order.patch
Description: Binary data


qemu-cvs_20070507-sh4-fpu-fpscr-comments.patch
Description: Binary data


qemu-cvs_20070622-sh4-fpu-fmov-ignore-fpscr-pr.patch
Description: Binary data


qemu-cvs_20070508-sh4-dreg-fixes.patch
Description: Binary data


[Qemu-devel] qemu qemu-doc.texi vl.c hw/usb-hid.c hw/usb.h

2007-06-22 Thread Andrzej Zaborowski
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Andrzej Zaborowski balrog 07/06/22 08:16:00

Modified files:
.  : qemu-doc.texi vl.c 
hw : usb-hid.c usb.h 

Log message:
Add USB HID keyboard.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/qemu-doc.texi?cvsroot=qemur1=1.150r2=1.151
http://cvs.savannah.gnu.org/viewcvs/qemu/vl.c?cvsroot=qemur1=1.308r2=1.309
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/usb-hid.c?cvsroot=qemur1=1.9r2=1.10
http://cvs.savannah.gnu.org/viewcvs/qemu/hw/usb.h?cvsroot=qemur1=1.15r2=1.16




[Qemu-devel] qemu vl.c

2007-06-22 Thread Andrzej Zaborowski
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Andrzej Zaborowski balrog 07/06/22 08:23:44

Modified files:
.  : vl.c 

Log message:
Use HAS_ARG instead of numeric value (patch by Balazs Attila-Mihaly).

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/vl.c?cvsroot=qemur1=1.309r2=1.310




[Qemu-devel] qemu/target-sh4 cpu.h exec.h

2007-06-22 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 07/06/22 10:11:48

Modified files:
target-sh4 : cpu.h exec.h 

Log message:
Add missing cpu_halted function, by Magnus Damm.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/target-sh4/cpu.h?cvsroot=qemur1=1.6r2=1.7
http://cvs.savannah.gnu.org/viewcvs/qemu/target-sh4/exec.h?cvsroot=qemur1=1.3r2=1.4




[Qemu-devel] qemu/linux-user elfload.c

2007-06-22 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 07/06/22 10:13:52

Modified files:
linux-user : elfload.c 

Log message:
Setup stack properly, fixes wrong argc value problem, by Magnus Damm.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/linux-user/elfload.c?cvsroot=qemur1=1.42r2=1.43




[Qemu-devel] qemu/linux-user syscall_defs.h

2007-06-22 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 07/06/22 10:15:10

Modified files:
linux-user : syscall_defs.h 

Log message:
Use correct data structures for stat syscalls, by Magnus Damm.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/linux-user/syscall_defs.h?cvsroot=qemur1=1.34r2=1.35




[Qemu-devel] qemu/target-sh4 cpu.h op.c translate.c

2007-06-22 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 07/06/22 11:12:02

Modified files:
target-sh4 : cpu.h op.c translate.c 

Log message:
Emulate more fpu opcodes, by Magnus Damm.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/target-sh4/cpu.h?cvsroot=qemur1=1.7r2=1.8
http://cvs.savannah.gnu.org/viewcvs/qemu/target-sh4/op.c?cvsroot=qemur1=1.5r2=1.6
http://cvs.savannah.gnu.org/viewcvs/qemu/target-sh4/translate.c?cvsroot=qemur1=1.10r2=1.11




Re: [Qemu-devel] sh4: more patches

2007-06-22 Thread Thiemo Seufer
Magnus Damm wrote:
 Hi everyone,
 
 Here comes a few more patches for the sh4 emulator. The should be
 applied on top of the patches that I posted a few weeks ago:
 
 http://www.mail-archive.com/qemu-devel@nongnu.org/msg10830.html
 
 Good news is that the user space emulator is in a much better shape
 now - with all the patches applied I'm successfully running a static
 busybox binary compiled for sh4 using qemu-sh4.
 
 The method used to locate emulation bugs may be of value for other
 fellow qemu hackers. I've written a small gdb script that single steps
 in an endless loop dumping registers between each instruction. Then
 I've used this script on both real target hardware (using gdbserver)
 and using the gdbstub provided by qemu. Finally the traces have been
 compared. I have more patches for this if anyone is interested...
 
 The patches attached in this email contain the following fixes:
 
 - sh4: Emulate more fpu opcodes
 - sh4: Swap word order when accessing double floats

Doesn't this one also depend on the host endianness?


Thiemo




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

2007-06-22 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 07/06/22 11:50:17

Modified files:
target-mips: op.c 

Log message:
Fix write to K0 bits in Config0, by Aurelien Jarno.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/target-mips/op.c?cvsroot=qemur1=1.65r2=1.66




[Qemu-devel] qemu/target-sh4 translate.c

2007-06-22 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 07/06/22 11:43:08

Modified files:
target-sh4 : translate.c 

Log message:
Use DREG() instead of XREG() wherever possible, by Magnus Damm.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/target-sh4/translate.c?cvsroot=qemur1=1.11r2=1.12




[Qemu-devel] qemu/target-sh4 translate.c

2007-06-22 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 07/06/22 11:44:41

Modified files:
target-sh4 : translate.c 

Log message:
Document FPSCR usage, by Magnus Damm.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/target-sh4/translate.c?cvsroot=qemur1=1.12r2=1.13




[Qemu-devel] qemu/target-sh4 translate.c

2007-06-22 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 07/06/22 11:47:05

Modified files:
target-sh4 : translate.c 

Log message:
Ignore PR flag in FPSCR when performing fmov, by Magnus Damm.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/target-sh4/translate.c?cvsroot=qemur1=1.13r2=1.14




Re: [Qemu-devel] QEMU License and proprietary hardware

2007-06-22 Thread Luke -Jr
On Thursday 21 June 2007 17:33, M. Warner Losh wrote:
 The GPL only has as much force of law as copyright law gives it, and in
 order to be applicable, the work in question must somehow rely on the GPL'd
 work.  The somehow here is an interesting legal question that hasn't been
 well settled. 

And copyright law by default grants you no rights to modify or copy Qemu at 
all. The ONLY way you can get permission to copy or modify Qemu is to agree 
to the GPL in its entirety-- which does not restrict itself to merely 
derivative works, but covers all linking. (note: obvious the copyright 
holder(s) can make exceptions to this rule)

IANAL either, but as much as I have to debate this I might as well be




Re: [Qemu-devel] QEMU License and proprietary hardware

2007-06-22 Thread Luke -Jr
On Friday 22 June 2007 00:34, Balazs Attila-Mihaly (Cd-MaN) wrote:
 I must prefix this with the fact that IANAL, but as I understand it, you
 must release the source code only if you distribute that modified system
 (with GPL v2). That is, if you use this system internally in you company,
 you don't have to provide your modifications. But if you, for example,
 provide your clients with the modified version, you have the obligation to
 provide them (your clients, not the Qemu community in general) also with
 the complete source code, after which they have the liberty to redistribute
 the source code under the GPL. 

Correct.

 One solution would be (again, IANAL, so please check with a real lawyer :D),

The solution would be to comply with the GPL and release the code. :)

 is to create an interface to the code you wish to include and put the
 proprietary code in a dynamically linked library which exposes this
 interface. In this case IMHO you have to provide only the code which
 implements the interface in Qemu and loads the shared library, and you would
 have  no obligation regarding the code in the shared library.

The GPL is viral. A derivative-work wrapper would be under the full GPL terms 
and could not link out to a proprietary library either. While there are legal 
loopholes in the GPL, this is not one of them. (and no, I will not provide 
any more info on the loopholes I am aware of)




[Qemu-devel] shm problem

2007-06-22 Thread Alexander Graf
Hi,

when using mmap with qemu-i386 on x86_64 it's quite simple to get 32-bit
pointers back (using the MAP_32BIT flag, thanks to Kirill for the patch).

I'm currently in the need for shared memory though, so I need shmat() to
return something within the lower 31 Bits as well.

shmget(0x56a4d5, 488, IPC_CREAT|0660)   = 11075627
shmat(11075627, 0, 0)   = 0x2b4ceb29e000

Does anyone have an idea how to get around this and force shmat to
return something a 32-bit target can handle? In the end it only calls
mmap too...

Thanks,

Alex




[Qemu-devel] Re: kqemu-1.3.0pre11 hangs system

2007-06-22 Thread Hugo Vanwoerkom

--- Hugo Vanwoerkom [EMAIL PROTECTED] wrote:

 Hi,
 
 I am running Debian Sid and installed its qemu
 (0.9.0-2) package.
 
 Debian Sid has a problem: it's kqemu package is
 outdated, since it depends upon its 2.6.18 kernel,
 which is no longer available.
 
 So I compiled/installed kqemu-1.3.0pre11 instead on
 Debian's 2.6.21-1-k7. That all went uneventful.
 
 But booting XP completely hangs the system: it stops
 every clock/applet and needs the red button.
 
 W/o kqemu I can boot XP fine and get the message
 that
 kqemu is not available.
 

I posted this a while ago and nobody responded.
I found out what the problem is:

If you use Debian's 2.6.21 kernel and modify it to
turn *off* paravirtualization (to be able to use the
nvidia closed source driver) and compile kqemu with
that, qemu hangs solid on start.

If you instead leave the kernel alone and modify the
nvidia driver installation and Debian's kbuild-2.6.21
then everything is OK.

Just for the record.

Regards,

Hugo







Yahoo! Mail has very limited reply options.
You can top-post or bottom-post and that's it!
Hugo



 

Need Mail bonding?
Go to the Yahoo! Mail QA for great tips from Yahoo! Answers users.
http://answers.yahoo.com/dir/?link=listsid=396546091




Re: [Qemu-devel] QEMU License and proprietary hardware

2007-06-22 Thread Warner Losh
From: Luke -Jr [EMAIL PROTECTED]
Subject: Re: [Qemu-devel] QEMU License and proprietary hardware
Date: Fri, 22 Jun 2007 10:18:01 -0500

 On Thursday 21 June 2007 17:33, M. Warner Losh wrote:
  The GPL only has as much force of law as copyright law gives it, and in
  order to be applicable, the work in question must somehow rely on the GPL'd
  work.  The somehow here is an interesting legal question that hasn't been
  well settled. 
 
 And copyright law by default grants you no rights to modify or copy Qemu at 
 all. The ONLY way you can get permission to copy or modify Qemu is to agree 
 to the GPL in its entirety-- which does not restrict itself to merely 
 derivative works, but covers all linking. (note: obvious the copyright 
 holder(s) can make exceptions to this rule)

Actually, the GPL does only apply to derived works, and it plainly
says so:
The Program, below, refers to any such program or work, and
a work based on the Program means either the Program or any
derivative work under copyright law
Linking typically is what makes a derived work, but not necessary.  It
is just the shade of grey that most people use as a rule of thumb.

If you do not have a derived work, then you can use and distribute
your work as you see fit, without the GPL restrictions.  While the GPL
is viral, it is only viral to the extent that the new work is
derivative of the GPL'd work.  This is why, for example, running my
proprietary program on a Linux box doesn't mean my proprietary program
is covered under the GPL.  Although it uses the kernel, and in a very
real sense the kernel links into the program due to address space
mapping for system calls and the like, this isn't enough to make my
program a derivative work.  So it isn't 'black' vs 'white' but more of
a 'this shade of grey is more white than black' or vice versa.

I can make fair use use of GPL'd software with no restrictions
what-so-ever so long as that use falls within 'fair use' as defined by
copyright law.  I can also use GPL'd code that doesn't quaify for
copyright protection (as is the case if it lacks a creative element,
is the only possible way to do something, etc).

However, those exceptions tend to be rather specialized and limited.
This isn't just GPL, btw, but any creative work.  It is at the heart
of the SCO case because SCO is claiming ~500 lines of Linux infringe
on its copyright rights (to grossly oversimplify).  Much of IBM's
defence rests on exceptions to copyright law.

 IANAL either, but as much as I have to debate this I might as well be

It is amaizing how many people get this wrong.  It is subtle, and
there's much misinformation circulating.  I've had to do a lot of
research in this area because of my involvement in FreeBSD's core team
and the licensing issues that come up there...

Warner




Re: [Qemu-devel] QEMU License and proprietary hardware

2007-06-22 Thread Luke -Jr
On Friday 22 June 2007 11:07, you wrote:
  On Thursday 21 June 2007 17:33, M. Warner Losh wrote:
   The GPL only has as much force of law as copyright law gives it, and in
   order to be applicable, the work in question must somehow rely on the
   GPL'd work.  The somehow here is an interesting legal question that
   hasn't been well settled.
 
  And copyright law by default grants you no rights to modify or copy Qemu
  at all. The ONLY way you can get permission to copy or modify Qemu is to
  agree to the GPL in its entirety-- which does not restrict itself to
  merely derivative works, but covers all linking. (note: obvious the
  copyright holder(s) can make exceptions to this rule)

 Actually, the GPL does only apply to derived works, and it plainly
 says so:
   The Program, below, refers to any such program or work, and
   a work based on the Program means either the Program or any
   derivative work under copyright law
 Linking typically is what makes a derived work, but not necessary.  It
 is just the shade of grey that most people use as a rule of thumb.

That's merely the definition of Program as used in the license. Read all the 
requirements, not just definitions...

 If you do not have a derived work, then you can use and distribute
 your work as you see fit, without the GPL restrictions.  While the GPL
 is viral, it is only viral to the extent that the new work is
 derivative of the GPL'd work.  This is why, for example, running my
 proprietary program on a Linux box doesn't mean my proprietary program
 is covered under the GPL.  Although it uses the kernel, and in a very
 real sense the kernel links into the program due to address space
 mapping for system calls and the like, this isn't enough to make my
 program a derivative work.  So it isn't 'black' vs 'white' but more of
 a 'this shade of grey is more white than black' or vice versa.

The kernel contains exceptions for userland code. If it didn't, you would be 
unable to distribute your program alongside Linux.

 I can make fair use use of GPL'd software with no restrictions
 what-so-ever so long as that use falls within 'fair use' as defined by
 copyright law.  I can also use GPL'd code that doesn't quaify for
 copyright protection (as is the case if it lacks a creative element,
 is the only possible way to do something, etc).

How does linking fit under fair use?





Re: [Qemu-devel] QEMU License and proprietary hardware

2007-06-22 Thread M. Warner Losh
In message: [EMAIL PROTECTED]
Luke -Jr [EMAIL PROTECTED] writes:
: On Friday 22 June 2007 11:07, you wrote:
:   On Thursday 21 June 2007 17:33, M. Warner Losh wrote:
:The GPL only has as much force of law as copyright law gives it, and in
:order to be applicable, the work in question must somehow rely on the
:GPL'd work.  The somehow here is an interesting legal question that
:hasn't been well settled.
:  
:   And copyright law by default grants you no rights to modify or copy Qemu
:   at all. The ONLY way you can get permission to copy or modify Qemu is to
:   agree to the GPL in its entirety-- which does not restrict itself to
:   merely derivative works, but covers all linking. (note: obvious the
:   copyright holder(s) can make exceptions to this rule)
: 
:  Actually, the GPL does only apply to derived works, and it plainly
:  says so:
:  The Program, below, refers to any such program or work, and
:  a work based on the Program means either the Program or any
:  derivative work under copyright law
:  Linking typically is what makes a derived work, but not necessary.  It
:  is just the shade of grey that most people use as a rule of thumb.
:
: That's merely the definition of Program as used in the
: license. Read all the requirements, not just definitions...

The definition is what is controlling here.  IF it is a derived work
THEN you must do X.  If it is not a derived work, then you may do as
you see fit.  If what you did somehow wasn't a derivative work, then
the there's no legal basis for forcing compliance with a license.
This is exactly what SCO is trying to do right now with its IBM case.

:  If you do not have a derived work, then you can use and distribute
:  your work as you see fit, without the GPL restrictions.  While the GPL
:  is viral, it is only viral to the extent that the new work is
:  derivative of the GPL'd work.  This is why, for example, running my
:  proprietary program on a Linux box doesn't mean my proprietary program
:  is covered under the GPL.  Although it uses the kernel, and in a very
:  real sense the kernel links into the program due to address space
:  mapping for system calls and the like, this isn't enough to make my
:  program a derivative work.  So it isn't 'black' vs 'white' but more of
:  a 'this shade of grey is more white than black' or vice versa.
: 
: The kernel contains exceptions for userland code. If it didn't, you would be 
: unable to distribute your program alongside Linux.

Even if it didn't, you would be able to.  Running a program on a
kernel does not create a derivative work.  I believe there is even
case law on this.  IIRC, there were cases with IBM and third parties
providing software for mainframes that settled this, but I don't have
the time to do an Internet search here.

It is unclear for the Linux kernel if the 'end run' people do with
loadable modules is a legal way to avoid source distribution.  The FSF
doesn't think so.  Linus has said he's cool with it, but absent a
statement from all the copyright holders of code in the Linux kernel,
the issue is at best murky.  It is unclear if the original poster
tried to do a binary-only module with QEMU if he'd be in compliance or
not (since the end user does the actual linking).

:  I can make fair use use of GPL'd software with no restrictions
:  what-so-ever so long as that use falls within 'fair use' as defined by
:  copyright law.  I can also use GPL'd code that doesn't quaify for
:  copyright protection (as is the case if it lacks a creative element,
:  is the only possible way to do something, etc).
: 
: How does linking fit under fair use?

Again, this is another example of how the GPL isn't absolute.  There
is case law in reverse engineering cases for game consoles where it
was held to be fair use to copy the ROMs into memory for the purpose
of reverse engineering them.  There may be other examples where
linking, or linking-like activities are fair use.  The biggest one
being when the original post links in his proprietary module to QEMU.
That's definitely fair use.  Distributing the results may or may not
be legal, depending on how the linking is done and a bunch of other
factors.

Warner




Re: [Qemu-devel] QEMU License and proprietary hardware

2007-06-22 Thread Luke -Jr
On Friday 22 June 2007 11:46, M. Warner Losh wrote:
 In message: [EMAIL PROTECTED]
 Luke -Jr [EMAIL PROTECTED] writes:
 : On Friday 22 June 2007 11:07, you wrote:
 :   On Thursday 21 June 2007 17:33, M. Warner Losh wrote:
 :The GPL only has as much force of law as copyright law gives it,
 :and in order to be applicable, the work in question must somehow
 :rely on the GPL'd work.  The somehow here is an interesting legal
 :question that hasn't been well settled.
 :  
 :   And copyright law by default grants you no rights to modify or copy
 :   Qemu at all. The ONLY way you can get permission to copy or modify
 :   Qemu is to agree to the GPL in its entirety-- which does not restrict
 :   itself to merely derivative works, but covers all linking. (note:
 :   obvious the copyright holder(s) can make exceptions to this rule)
 : 
 :  Actually, the GPL does only apply to derived works, and it plainly
 :  says so:
 :The Program, below, refers to any such program or work, and
 :a work based on the Program means either the Program or any
 :derivative work under copyright law
 :  Linking typically is what makes a derived work, but not necessary.  It
 :  is just the shade of grey that most people use as a rule of thumb.
 :
 : That's merely the definition of Program as used in the
 : license. Read all the requirements, not just definitions...

 The definition is what is controlling here.  IF it is a derived work
 THEN you must do X.  If it is not a derived work, then you may do as
 you see fit.  If what you did somehow wasn't a derivative work, then
 the there's no legal basis for forcing compliance with a license.
 This is exactly what SCO is trying to do right now with its IBM case.

Unless you modify or distribute the work. These acts are illegal without 
compliance with the license.

 :  If you do not have a derived work, then you can use and distribute
 :  your work as you see fit, without the GPL restrictions.  While the GPL
 :  is viral, it is only viral to the extent that the new work is
 :  derivative of the GPL'd work.  This is why, for example, running my
 :  proprietary program on a Linux box doesn't mean my proprietary program
 :  is covered under the GPL.  Although it uses the kernel, and in a very
 :  real sense the kernel links into the program due to address space
 :  mapping for system calls and the like, this isn't enough to make my
 :  program a derivative work.  So it isn't 'black' vs 'white' but more of
 :  a 'this shade of grey is more white than black' or vice versa.
 :
 : The kernel contains exceptions for userland code. If it didn't, you would
 : be unable to distribute your program alongside Linux.

 Even if it didn't, you would be able to.  Running a program on a
 kernel does not create a derivative work.  I believe there is even
 case law on this.  IIRC, there were cases with IBM and third parties
 providing software for mainframes that settled this, but I don't have
 the time to do an Internet search here.

I bet those cases weren't distributing the kernel along with their software, 
were they?

 It is unclear for the Linux kernel if the 'end run' people do with
 loadable modules is a legal way to avoid source distribution.  The FSF
 doesn't think so.  Linus has said he's cool with it, but absent a
 statement from all the copyright holders of code in the Linux kernel,
 the issue is at best murky.  It is unclear if the original poster
 tried to do a binary-only module with QEMU if he'd be in compliance or
 not (since the end user does the actual linking).

It is undisputed that it would be in violation if the kernel was distributed 
with the modules. The GPL is clear that mere use (end user) is always 
allowed. It is also fairly clear (the opinions of many kernel developers and 
IP lawyers) that proprietary modules for Linux are illegal to distribute. As 
with all copyright violations, however, the liability is on the distributor's 
end, so the end user is again not liable for the download either.




Re: [Qemu-devel] QEMU License and proprietary hardware

2007-06-22 Thread Johannes Schindelin
Hi,

On Fri, 22 Jun 2007, Luke -Jr wrote:

 On Friday 22 June 2007 11:46, M. Warner Losh wrote:

  If what you did somehow wasn't a derivative work, then the there's no 
  legal basis for forcing compliance with a license.
 
 Unless you modify or distribute the work. These acts are illegal without 
 compliance with the license.

No. If what you did was not a derivative work, then it was no derivative 
work, then it was no derivative work.

So if you changed a GPL program, and distribute that, you have to license 
these changes with the same license.

If at the same time you make something original, which is not derived from 
the GPLed program, then you are as free as a bird to sh*t on the GPL with 
regards to your original work. You can choose whatever license, if any.

What you throw about here, Luke, is FUD.

The GPL is only insofar viral as you cannot take something GPLed and just 
relicense it at will. Not even when you modify it.

However, writing a virtual device that just happens to be dynamically 
linkable to QEmu, but might just as well be linked to VMWare, is fine. 
This virtual device is clearly _not_ derived from QEmu.

You can do something like that easily, by implementing a clean interface 
for QEmu, which allows you to runtime link with such a standalone virtual 
device. A couple of people would even thank you for that.

Besides, QEmu's core is LGPL. Not GPL.

All this discussion is moot though. If you're not a lawyer, you should 
not behave like one, and respect the wishes of the authors for a change.

 It is undisputed that it would be in violation if the kernel was 
 distributed with the modules.

Nope. It is not undisputed.

 The GPL is clear that mere use (end user) is always allowed.

That's right.

 It is also fairly clear (the opinions of many kernel developers and IP 
 lawyers) that proprietary modules for Linux are illegal to distribute.

Nope. Not at all.

I'd rather have your virtual device open sourced, but if you cannot do 
that, I'd rather have it closed-source, than not at all.

And please stop this FUD about the GPL being viral and stuff.

Ciao,
Dscho





Re: [Qemu-devel] QEMU License and proprietary hardware

2007-06-22 Thread Ronnie Misra

On Jun 22, 2007, at 10:11 AM, Luke -Jr wrote:


On Friday 22 June 2007 11:46, M. Warner Losh wrote:

In message: [EMAIL PROTECTED]
Luke -Jr [EMAIL PROTECTED] writes:
: On Friday 22 June 2007 11:07, you wrote:
:   On Thursday 21 June 2007 17:33, M. Warner Losh wrote:
:The GPL only has as much force of law as copyright law  
gives it,
:and in order to be applicable, the work in question must  
somehow
:rely on the GPL'd work.  The somehow here is an  
interesting legal

:question that hasn't been well settled.
:  
:   And copyright law by default grants you no rights to modify  
or copy
:   Qemu at all. The ONLY way you can get permission to copy or  
modify
:   Qemu is to agree to the GPL in its entirety-- which does not  
restrict
:   itself to merely derivative works, but covers all linking.  
(note:
:   obvious the copyright holder(s) can make exceptions to this  
rule)

: 
:  Actually, the GPL does only apply to derived works, and it  
plainly

:  says so:
:   The Program, below, refers to any such program or work, and
:   a work based on the Program means either the Program or any
:   derivative work under copyright law
:  Linking typically is what makes a derived work, but not  
necessary.  It
:  is just the shade of grey that most people use as a rule of  
thumb.

:
: That's merely the definition of Program as used in the
: license. Read all the requirements, not just definitions...

The definition is what is controlling here.  IF it is a derived work
THEN you must do X.  If it is not a derived work, then you may do as
you see fit.  If what you did somehow wasn't a derivative work, then
the there's no legal basis for forcing compliance with a license.
This is exactly what SCO is trying to do right now with its IBM case.


Unless you modify or distribute the work. These acts are illegal  
without

compliance with the license.

:  If you do not have a derived work, then you can use and  
distribute
:  your work as you see fit, without the GPL restrictions.  While  
the GPL

:  is viral, it is only viral to the extent that the new work is
:  derivative of the GPL'd work.  This is why, for example,  
running my
:  proprietary program on a Linux box doesn't mean my proprietary  
program
:  is covered under the GPL.  Although it uses the kernel, and in  
a very

:  real sense the kernel links into the program due to address space
:  mapping for system calls and the like, this isn't enough to  
make my
:  program a derivative work.  So it isn't 'black' vs 'white' but  
more of

:  a 'this shade of grey is more white than black' or vice versa.
:
: The kernel contains exceptions for userland code. If it didn't,  
you would

: be unable to distribute your program alongside Linux.

Even if it didn't, you would be able to.  Running a program on a
kernel does not create a derivative work.  I believe there is even
case law on this.  IIRC, there were cases with IBM and third parties
providing software for mainframes that settled this, but I don't have
the time to do an Internet search here.


I bet those cases weren't distributing the kernel along with their  
software,

were they?


It is unclear for the Linux kernel if the 'end run' people do with
loadable modules is a legal way to avoid source distribution.  The  
FSF

doesn't think so.  Linus has said he's cool with it, but absent a
statement from all the copyright holders of code in the Linux kernel,
the issue is at best murky.  It is unclear if the original poster
tried to do a binary-only module with QEMU if he'd be in  
compliance or

not (since the end user does the actual linking).


It is undisputed that it would be in violation if the kernel was  
distributed

with the modules. The GPL is clear that mere use (end user) is always
allowed. It is also fairly clear (the opinions of many kernel  
developers and
IP lawyers) that proprietary modules for Linux are illegal to  
distribute. As
with all copyright violations, however, the liability is on the  
distributor's

end, so the end user is again not liable for the download either.





Definitions/terms of the GPL aside, here's what the QEMU license file  
says:



The following points clarify the QEMU license:

1) QEMU as a whole is released under the GNU General Public License

2) Parts of QEMU have specific licenses which are compatible with the
GNU General Public License. Hence each source file contains its own
licensing information.

In particular, the QEMU virtual CPU core library (libqemu.a) is
released under the GNU Lesser General Public License. Many hardware
device emulation sources are released under the BSD license.

3) QEMU is a trademark of Fabrice Bellard.


If the original poster is able to do what he wants using only the BSD- 
licensed hardware device emulation and the LGPL-licensed libqemu, I  
believe that he is free to distribute a *dynamically linked* machine  
emulator without placing his new code under the GPL. However, he will  
have to be very careful 

Re: [Qemu-devel] QEMU License and proprietary hardware

2007-06-22 Thread M. Warner Losh
[[ This is my last post on this topic, as we're starting to get quite
   far afield from QEMU and I'm starting to repeat myself.  Luke -Jr
   wants the last word, he can have it ]]

In message: [EMAIL PROTECTED]
Luke -Jr [EMAIL PROTECTED] writes:
: On Friday 22 June 2007 11:46, M. Warner Losh wrote:
:  In message: [EMAIL PROTECTED]
:  Luke -Jr [EMAIL PROTECTED] writes:
:  : On Friday 22 June 2007 11:07, you wrote:
:  :   On Thursday 21 June 2007 17:33, M. Warner Losh wrote:
:  :The GPL only has as much force of law as copyright law gives it,
:  :and in order to be applicable, the work in question must somehow
:  :rely on the GPL'd work.  The somehow here is an interesting legal
:  :question that hasn't been well settled.
:  :  
:  :   And copyright law by default grants you no rights to modify or copy
:  :   Qemu at all. The ONLY way you can get permission to copy or modify
:  :   Qemu is to agree to the GPL in its entirety-- which does not restrict
:  :   itself to merely derivative works, but covers all linking. (note:
:  :   obvious the copyright holder(s) can make exceptions to this rule)
:  : 
:  :  Actually, the GPL does only apply to derived works, and it plainly
:  :  says so:
:  :  The Program, below, refers to any such program or work, and
:  :  a work based on the Program means either the Program or any
:  :  derivative work under copyright law
:  :  Linking typically is what makes a derived work, but not necessary.  It
:  :  is just the shade of grey that most people use as a rule of thumb.
:  :
:  : That's merely the definition of Program as used in the
:  : license. Read all the requirements, not just definitions...
: 
:  The definition is what is controlling here.  IF it is a derived work
:  THEN you must do X.  If it is not a derived work, then you may do as
:  you see fit.  If what you did somehow wasn't a derivative work, then
:  the there's no legal basis for forcing compliance with a license.
:  This is exactly what SCO is trying to do right now with its IBM case.
: 
: Unless you modify or distribute the work. These acts are illegal without 
: compliance with the license.

Modifying the work may create a derivative work.  If it does (and it
usually does), then you are correct.  If it does not for some reason,
then the terms do not apply.

:  :  If you do not have a derived work, then you can use and distribute
:  :  your work as you see fit, without the GPL restrictions.  While the GPL
:  :  is viral, it is only viral to the extent that the new work is
:  :  derivative of the GPL'd work.  This is why, for example, running my
:  :  proprietary program on a Linux box doesn't mean my proprietary program
:  :  is covered under the GPL.  Although it uses the kernel, and in a very
:  :  real sense the kernel links into the program due to address space
:  :  mapping for system calls and the like, this isn't enough to make my
:  :  program a derivative work.  So it isn't 'black' vs 'white' but more of
:  :  a 'this shade of grey is more white than black' or vice versa.
:  :
:  : The kernel contains exceptions for userland code. If it didn't, you would
:  : be unable to distribute your program alongside Linux.
: 
:  Even if it didn't, you would be able to.  Running a program on a
:  kernel does not create a derivative work.  I believe there is even
:  case law on this.  IIRC, there were cases with IBM and third parties
:  providing software for mainframes that settled this, but I don't have
:  the time to do an Internet search here.
: 
: I bet those cases weren't distributing the kernel along with their software, 
: were they?

They were, actually.  The cases I'm thinking of had to do with VARs
integrating their software and shipping the systems to end users.
Similar, but not identical.

:  It is unclear for the Linux kernel if the 'end run' people do with
:  loadable modules is a legal way to avoid source distribution.  The FSF
:  doesn't think so.  Linus has said he's cool with it, but absent a
:  statement from all the copyright holders of code in the Linux kernel,
:  the issue is at best murky.  It is unclear if the original poster
:  tried to do a binary-only module with QEMU if he'd be in compliance or
:  not (since the end user does the actual linking).
: 
: It is undisputed that it would be in violation if the kernel was distributed 
: with the modules.

It is not undisputed.  Linus Torvalds doesn't hold that view, for
example.  All the wireless device makers today that are based on linux
use binary-only modules for their wireless devices.  Similar issues
happen with NTFS write support in many of network attached storage
devices.  These devices are distributed with both the kernel and
devices in the same flash.

I've included some examples of divergent opinion within the Linux
kernel community below.

: The GPL is clear that mere use (end user) is always allowed. It is
: also fairly clear (the opinions of many kernel 

Re: [Qemu-devel] QEMU License and proprietary hardware

2007-06-22 Thread Luke -Jr
On Friday 22 June 2007 12:37, Johannes Schindelin wrote:
 If at the same time you make something original, which is not derived from
 the GPLed program, then you are as free as a bird to sh*t on the GPL with
 regards to your original work. You can choose whatever license, if any.

Not if you want to distribute the GPL'd work, or anything derived from it.

 The GPL is only insofar viral as you cannot take something GPLed and just
 relicense it at will. Not even when you modify it.

Then explain the difference between the LGPL and GPL. A license that preserves 
itself only is pointless without other terms.

 However, writing a virtual device that just happens to be dynamically
 linkable to QEmu, but might just as well be linked to VMWare, is fine.
 This virtual device is clearly _not_ derived from QEmu.

That allows you to distribute the virtual device by itself, not alongside with 
Qemu.

 Besides, QEmu's core is LGPL. Not GPL.

Good point, and makes this entire argument mostly irrelevant.

  It is undisputed that it would be in violation if the kernel was
  distributed with the modules.

 Nope. It is not undisputed.

It is undisputed by anyone who has ever considered the issue as part of 
deciding whether or not to do it.

  It is also fairly clear (the opinions of many kernel developers and IP
  lawyers) that proprietary modules for Linux are illegal to distribute.

 Nope. Not at all.

http://www.kroah.com/log/linux/ols_2006_keynote.html

 I'd rather have your virtual device open sourced, but if you cannot do
 that, I'd rather have it closed-source, than not at all.

I would never buy software without source. Hopefully someday I can apply this 
to hardware as well.




Re: [Qemu-devel] QEMU License and proprietary hardware

2007-06-22 Thread Johannes Schindelin
Hi,

On Fri, 22 Jun 2007, Luke -Jr wrote:

 On Friday 22 June 2007 12:37, Johannes Schindelin wrote:
  If at the same time you make something original, which is not derived from
  the GPLed program, then you are as free as a bird to sh*t on the GPL with
  regards to your original work. You can choose whatever license, if any.
 
 Not if you want to distribute the GPL'd work, or anything derived from it.

You can distribute on the same medium, at the same time, two different 
programs, one GPL, the other not. No problem. None at all.

  The GPL is only insofar viral as you cannot take something GPLed and 
  just relicense it at will. Not even when you modify it.
 
 Then explain the difference between the LGPL and GPL. A license that 
 preserves itself only is pointless without other terms.

No, it is not.

  However, writing a virtual device that just happens to be dynamically 
  linkable to QEmu, but might just as well be linked to VMWare, is fine. 
  This virtual device is clearly _not_ derived from QEmu.
 
 That allows you to distribute the virtual device by itself, not 
 alongside with Qemu.

To the contrary. You can distribute them both at the same time, under 
different conditions, much like you can distribute QEmu with parts GPL, 
parts LGPL, and parts BSD.

  Besides, QEmu's core is LGPL. Not GPL.
 
 Good point, and makes this entire argument mostly irrelevant.

Not at all. If it was a derivative work of the LGPLed part, it would still 
have to be LGPLed.

   It is undisputed that it would be in violation if the kernel was 
   distributed with the modules.
 
  Nope. It is not undisputed.
 
 It is undisputed by anyone who has ever considered the issue as part of 
 deciding whether or not to do it.

There are distributions which deliver closed source binary-only modules. 
Many LiveCDs for example.

   It is also fairly clear (the opinions of many kernel developers and 
   IP lawyers) that proprietary modules for Linux are illegal to 
   distribute.
 
  Nope. Not at all.
 
 http://www.kroah.com/log/linux/ols_2006_keynote.html

That is Greg's opinion. There are others. Notably Linus'.

  I'd rather have your virtual device open sourced, but if you cannot do 
  that, I'd rather have it closed-source, than not at all.
 
 I would never buy software without source. Hopefully someday I can apply 
 this to hardware as well.

That is your freedom.

Frankly, I get really bored by the license discussions these days. Gone 
seem the days where you discussed code and algorithms on the mailing 
lists. Sigh.

Ciao,
Dscho




[Qemu-devel] qemu-i386 segfaults running hello world.

2007-06-22 Thread Rob Landley
Problem: 
[EMAIL PROTECTED]:~/firmware/firmware$ build/temp-i686/hello
Hello world!
[EMAIL PROTECTED]:~/firmware/firmware$ qemu-i386 build/temp-i686/hello
Segmentation fault (core dumped)

This is on a cvs snapshot from 15 minutes ago.  The hello world is a 
statically linked executable built against uClibc 0.9.29.  It runs fine from 
the command line, but qemu application emulation goes boing.

The executable is attached.

Am I doing something wrong?

Rob
-- 
One of my most productive days was throwing away 1000 lines of code.
  - Ken Thompson.


hello
Description: application/executable


[Qemu-devel] [PATCH] Implement ^W in readline.c

2007-06-22 Thread Michael Hanselmann
Hello

The patch below implements ^W (Ctrl+W) in readline.c, allowing it to be
used in the monitor.

Signed-off-by: Michael Hanselmann [EMAIL PROTECTED]

Greets,
Michael

---
Index: readline.c
===
RCS file: /sources/qemu/qemu/readline.c,v
retrieving revision 1.1
diff -u -b -B -r1.1 readline.c
--- readline.c  1 Aug 2004 21:52:19 -   1.1
+++ readline.c  22 Jun 2007 22:17:47 -
@@ -156,6 +156,45 @@
 }
 }
 
+static void term_backword(void)
+{
+int start;
+
+if (term_cmd_buf_index == 0 || term_cmd_buf_index  term_cmd_buf_size) {
+return;
+}
+
+start = term_cmd_buf_index - 1;
+
+/* find first word (backwards) */
+while (start  0) {
+if (!isspace(term_cmd_buf[start])) {
+break;
+}
+
+--start;
+}
+
+/* find first space (backwards) */
+while (start  0) {
+if (isspace(term_cmd_buf[start])) {
+++start;
+break;
+}
+
+--start;
+}
+
+/* remove word */
+if (start  term_cmd_buf_index) {
+memmove(term_cmd_buf + start,
+term_cmd_buf + term_cmd_buf_index,
+term_cmd_buf_size - term_cmd_buf_index);
+term_cmd_buf_size -= term_cmd_buf_index - start;
+term_cmd_buf_index = start;
+}
+}
+
 static void term_bol(void)
 {
 term_cmd_buf_index = 0;
@@ -338,6 +377,10 @@
 /* NOTE: readline_start can be called here */
 term_readline_func(term_readline_opaque, term_cmd_buf);
 break;
+case 23:
+/* ^W */
+term_backword();
+break;
 case 27:
 term_esc_state = IS_ESC;
 break;




[Qemu-devel] [PATCH] Fix two typos

2007-06-22 Thread Aurelien Jarno
Hi,

The patch below, taken from the Debian package, fixes two typos:
- substract - subtract
- formating - formatting

Bye,
Aurelien

Index: monitor.c
===
RCS file: /sources/qemu/qemu/monitor.c,v
retrieving revision 1.73
diff -u -d -p -r1.73 monitor.c
--- monitor.c   24 May 2007 18:53:22 -  1.73
+++ monitor.c   22 Jun 2007 22:16:44 -
@@ -784,7 +784,7 @@ static const KeyDef key_defs[] = {
 
 { 0xb5, kp_divide },
 { 0x37, kp_multiply },
-{ 0x4a, kp_substract },
+{ 0x4a, kp_subtract },
 { 0x4e, kp_add },
 { 0x9c, kp_enter },
 { 0x53, kp_decimal },
Index: qemu-img.c
===
RCS file: /sources/qemu/qemu/qemu-img.c,v
retrieving revision 1.17
diff -u -d -p -r1.17 qemu-img.c
--- qemu-img.c  10 Feb 2007 22:59:40 -  1.17
+++ qemu-img.c  22 Jun 2007 22:16:44 -
@@ -297,7 +297,7 @@ static int img_create(int argc, char **a
 drv = bdrv_find_format(fmt);
 if (!drv)
 error(Unknown file format '%s', fmt);
-printf(Formating '%s', fmt=%s,
+printf(Formatting '%s', fmt=%s,
filename, fmt);
 if (encrypted)
 printf(, encrypted);
Index: target-ppc/cpu.h
===
RCS file: /sources/qemu/qemu/target-ppc/cpu.h,v
retrieving revision 1.47
diff -u -d -p -r1.47 cpu.h
--- target-ppc/cpu.h3 Jun 2007 21:02:38 -   1.47
+++ target-ppc/cpu.h22 Jun 2007 22:16:45 -
@@ -1326,7 +1326,7 @@ enum {
 EXCP_FP_ZX = 0x03,  /* FP divide by zero*/
 EXCP_FP_XX = 0x04,  /* FP inexact   */
 EXCP_FP_VXNAN  = 0x05,  /* FP invalid SNaN op   */
-EXCP_FP_VXISI  = 0x06,  /* FP invalid infinite substraction */
+EXCP_FP_VXISI  = 0x06,  /* FP invalid infinite subtraction */
 EXCP_FP_VXIDI  = 0x07,  /* FP invalid infinite divide   */
 EXCP_FP_VXZDZ  = 0x08,  /* FP invalid zero divide   */
 EXCP_FP_VXIMZ  = 0x09,  /* FP invalid infinite * zero   */
Index: target-ppc/op.c
===
RCS file: /sources/qemu/qemu/target-ppc/op.c,v
retrieving revision 1.36
diff -u -d -p -r1.36 op.c
--- target-ppc/op.c 24 Apr 2007 06:50:21 -  1.36
+++ target-ppc/op.c 22 Jun 2007 22:16:45 -
@@ -1025,7 +1025,7 @@ void OPPROTO op_nego_64 (void)
 }
 #endif
 
-/* substract from */
+/* subtract from */
 PPC_OP(subf)
 {
 T0 = T1 - T0;
@@ -1058,7 +1058,7 @@ void OPPROTO op_check_subfo_64 (void)
 }
 #endif
 
-/* substract from carrying */
+/* subtract from carrying */
 void OPPROTO op_check_subfc (void)
 {
 if (likely((uint32_t)T0  (uint32_t)T1)) {
@@ -1081,7 +1081,7 @@ void OPPROTO op_check_subfc_64 (void)
 }
 #endif
 
-/* substract from extended */
+/* subtract from extended */
 void OPPROTO op_subfe (void)
 {
 do_subfe();
@@ -1096,7 +1096,7 @@ void OPPROTO op_subfe_64 (void)
 }
 #endif
 
-/* substract from immediate carrying */
+/* subtract from immediate carrying */
 void OPPROTO op_subfic (void)
 {
 T0 = (int32_t)PARAM1 + ~T0 + 1;
@@ -1121,7 +1121,7 @@ void OPPROTO op_subfic_64 (void)
 }
 #endif
 
-/* substract from minus one extended */
+/* subtract from minus one extended */
 void OPPROTO op_subfme (void)
 {
 T0 = ~T0 + xer_ca - 1;
@@ -1154,7 +1154,7 @@ void OPPROTO op_subfmeo_64 (void)
 }
 #endif
 
-/* substract from zero extended */
+/* subtract from zero extended */
 void OPPROTO op_subfze (void)
 {
 T1 = ~T0;

-- 
  .''`.  Aurelien Jarno | GPG: 1024D/F1BCDB73
 : :' :  Debian developer   | Electrical Engineer
 `. `'   [EMAIL PROTECTED] | [EMAIL PROTECTED]
   `-people.debian.org/~aurel32 | www.aurel32.net




[Qemu-devel] [PATCH] GNU/kFreeBSD support

2007-06-22 Thread Aurelien Jarno
Hi,

The patch below, taken from the Debian package, adds support
for GNU/kFreeBSD.

Bye,
Aurelien

Index: configure
===
RCS file: /sources/qemu/qemu/configure,v
retrieving revision 1.145
diff -u -d -p -r1.145 configure
--- configure   26 May 2007 16:38:53 -  1.145
+++ configure   22 Jun 2007 22:16:44 -
@@ -112,6 +112,12 @@ OS_CFLAGS=-mno-cygwin
 MINGW32*)
 mingw32=yes
 ;;
+GNU/kFreeBSD)
+oss=yes
+if [ $cpu = i386 -o $cpu = x86_64 ] ; then
+kqemu=yes
+fi
+;;
 FreeBSD)
 bsd=yes
 oss=yes
Index: vl.c
===
RCS file: /sources/qemu/qemu/vl.c,v
retrieving revision 1.310
diff -u -d -p -r1.310 vl.c
--- vl.c22 Jun 2007 08:23:44 -  1.310
+++ vl.c22 Jun 2007 22:16:44 -
@@ -47,6 +47,8 @@
 #ifndef __APPLE__
 #include libutil.h
 #endif
+#elif defined (__GLIBC__)  defined (__FreeBSD_kernel__)
+#include freebsd/stdlib.h
 #else
 #ifndef __sun__
 #include linux/if.h
@@ -3451,7 +3453,7 @@ static TAPState *net_tap_fd_init(VLANSta
 return s;
 }
 
-#ifdef _BSD
+#if defined (_BSD) || defined (__FreeBSD_kernel__)
 static int tap_open(char *ifname, int ifname_size)
 {
 int fd;

-- 
  .''`.  Aurelien Jarno | GPG: 1024D/F1BCDB73
 : :' :  Debian developer   | Electrical Engineer
 `. `'   [EMAIL PROTECTED] | [EMAIL PROTECTED]
   `-people.debian.org/~aurel32 | www.aurel32.net




[Qemu-devel] [PATCH] Exit error code for -M ?

2007-06-22 Thread Aurelien Jarno
Hi,

The patch below, taken from the Debian package, fixes the exit error code
when the list of supported machine is requested (-M ?).
asked

Bye,
Aurelien

Index: vl.c
===
RCS file: /sources/qemu/qemu/vl.c,v
retrieving revision 1.310
diff -u -d -p -r1.310 vl.c
--- vl.c22 Jun 2007 08:23:44 -  1.310
+++ vl.c22 Jun 2007 22:16:44 -
@@ -6705,7 +6707,7 @@ void help(void)
 #endif
DEFAULT_GDBSTUB_PORT,
/tmp/qemu.log);
-exit(1);
+exit(strcmp(optarg, ?));
 }
 
 #define HAS_ARG 0x0001

-- 
  .''`.  Aurelien Jarno | GPG: 1024D/F1BCDB73
 : :' :  Debian developer   | Electrical Engineer
 `. `'   [EMAIL PROTECTED] | [EMAIL PROTECTED]
   `-people.debian.org/~aurel32 | www.aurel32.net




Re: [Qemu-devel] qemu-i386 segfaults running hello world.

2007-06-22 Thread Rob Landley
Ok, it's a more fundamental problem:

[EMAIL PROTECTED]:/sys$ qemu-i386
Segmentation fault (core dumped)

Nothing to do with the program it's trying to run, it segfaults with no 
arguments.

Is anybody else seeing this?

Rob
-- 
One of my most productive days was throwing away 1000 lines of code.
  - Ken Thompson.




[Qemu-devel] qemu/target-mips translate_init.c

2007-06-22 Thread Thiemo Seufer
CVSROOT:/sources/qemu
Module name:qemu
Changes by: Thiemo Seufer ths 07/06/22 23:50:20

Modified files:
target-mips: translate_init.c 

Log message:
Allow emulation of 32bit targets in the MIPS64 capable qemu version.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/target-mips/translate_init.c?cvsroot=qemur1=1.15r2=1.16




[Qemu-devel] Netbsd/sparc seems to sort-of boot on the 20070622 CVS release

2007-06-22 Thread Jonathan Kalbfeld

Not going to count my kittens before they scratch...

--
--
Jonathan Kalbfeld
+1 323 620 6682


Re: [Qemu-devel] qemu-i386 segfaults running hello world.

2007-06-22 Thread Rob Landley
On Friday 22 June 2007 19:13:19 Alexander Graf wrote:
 Rob Landley wrote:
  Ok, it's a more fundamental problem:
 
  [EMAIL PROTECTED]:/sys$ qemu-i386
  Segmentation fault (core dumped)
 
  Nothing to do with the program it's trying to run, it segfaults with no
  arguments.
 
  Is anybody else seeing this?
 
  Rob

 [EMAIL PROTECTED]:/vm/qemu-devel/patches/qemu qemu-i386 ~/hello
 Hello world!

 Well it works for me. I usually see this segfault when trying to compile
 qemu with a gcc4. Try gcc3 and everything should be fine.

It's using gcc-3.4.  The one that comes with Ubuntu 7.04.  (Or at 
least ./configure said it had found gcc-3.4 during configuration, anyway.)

I ran the sucker under strace and it seems to be segfaulting right before it 
calls main().  I stuck an exit(1) at the start of main and it doesn't get to 
it, but it's after all the shared libraries are loaded:

 mprotect(0xb7f3f000, 4096, PROT_READ)   = 0
 mprotect(0x8000, 548864, PROT_READ|PROT_WRITE) = 0
 mprotect(0x8000, 548864, PROT_READ|PROT_EXEC) = 0
 munmap(0xb7f76000, 57255)   = 0
 set_tid_address(0xb7deca88) = 4338
 sendto(-1210135920, umovestr: Input/output error
 0xc, 3084914676,
 MSG_DONTWAIT|MSG_CONFIRM|MSG_FIN|MSG_NOSIGNAL|MSG_MORE|0xb7de,
 {sa_family=AF_DECnet, sa_data=\0\0\320=\0\0\r\0\0\0p\362\0\0},
 3217384328) = 0 rt_sigaction(SIGRTMIN, {0xb7df13f0, [], SA_SIGINFO}, NULL,
 8) = 0
 rt_sigaction(SIGRT_1, {0xb7df1300, [], SA_RESTART|SA_SIGINFO}, NULL, 8) = 0
 rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
 getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
 uname({sys=Linux, node=triolith, ...}) = 0
 --- SIGSEGV (Segmentation fault) @ 0 (0) ---
 +++ killed by SIGSEGV (core dumped) +++
 Process 4338 detached

If I link int main() {} against -lm and -lrt I get the same set of calls up 
through the first mprotect.  (The next two mprotects are probably setting up 
other segments like bss that an empty program doesn't have.)  Then everything 
up through the uname() is the same...  And then it would call main.

Right now I'm commenting out various global variable initializations because 
that's what comes to mind as stuff that runs right before main().

By the way, by commenting out this bit:

//const char interp[] __attribute__((section(.interp))) 
= /lib/ld-linux.so.2;

I made it go from segmentation fault to illegal instruction as the reason 
it dies.  Which is weird because there's no non-x86 toolchain the path, this 
is all stock Ubuntu stuff.  But oh well...

 Alex

Rob
-- 
One of my most productive days was throwing away 1000 lines of code.
  - Ken Thompson.