This commit is contained in:
parent
ff85d36533
commit
a9eab62e5c
2
.gitattributes
vendored
2
.gitattributes
vendored
@ -21,5 +21,3 @@
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
||||
## Specific LFS patterns
|
||||
kvm_bios.bin filter=lfs diff=lfs merge=lfs -text
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:fd82361665a1e5a7fd3bb5f6bc56c145d0f094a09d5f7d059a7a40632043d87a
|
||||
size 131072
|
3
qemu-0.10.1.tar.bz2
Normal file
3
qemu-0.10.1.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:c987d50d321cc856b0d98fd227bb26b0764e43f49abe24ae2312dd9eda204591
|
||||
size 3068967
|
@ -1,19 +0,0 @@
|
||||
--- linux-user/signal.c
|
||||
+++ linux-user/signal.c
|
||||
@@ -364,10 +364,15 @@
|
||||
k = &sigact_table[sig - 1];
|
||||
handler = k->sa._sa_handler;
|
||||
if (handler == TARGET_SIG_DFL) {
|
||||
+ if (sig == TARGET_SIGTSTP || sig == TARGET_SIGTTIN || sig == TARGET_SIGTTOU) {
|
||||
+ kill(getpid(),SIGSTOP);
|
||||
+ return 0;
|
||||
+ } else
|
||||
/* default handler : ignore some signal. The other are fatal */
|
||||
if (sig != TARGET_SIGCHLD &&
|
||||
sig != TARGET_SIGURG &&
|
||||
- sig != TARGET_SIGWINCH) {
|
||||
+ sig != TARGET_SIGWINCH &&
|
||||
+ sig != TARGET_SIGCONT) {
|
||||
force_sig(sig);
|
||||
} else {
|
||||
return 0; /* indicate ignored */
|
@ -1,55 +0,0 @@
|
||||
2007-03-14 Gwenole Beauchesne <gbeauchesne@mandriva.com>
|
||||
|
||||
* hw/pc.c (pc_init1): Use the KVM specific BIOS for now.
|
||||
|
||||
================================================================================
|
||||
--- qemu-0.9.0/Makefile
|
||||
+++ qemu-0.9.0/Makefile
|
||||
@@ -77,7 +77,7 @@
|
||||
mkdir -p "$(DESTDIR)$(bindir)"
|
||||
$(INSTALL) -m 755 -s $(TOOLS) "$(DESTDIR)$(bindir)"
|
||||
mkdir -p "$(DESTDIR)$(datadir)"
|
||||
- for x in bios.bin vgabios.bin vgabios-cirrus.bin ppc_rom.bin \
|
||||
+ for x in bios.bin kvm_bios.bin vgabios.bin vgabios-cirrus.bin ppc_rom.bin \
|
||||
video.x openbios-sparc32 linux_boot.bin pxe-ne2k_pci.bin \
|
||||
pxe-rtl8139.bin pxe-pcnet.bin; do \
|
||||
$(INSTALL) -m 644 $(SRC_PATH)/pc-bios/$$x "$(DESTDIR)$(datadir)"; \
|
||||
@@ -157,6 +157,7 @@
|
||||
$(bindir)/qemu-mipsel \
|
||||
$(bindir)/qemu-img \
|
||||
$(datadir)/bios.bin \
|
||||
+ $(datadir)/kvm_bios.bin \
|
||||
$(datadir)/vgabios.bin \
|
||||
$(datadir)/vgabios-cirrus.bin \
|
||||
$(datadir)/ppc_rom.bin \
|
||||
--- qemu-0.9.0/hw/pc.c
|
||||
+++ qemu-0.9.0/hw/pc.c
|
||||
@@ -27,6 +27,7 @@
|
||||
//#define DEBUG_BIOS
|
||||
|
||||
#define BIOS_FILENAME "bios.bin"
|
||||
+#define KVM_BIOS_FILENAME "kvm_bios.bin"
|
||||
#define VGABIOS_FILENAME "vgabios.bin"
|
||||
#define VGABIOS_CIRRUS_FILENAME "vgabios-cirrus.bin"
|
||||
#define LINUX_BOOT_FILENAME "linux_boot.bin"
|
||||
@@ -460,6 +461,7 @@
|
||||
int piix3_devfn = -1;
|
||||
CPUState *env;
|
||||
NICInfo *nd;
|
||||
+ const char *bios_filename = BIOS_FILENAME;
|
||||
|
||||
linux_boot = (kernel_filename != NULL);
|
||||
|
||||
@@ -486,7 +488,11 @@
|
||||
bios_offset = ram_size + vga_ram_size;
|
||||
vga_bios_offset = bios_offset + 256 * 1024;
|
||||
|
||||
- snprintf(buf, sizeof(buf), "%s/%s", bios_dir, BIOS_FILENAME);
|
||||
+#ifdef USE_KVM
|
||||
+ if (kvm_allowed)
|
||||
+ bios_filename = KVM_BIOS_FILENAME;
|
||||
+#endif
|
||||
+ snprintf(buf, sizeof(buf), "%s/%s", bios_dir, bios_filename);
|
||||
bios_size = get_image_size(buf);
|
||||
if (bios_size <= 0 ||
|
||||
(bios_size % 65536) != 0 ||
|
@ -1,37 +0,0 @@
|
||||
2007-03-14 Gwenole Beauchesne <gbeauchesne@mandriva.com>
|
||||
|
||||
* sdl.c (sdl_update_caption): Report KQEMU accelerator accordingly
|
||||
in the SDL window.
|
||||
|
||||
--- qemu-0.9.0/sdl.c.kvm-kqemu-window-caption 2007-03-14 17:59:05.000000000 +0100
|
||||
+++ qemu-0.9.0/sdl.c 2007-03-14 18:02:55.000000000 +0100
|
||||
@@ -212,13 +212,27 @@ static void sdl_process_key(SDL_Keyboard
|
||||
|
||||
static void sdl_update_caption(void)
|
||||
{
|
||||
+ int accl_mode = 0; /* 1=kqemu, 2=kvm */
|
||||
char buf[1024];
|
||||
strcpy(buf, "QEMU");
|
||||
-#if USE_KVM
|
||||
+#ifdef USE_KQEMU
|
||||
+ if (kqemu_allowed) {
|
||||
+ accl_mode = 1;
|
||||
+ }
|
||||
+#endif
|
||||
+#ifdef USE_KVM
|
||||
if (kvm_allowed) {
|
||||
- strcat(buf, "/KVM");
|
||||
+ accl_mode = 2;
|
||||
}
|
||||
#endif
|
||||
+ switch (accl_mode) {
|
||||
+ case 1:
|
||||
+ strcat(buf, "/KQEMU");
|
||||
+ break;
|
||||
+ case 2:
|
||||
+ strcat(buf, "/KVM");
|
||||
+ break;
|
||||
+ }
|
||||
if (!vm_running) {
|
||||
strcat(buf, " [Stopped]");
|
||||
}
|
3703
qemu-0.9.0-kvm.patch
3703
qemu-0.9.0-kvm.patch
File diff suppressed because it is too large
Load Diff
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:858780f82c1b357e203cb4a64b3fa6de18b344bc72e320cbbe9e09e1430a40ba
|
||||
size 2780412
|
@ -1,23 +0,0 @@
|
||||
--- Makefile.target
|
||||
+++ Makefile.target
|
||||
@@ -84,6 +84,8 @@
|
||||
OP_CFLAGS+=$(call cc-option, -fno-reorder-blocks, "")
|
||||
OP_CFLAGS+=$(call cc-option, -fno-gcse, "")
|
||||
OP_CFLAGS+=$(call cc-option, -fno-tree-ch, "")
|
||||
+OP_CFLAGS+=$(call cc-option, -fno-tree-dominator-opts, "")
|
||||
+OP_CFLAGS+=$(call cc-option, -fno-tree-vrp, "")
|
||||
OP_CFLAGS+=$(call cc-option, -fno-optimize-sibling-calls, "")
|
||||
OP_CFLAGS+=$(call cc-option, -fno-crossjumping, "")
|
||||
OP_CFLAGS+=$(call cc-option, -fno-align-labels, "")
|
||||
@@ -141,8 +143,9 @@
|
||||
endif
|
||||
|
||||
ifeq ($(ARCH),ia64)
|
||||
-CFLAGS+=-mno-sdata
|
||||
-OP_CFLAGS+=-mno-sdata
|
||||
+OP_CFLAGS+=$(call cc-option, -mno-sched-ar-data-spec, "")
|
||||
+CFLAGS+=-G0 -mno-sdata
|
||||
+OP_CFLAGS+=-G0 -mno-sdata
|
||||
endif
|
||||
|
||||
ifeq ($(ARCH),arm)
|
@ -1,11 +1,11 @@
|
||||
Index: qemu/linux-user/syscall.c
|
||||
================================================================================
|
||||
--- qemu/linux-user/syscall.c
|
||||
+++ qemu/linux-user/syscall.c
|
||||
--- qemu-0.10.1/linux-user/syscall.c
|
||||
+++ qemu-0.10.1/linux-user/syscall.c
|
||||
@@ -29,7 +29,7 @@
|
||||
#include <fcntl.h>
|
||||
#include <time.h>
|
||||
#include <limits.h>
|
||||
#include <dirent.h>
|
||||
-#include <sys/types.h>
|
||||
+#include <linux/types.h>
|
||||
#include <sys/ipc.h>
|
||||
@ -21,15 +21,15 @@ Index: qemu/linux-user/syscall.c
|
||||
#include <sys/shm.h>
|
||||
#include <sys/sem.h>
|
||||
#include <sys/statfs.h>
|
||||
@@ -154,6 +157,7 @@
|
||||
|
||||
@@ -158,6 +161,7 @@
|
||||
|
||||
#define __NR_sys_exit __NR_exit
|
||||
#define __NR_sys_sched_getaffinity __NR_sched_getaffinity
|
||||
+#define __NR_sys_ipc __NR_ipc
|
||||
#define __NR_sys_uname __NR_uname
|
||||
#define __NR_sys_faccessat __NR_faccessat
|
||||
#define __NR_sys_fchmodat __NR_fchmodat
|
||||
@@ -261,6 +265,10 @@
|
||||
@@ -266,6 +270,10 @@
|
||||
#if defined(TARGET_NR_tkill) && defined(__NR_tkill)
|
||||
_syscall2(int,sys_tkill,int,tid,int,sig)
|
||||
#endif
|
||||
@ -40,29 +40,7 @@ Index: qemu/linux-user/syscall.c
|
||||
#ifdef __NR_sys_sched_getaffinity
|
||||
_syscall3(int,sys_sched_getaffinity,pid_t,pid,unsigned int,cpusetsize,void*,mask)
|
||||
#endif
|
||||
@@ -1639,6 +1647,21 @@
|
||||
abi_ulong __unused2;
|
||||
};
|
||||
|
||||
+struct target_ipc64_perm
|
||||
+{
|
||||
+ int key;
|
||||
+ unsigned int uid;
|
||||
+ unsigned int gid;
|
||||
+ unsigned int cuid;
|
||||
+ unsigned int cgid;
|
||||
+ unsigned short mode;
|
||||
+ unsigned short __pad1;
|
||||
+ unsigned short seq;
|
||||
+ unsigned short __pad2;
|
||||
+ target_ulong __unused1;
|
||||
+ target_ulong __unused2;
|
||||
+};
|
||||
+
|
||||
struct target_semid_ds
|
||||
{
|
||||
struct target_ipc_perm sem_perm;
|
||||
@@ -1651,6 +1674,18 @@
|
||||
@@ -1687,6 +1695,18 @@
|
||||
abi_ulong __unused4;
|
||||
};
|
||||
|
||||
@ -81,7 +59,7 @@ Index: qemu/linux-user/syscall.c
|
||||
static inline abi_long target_to_host_ipc_perm(struct ipc_perm *host_ip,
|
||||
abi_ulong target_addr)
|
||||
{
|
||||
@@ -1689,6 +1724,43 @@
|
||||
@@ -1725,6 +1745,43 @@
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -125,7 +103,7 @@ Index: qemu/linux-user/syscall.c
|
||||
static inline abi_long target_to_host_semid_ds(struct semid_ds *host_sd,
|
||||
abi_ulong target_addr)
|
||||
{
|
||||
@@ -1719,6 +1791,32 @@
|
||||
@@ -1755,6 +1812,32 @@
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -158,7 +136,7 @@ Index: qemu/linux-user/syscall.c
|
||||
union semun {
|
||||
int val;
|
||||
struct semid_ds *buf;
|
||||
@@ -1731,6 +1829,10 @@
|
||||
@@ -1767,6 +1850,10 @@
|
||||
unsigned short int *array;
|
||||
};
|
||||
|
||||
@ -169,7 +147,7 @@ Index: qemu/linux-user/syscall.c
|
||||
static inline abi_long target_to_host_semun(int cmd,
|
||||
union semun *host_su,
|
||||
abi_ulong target_addr,
|
||||
@@ -1743,7 +1845,15 @@
|
||||
@@ -1779,7 +1866,15 @@
|
||||
case IPC_SET:
|
||||
if (!lock_user_struct(VERIFY_READ, target_su, target_addr, 1))
|
||||
return -TARGET_EFAULT;
|
||||
@ -186,7 +164,7 @@ Index: qemu/linux-user/syscall.c
|
||||
host_su->buf = ds;
|
||||
unlock_user_struct(target_su, target_addr, 0);
|
||||
break;
|
||||
@@ -1779,7 +1889,14 @@
|
||||
@@ -1815,7 +1910,14 @@
|
||||
case IPC_SET:
|
||||
if (lock_user_struct(VERIFY_WRITE, target_su, target_addr, 0))
|
||||
return -TARGET_EFAULT;
|
||||
@ -202,7 +180,7 @@ Index: qemu/linux-user/syscall.c
|
||||
unlock_user_struct(target_su, target_addr, 1);
|
||||
break;
|
||||
case GETVAL:
|
||||
@@ -1807,7 +1924,8 @@
|
||||
@@ -1843,7 +1945,8 @@
|
||||
{
|
||||
union semun arg;
|
||||
struct semid_ds dsarg;
|
||||
@ -212,7 +190,7 @@ Index: qemu/linux-user/syscall.c
|
||||
abi_long ret = 0;
|
||||
|
||||
switch( cmd ) {
|
||||
@@ -1836,13 +1954,23 @@
|
||||
@@ -1872,13 +1975,23 @@
|
||||
ret = get_errno(semctl(first, second, cmd, arg));
|
||||
host_to_target_semun(cmd,ptr,&arg,&dsarg);
|
||||
break;
|
||||
@ -237,7 +215,7 @@ Index: qemu/linux-user/syscall.c
|
||||
}
|
||||
|
||||
return ret;
|
||||
@@ -1866,6 +1994,41 @@
|
||||
@@ -1908,6 +2021,41 @@
|
||||
abi_ulong __unused5;
|
||||
};
|
||||
|
||||
@ -279,7 +257,7 @@ Index: qemu/linux-user/syscall.c
|
||||
static inline abi_long target_to_host_msqid_ds(struct msqid_ds *host_md,
|
||||
abi_ulong target_addr)
|
||||
{
|
||||
@@ -2094,11 +2257,59 @@
|
||||
@@ -2193,11 +2341,59 @@
|
||||
case IPCOP_shmctl:
|
||||
switch(second) {
|
||||
case IPC_RMID:
|
||||
@ -339,3 +317,48 @@ Index: qemu/linux-user/syscall.c
|
||||
goto unimplemented;
|
||||
}
|
||||
break;
|
||||
--- qemu-0.10.1/linux-user/syscall_defs.h
|
||||
+++ qemu-0.10.1/linux-user/syscall_defs.h
|
||||
@@ -2001,3 +2001,18 @@
|
||||
#include "socket.h"
|
||||
|
||||
#include "errno_defs.h"
|
||||
+
|
||||
+struct target_ipc64_perm
|
||||
+{
|
||||
+ int key;
|
||||
+ uint32_t uid;
|
||||
+ uint32_t gid;
|
||||
+ uint32_t cuid;
|
||||
+ uint32_t cgid;
|
||||
+ unsigned short mode;
|
||||
+ unsigned short __pad1;
|
||||
+ unsigned short seq;
|
||||
+ unsigned short __pad2;
|
||||
+ abi_ulong __unused1;
|
||||
+ abi_ulong __unused2;
|
||||
+};
|
||||
--- qemu-0.10.1/linux-user/x86_64/syscall.h
|
||||
+++ qemu-0.10.1/linux-user/x86_64/syscall.h
|
||||
@@ -61,21 +61,6 @@
|
||||
};
|
||||
#endif
|
||||
|
||||
-struct target_ipc64_perm
|
||||
-{
|
||||
- int key;
|
||||
- uint32_t uid;
|
||||
- uint32_t gid;
|
||||
- uint32_t cuid;
|
||||
- uint32_t cgid;
|
||||
- unsigned short mode;
|
||||
- unsigned short __pad1;
|
||||
- unsigned short seq;
|
||||
- unsigned short __pad2;
|
||||
- abi_ulong __unused1;
|
||||
- abi_ulong __unused2;
|
||||
-};
|
||||
-
|
||||
struct target_msqid64_ds {
|
||||
struct target_ipc64_perm msg_perm;
|
||||
unsigned int msg_stime; /* last msgsnd time */
|
||||
|
@ -1,10 +1,10 @@
|
||||
Index: qemu/linux-user/mmap.c
|
||||
================================================================================
|
||||
--- qemu/linux-user/mmap.c
|
||||
+++ qemu/linux-user/mmap.c
|
||||
@@ -27,6 +27,10 @@
|
||||
|
||||
--- qemu-0.10.1/linux-user/mmap.c
|
||||
+++ qemu-0.10.1/linux-user/mmap.c
|
||||
@@ -33,6 +33,10 @@
|
||||
#include "qemu.h"
|
||||
#include "qemu-common.h"
|
||||
|
||||
+#if !defined(MAP_32BIT)
|
||||
+#define MAP_32BIT 0
|
||||
@ -13,7 +13,7 @@ Index: qemu/linux-user/mmap.c
|
||||
//#define DEBUG_MMAP
|
||||
|
||||
#if defined(USE_NPTL)
|
||||
@@ -211,7 +215,7 @@
|
||||
@@ -232,7 +236,7 @@
|
||||
if (prot1 == 0) {
|
||||
/* no page was there, so we allocate one */
|
||||
void *p = mmap(host_start, qemu_host_page_size, prot,
|
||||
@ -22,12 +22,3 @@ Index: qemu/linux-user/mmap.c
|
||||
if (p == MAP_FAILED)
|
||||
return -1;
|
||||
prot1 = prot;
|
||||
@@ -551,7 +555,7 @@
|
||||
|
||||
mmap_lock();
|
||||
/* XXX: use 5 args syscall */
|
||||
- host_addr = (long)mremap(g2h(old_addr), old_size, new_size, flags);
|
||||
+ host_addr = (long)mremap(g2h(old_addr), old_size, new_size, flags | MAP_32BIT);
|
||||
if (host_addr == -1) {
|
||||
new_addr = -1;
|
||||
} else {
|
||||
|
@ -1,7 +1,7 @@
|
||||
Index: qemu.bkp/linux-user/path.c
|
||||
================================================================================
|
||||
--- qemu/linux-user/path.c
|
||||
+++ qemu/linux-user/path.c
|
||||
--- qemu-0.10.1/linux-user/path.c
|
||||
+++ qemu-0.10.1/linux-user/path.c
|
||||
@@ -1,159 +1,81 @@
|
||||
/* Code to mangle pathnames into those matching a given prefix.
|
||||
eg. open("/lib/foo.so") => open("/usr/gnemul/i386-linux/lib/foo.so");
|
||||
@ -176,7 +176,7 @@ Index: qemu.bkp/linux-user/path.c
|
||||
+
|
||||
/* Only do absolute paths: quick and dirty, but should mostly be OK.
|
||||
Could do relative by tracking cwd. */
|
||||
- if (!base || name[0] != '/')
|
||||
- if (!base || !name || name[0] != '/')
|
||||
- return name;
|
||||
+ if (!list_head || result[0] != '/')
|
||||
+ goto exit;
|
||||
|
@ -1,33 +0,0 @@
|
||||
--- target-ppc/op.c
|
||||
+++ target-ppc/op.c
|
||||
@@ -2720,6 +2720,7 @@
|
||||
}
|
||||
#endif /* !defined(CONFIG_USER_ONLY) */
|
||||
|
||||
+#if defined(TARGET_PPC64)
|
||||
/* SPE extension */
|
||||
void OPPROTO op_splatw_T1_64 (void)
|
||||
{
|
||||
@@ -3438,3 +3439,4 @@
|
||||
T0 = _do_efdtsteq(T0_64, T1_64);
|
||||
RETURN();
|
||||
}
|
||||
+#endif
|
||||
--- target-ppc/translate.c
|
||||
+++ target-ppc/translate.c
|
||||
@@ -5853,6 +5853,7 @@
|
||||
|
||||
#endif /* !defined(TARGET_PPC64) */
|
||||
|
||||
+#if defined(TARGET_PPC64)
|
||||
#define GEN_SPE(name0, name1, opc2, opc3, inval, type) \
|
||||
GEN_HANDLER(name0##_##name1, 0x04, opc2, opc3, inval, type) \
|
||||
{ \
|
||||
@@ -6760,6 +6761,7 @@
|
||||
GEN_SPE(efdctsiz, speundef, 0x1D, 0x0B, 0x00180000, PPC_SPEFPU); //
|
||||
GEN_SPE(efdtstgt, efdtstlt, 0x1E, 0x0B, 0x00600000, PPC_SPEFPU); //
|
||||
GEN_SPE(efdtsteq, speundef, 0x1F, 0x0B, 0x00600000, PPC_SPEFPU); //
|
||||
+#endif
|
||||
|
||||
/* End opcode list */
|
||||
GEN_OPCODE_MARK(end);
|
@ -1,16 +1,16 @@
|
||||
Index: qemu.bkp/linux-user/syscall.c
|
||||
================================================================================
|
||||
--- qemu/linux-user/syscall.c
|
||||
+++ qemu/linux-user/syscall.c
|
||||
@@ -152,6 +152,7 @@
|
||||
}
|
||||
--- qemu-0.10.1/linux-user/syscall.c
|
||||
+++ qemu-0.10.1/linux-user/syscall.c
|
||||
@@ -157,6 +157,7 @@
|
||||
|
||||
|
||||
#define __NR_sys_exit __NR_exit
|
||||
+#define __NR_sys_sched_getaffinity __NR_sched_getaffinity
|
||||
#define __NR_sys_uname __NR_uname
|
||||
#define __NR_sys_faccessat __NR_faccessat
|
||||
#define __NR_sys_fchmodat __NR_fchmodat
|
||||
@@ -242,6 +243,9 @@
|
||||
@@ -265,6 +266,9 @@
|
||||
#if defined(TARGET_NR_tkill) && defined(__NR_tkill)
|
||||
_syscall2(int,sys_tkill,int,tid,int,sig)
|
||||
#endif
|
||||
@ -20,7 +20,7 @@ Index: qemu.bkp/linux-user/syscall.c
|
||||
#ifdef __NR_exit_group
|
||||
_syscall1(int,exit_group,int,error_code)
|
||||
#endif
|
||||
@@ -5857,6 +5861,17 @@
|
||||
@@ -6090,6 +6094,17 @@
|
||||
break;
|
||||
#endif
|
||||
|
||||
|
@ -1,71 +0,0 @@
|
||||
Index: qemu/cpu-exec.c
|
||||
===================================================================
|
||||
--- qemu.orig/cpu-exec.c
|
||||
+++ qemu/cpu-exec.c
|
||||
@@ -408,7 +408,7 @@ int cpu_exec(CPUState *env1)
|
||||
!(env->hflags & HF_INHIBIT_IRQ_MASK)) {
|
||||
int intno;
|
||||
svm_check_intercept(SVM_EXIT_INTR);
|
||||
- env->interrupt_request &= ~CPU_INTERRUPT_HARD;
|
||||
+ env->interrupt_request &= ~(CPU_INTERRUPT_HARD | CPU_INTERRUPT_VIRQ);
|
||||
intno = cpu_get_pic_interrupt(env);
|
||||
if (loglevel & CPU_LOG_TB_IN_ASM) {
|
||||
fprintf(logfile, "Servicing hardware INT=0x%02x\n", intno);
|
||||
@@ -427,12 +427,13 @@ int cpu_exec(CPUState *env1)
|
||||
int intno;
|
||||
/* FIXME: this should respect TPR */
|
||||
env->interrupt_request &= ~CPU_INTERRUPT_VIRQ;
|
||||
- stl_phys(env->vm_vmcb + offsetof(struct vmcb, control.int_ctl),
|
||||
- ldl_phys(env->vm_vmcb + offsetof(struct vmcb, control.int_ctl)) & ~V_IRQ_MASK);
|
||||
+ svm_check_intercept(SVM_EXIT_VINTR);
|
||||
intno = ldl_phys(env->vm_vmcb + offsetof(struct vmcb, control.int_vector));
|
||||
if (loglevel & CPU_LOG_TB_IN_ASM)
|
||||
fprintf(logfile, "Servicing virtual hardware INT=0x%02x\n", intno);
|
||||
do_interrupt(intno, 0, 0, -1, 1);
|
||||
+ stl_phys(env->vm_vmcb + offsetof(struct vmcb, control.int_ctl),
|
||||
+ ldl_phys(env->vm_vmcb + offsetof(struct vmcb, control.int_ctl)) & ~V_IRQ_MASK);
|
||||
#if defined(__sparc__) && !defined(HOST_SOLARIS)
|
||||
tmp_T0 = 0;
|
||||
#else
|
||||
Index: qemu/target-i386/helper.c
|
||||
===================================================================
|
||||
--- qemu.orig/target-i386/helper.c
|
||||
+++ qemu/target-i386/helper.c
|
||||
@@ -4120,8 +4122,9 @@ void helper_vmrun(target_ulong addr)
|
||||
if (loglevel & CPU_LOG_TB_IN_ASM)
|
||||
fprintf(logfile, " %#x %#x\n", env->exception_index, env->error_code);
|
||||
}
|
||||
- if (int_ctl & V_IRQ_MASK)
|
||||
+ if ((int_ctl & V_IRQ_MASK) || (env->intercept & INTERCEPT_VINTR)) {
|
||||
env->interrupt_request |= CPU_INTERRUPT_VIRQ;
|
||||
+ }
|
||||
|
||||
cpu_loop_exit();
|
||||
}
|
||||
@@ -4283,6 +4291,13 @@ void vmexit(uint64_t exit_code, uint64_t
|
||||
ldq_phys(env->vm_vmcb + offsetof(struct vmcb, control.exit_info_2)),
|
||||
EIP);
|
||||
|
||||
+ if(env->hflags & HF_INHIBIT_IRQ_MASK) {
|
||||
+ stl_phys(env->vm_vmcb + offsetof(struct vmcb, control.int_state), SVM_INTERRUPT_SHADOW_MASK);
|
||||
+ env->hflags &= ~HF_INHIBIT_IRQ_MASK;
|
||||
+ } else {
|
||||
+ stl_phys(env->vm_vmcb + offsetof(struct vmcb, control.int_state), 0);
|
||||
+ }
|
||||
+
|
||||
/* Save the VM state in the vmcb */
|
||||
SVM_SAVE_SEG(env->vm_vmcb, segs[R_ES], es);
|
||||
SVM_SAVE_SEG(env->vm_vmcb, segs[R_CS], cs);
|
||||
Index: qemu/target-i386/translate.c
|
||||
===================================================================
|
||||
--- qemu.orig/target-i386/translate.c
|
||||
+++ qemu/target-i386/translate.c
|
||||
@@ -5551,8 +5551,6 @@ static target_ulong disas_insn(DisasCont
|
||||
gen_op_set_inhibit_irq();
|
||||
/* give a chance to handle pending irqs */
|
||||
gen_jmp_im(s->pc - s->cs_base);
|
||||
- if (gen_svm_check_intercept(s, pc_start, SVM_EXIT_VINTR))
|
||||
- break;
|
||||
gen_eob(s);
|
||||
} else {
|
||||
gen_exception(s, EXCP0D_GPF, pc_start - s->cs_base);
|
46
qemu-svn-i386-nptl.patch
Normal file
46
qemu-svn-i386-nptl.patch
Normal file
@ -0,0 +1,46 @@
|
||||
Index: linux-user/syscall.c
|
||||
================================================================================
|
||||
--- configure
|
||||
+++ configure
|
||||
@@ -1610,6 +1610,7 @@
|
||||
echo "KVM_CFLAGS=$kvm_cflags" >> $config_mak
|
||||
echo "#define CONFIG_KVM 1" >> $config_h
|
||||
fi
|
||||
+ target_nptl="yes"
|
||||
;;
|
||||
x86_64)
|
||||
echo "TARGET_ARCH=x86_64" >> $config_mak
|
||||
--- linux-user/syscall.c
|
||||
+++ linux-user/syscall.c
|
||||
@@ -3175,8 +3175,14 @@
|
||||
flags &= ~CLONE_NPTL_FLAGS2;
|
||||
|
||||
/* TODO: Implement CLONE_CHILD_CLEARTID. */
|
||||
- if (nptl_flags & CLONE_SETTLS)
|
||||
+ if (nptl_flags & CLONE_SETTLS) {
|
||||
+#if defined(TARGET_I386) && defined(TARGET_ABI32)
|
||||
+ do_set_thread_area(new_env, newtls);
|
||||
+ cpu_x86_load_seg(new_env, R_GS, new_env->segs[R_GS].selector);
|
||||
+#else
|
||||
cpu_set_tls (new_env, newtls);
|
||||
+#endif
|
||||
+ }
|
||||
|
||||
/* Grab a mutex so that thread setup appears atomic. */
|
||||
pthread_mutex_lock(&clone_lock);
|
||||
@@ -3247,8 +3253,14 @@
|
||||
if (flags & CLONE_PARENT_SETTID)
|
||||
put_user_u32(gettid(), parent_tidptr);
|
||||
ts = (TaskState *)env->opaque;
|
||||
- if (flags & CLONE_SETTLS)
|
||||
+ if (flags & CLONE_SETTLS) {
|
||||
+#if defined(TARGET_I386) && defined(TARGET_ABI32)
|
||||
+ do_set_thread_area(env, newtls);
|
||||
+ cpu_x86_load_seg(env, R_GS, env->segs[R_GS].selector);
|
||||
+#else
|
||||
cpu_set_tls (env, newtls);
|
||||
+#endif
|
||||
+ }
|
||||
/* TODO: Implement CLONE_CHILD_CLEARTID. */
|
||||
#endif
|
||||
} else {
|
@ -1,15 +1,15 @@
|
||||
--- configure
|
||||
+++ configure
|
||||
@@ -799,7 +799,7 @@
|
||||
@@ -949,7 +949,7 @@
|
||||
#include <curses.h>
|
||||
int main(void) { return curses_version(); }
|
||||
EOF
|
||||
- if $cc $ARCH_CFLAGS -o $TMPE $TMPC -lcurses 2> /dev/null ; then
|
||||
+ if $cc $ARCH_CFLAGS -o $TMPE $TMPC -lncurses 2> /dev/null ; then
|
||||
- if $cc $ARCH_CFLAGS -o $TMPE $TMPC -lcurses > /dev/null 2> /dev/null ; then
|
||||
+ if $cc $ARCH_CFLAGS -o $TMPE $TMPC -lncurses > /dev/null 2> /dev/null ; then
|
||||
curses=yes
|
||||
fi
|
||||
fi # test "$curses"
|
||||
@@ -1102,7 +1102,7 @@
|
||||
@@ -1427,7 +1427,7 @@
|
||||
if test "$curses" = "yes" ; then
|
||||
echo "#define CONFIG_CURSES 1" >> $config_h
|
||||
echo "CONFIG_CURSES=yes" >> $config_mak
|
||||
|
@ -1,26 +0,0 @@
|
||||
--- configure
|
||||
+++ configure
|
||||
@@ -547,11 +549,8 @@
|
||||
mipsel-softmmu \
|
||||
mips64-softmmu \
|
||||
mips64el-softmmu \
|
||||
-ppc-softmmu \
|
||||
-ppcemb-softmmu \
|
||||
-ppc64-softmmu \
|
||||
sh4-softmmu \
|
||||
sh4eb-softmmu \
|
||||
sparc-softmmu \
|
||||
"
|
||||
fi
|
||||
@@ -569,11 +566,8 @@
|
||||
m68k-linux-user \
|
||||
mips-linux-user \
|
||||
mipsel-linux-user \
|
||||
-ppc-linux-user \
|
||||
-ppc64-linux-user \
|
||||
-ppc64abi32-linux-user \
|
||||
sh4-linux-user \
|
||||
sh4eb-linux-user \
|
||||
sparc-linux-user \
|
||||
sparc64-linux-user \
|
||||
sparc32plus-linux-user \
|
@ -2,7 +2,7 @@ Index: Makefile.target
|
||||
================================================================================
|
||||
--- Makefile.target
|
||||
+++ Makefile.target
|
||||
@@ -644,6 +644,9 @@
|
||||
@@ -690,6 +690,9 @@
|
||||
ifdef CONFIG_SLIRP
|
||||
CPPFLAGS+=-I$(SRC_PATH)/slirp
|
||||
endif
|
||||
@ -14,7 +14,7 @@ Index: Makefile.target
|
||||
# specific flags are needed for non soft mmu emulator
|
||||
--- configure
|
||||
+++ configure
|
||||
@@ -92,6 +92,7 @@
|
||||
@@ -160,6 +160,7 @@
|
||||
gdbstub="yes"
|
||||
slirp="yes"
|
||||
vde="yes"
|
||||
@ -22,7 +22,7 @@ Index: Makefile.target
|
||||
fmod_lib=""
|
||||
fmod_inc=""
|
||||
oss_lib=""
|
||||
@@ -296,6 +297,8 @@
|
||||
@@ -392,6 +393,8 @@
|
||||
;;
|
||||
--disable-vde) vde="no"
|
||||
;;
|
||||
@ -31,7 +31,7 @@ Index: Makefile.target
|
||||
--disable-kqemu) kqemu="no"
|
||||
;;
|
||||
--disable-brlapi) brlapi="no"
|
||||
@@ -1204,6 +1207,10 @@
|
||||
@@ -1353,6 +1356,10 @@
|
||||
echo "#define CONFIG_VDE 1" >> $config_h
|
||||
echo "VDE_LIBS=-lvdeplug" >> $config_mak
|
||||
fi
|
||||
@ -42,25 +42,14 @@ Index: Makefile.target
|
||||
for card in $audio_card_list; do
|
||||
def=CONFIG_`echo $card | tr '[:lower:]' '[:upper:]'`
|
||||
echo "$def=yes" >> $config_mak
|
||||
--- vl.c
|
||||
+++ vl.c
|
||||
@@ -106,6 +106,10 @@
|
||||
|
||||
#include "qemu_socket.h"
|
||||
|
||||
+#if defined(CONFIG_PCAP)
|
||||
+#include <pcap.h>
|
||||
+#endif
|
||||
+
|
||||
#if defined(CONFIG_SLIRP)
|
||||
#include "libslirp.h"
|
||||
#endif
|
||||
@@ -4305,6 +4309,104 @@
|
||||
--- net.c
|
||||
+++ net.c
|
||||
@@ -689,6 +689,104 @@
|
||||
|
||||
#endif /* CONFIG_SLIRP */
|
||||
|
||||
+#if defined(CONFIG_PCAP)
|
||||
+
|
||||
+#include <pcap.h>
|
||||
+typedef struct PCAPState {
|
||||
+ VLANClientState *vc;
|
||||
+ pcap_t *handle;
|
||||
@ -87,7 +76,7 @@ Index: Makefile.target
|
||||
+ pcap_dispatch(s->handle, 1, (pcap_handler)&pcap_callback, (u_char *)s->vc);
|
||||
+}
|
||||
+
|
||||
+static int net_pcap_init(VLANState *vlan, char *ifname)
|
||||
+static int net_pcap_init(VLANState *vlan, const char *model, const char *name, char *ifname)
|
||||
+{
|
||||
+ PCAPState *s;
|
||||
+ char errbuf[PCAP_ERRBUF_SIZE];
|
||||
@ -136,7 +125,7 @@ Index: Makefile.target
|
||||
+ }
|
||||
+#endif /* BIOCIMMEDIATE */
|
||||
+
|
||||
+ s->vc = qemu_new_vlan_client(vlan, pcap_receive, NULL, s);
|
||||
+ s->vc = qemu_new_vlan_client(vlan, model, name, pcap_receive, NULL, s);
|
||||
+ snprintf(s->vc->info_str, sizeof(s->vc->info_str), "pcap redirector");
|
||||
+ if ((fd = pcap_get_selectable_fd(s->handle)) < 0) {
|
||||
+ fprintf(stderr, "qemu: pcap_get_selectable_fd failed\n");
|
||||
@ -160,30 +149,35 @@ Index: Makefile.target
|
||||
#if !defined(_WIN32)
|
||||
|
||||
typedef struct TAPState {
|
||||
@@ -5235,6 +5337,15 @@
|
||||
ret = net_slirp_init(vlan);
|
||||
} else
|
||||
#endif
|
||||
@@ -1656,7 +1754,17 @@
|
||||
}
|
||||
vlan->nb_host_devs++;
|
||||
ret = net_slirp_init(vlan, device, name);
|
||||
- } else if (!strcmp(device, "channel")) {
|
||||
+ } else
|
||||
+#ifdef CONFIG_PCAP
|
||||
+ if (!strcmp(device, "pcap")) {
|
||||
+ char ifname[64];
|
||||
+ if (get_param_value(ifname, sizeof(ifname), "ifname", p) <= 0)
|
||||
+ ret = net_pcap_init(vlan, NULL);
|
||||
+ ret = net_pcap_init(vlan, device, name, NULL);
|
||||
+ else
|
||||
+ ret = net_pcap_init(vlan, ifname);
|
||||
+ ret = net_pcap_init(vlan, device, name, ifname);
|
||||
+ } else
|
||||
+#endif
|
||||
#ifdef _WIN32
|
||||
if (!strcmp(device, "tap")) {
|
||||
char ifname[64];
|
||||
@@ -8108,6 +8219,10 @@
|
||||
" connect the user mode network stack to VLAN 'n' and send\n"
|
||||
" hostname 'host' to DHCP clients\n"
|
||||
+ if (!strcmp(device, "channel")) {
|
||||
long port;
|
||||
char name[20], *devname;
|
||||
struct VMChannel *vmc;
|
||||
--- vl.c
|
||||
+++ vl.c
|
||||
@@ -3990,6 +3994,10 @@
|
||||
" use '[down]script=no' to disable script execution;\n"
|
||||
" use 'fd=h' to connect to an already opened TAP interface\n"
|
||||
#endif
|
||||
+#ifdef CONFIG_PCAP
|
||||
+ "-net pcap[,vlan=n][,ifname=name]\n"
|
||||
+ " connect the host network interface using PCAP to VLAN 'n'\n"
|
||||
+#endif
|
||||
#ifdef _WIN32
|
||||
"-net tap[,vlan=n],ifname=name\n"
|
||||
" connect the host TAP network interface to VLAN 'n'\n"
|
||||
"-net socket[,vlan=n][,name=str][,fd=h][,listen=[host]:port][,connect=host:port]\n"
|
||||
" connect the vlan 'n' to another VLAN using a socket connection\n"
|
||||
"-net socket[,vlan=n][,name=str][,fd=h][,mcast=maddr:port]\n"
|
||||
|
1481
qemu-svn-s390.patch
Normal file
1481
qemu-svn-s390.patch
Normal file
File diff suppressed because it is too large
Load Diff
60
qemu.changes
60
qemu.changes
@ -1,3 +1,63 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Mar 27 12:20:21 CET 2009 - crrodriguez@suse.de
|
||||
|
||||
- BuildRequire zlib-devel-static
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Mar 24 15:33:47 CET 2009 - uli@suse.de
|
||||
|
||||
- update -> release (0.10.1)
|
||||
- fixes bnc #435135 (CVE-2008-4539, SWAMP #22179), #362956
|
||||
(CVE-2008-1945, CVE-2008-0928), #461565 (CVE-2008-2382)
|
||||
- Kernel Virtual Machine acceleration support
|
||||
- GDB XML register description support
|
||||
- Intel e1000 emulation
|
||||
- HPET emulation
|
||||
- VirtIO paravirtual device support
|
||||
- Marvell 88w8618 / MusicPal emulation
|
||||
- Nokia N-series tablet emulation / OMAP2 processor emulation
|
||||
- PCI hotplug support
|
||||
- Curses display support
|
||||
- qemu-nbd utility to mount supported block formats
|
||||
- Altivec support in PPC emulation and new firmware (OpenBIOS)
|
||||
- Multiple VNC clients are now supported
|
||||
- TLS encryption is now supported in VNC
|
||||
- MIPS Magnum R4000 machine (Hervé Poussineau)
|
||||
- Braille support (Samuel Thibault)
|
||||
- Freecom MusicPal system emulation (Jan Kiszka)
|
||||
- OMAP242x and Nokia N800, N810 machines (Andrzej Zaborowski)
|
||||
- EsounD audio driver (Frederick Reeve)
|
||||
- Gravis Ultrasound GF1 sound card (Tibor "TS" Schütz)
|
||||
- Many, many, bug fixes and new features
|
||||
- virtio-net: allow masking of notifications on empty queue (Alex
|
||||
Williamson)
|
||||
- e1000: fix rx descriptor low threshold logic (Alex Willaimson)
|
||||
- x86 tcg: add NULL checks to lsl instruction (Jan Kiszka)
|
||||
- kvm vga: fix screen corruption with -std-vga and Windows (Avi Kivity)
|
||||
- kvm vga: fix screen corruption with Ubuntu installations (Glauber Costa)
|
||||
- virtio-net: check right return size on sg list (Alex Williamson)
|
||||
- Make qemu_announce_self handle holes (live migration after hotplug)
|
||||
(Marcelo Tosatti)
|
||||
- Revert r6804-r6808 (qcow2 allocation info). This series of changes
|
||||
added a high cost to startup for large qcow2 images (Anthony Liguori)
|
||||
- qemu-img: fix help message (Aurelien Jarno)
|
||||
- Fix build for non-default installs of SDL (Anthony Liguori)
|
||||
- Fix race condition in env->interrupt_request. When using TCG and a
|
||||
dynticks host timer, this condition could cause TCG to get stuck in an
|
||||
infinite loop (Aurelien Jarno)
|
||||
- Fix reading encrypted hard disk passwords during early startup (Jan
|
||||
Kiszka)
|
||||
- Fix encrypted disk reporting in 'info block' (Jan Kiszka)
|
||||
- Fix console size with tiny displays (MusicPal) (Jan Kiszka)
|
||||
- Improve error handling in bdrv_open2 (Jan Kiszka)
|
||||
- Avoid leaking data in mux'ed character devices (Jan Kiszka)
|
||||
- Fix initial character device reset (no banner in monitor) (Jan Kiszka)
|
||||
- Fix cpuid KVM crash on i386 host (Lubomir Rintel)
|
||||
- Fix SLES10sp2 installation by adding ISTAT1 register to LSI SCSI
|
||||
emulation (Ryan Harper)
|
||||
- s390x TCG backend
|
||||
- i386-linux-user NPTL support
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Oct 8 17:03:34 CEST 2008 - uli@suse.de
|
||||
|
||||
|
113
qemu.spec
113
qemu.spec
@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package qemu (Version 0.9.2svn20081008)
|
||||
# spec file for package qemu (Version 0.10.1)
|
||||
#
|
||||
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@ -19,23 +19,19 @@
|
||||
|
||||
|
||||
Name: qemu
|
||||
BuildRequires: SDL-devel bison e2fsprogs-devel libgnutls-devel libpcap-devel ncurses-devel
|
||||
BuildRequires: SDL-devel bison e2fsprogs-devel libgnutls-devel libpcap-devel ncurses-devel zlib-devel-static
|
||||
Url: http://fabrice.bellard.free.fr/qemu/
|
||||
License: BSD 3-Clause; GPL v2 or later; LGPL v2.1 or later; X11/MIT
|
||||
Group: System/Emulators/PC
|
||||
Summary: Universal CPU emulator
|
||||
Version: 0.9.2svn20081008
|
||||
Version: 0.10.1
|
||||
Release: 1
|
||||
Source: %name-20081008.tar.bz2
|
||||
Source: %name-%version.tar.bz2
|
||||
Patch1: qemu-0.9.0.cvs-binfmt.patch
|
||||
Patch6: qemu-0.7.0-amd64.patch
|
||||
Patch8: qemu-cvs-pthread.patch
|
||||
Patch14: qemu-0.7.1-jobsignals.patch
|
||||
#Patch19: qemu-0.9.0-nousbdevfs.patch
|
||||
Patch34: qemu-0.9.0-migration.patch
|
||||
Patch37: qemu-0.9.0-kvm.patch
|
||||
Patch38: qemu-0.9.0-kvm-bios.patch
|
||||
Patch39: qemu-0.9.0-kvm-kqemu-window-caption.patch
|
||||
Patch50: qemu-cvs-newpath.patch
|
||||
Patch53: qemu-cvs-sched_getaffinity.patch
|
||||
Patch56: qemu-cvs-ipc.patch
|
||||
@ -49,21 +45,17 @@ Patch63: qemu-cvs-gettimeofday.patch
|
||||
Patch64: qemu-cvs-nofadvise64.patch
|
||||
Patch65: qemu-cvs-flash.patch
|
||||
Patch66: qemu-cvs-mmap-amd64.patch
|
||||
#Patch67: qemu-cvs-noppcemb.patch
|
||||
Patch69: qemu-cvs-ia64.patch
|
||||
Patch82: qemu-cvs-svm2.patch
|
||||
Patch83: qemu-cvs-ppcspe.patch
|
||||
Patch85: qemu-img-vmdk-scsi.patch
|
||||
Patch86: qemu-svn-ncurses.patch
|
||||
Patch87: qemu-svn-nodyngen.patch
|
||||
Patch88: qemu-svn-pcap.patch
|
||||
Patch90: qemu-nonvoid_return.patch
|
||||
#Patch91: qemu-svn-dirent.patch
|
||||
Source200: kvm_bios.bin
|
||||
Patch92: qemu-svn-s390.patch
|
||||
Patch93: qemu-svn-i386-nptl.patch
|
||||
# this is to make lint happy
|
||||
Source300: rpmlintrc
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
ExclusiveArch: %ix86 ppc sparc x86_64 ia64 s390 ppc64
|
||||
ExclusiveArch: %ix86 ppc sparc %arm x86_64 s390x ppc64
|
||||
|
||||
%description
|
||||
QEMU is an extremely well-performing CPU emulator that allows you to
|
||||
@ -79,12 +71,11 @@ Authors:
|
||||
Fabrice Bellard <fabrice.bellard@free.fr>
|
||||
|
||||
%prep
|
||||
%setup -q -n %name
|
||||
%setup -q
|
||||
ln -s fpu/*.h .
|
||||
%patch1 -p1
|
||||
%patch6
|
||||
%patch8 -p1
|
||||
%patch14
|
||||
#%patch19
|
||||
%patch50 -p1
|
||||
%patch53 -p1
|
||||
@ -99,18 +90,15 @@ ln -s fpu/*.h .
|
||||
%patch64 -p1
|
||||
%patch65 -p1
|
||||
%patch66 -p1
|
||||
#%patch67 -p1
|
||||
%patch69
|
||||
%patch83
|
||||
%patch85 -p1
|
||||
%patch86
|
||||
%patch87
|
||||
%patch88
|
||||
%patch90
|
||||
#%patch91
|
||||
%patch92
|
||||
%patch93
|
||||
|
||||
%build
|
||||
cp -p %SOURCE200 pc-bios/
|
||||
# build QEMU
|
||||
mkdir -p dynamic
|
||||
# build qemu-system without kqemu support
|
||||
@ -118,20 +106,19 @@ mkdir -p dynamic
|
||||
--interp-prefix=/usr/share/qemu/qemu-i386 \
|
||||
--audio-card-list="ac97 adlib cs4231a gus" \
|
||||
--audio-drv-list="alsa sdl" --enable-mixemu \
|
||||
--disable-gcc-check \
|
||||
--extra-cflags="$QEMU_OPT_FLAGS" --enable-system --disable-linux-user
|
||||
make %{?jobs:-j%{jobs}}
|
||||
mv */qemu */qemu-* dynamic || true
|
||||
make %{?jobs:-j%{jobs}} V=1
|
||||
make qemu-img V=1
|
||||
mv */qemu */qemu-* qemu-img dynamic || true
|
||||
make clean
|
||||
# build userland emus
|
||||
./configure --prefix=/usr \
|
||||
--interp-prefix=/usr/share/qemu/qemu-i386 \
|
||||
--enable-linux-user \
|
||||
--disable-system \
|
||||
--static --disable-gcc-check \
|
||||
--static \
|
||||
--extra-cflags="$QEMU_OPT_FLAGS"
|
||||
make %{?jobs:-j%{jobs}}
|
||||
make qemu-img
|
||||
make %{?jobs:-j%{jobs}} V=1
|
||||
|
||||
%install
|
||||
install -d -m 755 $RPM_BUILD_ROOT/usr/bin
|
||||
@ -146,7 +133,7 @@ install -d -m 755 $RPM_BUILD_ROOT/usr/share/qemu
|
||||
install -m 644 pc-bios/*.bin pc-bios/video.x pc-bios/openbios-sparc* $RPM_BUILD_ROOT/usr/share/qemu
|
||||
install -d -m 755 $RPM_BUILD_ROOT/usr/sbin
|
||||
install -m 755 qemu-binfmt-conf.sh $RPM_BUILD_ROOT/usr/sbin
|
||||
install -m 755 qemu-img $RPM_BUILD_ROOT/usr/bin
|
||||
install -m 755 dynamic/qemu-img $RPM_BUILD_ROOT/usr/bin
|
||||
install -d -m 755 $RPM_BUILD_ROOT/usr/share/qemu/keymaps
|
||||
install -m 644 keymaps/[a-z]* $RPM_BUILD_ROOT/usr/share/qemu/keymaps
|
||||
%ifnarch %ix86 x86_64
|
||||
@ -174,6 +161,60 @@ rm -rf ${RPM_BUILD_ROOT}
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Fri Mar 27 2009 crrodriguez@suse.de
|
||||
- BuildRequire zlib-devel-static
|
||||
* Tue Mar 24 2009 uli@suse.de
|
||||
- update -> release (0.10.1)
|
||||
- fixes bnc #435135 (CVE-2008-4539, SWAMP #22179), #362956
|
||||
(CVE-2008-1945, CVE-2008-0928), #461565 (CVE-2008-2382)
|
||||
- Kernel Virtual Machine acceleration support
|
||||
- GDB XML register description support
|
||||
- Intel e1000 emulation
|
||||
- HPET emulation
|
||||
- VirtIO paravirtual device support
|
||||
- Marvell 88w8618 / MusicPal emulation
|
||||
- Nokia N-series tablet emulation / OMAP2 processor emulation
|
||||
- PCI hotplug support
|
||||
- Curses display support
|
||||
- qemu-nbd utility to mount supported block formats
|
||||
- Altivec support in PPC emulation and new firmware (OpenBIOS)
|
||||
- Multiple VNC clients are now supported
|
||||
- TLS encryption is now supported in VNC
|
||||
- MIPS Magnum R4000 machine (Hervé Poussineau)
|
||||
- Braille support (Samuel Thibault)
|
||||
- Freecom MusicPal system emulation (Jan Kiszka)
|
||||
- OMAP242x and Nokia N800, N810 machines (Andrzej Zaborowski)
|
||||
- EsounD audio driver (Frederick Reeve)
|
||||
- Gravis Ultrasound GF1 sound card (Tibor "TS" Schütz)
|
||||
- Many, many, bug fixes and new features
|
||||
- virtio-net: allow masking of notifications on empty queue (Alex
|
||||
Williamson)
|
||||
- e1000: fix rx descriptor low threshold logic (Alex Willaimson)
|
||||
- x86 tcg: add NULL checks to lsl instruction (Jan Kiszka)
|
||||
- kvm vga: fix screen corruption with -std-vga and Windows (Avi Kivity)
|
||||
- kvm vga: fix screen corruption with Ubuntu installations (Glauber Costa)
|
||||
- virtio-net: check right return size on sg list (Alex Williamson)
|
||||
- Make qemu_announce_self handle holes (live migration after hotplug)
|
||||
(Marcelo Tosatti)
|
||||
- Revert r6804-r6808 (qcow2 allocation info). This series of changes
|
||||
added a high cost to startup for large qcow2 images (Anthony Liguori)
|
||||
- qemu-img: fix help message (Aurelien Jarno)
|
||||
- Fix build for non-default installs of SDL (Anthony Liguori)
|
||||
- Fix race condition in env->interrupt_request. When using TCG and a
|
||||
dynticks host timer, this condition could cause TCG to get stuck in an
|
||||
infinite loop (Aurelien Jarno)
|
||||
- Fix reading encrypted hard disk passwords during early startup (Jan
|
||||
Kiszka)
|
||||
- Fix encrypted disk reporting in 'info block' (Jan Kiszka)
|
||||
- Fix console size with tiny displays (MusicPal) (Jan Kiszka)
|
||||
- Improve error handling in bdrv_open2 (Jan Kiszka)
|
||||
- Avoid leaking data in mux'ed character devices (Jan Kiszka)
|
||||
- Fix initial character device reset (no banner in monitor) (Jan Kiszka)
|
||||
- Fix cpuid KVM crash on i386 host (Lubomir Rintel)
|
||||
- Fix SLES10sp2 installation by adding ISTAT1 register to LSI SCSI
|
||||
emulation (Ryan Harper)
|
||||
- s390x TCG backend
|
||||
- i386-linux-user NPTL support
|
||||
* Wed Oct 08 2008 uli@suse.de
|
||||
- update -> current SVN
|
||||
- fixes PPC hosts
|
||||
@ -258,7 +299,7 @@ rm -rf ${RPM_BUILD_ROOT}
|
||||
- disable only SNDRV_SB_CSP_IOCTL_LOAD_CODE for _IOC_SIZEBITS < 14
|
||||
* Thu Aug 09 2007 olh@suse.de
|
||||
- disable some alsa SB ioctl declarations
|
||||
* Tue Aug 07 2007 olh@suse.de
|
||||
* Mon Aug 06 2007 olh@suse.de
|
||||
- remove inclusion of linux/compiler.h
|
||||
* Mon Jul 30 2007 uli@suse.de
|
||||
- fixed for S/390
|
||||
@ -287,7 +328,7 @@ rm -rf ${RPM_BUILD_ROOT}
|
||||
* Thu Jun 14 2007 agraf@suse.de
|
||||
- made wine work (set FS register to 0 on init)
|
||||
- suppressed robust_list warnings
|
||||
* Thu Jun 14 2007 agraf@suse.de
|
||||
* Wed Jun 13 2007 agraf@suse.de
|
||||
- made flash player 9 work on ppc
|
||||
- fixed FUTEX_WAKE_OP on machines where endianness differs
|
||||
- made mmap on x86_64 use the MAP_32BIT flag
|
||||
@ -315,7 +356,7 @@ rm -rf ${RPM_BUILD_ROOT}
|
||||
- applied strace patch for debugging (by Stuart R. Anderson)
|
||||
* Wed Apr 04 2007 agraf@suse.de
|
||||
- fixed initrd loading on x86
|
||||
* Fri Mar 30 2007 ro@suse.de
|
||||
* Thu Mar 29 2007 ro@suse.de
|
||||
- added bison to BuildRequires
|
||||
* Tue Feb 20 2007 uli@suse.de
|
||||
- added better fix by Robert Schiele (bug #241950)
|
||||
@ -368,9 +409,9 @@ rm -rf ${RPM_BUILD_ROOT}
|
||||
* Wed Mar 08 2006 uli@suse.de
|
||||
- split giant patch
|
||||
- added NWFPE glue code fix
|
||||
* Wed Mar 08 2006 schwab@suse.de
|
||||
- More fixes for ia64 port.
|
||||
* Tue Mar 07 2006 schwab@suse.de
|
||||
- More fixes for ia64 port.
|
||||
* Mon Mar 06 2006 schwab@suse.de
|
||||
- Remove obsolete hunk from ia64 patch.
|
||||
* Wed Jan 25 2006 mls@suse.de
|
||||
- converted neededforbuild to BuildRequires
|
||||
@ -386,7 +427,7 @@ rm -rf ${RPM_BUILD_ROOT}
|
||||
- updated linker scripts for new binutils release
|
||||
* Sat Sep 17 2005 dmueller@suse.de
|
||||
- update to 0.7.2
|
||||
* Tue Aug 16 2005 schwab@suse.de
|
||||
* Mon Aug 15 2005 schwab@suse.de
|
||||
- Don't package /emul/ia32-linux on ia64.
|
||||
* Mon Aug 15 2005 schwab@suse.de
|
||||
- Fix compilation on ia64.
|
||||
|
Loading…
Reference in New Issue
Block a user