qemu
15 years agotarget-alpha: use the new TCG logical operations
aurel32 [Tue, 21 Oct 2008 11:29:11 +0000 (11:29 +0000)]
target-alpha: use the new TCG logical operations

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5502 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoTCG: add logical operations found on alpha and powerpc processors
aurel32 [Tue, 21 Oct 2008 11:28:59 +0000 (11:28 +0000)]
TCG: add logical operations found on alpha and powerpc processors

- andc_i32/i64 t0, t1, t2
- eqv_i32/i64 t0, t1, t2
- nand_i32/i64 t0, t1, t2
- nor_i32/i64 t0, t1, t2
- orc_i32/i64 t0, t1, t2

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5501 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-ppc: Convert XER accesses to TCG
aurel32 [Tue, 21 Oct 2008 11:28:46 +0000 (11:28 +0000)]
target-ppc: Convert XER accesses to TCG

Define XER bits as a single register and access them individually to
avoid defining 5 32-bit registers (TCG doesn't permit to map 8-bit
registers).

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5500 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoadded explicit license
bellard [Fri, 17 Oct 2008 17:31:57 +0000 (17:31 +0000)]
added explicit license

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5499 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoallow SLIRP to make an ARP request to get the client MAC address. It is useful if...
bellard [Fri, 17 Oct 2008 17:28:58 +0000 (17:28 +0000)]
allow SLIRP to make an ARP request to get the client MAC address. It is useful if an inbound connection is done to a VM which did not send outbound IP packets

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5498 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoscsi-generic: correct error management
aurel32 [Fri, 17 Oct 2008 08:08:56 +0000 (08:08 +0000)]
scsi-generic: correct error management

this patch allows to fully use a tape device connected to qemu through
the scsi-generic interface.

Previous patch introduced tape SCSI commands management, this one
improve error case management:

- the SCSI controller command completion must be called with the status
value, not the sense value. In the case of scsi-generic, the SCSI status
is given by the field status of sg_io_hdr_t (the value is left shifted
by one regarding status codes defined in /usr/include/scsi/scsi.h)

- when a read is aborted due to a mark/EOF/EOD/EOM, the len reported to
controller can be 0. LSI controller emulation doesn't know how to manage
this. A workaround found is to call the completion routine with
SCSI_REASON_DONE just after calling it with SCSI_REASON_DATA with len=0.

This patch also manages correctly the block size of the tape device.

This patch has been tested with a real tape device "HP C5683A", linux
guest (debian etch) and tools like "mt", "tar" and "btape".

Windows guest is not better supported than before...

Signed-off-by: Laurent Vivier <Laurent.Vivier@bull.net>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5497 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoi386/SVM: return amount of ASIDs
aurel32 [Fri, 17 Oct 2008 08:08:48 +0000 (08:08 +0000)]
i386/SVM: return amount of ASIDs

With SVM the TLB supports tagging to distinguish TLB entries from
different virtual CPUs. This tag is called an ASID. The amount of ASIDs is
given in EBX of the SVM-CPUID-leaf. Currently we return 0, which might
break hypervisors. Let's better return something >0 here, say 0x10.
Since we're flushing the complete TLB on every VM entry and exit we're not
making use of the ASID information anyways.

Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5496 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoPPC: fix dcbi instruction
aurel32 [Wed, 15 Oct 2008 22:25:21 +0000 (22:25 +0000)]
PPC: fix dcbi instruction

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5495 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoPPC: convert SPE logical instructions to TCG
aurel32 [Wed, 15 Oct 2008 17:00:45 +0000 (17:00 +0000)]
PPC: convert SPE logical instructions to TCG

(Nathan Froyd)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5494 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoppc: convert integer load/store to TCG
aurel32 [Wed, 15 Oct 2008 17:00:37 +0000 (17:00 +0000)]
ppc: convert integer load/store to TCG

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5493 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-ppc: fix a TCG local variable creation
aurel32 [Wed, 15 Oct 2008 17:00:29 +0000 (17:00 +0000)]
target-ppc: fix a TCG local variable creation

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5492 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoPPC: convert SPE effective address computation to TCG
aurel32 [Wed, 15 Oct 2008 17:00:18 +0000 (17:00 +0000)]
PPC: convert SPE effective address computation to TCG

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5491 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoPPC: convert effective address computation to TCG
aurel32 [Tue, 14 Oct 2008 19:55:54 +0000 (19:55 +0000)]
PPC: convert effective address computation to TCG

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5490 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agogdbstub: remove unused local variable
aurel32 [Tue, 14 Oct 2008 19:23:35 +0000 (19:23 +0000)]
gdbstub: remove unused local variable

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5489 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agotarget-i386: Add Core Duo Definition
aurel32 [Tue, 14 Oct 2008 19:20:52 +0000 (19:20 +0000)]
target-i386: Add Core Duo Definition

This patch adds a CPU definition for the Core Duo CPU. I tried to
resemble the original as closely as possible and document what features
are missing still. This patch enables the use of a recent CPU definition
on 32 bit platforms.

It also fixes two issues that went along the line:

- invalid xlevel in core2duo spec
  While looking though the CPUIDs again, I found that xlevel is actually 8.

- non-PSE36 support
  The CoreDuo CPUID does not expose the PSE36 capability, but CPUID
0x80000008 is tied to 36 bits. This broke Windows XP installation for
me, so I just set it to 32 bits width when PSE36 is not available. The
original CPU also exposes 32 bit width in CPUID 0x80000008.

Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5488 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoFix previous commit (spotted by Robert Riebisch).
aliguori [Tue, 14 Oct 2008 18:14:47 +0000 (18:14 +0000)]
Fix previous commit (spotted by Robert Riebisch).

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5487 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoDefine O_DSYNC as O_SYNC if necessary.
aliguori [Tue, 14 Oct 2008 18:00:38 +0000 (18:00 +0000)]
Define O_DSYNC as O_SYNC if necessary.

O_DSYNC isn't available on OS X.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5486 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoExpand cache= option and use write-through caching by default
aliguori [Tue, 14 Oct 2008 14:42:54 +0000 (14:42 +0000)]
Expand cache= option and use write-through caching by default

This patch changes the cache= option to accept none, writeback, or writethough
to control the host page cache behavior.  By default, writethrough caching is
now used which internally is implemented by using O_DSYNC to open the disk
images.  When using -snapshot, writeback is used by default since data integrity
it not at all an issue.

cache=none has the same behavior as cache=off previously.  The later syntax is
still supported by now deprecated.  I also cleaned up the O_DIRECT
implementation to avoid many of the #ifdefs.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5485 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agolinux-user: implement msg* syscalls
aurel32 [Mon, 13 Oct 2008 21:08:55 +0000 (21:08 +0000)]
linux-user: implement msg* syscalls

Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5484 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agolinux-user: fix and cleanup IPCOP_msg* ipc calls handling
aurel32 [Mon, 13 Oct 2008 21:08:44 +0000 (21:08 +0000)]
linux-user: fix and cleanup IPCOP_msg* ipc calls handling

Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5483 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoopen() can also return EPERM for O_RDWR on a readonly device
aurel32 [Mon, 13 Oct 2008 21:08:34 +0000 (21:08 +0000)]
open() can also return EPERM for O_RDWR on a readonly device

Signed-off-by: Juergen Lock <nox@jelal.kn-bremen.de>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5482 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoFreeBSD also has clock_gettime
aurel32 [Mon, 13 Oct 2008 21:08:25 +0000 (21:08 +0000)]
FreeBSD also has clock_gettime

Signed-off-by: Juergen Lock <nox@jelal.kn-bremen.de>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5481 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agolinux-user: fix getdents* syscalls
aurel32 [Mon, 13 Oct 2008 21:08:17 +0000 (21:08 +0000)]
linux-user: fix getdents* syscalls

glibc's structs dirent and dirent64 is different from in-kernel dirent
and dirent64. Kernel headers doesn't provide structs dirent(64) any
more. So we should add it to qemu headers.

To avoid conflict with glibc it called struct linux_dirent(64).

Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5480 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agolinux-user: Add readahead syscall
aurel32 [Mon, 13 Oct 2008 21:08:07 +0000 (21:08 +0000)]
linux-user: Add readahead syscall

Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5479 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoIntroduce TCP live migration protocol
aliguori [Mon, 13 Oct 2008 03:14:31 +0000 (03:14 +0000)]
Introduce TCP live migration protocol

This patch introduces a tcp protocol for live migration.  It can be used as
follows:

qemu-system-x86_64 -hda ~/images/linux-test.img -monitor stdio
 <vm runs for a while>
(qemu) migrate tcp:localhost:1025

On the same system:

qemu-system-x86_64 -hda ~/images/linux-test.img -incoming
tcp:localhost:1025

The monitor can be interacted with while waiting for an incoming live
migration.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5478 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoIntroduce ethernet announcement function.
aliguori [Mon, 13 Oct 2008 03:13:12 +0000 (03:13 +0000)]
Introduce ethernet announcement function.

This patch adds an ethernet announce function that will minimize downtime
when doing a live migration.  This code originates from KVM.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5477 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoIntroduce UI for live migration
aliguori [Mon, 13 Oct 2008 03:12:02 +0000 (03:12 +0000)]
Introduce UI for live migration

This patch introduces a command line parameter and monitor command for starting
a live migration.  The next patch will provide an example of how to use these
parameters.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5476 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoIntroduce a buffered file wrapper for QEMUFile
aliguori [Mon, 13 Oct 2008 03:10:22 +0000 (03:10 +0000)]
Introduce a buffered file wrapper for QEMUFile

This patch introduces a buffered QEMUFile wrapper.  This allows QEMUFile's to be
rate limited.  It also makes it easier to implement a QEMUFile that is
asynchronous since the current QEMUFile API requires that all reads and writes
be synchronous.

The only real non-obvious part of the API is the "frozen" concept.  If the
backend returns EAGAIN, the QEMUFile is said to be "frozen".  This means no
additional output will be sent to the backend until the file is unfrozen.
qemu_file_put_notify can be used to unfreeze a frozen file.

A synchronous interface is also provided to wait for an unfreeze event.  This is
used during the final part of live migration when the VM is no longer running.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5475 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoFix some issues with QEMUFile
aliguori [Mon, 13 Oct 2008 03:07:56 +0000 (03:07 +0000)]
Fix some issues with QEMUFile

This patch allows QEMUFile's read and write operations to return
negative error codes.  This is necessary to detect things like closed
streams during live migration.

It also removes unused code for QEMUFileFD write path.  Finally, it
makes sure to avoid attempting to flush an output buffer if the file
is only being used for input.  This was spotted by Uri Lublin.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5474 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoSH4: Implement MOVUA.L
aurel32 [Sun, 12 Oct 2008 23:32:59 +0000 (23:32 +0000)]
SH4: Implement MOVUA.L

 * target-sh4/translate.c (_decode_opc): Implement
   MOVUA.L.

(Vladimir Prus)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5473 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoSH4: fix single-stepping
aurel32 [Sun, 12 Oct 2008 23:32:48 +0000 (23:32 +0000)]
SH4: fix single-stepping

* target-sh/translate.c (gen_intermediate_code_internal): If
  singlestep is enabled, update PC before stopping.

(Vladimir Prus)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5472 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoSH4: Fix swap.b
aurel32 [Sun, 12 Oct 2008 23:32:40 +0000 (23:32 +0000)]
SH4: Fix swap.b

The SH4 manual documents the swap.b instruction as follows:

        SWAP.B Rm,Rn
                Rm → swap lower 2 bytes → Rn

Current QEMU code, in addition to the above, also clears the high
16 bits. The immediate breakage I saw is that htonl function applied
to  netmask of 255.255.255.0 gives 0, which breaks all networking.

(Vladimir Prus)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5471 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoMake sure to initialize fd_sets in aio.c
aliguori [Sun, 12 Oct 2008 21:19:57 +0000 (21:19 +0000)]
Make sure to initialize fd_sets in aio.c

This was spotted by valgrind.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5470 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agohw/apic.c: use functions from host-utils.h
aurel32 [Sun, 12 Oct 2008 20:16:03 +0000 (20:16 +0000)]
hw/apic.c: use functions from host-utils.h

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5469 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoCOPYING: update from FSF
aurel32 [Sun, 12 Oct 2008 17:54:42 +0000 (17:54 +0000)]
COPYING: update from FSF

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5468 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoDefine macro QEMU_GNUC_PREREQ and use it
aurel32 [Sun, 12 Oct 2008 16:15:04 +0000 (16:15 +0000)]
Define macro QEMU_GNUC_PREREQ and use it

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5467 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoOnly use __builtin_* with GCC >= 3.4
aurel32 [Sun, 12 Oct 2008 11:44:36 +0000 (11:44 +0000)]
Only use __builtin_* with GCC >= 3.4

Fix gcc 3.3 builds, broken in revision 5465.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5466 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agohw/apic.c: use __builtin funtions instead of assembly code
aurel32 [Sun, 12 Oct 2008 00:53:17 +0000 (00:53 +0000)]
hw/apic.c: use __builtin funtions instead of assembly code

Suggested by malc.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5465 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoOptimize some host-utils function with gcc builtins
aurel32 [Sun, 12 Oct 2008 00:53:08 +0000 (00:53 +0000)]
Optimize some host-utils function with gcc builtins

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5464 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoGet rid of sys/poll.h
aurel32 [Sun, 12 Oct 2008 00:52:58 +0000 (00:52 +0000)]
Get rid of sys/poll.h

(C.W. Betts)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5463 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoCRIS: Initialize the arch version preg to v32.
edgar_igl [Sat, 11 Oct 2008 19:36:17 +0000 (19:36 +0000)]
CRIS: Initialize the arch version preg to v32.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5462 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoCRIS: Handle GDB writes to pregs.
edgar_igl [Sat, 11 Oct 2008 19:32:21 +0000 (19:32 +0000)]
CRIS: Handle GDB writes to pregs.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5461 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoAdd feature_to_c.sh.
pbrook [Sat, 11 Oct 2008 18:23:22 +0000 (18:23 +0000)]
Add feature_to_c.sh.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5460 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoAdd GDB XML register description support.
pbrook [Sat, 11 Oct 2008 17:55:29 +0000 (17:55 +0000)]
Add GDB XML register description support.

Signed-off-by: Paul Brook <paul@codesourcery.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5459 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoFix some debugging mistakes/leftovers
malc [Sat, 11 Oct 2008 17:37:25 +0000 (17:37 +0000)]
Fix some debugging mistakes/leftovers

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5458 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoUse the adequate CFLAGS for confiugure tests.
balrog [Sat, 11 Oct 2008 12:00:42 +0000 (12:00 +0000)]
Use the adequate CFLAGS for confiugure tests.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5457 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoAdd a configure check for zlib (Ryota OZAKI).
balrog [Sat, 11 Oct 2008 09:56:04 +0000 (09:56 +0000)]
Add a configure check for zlib (Ryota OZAKI).

This patch makes configure check zlib devel files installed.
Current configure doesn't check that, so make will fail if they
are not installed.

Signed-off-by: Ryota Ozaki <ozaki.ryota@gmail.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5456 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoCorrect SCSI error reporting (Laurent Vivier)
blueswir1 [Sat, 11 Oct 2008 09:33:03 +0000 (09:33 +0000)]
Correct SCSI error reporting (Laurent Vivier)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5455 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoIncrease write buffer size in pflash emulation (Thomas Petazzoni).
balrog [Sat, 11 Oct 2008 09:19:57 +0000 (09:19 +0000)]
Increase write buffer size in pflash emulation (Thomas Petazzoni).

The current flash emulation code advertises a write buffer size of 16
bytes (1 << 4, according to offset 0x2A of the CFI table). This is
very small compared to normal write buffer sizes, and makes the
process of writing to the flash very slow (at least from U-Boot).

This patch increases this size to 2048 bytes. Except the modification
of the CFI table, the only other required modification is to use
"value" instead of "cmd" to set pfl->counter, because cmd is truncated
to the 8 lower bits of value, while the number of bytes for a write
can now be greater than 255 bytes.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5454 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoUpdate (thanks to Edgar, Thiemo, malc, Paul, Laurent and Andrzej)
blueswir1 [Thu, 9 Oct 2008 18:52:04 +0000 (18:52 +0000)]
Update (thanks to Edgar, Thiemo, malc, Paul, Laurent and Andrzej)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5453 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoFix IDE DIAGNOSE for packet devices (Vincent Sanders)
aliguori [Thu, 9 Oct 2008 14:19:34 +0000 (14:19 +0000)]
Fix IDE DIAGNOSE for packet devices (Vincent Sanders)

The DIAGNOSE command in the qemu IDE implementation has an error when
use dfor packet devices.

The status register value is dependant on the drive being a packet
device or not, this patch corrects the returned status.

From the ATA/PI specification (V6 draft):

"If the device implements the PACKET command feature set, the device
SHALL clear bits 6,5,4,3,2 and 0 in the Status register to zero."

A selection of physical devices have been checked and do conform to
the specifications behaviour.

Signed-off-by: Vincent Sanders <vince@simtec.co.uk>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5452 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoFix IO performance regression in sparc
aliguori [Wed, 8 Oct 2008 19:50:24 +0000 (19:50 +0000)]
Fix IO performance regression in sparc

Replace signalfd with signal handler/pipe.  There is no way to interrupt
the CPU execution loop when a file descriptor becomes readable.  This
results in a large performance regression in sparc emulation during
bootup.

This patch switches us to signal handler/pipe which was originally
suggested by Ian Jackson.  The signal handler lets us interrupt the
CPU emulation loop while the write to a pipe lets us avoid the
select/signal race condition.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5451 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoCRIS: linux-user signals dont need ERP compensation after break anymore.
edgar_igl [Wed, 8 Oct 2008 14:39:08 +0000 (14:39 +0000)]
CRIS: linux-user signals dont need ERP compensation after break anymore.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5450 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoCRIS: linux-user ERP compensation not needed anymore.
edgar_igl [Wed, 8 Oct 2008 14:26:58 +0000 (14:26 +0000)]
CRIS: linux-user ERP compensation not needed anymore.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5449 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoCRIS: Partial EXS reg support and fixes for SPC.
edgar_igl [Wed, 8 Oct 2008 14:22:17 +0000 (14:22 +0000)]
CRIS: Partial EXS reg support and fixes for SPC.

* Add partial support for the EXS (exception status) register.
* Update SPC after each singlestep exception.
* Remove special treatment of break 8.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5448 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoCRIS: Correct typos.
edgar_igl [Wed, 8 Oct 2008 08:28:16 +0000 (08:28 +0000)]
CRIS: Correct typos.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5447 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoCRIS: Make local objects static.
edgar_igl [Tue, 7 Oct 2008 22:54:52 +0000 (22:54 +0000)]
CRIS: Make local objects static.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5446 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoCRIS: Fix brk 8 and add S-flag emulation.
edgar_igl [Tue, 7 Oct 2008 22:48:41 +0000 (22:48 +0000)]
CRIS: Fix brk 8 and add S-flag emulation.

* break 8 sets ERP to the current insn.
* First shot at S flag single-stepping.
* Make it easier to use the local disasm.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5445 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoadd help text for --enable-sparse (Gerd Hoffman)
aliguori [Tue, 7 Oct 2008 21:22:41 +0000 (21:22 +0000)]
add help text for --enable-sparse (Gerd Hoffman)

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5444 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agomachine struct - specify max_cpus at the per machine level (Jes Sorensen)
aliguori [Tue, 7 Oct 2008 20:39:39 +0000 (20:39 +0000)]
machine struct - specify max_cpus at the per machine level (Jes Sorensen)

Introduce a max_cpus per-machine variable, allowing individual boards
to limit it's number of CPUs. Check requested number of CPUs in setup
code and exit if it exceeds the supported number for the machine.
This also renders the static MAX_CPUS check obsolete, so remove this
from vl.c.

Signed-off-by: Jes Sorensen <jes@sgi.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5443 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agomachine struct - use C99 initializers (Jes Sorensen)
aliguori [Tue, 7 Oct 2008 20:34:35 +0000 (20:34 +0000)]
machine struct - use C99 initializers (Jes Sorensen)

Modify all the machine struct declarations to use C99 initializers.
This patch has no functional changes.

Signed-off-by: Jes Sorensen <jes@sgi.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5442 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoAdd USB sys file-system support (v8) (TJ)
aliguori [Tue, 7 Oct 2008 20:06:37 +0000 (20:06 +0000)]
Add USB sys file-system support (v8) (TJ)

This patch adds support for host USB devices discovered via:

/sys/bus/usb/devices/* and opened from /dev/bus/usb/*/*
/dev/bus/usb/devices and opened from /dev/bus/usb/*/*

in addition to the existing discovery via:

/proc/bus/usb/devices and opened from /proc/bus/usb/*/*

Signed-off-by: TJ <linux@tjworld.net>
Signed-off-by: Anthony Liguori <aliguori>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5441 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoAdd sparse checker support to the build system (Gerd Hoffman)
aliguori [Tue, 7 Oct 2008 19:16:17 +0000 (19:16 +0000)]
Add sparse checker support to the build system (Gerd Hoffman)

This adds support for running the sparse checker during the build
process.  Left it off by default for now, build becomes very noisy with
sparse checking turned on as it has to complain alot (partly even in the
system headers!).  The qemu code base needs quite some cleanups before
we should consider turning it on by default.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5440 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoAdd static (spotted by sparse)
blueswir1 [Tue, 7 Oct 2008 19:12:13 +0000 (19:12 +0000)]
Add static (spotted by sparse)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5439 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoFix error in fexpand (spotted by sparse)
blueswir1 [Tue, 7 Oct 2008 18:54:35 +0000 (18:54 +0000)]
Fix error in fexpand (spotted by sparse)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5438 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoSwitch the memory savevm handler to be "live"
aliguori [Mon, 6 Oct 2008 20:21:51 +0000 (20:21 +0000)]
Switch the memory savevm handler to be "live"

This patch replaces the static memory savevm/loadvm handler with a "live" one.
This handler is used even if performing a non-live migration.

The key difference between this handler and the previous is that each page is
prefixed with the address of the page.  The QEMUFile rate limiting code, in
combination with the live migration dirty tracking bits, is used to determine
which pages should be sent and how many should be sent.

The live save code "converges" when the number of dirty pages reaches a fixed
amount.  Currently, this is 10 pages.  This is something that should eventually
be derived from whatever the bandwidth limitation is.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5437 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoShow size for unassigned accesses (Robert Reif)
blueswir1 [Mon, 6 Oct 2008 18:46:28 +0000 (18:46 +0000)]
Show size for unassigned accesses (Robert Reif)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5436 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoPrepare for changing audio_pcm_ops dynamically (partially revert r5422)
blueswir1 [Mon, 6 Oct 2008 18:08:30 +0000 (18:08 +0000)]
Prepare for changing audio_pcm_ops dynamically (partially revert r5422)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5435 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoIntroduce v3 of savevm protocol
aliguori [Mon, 6 Oct 2008 14:53:52 +0000 (14:53 +0000)]
Introduce v3 of savevm protocol

The current savevm/loadvm protocol has some draw backs.  It does not support
the ability to do progressive saving which means it cannot be used for live
checkpointing or migration.  The sections sizes are 32-bit integers which
means that it will not function when using more than 4GB of memory for a guest.
It attempts to seek within the output file which means it cannot be streamed.
The current protocol also is pretty lax about how it supports forward
compatibility.  If a saved section version is greater than what the restore
code support, the restore code generally treats the saved data as being in
whatever version it supports.  This means that restoring a saved VM on an older
version of QEMU will likely result in silent guest failure.

This patch introduces a new version of the savevm protocol.  It has the
following features:

 * Support for progressive save of sections (for live checkpoint/migration)
 * An asynchronous API for doing save
 * Support for interleaving multiple progressive save sections
   (for future support of memory hot-add/storage migration)
 * Fully streaming format
 * Strong section version checking

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5434 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoAdd dirty tracking for live migration
aliguori [Mon, 6 Oct 2008 14:02:03 +0000 (14:02 +0000)]
Add dirty tracking for live migration

This patch adds a dirty tracking bit for live migration.  We use 0x08 because
kqemu uses 0x04.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5433 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoAdd bdrv_flush_all()
aliguori [Mon, 6 Oct 2008 13:55:43 +0000 (13:55 +0000)]
Add bdrv_flush_all()

This patch adds a bdrv_flush_all() function.  It's necessary to ensure that all
IO operations have been flushed to disk before completely a live migration.

N.B. we don't actually use this now.  We really should flush the block drivers
using an live savevm callback to avoid unnecessary guest down time.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5432 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoAllow the monitor to be suspended during non-blocking op
aliguori [Mon, 6 Oct 2008 13:52:44 +0000 (13:52 +0000)]
Allow the monitor to be suspended during non-blocking op

Live migration happens in the background, but it is useful to make the monitor
command appear as if it's blocking.  This allows a management tool to
immediately know when the live migration has completed without having to poll
the migration status.

This patch allows the monitor to be suspended from a monitor callback which
will prevent new monitor commands from being executed.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5431 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoSilence some warnings about no value returned from non-void function
blueswir1 [Sun, 5 Oct 2008 11:47:55 +0000 (11:47 +0000)]
Silence some warnings about no value returned from non-void function

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5430 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoMake various generated structures static
blueswir1 [Sun, 5 Oct 2008 11:45:25 +0000 (11:45 +0000)]
Make various generated structures static

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5429 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoMake target_sigaltstack_used static
blueswir1 [Sun, 5 Oct 2008 11:09:37 +0000 (11:09 +0000)]
Make target_sigaltstack_used static

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5428 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoExport x86_stack_size in qemu.h
blueswir1 [Sun, 5 Oct 2008 11:05:14 +0000 (11:05 +0000)]
Export x86_stack_size in qemu.h

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5427 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoMake ioctl table static
blueswir1 [Sun, 5 Oct 2008 10:52:52 +0000 (10:52 +0000)]
Make ioctl table static

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5426 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoMake bitmask tables static const
blueswir1 [Sun, 5 Oct 2008 10:51:10 +0000 (10:51 +0000)]
Make bitmask tables static const

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5425 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoMake struct_termios_def const
blueswir1 [Sun, 5 Oct 2008 10:49:32 +0000 (10:49 +0000)]
Make struct_termios_def const

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5424 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoMove wav_start_capture prototype to avoid a warning with -Wmissing-prototypes
blueswir1 [Sun, 5 Oct 2008 10:30:43 +0000 (10:30 +0000)]
Move wav_start_capture prototype to avoid a warning with -Wmissing-prototypes

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5423 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoMake audio_pcm_opsstatic const
blueswir1 [Sun, 5 Oct 2008 10:01:05 +0000 (10:01 +0000)]
Make audio_pcm_opsstatic const

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5422 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoAdd some missing static and const qualifiers, reg_names only used if NDEBUG set
blueswir1 [Sun, 5 Oct 2008 09:59:14 +0000 (09:59 +0000)]
Add some missing static and const qualifiers, reg_names only used if NDEBUG set

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5421 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoVariable logfilename is not used outside exec.c
blueswir1 [Sun, 5 Oct 2008 09:57:08 +0000 (09:57 +0000)]
Variable logfilename is not used outside exec.c

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5420 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoVariable autostart is not used outside main()
blueswir1 [Sun, 5 Oct 2008 09:56:21 +0000 (09:56 +0000)]
Variable autostart is not used outside main()

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5419 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoUpdate Sparc docs, add -cpu flag
blueswir1 [Sat, 4 Oct 2008 20:43:39 +0000 (20:43 +0000)]
Update Sparc docs, add -cpu flag

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5418 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoFix crc32w decoding, fix a constant width in blendvpd.
balrog [Sat, 4 Oct 2008 11:33:52 +0000 (11:33 +0000)]
Fix crc32w decoding, fix a constant width in blendvpd.

Forced the constant's width to long long so that it doesn't overflow,
problem spotted by C. W. Betts.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5417 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoMake network packet debug functions more accessible
blueswir1 [Sat, 4 Oct 2008 07:25:46 +0000 (07:25 +0000)]
Make network packet debug functions more accessible

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5416 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoAdd some missing static qualifiers
blueswir1 [Sat, 4 Oct 2008 07:24:27 +0000 (07:24 +0000)]
Add some missing static qualifiers

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5415 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoMove nographic export to sysemu.h
blueswir1 [Sat, 4 Oct 2008 07:22:29 +0000 (07:22 +0000)]
Move nographic export to sysemu.h

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5414 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoUse qemu-log.h
blueswir1 [Sat, 4 Oct 2008 07:20:07 +0000 (07:20 +0000)]
Use qemu-log.h

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5413 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agox86 "popcnt" affects flags.
balrog [Sat, 4 Oct 2008 03:32:00 +0000 (03:32 +0000)]
x86 "popcnt" affects flags.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5412 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoImplement SSE4.1, SSE4.2 (x86).
balrog [Sat, 4 Oct 2008 03:27:44 +0000 (03:27 +0000)]
Implement SSE4.1, SSE4.2 (x86).

This adds support for CPUID_EXT_SSE41, CPUID_EXT_SSE42, CPUID_EXT_POPCNT
extensions.  Most instructions haven't been tested yet.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5411 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoImprove pflash cfi01 debug messages (Thomas Petazzoni).
balrog [Fri, 3 Oct 2008 23:09:08 +0000 (23:09 +0000)]
Improve pflash cfi01 debug messages (Thomas Petazzoni).

This patches slightly improves the debugging messages in pflash_read()
and pflash_write().

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5410 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoReset CFI01 flash wcycle after erase confirm (Thomas Petazzoni).
balrog [Fri, 3 Oct 2008 23:00:09 +0000 (23:00 +0000)]
Reset CFI01 flash wcycle after erase confirm (Thomas Petazzoni).

pfl->wcycle was set to 1 when the erase confirm command was set, which
lead to the next command being misinterpreted by Qemu:

pflash_write: Unimplemented flash cmd sequence (offset 00000000,
wcycle 0x1 cmd 0x20 value 0x70)

This patch fixes this issue by resetting pfl->wcycle to 0 on erase
confirm so that the next command is considered as a new one.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5409 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoRearrange tick functions
blueswir1 [Fri, 3 Oct 2008 19:04:42 +0000 (19:04 +0000)]
Rearrange tick functions

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5408 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoFix missing prototype warnings by moving declarations
blueswir1 [Fri, 3 Oct 2008 19:02:42 +0000 (19:02 +0000)]
Fix missing prototype warnings by moving declarations

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5407 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoFix warning about unused function
blueswir1 [Fri, 3 Oct 2008 19:01:41 +0000 (19:01 +0000)]
Fix warning about unused function

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5406 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoFix warning about missing return value
blueswir1 [Fri, 3 Oct 2008 19:00:40 +0000 (19:00 +0000)]
Fix warning about missing return value

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5405 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoOptimize 64 bit bswap
malc [Thu, 2 Oct 2008 20:02:31 +0000 (20:02 +0000)]
Optimize 64 bit bswap

Use rldimi instead of rldicr/or pair, saves us one instruction.
Suggested by Hollis Blanchard.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5404 c046a42c-6fe2-441c-8c8c-71466251a162

15 years agoDo not use load_seg_vm to load CS in real mode iret handling
malc [Thu, 2 Oct 2008 20:02:27 +0000 (20:02 +0000)]
Do not use load_seg_vm to load CS in real mode iret handling

load_seg_vm calls cpu_x86_load_seg_cache which updates hflags of
current env, real hardware doesn't do this, nor the code that handles
real mode lret/lcall/ljmp.

This unbreaks "unreal mode" and makes QEMU the first emulator being
able to run Project Angel demo by IMPACT Studios. (Not that there are
many physical machines out there capable of doing the same)

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5403 c046a42c-6fe2-441c-8c8c-71466251a162