- Set Epoch to 1

- Build KVM (basic build, no tools yet)
- Set ppc in ExcludeArch. This is temporary, just to fix one issue at a
    time. ppc users (IBM ? ;-)) please wait a little bit.
This commit is contained in:
Glauber Costa 2009-03-03 23:57:07 +00:00
parent 42af21203a
commit 8571d06737
13 changed files with 452 additions and 199 deletions

View File

@ -1 +1 @@
qemu-1.0.tar.gz
kvm-84.git-snapshot-20090303.tar.gz

87
kvm-fix-strayR.patch Normal file
View File

@ -0,0 +1,87 @@
Newer gcc versions support a R"..." construct, so we can't use
"abc"R"def" constructs without any space between R and the quotes,
when using -std=gnu99 (that is used by the user/test code).
This fixes this error:
test/x86/vmexit.c:34:26: error: invalid character ' ' in raw string
delimiter
test/x86/vmexit.c: In function main:
test/x86/vmexit.c:34: error: stray R in program
test/x86/vmexit.c:34:46: error: invalid character '
' in raw string delimiter
test/x86/vmexit.c:34: error: expected : or ) before string constant
test/x86/vmexit.c:34: error: stray R in program
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
---
user/test/x86/apic.c | 32 ++++++++++++++++----------------
user/test/x86/vmexit.c | 2 +-
2 files changed, 17 insertions(+), 17 deletions(-)
diff --git a/user/test/x86/apic.c b/user/test/x86/apic.c
index 9c6205b..2d963dc 100644
--- a/user/test/x86/apic.c
+++ b/user/test/x86/apic.c
@@ -54,14 +54,14 @@ asm (
"push %r9 \n\t"
"push %r8 \n\t"
#endif
- "push %"R"di \n\t"
- "push %"R"si \n\t"
- "push %"R"bp \n\t"
- "push %"R"sp \n\t"
- "push %"R"bx \n\t"
- "push %"R"dx \n\t"
- "push %"R"cx \n\t"
- "push %"R"ax \n\t"
+ "push %" R "di \n\t"
+ "push %" R "si \n\t"
+ "push %" R "bp \n\t"
+ "push %" R "sp \n\t"
+ "push %" R "bx \n\t"
+ "push %" R "dx \n\t"
+ "push %" R "cx \n\t"
+ "push %" R "ax \n\t"
#ifdef __x86_64__
"mov %rsp, %rdi \n\t"
"callq *8*16(%rsp) \n\t"
@@ -70,14 +70,14 @@ asm (
"calll *4+4*8(%esp) \n\t"
"add $4, %esp \n\t"
#endif
- "pop %"R"ax \n\t"
- "pop %"R"cx \n\t"
- "pop %"R"dx \n\t"
- "pop %"R"bx \n\t"
- "pop %"R"bp \n\t"
- "pop %"R"bp \n\t"
- "pop %"R"si \n\t"
- "pop %"R"di \n\t"
+ "pop %" R "ax \n\t"
+ "pop %" R "cx \n\t"
+ "pop %" R "dx \n\t"
+ "pop %" R "bx \n\t"
+ "pop %" R "bp \n\t"
+ "pop %" R "bp \n\t"
+ "pop %" R "si \n\t"
+ "pop %" R "di \n\t"
#ifdef __x86_64__
"pop %r8 \n\t"
"pop %r9 \n\t"
diff --git a/user/test/x86/vmexit.c b/user/test/x86/vmexit.c
index bd57bfa..7339e2b 100644
--- a/user/test/x86/vmexit.c
+++ b/user/test/x86/vmexit.c
@@ -31,7 +31,7 @@ int main()
t1 = rdtsc();
for (i = 0; i < N; ++i)
- asm volatile ("push %%"R"bx; cpuid; pop %%"R"bx"
+ asm volatile ("push %%" R "bx; cpuid; pop %%" R "bx"
: : : "eax", "ecx", "edx");
t2 = rdtsc();
printf("vmexit latency: %d\n", (int)((t2 - t1) / N));
--
1.6.0.2.GIT

58
kvm-upstream-ppc.patch Normal file
View File

@ -0,0 +1,58 @@
From 1efd319579c8f34974d654b0a5ac5144424e693e Mon Sep 17 00:00:00 2001
From: Glauber Costa <glommer@redhat.com>
Date: Fri, 13 Feb 2009 13:00:31 -0500
Subject: [PATCH] use KVM_UPSTREAM for ppc.
ppc should compile with upstream qemu code, so, put these
defines in ppc specific code that references kvm functions.
We don put them in config.h in this case, since there are
files (like vl.c) that includes both kvm.h and qemu-kvm.h,
and would break compilation.
Signed-off-by: Glauber Costa <glommer@redhat.com>
---
qemu/hw/ppc440.c | 1 +
qemu/hw/ppc440_bamboo.c | 1 +
qemu/target-ppc/helper.c | 1 +
3 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/qemu/hw/ppc440.c b/qemu/hw/ppc440.c
index 00d82e4..164c326 100644
--- a/qemu/hw/ppc440.c
+++ b/qemu/hw/ppc440.c
@@ -18,6 +18,7 @@
#include "ppc440.h"
#include "ppc405.h"
#include "sysemu.h"
+#define KVM_UPSTREAM
#include "kvm.h"
#define PPC440EP_PCI_CONFIG 0xeec00000
diff --git a/qemu/hw/ppc440_bamboo.c b/qemu/hw/ppc440_bamboo.c
index fbd447c..60ddaf4 100644
--- a/qemu/hw/ppc440_bamboo.c
+++ b/qemu/hw/ppc440_bamboo.c
@@ -21,6 +21,7 @@
#include "boards.h"
#include "sysemu.h"
#include "ppc440.h"
+#define KVM_UPSTREAM
#include "kvm.h"
#include "kvm_ppc.h"
#include "device_tree.h"
diff --git a/qemu/target-ppc/helper.c b/qemu/target-ppc/helper.c
index fc62a63..d49acaf 100644
--- a/qemu/target-ppc/helper.c
+++ b/qemu/target-ppc/helper.c
@@ -29,6 +29,7 @@
#include "exec-all.h"
#include "helper_regs.h"
#include "qemu-common.h"
+#define KVM_UPSTREAM
#include "kvm.h"
//#define DEBUG_MMU
--
1.5.6.5

View File

@ -22,9 +22,10 @@ this patch.
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
diff -r ff004fb525e7 vnc.c
--- a/vnc.c Thu Feb 19 11:26:55 2009 +0000
+++ b/vnc.c Thu Feb 19 11:27:44 2009 +0000
Index: kvm-84.git-snapshot-20090303/qemu/vnc.c
===================================================================
--- kvm-84.git-snapshot-20090303.orig/qemu/vnc.c
+++ kvm-84.git-snapshot-20090303/qemu/vnc.c
@@ -2096,14 +2096,6 @@ static int protocol_client_vencrypt_auth
VNC_DEBUG("Failed to complete TLS\n");
return 0;

View File

@ -38,9 +38,10 @@ important.
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
diff -r 4dbf24b567c4 vnc.c
--- a/vnc.c Thu Feb 19 11:27:44 2009 +0000
+++ b/vnc.c Thu Feb 19 11:53:31 2009 +0000
Index: kvm-84.git-snapshot-20090303/qemu/vnc.c
===================================================================
--- kvm-84.git-snapshot-20090303.orig/qemu/vnc.c
+++ kvm-84.git-snapshot-20090303/qemu/vnc.c
@@ -166,19 +166,136 @@ struct VncState
static VncDisplay *vnc_display; /* needed for info vnc */
static DisplayChangeListener *dcl;
@ -158,16 +159,17 @@ diff -r 4dbf24b567c4 vnc.c
- term_printf("VNC server active on: ");
- term_print_filename(vnc_display->display);
- term_printf("\n");
-
- if (vnc_display->clients == NULL)
- term_printf("No client connected\n");
- else
- term_printf("Client connected\n");
+ if (vnc_display == NULL || vnc_display->display == NULL) {
+ term_printf("Server: disabled\n");
+ } else {
+ char *serverAddr = vnc_socket_local_addr(" address: %s:%s\n",
+ vnc_display->lsock);
- if (vnc_display->clients == NULL)
- term_printf("No client connected\n");
- else
- term_printf("Client connected\n");
+
+ if (!serverAddr)
+ return;
+

View File

@ -20,10 +20,11 @@ causing clashing definitions.
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
diff -r 9ccd7a5b0382 Makefile
--- a/Makefile Thu Feb 19 11:54:21 2009 +0000
+++ b/Makefile Thu Feb 19 13:15:19 2009 +0000
@@ -137,6 +137,7 @@ endif
Index: kvm-84.git-snapshot-20090303/qemu/Makefile
===================================================================
--- kvm-84.git-snapshot-20090303.orig/qemu/Makefile
+++ kvm-84.git-snapshot-20090303/qemu/Makefile
@@ -141,6 +141,7 @@ endif
AUDIO_OBJS+= wavcapture.o
OBJS+=$(addprefix audio/, $(AUDIO_OBJS))
@ -31,7 +32,7 @@ diff -r 9ccd7a5b0382 Makefile
ifdef CONFIG_SDL
OBJS+=sdl.o x_keymap.o
endif
@@ -161,15 +162,17 @@ LIBS+=$(VDE_LIBS)
@@ -165,15 +166,17 @@ LIBS+=$(VDE_LIBS)
cocoa.o: cocoa.m
@ -52,9 +53,10 @@ diff -r 9ccd7a5b0382 Makefile
bt-host.o: CFLAGS += $(CONFIG_BLUEZ_CFLAGS)
diff -r 9ccd7a5b0382 curses.c
--- a/curses.c Thu Feb 19 11:54:21 2009 +0000
+++ b/curses.c Thu Feb 19 13:15:19 2009 +0000
Index: kvm-84.git-snapshot-20090303/qemu/curses.c
===================================================================
--- kvm-84.git-snapshot-20090303.orig/qemu/curses.c
+++ kvm-84.git-snapshot-20090303/qemu/curses.c
@@ -158,7 +158,6 @@ static void curses_cursor_position(Displ
/* generic keyboard conversion */
@ -72,9 +74,10 @@ diff -r 9ccd7a5b0382 curses.c
if (!kbd_layout)
exit(1);
}
diff -r 9ccd7a5b0382 curses_keys.h
--- a/curses_keys.h Thu Feb 19 11:54:21 2009 +0000
+++ b/curses_keys.h Thu Feb 19 13:15:19 2009 +0000
Index: kvm-84.git-snapshot-20090303/qemu/curses_keys.h
===================================================================
--- kvm-84.git-snapshot-20090303.orig/qemu/curses_keys.h
+++ kvm-84.git-snapshot-20090303/qemu/curses_keys.h
@@ -21,6 +21,10 @@
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
@ -98,9 +101,10 @@ diff -r 9ccd7a5b0382 curses_keys.h
static const name2keysym_t name2keysym[] = {
/* Plain ASCII */
{ "space", 0x020 },
diff -r 9ccd7a5b0382 keymaps.c
--- a/keymaps.c Thu Feb 19 11:54:21 2009 +0000
+++ b/keymaps.c Thu Feb 19 13:15:19 2009 +0000
Index: kvm-84.git-snapshot-20090303/qemu/keymaps.c
===================================================================
--- kvm-84.git-snapshot-20090303.orig/qemu/keymaps.c
+++ kvm-84.git-snapshot-20090303/qemu/keymaps.c
@@ -22,34 +22,20 @@
* THE SOFTWARE.
*/
@ -206,9 +210,10 @@ diff -r 9ccd7a5b0382 keymaps.c
{
kbd_layout_t *k = kbd_layout;
struct key_range *kr;
diff -r 9ccd7a5b0382 keymaps.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/keymaps.h Thu Feb 19 13:15:19 2009 +0000
Index: kvm-84.git-snapshot-20090303/qemu/keymaps.h
===================================================================
--- /dev/null
+++ kvm-84.git-snapshot-20090303/qemu/keymaps.h
@@ -0,0 +1,60 @@
+/*
+ * QEMU keysym to keycode conversion using rdesktop keymaps
@ -270,9 +275,10 @@ diff -r 9ccd7a5b0382 keymaps.h
+int keysym_is_numlock(void *kbd_layout, int keysym);
+
+#endif /* __QEMU_KEYMAPS_H__ */
diff -r 9ccd7a5b0382 sdl.c
--- a/sdl.c Thu Feb 19 11:54:21 2009 +0000
+++ b/sdl.c Thu Feb 19 13:15:19 2009 +0000
Index: kvm-84.git-snapshot-20090303/qemu/sdl.c
===================================================================
--- kvm-84.git-snapshot-20090303.orig/qemu/sdl.c
+++ kvm-84.git-snapshot-20090303/qemu/sdl.c
@@ -107,7 +107,6 @@ static void sdl_resize(DisplayState *ds)
/* generic keyboard conversion */
@ -290,9 +296,10 @@ diff -r 9ccd7a5b0382 sdl.c
if (!kbd_layout)
exit(1);
}
diff -r 9ccd7a5b0382 sdl_keysym.h
--- a/sdl_keysym.h Thu Feb 19 11:54:21 2009 +0000
+++ b/sdl_keysym.h Thu Feb 19 13:15:19 2009 +0000
Index: kvm-84.git-snapshot-20090303/qemu/sdl_keysym.h
===================================================================
--- kvm-84.git-snapshot-20090303.orig/qemu/sdl_keysym.h
+++ kvm-84.git-snapshot-20090303/qemu/sdl_keysym.h
@@ -1,7 +1,6 @@
-typedef struct {
- const char* name;
@ -304,9 +311,10 @@ diff -r 9ccd7a5b0382 sdl_keysym.h
static const name2keysym_t name2keysym[]={
/* ascii */
{ "space", 0x020},
diff -r 9ccd7a5b0382 vnc.c
--- a/vnc.c Thu Feb 19 11:54:21 2009 +0000
+++ b/vnc.c Thu Feb 19 13:15:19 2009 +0000
Index: kvm-84.git-snapshot-20090303/qemu/vnc.c
===================================================================
--- kvm-84.git-snapshot-20090303.orig/qemu/vnc.c
+++ kvm-84.git-snapshot-20090303/qemu/vnc.c
@@ -35,7 +35,6 @@
#include "vnc.h"
@ -327,9 +335,10 @@ diff -r 9ccd7a5b0382 vnc.c
if (!vs->kbd_layout)
exit(1);
diff -r 9ccd7a5b0382 vnc_keysym.h
--- a/vnc_keysym.h Thu Feb 19 11:54:21 2009 +0000
+++ b/vnc_keysym.h Thu Feb 19 13:15:19 2009 +0000
Index: kvm-84.git-snapshot-20090303/qemu/vnc_keysym.h
===================================================================
--- kvm-84.git-snapshot-20090303.orig/qemu/vnc_keysym.h
+++ kvm-84.git-snapshot-20090303/qemu/vnc_keysym.h
@@ -1,7 +1,6 @@
-typedef struct {
- const char* name;

View File

@ -9,9 +9,10 @@ and SASL auth mechanisms to be moved out of the main vnc.c file.
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
diff -r 216ec7d1e30f vnc.c
--- a/vnc.c Thu Feb 19 13:15:19 2009 +0000
+++ b/vnc.c Thu Feb 19 13:25:09 2009 +0000
Index: kvm-84.git-snapshot-20090303/qemu/vnc.c
===================================================================
--- kvm-84.git-snapshot-20090303.orig/qemu/vnc.c
+++ kvm-84.git-snapshot-20090303/qemu/vnc.c
@@ -3,6 +3,7 @@
*
* Copyright (C) 2006 Anthony Liguori <anthony@codemonkey.ws>
@ -151,9 +152,10 @@ diff -r 216ec7d1e30f vnc.c
static VncDisplay *vnc_display; /* needed for info vnc */
static DisplayChangeListener *dcl;
diff -r 216ec7d1e30f vnc.h
--- a/vnc.h Thu Feb 19 13:15:19 2009 +0000
+++ b/vnc.h Thu Feb 19 13:25:09 2009 +0000
Index: kvm-84.git-snapshot-20090303/qemu/vnc.h
===================================================================
--- kvm-84.git-snapshot-20090303.orig/qemu/vnc.h
+++ kvm-84.git-snapshot-20090303/qemu/vnc.h
@@ -1,5 +1,148 @@
-#ifndef __VNCTIGHT_H
-#define __VNCTIGHT_H

View File

@ -35,10 +35,11 @@ gnutls_send/recv.
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
diff -r dfa890dd7417 Makefile
--- a/Makefile Mon Feb 23 13:05:49 2009 +0000
+++ b/Makefile Mon Feb 23 13:06:22 2009 +0000
@@ -145,6 +145,9 @@ ifdef CONFIG_CURSES
Index: kvm-84.git-snapshot-20090303/qemu/Makefile
===================================================================
--- kvm-84.git-snapshot-20090303.orig/qemu/Makefile
+++ kvm-84.git-snapshot-20090303/qemu/Makefile
@@ -149,6 +149,9 @@ ifdef CONFIG_CURSES
OBJS+=curses.o
endif
OBJS+=vnc.o d3des.o
@ -48,7 +49,7 @@ diff -r dfa890dd7417 Makefile
ifdef CONFIG_COCOA
OBJS+=cocoa.o
@@ -168,10 +171,16 @@ sdl.o: sdl.c keymaps.h sdl_keysym.h
@@ -172,10 +175,16 @@ sdl.o: sdl.c keymaps.h sdl_keysym.h
sdl.o audio/sdlaudio.o: CFLAGS += $(SDL_CFLAGS)
@ -66,9 +67,10 @@ diff -r dfa890dd7417 Makefile
curses.o: curses.c keymaps.h curses_keys.h
bt-host.o: CFLAGS += $(CONFIG_BLUEZ_CFLAGS)
diff -r dfa890dd7417 vnc-auth-vencrypt.c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/vnc-auth-vencrypt.c Mon Feb 23 13:06:22 2009 +0000
Index: kvm-84.git-snapshot-20090303/qemu/vnc-auth-vencrypt.c
===================================================================
--- /dev/null
+++ kvm-84.git-snapshot-20090303/qemu/vnc-auth-vencrypt.c
@@ -0,0 +1,167 @@
+/*
+ * QEMU VNC display driver: VeNCrypt authentication setup
@ -237,9 +239,10 @@ diff -r dfa890dd7417 vnc-auth-vencrypt.c
+ vnc_read_when(vs, protocol_client_vencrypt_init, 2);
+}
+
diff -r dfa890dd7417 vnc-auth-vencrypt.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/vnc-auth-vencrypt.h Mon Feb 23 13:06:22 2009 +0000
Index: kvm-84.git-snapshot-20090303/qemu/vnc-auth-vencrypt.h
===================================================================
--- /dev/null
+++ kvm-84.git-snapshot-20090303/qemu/vnc-auth-vencrypt.h
@@ -0,0 +1,33 @@
+/*
+ * QEMU VNC display driver
@ -274,9 +277,10 @@ diff -r dfa890dd7417 vnc-auth-vencrypt.h
+void start_auth_vencrypt(VncState *vs);
+
+#endif /* __QEMU_VNC_AUTH_VENCRYPT_H__ */
diff -r dfa890dd7417 vnc-tls.c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/vnc-tls.c Mon Feb 23 13:06:22 2009 +0000
Index: kvm-84.git-snapshot-20090303/qemu/vnc-tls.c
===================================================================
--- /dev/null
+++ kvm-84.git-snapshot-20090303/qemu/vnc-tls.c
@@ -0,0 +1,414 @@
+/*
+ * QEMU VNC display driver: TLS helpers
@ -692,9 +696,10 @@ diff -r dfa890dd7417 vnc-tls.c
+ return -1;
+}
+
diff -r dfa890dd7417 vnc-tls.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/vnc-tls.h Mon Feb 23 13:06:22 2009 +0000
Index: kvm-84.git-snapshot-20090303/qemu/vnc-tls.h
===================================================================
--- /dev/null
+++ kvm-84.git-snapshot-20090303/qemu/vnc-tls.h
@@ -0,0 +1,70 @@
+/*
+ * QEMU VNC display driver. TLS helpers
@ -766,9 +771,10 @@ diff -r dfa890dd7417 vnc-tls.h
+
+#endif /* __QEMU_VNC_TLS_H__ */
+
diff -r dfa890dd7417 vnc.c
--- a/vnc.c Mon Feb 23 13:05:49 2009 +0000
+++ b/vnc.c Mon Feb 23 13:06:22 2009 +0000
Index: kvm-84.git-snapshot-20090303/qemu/vnc.c
===================================================================
--- kvm-84.git-snapshot-20090303.orig/qemu/vnc.c
+++ kvm-84.git-snapshot-20090303/qemu/vnc.c
@@ -34,21 +34,6 @@
#include "vnc_keysym.h"
#include "d3des.h"
@ -1016,9 +1022,9 @@ diff -r dfa890dd7417 vnc.c
vnc_read_when(vs, protocol_client_auth_vnc, sizeof(vs->challenge));
- return 0;
}
-}
-
-
-#ifdef CONFIG_VNC_TLS
-#define DH_BITS 1024
-static gnutls_dh_params_t dh_params;
@ -1062,9 +1068,9 @@ diff -r dfa890dd7417 vnc.c
- gnutls_anon_set_server_dh_params(anon_cred, dh_params);
-
- return anon_cred;
-}
-
-
}
-static gnutls_certificate_credentials_t vnc_tls_initialize_x509_cred(VncState *vs)
-{
- gnutls_certificate_credentials_t x509_cred;
@ -1544,10 +1550,11 @@ diff -r dfa890dd7417 vnc.c
fprintf(stderr, "Failed to find x509 certificates/keys in %s\n", path);
qemu_free(path);
qemu_free(vs->display);
diff -r dfa890dd7417 vnc.h
--- a/vnc.h Mon Feb 23 13:05:49 2009 +0000
+++ b/vnc.h Mon Feb 23 13:06:22 2009 +0000
@@ -32,12 +32,15 @@
Index: kvm-84.git-snapshot-20090303/qemu/vnc.h
===================================================================
--- kvm-84.git-snapshot-20090303.orig/qemu/vnc.h
+++ kvm-84.git-snapshot-20090303/qemu/vnc.h
@@ -32,13 +32,16 @@
#include "audio/audio.h"
#include <zlib.h>
@ -1555,9 +1562,9 @@ diff -r dfa890dd7417 vnc.h
-#include <gnutls/gnutls.h>
-#include <gnutls/x509.h>
-#endif /* CONFIG_VNC_TLS */
+#include "keymaps.h"
-
#include "keymaps.h"
-#include "keymaps.h"
+// #define _VNC_DEBUG 1
+
+#ifdef _VNC_DEBUG
@ -1565,9 +1572,10 @@ diff -r dfa890dd7417 vnc.h
+#else
+#define VNC_DEBUG(fmt, ...) do { } while (0)
+#endif
+
/*****************************************************************************
*
* Core data structures
@@ -72,6 +75,11 @@ typedef void VncSendHextileTile(VncState
typedef struct VncDisplay VncDisplay;

View File

@ -75,10 +75,11 @@ if found, unless --disable-vnc-sasl was given to override it.
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
diff -r 6981d4d832a9 Makefile
--- a/Makefile Mon Mar 02 11:13:33 2009 +0000
+++ b/Makefile Mon Mar 02 11:13:38 2009 +0000
@@ -148,6 +148,9 @@ OBJS+=vnc.o d3des.o
Index: kvm-84.git-snapshot-20090303/qemu/Makefile
===================================================================
--- kvm-84.git-snapshot-20090303.orig/qemu/Makefile
+++ kvm-84.git-snapshot-20090303/qemu/Makefile
@@ -152,6 +152,9 @@ OBJS+=vnc.o d3des.o
ifdef CONFIG_VNC_TLS
OBJS+=vnc-tls.o vnc-auth-vencrypt.o
endif
@ -88,7 +89,7 @@ diff -r 6981d4d832a9 Makefile
ifdef CONFIG_COCOA
OBJS+=cocoa.o
@@ -171,7 +174,7 @@ sdl.o: sdl.c keymaps.h sdl_keysym.h
@@ -175,7 +178,7 @@ sdl.o: sdl.c keymaps.h sdl_keysym.h
sdl.o audio/sdlaudio.o: CFLAGS += $(SDL_CFLAGS)
@ -97,7 +98,7 @@ diff -r 6981d4d832a9 Makefile
vnc.o: vnc.c vnc.h vnc_keysym.h vnchextile.h d3des.c d3des.h
@@ -181,6 +184,8 @@ vnc-tls.o: vnc-tls.c vnc.h
@@ -185,6 +188,8 @@ vnc-tls.o: vnc-tls.c vnc.h
vnc-auth-vencrypt.o: vnc-auth-vencrypt.c vnc.h
@ -106,10 +107,11 @@ diff -r 6981d4d832a9 Makefile
curses.o: curses.c keymaps.h curses_keys.h
bt-host.o: CFLAGS += $(CONFIG_BLUEZ_CFLAGS)
diff -r 6981d4d832a9 Makefile.target
--- a/Makefile.target Mon Mar 02 11:13:33 2009 +0000
+++ b/Makefile.target Mon Mar 02 11:13:38 2009 +0000
@@ -554,6 +554,11 @@ CPPFLAGS += $(CONFIG_VNC_TLS_CFLAGS)
Index: kvm-84.git-snapshot-20090303/qemu/Makefile.target
===================================================================
--- kvm-84.git-snapshot-20090303.orig/qemu/Makefile.target
+++ kvm-84.git-snapshot-20090303/qemu/Makefile.target
@@ -613,6 +613,11 @@ CPPFLAGS += $(CONFIG_VNC_TLS_CFLAGS)
LIBS += $(CONFIG_VNC_TLS_LIBS)
endif
@ -121,9 +123,10 @@ diff -r 6981d4d832a9 Makefile.target
ifdef CONFIG_BLUEZ
LIBS += $(CONFIG_BLUEZ_LIBS)
endif
diff -r 6981d4d832a9 configure
--- a/configure Mon Mar 02 11:13:33 2009 +0000
+++ b/configure Mon Mar 02 11:13:38 2009 +0000
Index: kvm-84.git-snapshot-20090303/qemu/configure
===================================================================
--- kvm-84.git-snapshot-20090303.orig/qemu/configure
+++ kvm-84.git-snapshot-20090303/qemu/configure
@@ -164,6 +164,7 @@ fmod_lib=""
fmod_inc=""
oss_lib=""
@ -132,7 +135,7 @@ diff -r 6981d4d832a9 configure
bsd="no"
linux="no"
solaris="no"
@@ -387,6 +388,8 @@ for opt do
@@ -403,6 +404,8 @@ for opt do
;;
--disable-vnc-tls) vnc_tls="no"
;;
@ -141,7 +144,7 @@ diff -r 6981d4d832a9 configure
--disable-slirp) slirp="no"
;;
--disable-vde) vde="no"
@@ -544,6 +547,7 @@ echo " Availab
@@ -562,6 +565,7 @@ echo " Availab
echo " --enable-mixemu enable mixer emulation"
echo " --disable-brlapi disable BrlAPI"
echo " --disable-vnc-tls disable TLS encryption for VNC server"
@ -149,7 +152,7 @@ diff -r 6981d4d832a9 configure
echo " --disable-curses disable curses output"
echo " --disable-bluez disable bluez stack connectivity"
echo " --disable-kvm disable KVM acceleration support"
@@ -823,6 +827,25 @@ EOF
@@ -874,6 +878,25 @@ EOF
fi
##########################################
@ -175,7 +178,7 @@ diff -r 6981d4d832a9 configure
# vde libraries probe
if test "$vde" = "yes" ; then
cat > $TMPC << EOF
@@ -1130,6 +1153,11 @@ if test "$vnc_tls" = "yes" ; then
@@ -1208,6 +1231,11 @@ if test "$vnc_tls" = "yes" ; then
echo " TLS CFLAGS $vnc_tls_cflags"
echo " TLS LIBS $vnc_tls_libs"
fi
@ -187,7 +190,7 @@ diff -r 6981d4d832a9 configure
if test -n "$sparc_cpu"; then
echo "Target Sparc Arch $sparc_cpu"
fi
@@ -1371,6 +1399,12 @@ if test "$vnc_tls" = "yes" ; then
@@ -1451,6 +1479,12 @@ if test "$vnc_tls" = "yes" ; then
echo "CONFIG_VNC_TLS_LIBS=$vnc_tls_libs" >> $config_mak
echo "#define CONFIG_VNC_TLS 1" >> $config_h
fi
@ -200,10 +203,11 @@ diff -r 6981d4d832a9 configure
qemu_version=`head $source_path/VERSION`
echo "VERSION=$qemu_version" >>$config_mak
echo "#define QEMU_VERSION \"$qemu_version\"" >> $config_h
diff -r 6981d4d832a9 qemu-doc.texi
--- a/qemu-doc.texi Mon Mar 02 11:13:33 2009 +0000
+++ b/qemu-doc.texi Mon Mar 02 11:13:38 2009 +0000
@@ -616,6 +616,21 @@ path following this option specifies whe
Index: kvm-84.git-snapshot-20090303/qemu/qemu-doc.texi
===================================================================
--- kvm-84.git-snapshot-20090303.orig/qemu/qemu-doc.texi
+++ kvm-84.git-snapshot-20090303/qemu/qemu-doc.texi
@@ -624,6 +624,21 @@ path following this option specifies whe
be loaded from. See the @ref{vnc_security} section for details on generating
certificates.
@ -225,7 +229,7 @@ diff -r 6981d4d832a9 qemu-doc.texi
@end table
@end table
@@ -2061,7 +2076,10 @@ considerations depending on the deployme
@@ -2058,7 +2073,10 @@ considerations depending on the deployme
* vnc_sec_certificate::
* vnc_sec_certificate_verify::
* vnc_sec_certificate_pw::
@ -236,7 +240,7 @@ diff -r 6981d4d832a9 qemu-doc.texi
@end menu
@node vnc_sec_none
@subsection Without passwords
@@ -2144,6 +2162,41 @@ Password: ********
@@ -2141,6 +2159,41 @@ Password: ********
(qemu)
@end example
@ -278,7 +282,7 @@ diff -r 6981d4d832a9 qemu-doc.texi
@node vnc_generate_cert
@subsection Generating certificates for VNC
@@ -2255,6 +2308,50 @@ EOF
@@ -2252,6 +2305,50 @@ EOF
The @code{client-key.pem} and @code{client-cert.pem} files should now be securely
copied to the client for which they were generated.
@ -329,9 +333,10 @@ diff -r 6981d4d832a9 qemu-doc.texi
@node gdb_usage
@section GDB usage
diff -r 6981d4d832a9 qemu.sasl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/qemu.sasl Mon Mar 02 11:13:38 2009 +0000
Index: kvm-84.git-snapshot-20090303/qemu/qemu.sasl
===================================================================
--- /dev/null
+++ kvm-84.git-snapshot-20090303/qemu/qemu.sasl
@@ -0,0 +1,34 @@
+# If you want to use the non-TLS socket, then you *must* include
+# the GSSAPI or DIGEST-MD5 mechanisms, because they are the only
@ -367,9 +372,10 @@ diff -r 6981d4d832a9 qemu.sasl
+
+auxprop_plugin: sasldb
+
diff -r 6981d4d832a9 vnc-auth-sasl.c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/vnc-auth-sasl.c Mon Mar 02 11:13:38 2009 +0000
Index: kvm-84.git-snapshot-20090303/qemu/vnc-auth-sasl.c
===================================================================
--- /dev/null
+++ kvm-84.git-snapshot-20090303/qemu/vnc-auth-sasl.c
@@ -0,0 +1,626 @@
+/*
+ * QEMU VNC display driver: SASL auth protocol
@ -997,9 +1003,10 @@ diff -r 6981d4d832a9 vnc-auth-sasl.c
+}
+
+
diff -r 6981d4d832a9 vnc-auth-sasl.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/vnc-auth-sasl.h Mon Mar 02 11:13:38 2009 +0000
Index: kvm-84.git-snapshot-20090303/qemu/vnc-auth-sasl.h
===================================================================
--- /dev/null
+++ kvm-84.git-snapshot-20090303/qemu/vnc-auth-sasl.h
@@ -0,0 +1,67 @@
+/*
+ * QEMU VNC display driver: SASL auth protocol
@ -1068,9 +1075,10 @@ diff -r 6981d4d832a9 vnc-auth-sasl.h
+
+#endif /* __QEMU_VNC_AUTH_SASL_H__ */
+
diff -r 6981d4d832a9 vnc-auth-vencrypt.c
--- a/vnc-auth-vencrypt.c Mon Mar 02 11:13:33 2009 +0000
+++ b/vnc-auth-vencrypt.c Mon Mar 02 11:13:38 2009 +0000
Index: kvm-84.git-snapshot-20090303/qemu/vnc-auth-vencrypt.c
===================================================================
--- kvm-84.git-snapshot-20090303.orig/qemu/vnc-auth-vencrypt.c
+++ kvm-84.git-snapshot-20090303/qemu/vnc-auth-vencrypt.c
@@ -43,8 +43,15 @@ static void start_auth_vencrypt_subauth(
start_auth_vnc(vs);
break;
@ -1098,9 +1106,10 @@ diff -r 6981d4d832a9 vnc-auth-vencrypt.c
static int protocol_client_vencrypt_auth(VncState *vs, uint8_t *data, size_t len)
diff -r 6981d4d832a9 vnc.c
--- a/vnc.c Mon Mar 02 11:13:33 2009 +0000
+++ b/vnc.c Mon Mar 02 11:13:38 2009 +0000
Index: kvm-84.git-snapshot-20090303/qemu/vnc.c
===================================================================
--- kvm-84.git-snapshot-20090303.orig/qemu/vnc.c
+++ kvm-84.git-snapshot-20090303/qemu/vnc.c
@@ -68,7 +68,8 @@ static char *addr_to_string(const char *
return addr;
}
@ -1340,17 +1349,19 @@ diff -r 6981d4d832a9 vnc.c
if (ret < 0) {
if (ret == GNUTLS_E_AGAIN)
errno = EAGAIN;
@@ -932,13 +1025,53 @@ void vnc_client_read(void *opaque)
@@ -932,12 +1025,52 @@ void vnc_client_read(void *opaque)
}
} else
#endif /* CONFIG_VNC_TLS */
- ret = recv(vs->csock, buffer_end(&vs->input), 4096, 0);
- ret = vnc_client_io_error(vs, ret, socket_error());
- if (!ret)
- return;
+ ret = recv(vs->csock, data, datalen, 0);
+ VNC_DEBUG("Read wire %p %d -> %ld\n", data, datalen, ret);
+ return vnc_client_io_error(vs, ret, socket_error());
+}
+
+
+/*
+ * Called to read data from the client socket to the input buffer,
@ -1369,7 +1380,7 @@ diff -r 6981d4d832a9 vnc.c
+ ret = vnc_client_read_buf(vs, buffer_end(&vs->input), 4096);
+ if (!ret)
+ return 0;
+ vs->input.offset += ret;
vs->input.offset += ret;
+ return ret;
+}
+
@ -1390,14 +1401,11 @@ diff -r 6981d4d832a9 vnc.c
+ else
+#endif /* CONFIG_VNC_SASL */
+ ret = vnc_client_read_plain(vs);
if (!ret)
return;
+ if (!ret)
+ return;
- vs->input.offset += ret;
-
while (vs->read_handler && vs->input.offset >= vs->read_handler_expect) {
size_t len = vs->read_handler_expect;
int ret;
@@ -1722,6 +1855,13 @@ static int protocol_client_auth(VncState
break;
#endif /* CONFIG_VNC_TLS */
@ -1511,9 +1519,10 @@ diff -r 6981d4d832a9 vnc.c
if (reverse) {
/* connect to viewer */
if (strncmp(display, "unix:", 5) == 0)
diff -r 6981d4d832a9 vnc.h
--- a/vnc.h Mon Mar 02 11:13:33 2009 +0000
+++ b/vnc.h Mon Mar 02 11:13:38 2009 +0000
Index: kvm-84.git-snapshot-20090303/qemu/vnc.h
===================================================================
--- kvm-84.git-snapshot-20090303.orig/qemu/vnc.h
+++ kvm-84.git-snapshot-20090303/qemu/vnc.h
@@ -79,6 +79,10 @@ typedef struct VncDisplay VncDisplay;
#include "vnc-tls.h"
#include "vnc-auth-vencrypt.h"

View File

@ -29,9 +29,10 @@ Auth can be stacked, so both username & x509 dname may be shown.
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
diff -r 440be37a35ea vnc-tls.c
--- a/vnc-tls.c Fri Feb 20 11:46:26 2009 +0000
+++ b/vnc-tls.c Fri Feb 20 11:47:52 2009 +0000
Index: kvm-84.git-snapshot-20090303/qemu/vnc-tls.c
===================================================================
--- kvm-84.git-snapshot-20090303.orig/qemu/vnc-tls.c
+++ kvm-84.git-snapshot-20090303/qemu/vnc-tls.c
@@ -241,6 +241,22 @@ int vnc_tls_validate_certificate(struct
return -1;
}
@ -63,9 +64,10 @@ diff -r 440be37a35ea vnc-tls.c
}
diff -r 440be37a35ea vnc-tls.h
--- a/vnc-tls.h Fri Feb 20 11:46:26 2009 +0000
+++ b/vnc-tls.h Fri Feb 20 11:47:52 2009 +0000
Index: kvm-84.git-snapshot-20090303/qemu/vnc-tls.h
===================================================================
--- kvm-84.git-snapshot-20090303.orig/qemu/vnc-tls.h
+++ kvm-84.git-snapshot-20090303/qemu/vnc-tls.h
@@ -55,6 +55,9 @@ struct VncStateTLS {
/* Whether data is being TLS encrypted yet */
int wiremode;
@ -76,9 +78,10 @@ diff -r 440be37a35ea vnc-tls.h
};
int vnc_tls_client_setup(VncState *vs, int x509Creds);
diff -r 440be37a35ea vnc.c
--- a/vnc.c Fri Feb 20 11:46:26 2009 +0000
+++ b/vnc.c Fri Feb 20 11:47:52 2009 +0000
Index: kvm-84.git-snapshot-20090303/qemu/vnc.c
===================================================================
--- kvm-84.git-snapshot-20090303.orig/qemu/vnc.c
+++ kvm-84.git-snapshot-20090303/qemu/vnc.c
@@ -156,6 +156,21 @@ static void do_info_vnc_client(VncState
term_puts("Client:\n");
term_puts(clientAddr);

View File

@ -78,10 +78,11 @@ starting up
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
diff -r b1008c5c6c16 Makefile
--- a/Makefile Mon Mar 02 11:13:40 2009 +0000
+++ b/Makefile Mon Mar 02 12:11:04 2009 +0000
@@ -144,7 +144,7 @@ endif
Index: kvm-84.git-snapshot-20090303/qemu/Makefile
===================================================================
--- kvm-84.git-snapshot-20090303.orig/qemu/Makefile
+++ kvm-84.git-snapshot-20090303/qemu/Makefile
@@ -148,7 +148,7 @@ endif
ifdef CONFIG_CURSES
OBJS+=curses.o
endif
@ -90,7 +91,7 @@ diff -r b1008c5c6c16 Makefile
ifdef CONFIG_VNC_TLS
OBJS+=vnc-tls.o vnc-auth-vencrypt.o
endif
@@ -174,9 +174,11 @@ sdl.o: sdl.c keymaps.h sdl_keysym.h
@@ -178,9 +178,11 @@ sdl.o: sdl.c keymaps.h sdl_keysym.h
sdl.o audio/sdlaudio.o: CFLAGS += $(SDL_CFLAGS)
@ -103,9 +104,10 @@ diff -r b1008c5c6c16 Makefile
vnc.o: CFLAGS += $(CONFIG_VNC_TLS_CFLAGS)
diff -r b1008c5c6c16 acl.c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/acl.c Mon Mar 02 12:11:04 2009 +0000
Index: kvm-84.git-snapshot-20090303/qemu/acl.c
===================================================================
--- /dev/null
+++ kvm-84.git-snapshot-20090303/qemu/acl.c
@@ -0,0 +1,185 @@
+/*
+ * QEMU access control list management
@ -292,9 +294,10 @@ diff -r b1008c5c6c16 acl.c
+ * tab-width: 8
+ * End:
+ */
diff -r b1008c5c6c16 acl.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/acl.h Mon Mar 02 12:11:04 2009 +0000
Index: kvm-84.git-snapshot-20090303/qemu/acl.h
===================================================================
--- /dev/null
+++ kvm-84.git-snapshot-20090303/qemu/acl.h
@@ -0,0 +1,74 @@
+/*
+ * QEMU access control list management
@ -370,10 +373,11 @@ diff -r b1008c5c6c16 acl.h
+ * tab-width: 8
+ * End:
+ */
diff -r b1008c5c6c16 configure
--- a/configure Mon Mar 02 11:13:40 2009 +0000
+++ b/configure Mon Mar 02 12:11:04 2009 +0000
@@ -846,6 +846,21 @@ EOF
Index: kvm-84.git-snapshot-20090303/qemu/configure
===================================================================
--- kvm-84.git-snapshot-20090303.orig/qemu/configure
+++ kvm-84.git-snapshot-20090303/qemu/configure
@@ -897,6 +897,21 @@ EOF
fi
##########################################
@ -395,7 +399,7 @@ diff -r b1008c5c6c16 configure
# vde libraries probe
if test "$vde" = "yes" ; then
cat > $TMPC << EOF
@@ -1405,6 +1420,9 @@ if test "$vnc_sasl" = "yes" ; then
@@ -1485,6 +1500,9 @@ if test "$vnc_sasl" = "yes" ; then
echo "CONFIG_VNC_SASL_LIBS=$vnc_sasl_libs" >> $config_mak
echo "#define CONFIG_VNC_SASL 1" >> $config_h
fi
@ -405,18 +409,19 @@ diff -r b1008c5c6c16 configure
qemu_version=`head $source_path/VERSION`
echo "VERSION=$qemu_version" >>$config_mak
echo "#define QEMU_VERSION \"$qemu_version\"" >> $config_h
diff -r b1008c5c6c16 monitor.c
--- a/monitor.c Mon Mar 02 11:13:40 2009 +0000
+++ b/monitor.c Mon Mar 02 12:11:04 2009 +0000
Index: kvm-84.git-snapshot-20090303/qemu/monitor.c
===================================================================
--- kvm-84.git-snapshot-20090303.orig/qemu/monitor.c
+++ kvm-84.git-snapshot-20090303/qemu/monitor.c
@@ -39,6 +39,7 @@
#include "qemu-timer.h"
#include "migration.h"
#include "kvm.h"
+#include "acl.h"
//#define DEBUG
//#define DEBUG_COMPLETION
@@ -1425,6 +1426,85 @@ static void do_info_balloon(void)
#include "qemu-kvm.h"
@@ -1452,6 +1453,85 @@ static void do_info_balloon(void)
term_printf("balloon: actual=%d\n", (int)(actual >> 20));
}
@ -502,20 +507,20 @@ diff -r b1008c5c6c16 monitor.c
/* Please update qemu-doc.texi when adding or changing commands */
static const term_cmd_t term_cmds[] = {
{ "help|?", "s?", do_help,
@@ -1529,6 +1609,12 @@ static const term_cmd_t term_cmds[] = {
"target", "request VM to change it's memory allocation (in MB)" },
@@ -1557,6 +1637,12 @@ static const term_cmd_t term_cmds[] = {
{ "set_link", "ss", do_set_link,
"name [up|down]", "change the link status of a network adapter" },
{ "set_link", "ss", do_set_link, "name [up|down]" },
+ { "acl", "sss?i?", do_acl, "<command> <aclname> [<match>] [<index>]\n",
+ "acl show vnc.username\n"
+ "acl policy vnc.username deny\n"
+ "acl allow vnc.username fred\n"
+ "acl deny vnc.username bob\n"
+ "acl reset vnc.username\n" },
{ NULL, NULL, },
};
@@ -2891,3 +2977,12 @@ void monitor_readline(const char *prompt
{ "cpu_set", "is", do_cpu_set_nr, "cpu [online|offline]", "change cpu state" },
#if defined(TARGET_I386) || defined(TARGET_X86_64)
{ "drive_add", "iss", drive_hot_add, "pcibus pcidevfn [file=file][,if=type][,bus=n]\n"
@@ -2927,3 +3013,12 @@ void monitor_readline(const char *prompt
monitor_hd[i]->focus = old_focus[i];
}
}
@ -528,10 +533,11 @@ diff -r b1008c5c6c16 monitor.c
+ * tab-width: 8
+ * End:
+ */
diff -r b1008c5c6c16 qemu-doc.texi
--- a/qemu-doc.texi Mon Mar 02 11:13:40 2009 +0000
+++ b/qemu-doc.texi Mon Mar 02 12:11:04 2009 +0000
@@ -631,6 +631,19 @@ ensures a data encryption preventing com
Index: kvm-84.git-snapshot-20090303/qemu/qemu-doc.texi
===================================================================
--- kvm-84.git-snapshot-20090303.orig/qemu/qemu-doc.texi
+++ kvm-84.git-snapshot-20090303/qemu/qemu-doc.texi
@@ -639,6 +639,19 @@ ensures a data encryption preventing com
credentials. See the @ref{vnc_security} section for details on using
SASL authentication.
@ -551,7 +557,7 @@ diff -r b1008c5c6c16 qemu-doc.texi
@end table
@end table
@@ -1392,6 +1405,42 @@ Password: ********
@@ -1389,6 +1402,42 @@ Password: ********
@end table
@ -594,9 +600,10 @@ diff -r b1008c5c6c16 qemu-doc.texi
@item screendump @var{filename}
Save screen into PPM image @var{filename}.
diff -r b1008c5c6c16 vnc-auth-sasl.c
--- a/vnc-auth-sasl.c Mon Mar 02 11:13:40 2009 +0000
+++ b/vnc-auth-sasl.c Mon Mar 02 12:11:04 2009 +0000
Index: kvm-84.git-snapshot-20090303/qemu/vnc-auth-sasl.c
===================================================================
--- kvm-84.git-snapshot-20090303.orig/qemu/vnc-auth-sasl.c
+++ kvm-84.git-snapshot-20090303/qemu/vnc-auth-sasl.c
@@ -120,22 +120,32 @@ static int vnc_auth_sasl_check_access(Vn
{
const void *val;
@ -633,9 +640,10 @@ diff -r b1008c5c6c16 vnc-auth-sasl.c
}
static int vnc_auth_sasl_check_ssf(VncState *vs)
diff -r b1008c5c6c16 vnc-auth-sasl.h
--- a/vnc-auth-sasl.h Mon Mar 02 11:13:40 2009 +0000
+++ b/vnc-auth-sasl.h Mon Mar 02 12:11:04 2009 +0000
Index: kvm-84.git-snapshot-20090303/qemu/vnc-auth-sasl.h
===================================================================
--- kvm-84.git-snapshot-20090303.orig/qemu/vnc-auth-sasl.h
+++ kvm-84.git-snapshot-20090303/qemu/vnc-auth-sasl.h
@@ -30,6 +30,9 @@
#include <sasl/sasl.h>
@ -657,9 +665,10 @@ diff -r b1008c5c6c16 vnc-auth-sasl.h
void vnc_sasl_client_cleanup(VncState *vs);
long vnc_client_read_sasl(VncState *vs);
diff -r b1008c5c6c16 vnc-tls.c
--- a/vnc-tls.c Mon Mar 02 11:13:40 2009 +0000
+++ b/vnc-tls.c Mon Mar 02 12:11:04 2009 +0000
Index: kvm-84.git-snapshot-20090303/qemu/vnc-tls.c
===================================================================
--- kvm-84.git-snapshot-20090303.orig/qemu/vnc-tls.c
+++ kvm-84.git-snapshot-20090303/qemu/vnc-tls.c
@@ -255,6 +255,25 @@ int vnc_tls_validate_certificate(struct
gnutls_strerror (ret));
return -1;
@ -686,9 +695,10 @@ diff -r b1008c5c6c16 vnc-tls.c
}
gnutls_x509_crt_deinit (cert);
diff -r b1008c5c6c16 vnc-tls.h
--- a/vnc-tls.h Mon Mar 02 11:13:40 2009 +0000
+++ b/vnc-tls.h Mon Mar 02 12:11:04 2009 +0000
Index: kvm-84.git-snapshot-20090303/qemu/vnc-tls.h
===================================================================
--- kvm-84.git-snapshot-20090303.orig/qemu/vnc-tls.h
+++ kvm-84.git-snapshot-20090303/qemu/vnc-tls.h
@@ -31,6 +31,8 @@
#include <gnutls/gnutls.h>
#include <gnutls/x509.h>
@ -706,9 +716,10 @@ diff -r b1008c5c6c16 vnc-tls.h
/* Paths to x509 certs/keys */
char *x509cacert;
diff -r b1008c5c6c16 vnc.c
--- a/vnc.c Mon Mar 02 11:13:40 2009 +0000
+++ b/vnc.c Mon Mar 02 12:11:04 2009 +0000
Index: kvm-84.git-snapshot-20090303/qemu/vnc.c
===================================================================
--- kvm-84.git-snapshot-20090303.orig/qemu/vnc.c
+++ kvm-84.git-snapshot-20090303/qemu/vnc.c
@@ -28,6 +28,7 @@
#include "sysemu.h"
#include "qemu_socket.h"
@ -754,9 +765,10 @@ diff -r b1008c5c6c16 vnc.c
/*
* Combinations we support here:
*
diff -r b1008c5c6c16 vnc.h
--- a/vnc.h Mon Mar 02 11:13:40 2009 +0000
+++ b/vnc.h Mon Mar 02 12:11:04 2009 +0000
Index: kvm-84.git-snapshot-20090303/qemu/vnc.h
===================================================================
--- kvm-84.git-snapshot-20090303.orig/qemu/vnc.h
+++ kvm-84.git-snapshot-20090303/qemu/vnc.h
@@ -98,6 +98,9 @@ struct VncDisplay
int subauth; /* Used by VeNCrypt */
VncDisplayTLS tls;

View File

@ -1,12 +1,18 @@
Summary: QEMU is a FAST! processor emulator
Name: qemu
Version: 1.0
Release: 0.5.svn6666%{?dist}
Version: 0.10
Release: 0.1.kvm20090303git%{?dist}
# I have mistakenly thought the revision name would be 1.0.
# So 0.10 series get Epoch = 1
Epoch: 1
License: GPLv2+ and LGPLv2+
Group: Development/Tools
URL: http://www.qemu.org/
Source0: http://www.qemu.org/%{name}-%{version}.tar.gz
#Source0: http://www.qemu.org/%{name}-%{version}.tar.gz
# FIXME: Say how to get the sources
Source0: kvm-84.git-snapshot-20090303.tar.gz
Source1: qemu.init
Source2: kvm.modules
# VNC SASL authentication support
# Not upstream yet, but approved for commit immediately
@ -19,11 +25,14 @@ Patch5: qemu-sasl-05-vnc-tls-vencrypt.patch
Patch6: qemu-sasl-06-vnc-sasl.patch
Patch7: qemu-sasl-07-vnc-monitor-authinfo.patch
Patch8: qemu-sasl-08-vnc-acl-mgmt.patch
Patch9: kvm-upstream-ppc.patch
Patch10: kvm-fix-strayR.patch
# NB, delibrately not including patch 09 which is not
# intended for commit
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: SDL-devel zlib-devel which texi2html gnutls-devel cyrus-sasl-devel
BuildRequires: rsync
Requires: %{name}-user = %{version}-%{release}
Requires: %{name}-system-x86 = %{version}-%{release}
Requires: %{name}-system-sparc = %{version}-%{release}
@ -35,6 +44,9 @@ Requires: %{name}-system-mips = %{version}-%{release}
Requires: %{name}-system-ppc = %{version}-%{release}
Requires: %{name}-img = %{version}-%{release}
# sorry dudes, one step at a time
ExcludeArch: ppc ppc64
#ExclusiveArch: %{ix86} x86_64 ppc alpha sparcv9 sparc64 armv4l
%define qemudocdir %{_docdir}/%{name}-%{version}
@ -107,7 +119,7 @@ Requires: bochs-bios-data
%qemupkgdesc system-sh4 {system emulator for sh4}
%prep
%setup -q
%setup -q -n kvm-84.git-snapshot-20090303
# 01-tls-handshake-fix
%patch1 -p1
# 02-vnc-monitor-info
@ -124,6 +136,8 @@ Requires: bochs-bios-data
%patch7 -p1
# 08-vnc-acl-mgmt
%patch8 -p1
%patch9 -p1
%patch10 -p1
%build
# systems like rhel build system does not have a recent enough linker so
@ -135,19 +149,43 @@ build_id_available() {
}
if build_id_available; then
extraldflags="--extra-ldflags=-Wl,--build-id"
extraldflags="-Wl,--build-id";
buildldflags="VL_LDFLAGS=-Wl,--build-id"
else
extraldflags=""
buildldflags=""
fi
%ifarch %{ix86} x86_64
# build kvm
echo "%{name}-%{version}" > $(pwd)/kernel/.kernelrelease
./configure --with-patched-kernel --target-list=x86_64-softmmu \
--kerneldir=$(pwd)/kernel --prefix=%{_prefix} \
--qemu-ldflags=$extraldflags
make %{?_smp_mflags} $buildldflags
cp qemu/x86_64-softmmu/qemu-system-x86_64 qemu-kvm
make clean
%endif
echo "%{name}-%{version}" > $(pwd)/kernel/.kernelrelease
cd qemu
./configure \
--target-list="i386-softmmu x86_64-softmmu arm-softmmu cris-softmmu m68k-softmmu \
mips-softmmu mipsel-softmmu mips64-softmmu mips64el-softmmu ppc-softmmu \
ppcemb-softmmu ppc64-softmmu sh4-softmmu sh4eb-softmmu sparc-softmmu \
i386-linux-user x86_64-linux-user alpha-linux-user arm-linux-user \
armeb-linux-user cris-linux-user 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" \
--prefix=%{_prefix} \
--interp-prefix=%{_prefix}/qemu-%%M \
$extraldflags;
make %{?_smp_mflags} $buildldflags
--kerneldir=$(pwd)/../kernel --prefix=%{_prefix} \
--disable-kvm \
--extra-ldflags=$extraldflags
make %{?_smp_mflags} $buildldflags
%install
rm -rf $RPM_BUILD_ROOT
@ -160,7 +198,14 @@ make prefix="${RPM_BUILD_ROOT}%{_prefix}" \
datadir="${RPM_BUILD_ROOT}%{_prefix}/share/qemu" install
chmod -x ${RPM_BUILD_ROOT}%{_mandir}/man1/*
%ifarch %{ix86} x86_64
mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/modules
install -m 0755 %{SOURCE1} $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/modules/kvm.modules
%endif
cd qemu
install -D -p -m 0755 %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d/qemu
install -D -p -m 0755 ../qemu-kvm $RPM_BUILD_ROOT%{_bindir}/
install -D -p -m 0644 -t ${RPM_BUILD_ROOT}/%{qemudocdir} Changelog README TODO COPYING COPYING.LIB LICENSE
install -D -p -m 0644 qemu.sasl $RPM_BUILD_ROOT%{_sysconfdir}/sasl2/qemu.conf
@ -188,6 +233,13 @@ ln -s ../bochs/BIOS-bochs-latest %{buildroot}/usr/share/qemu/bios.bin
%clean
rm -rf $RPM_BUILD_ROOT
%post system-x86
%ifarch %{ix86}
# load kvm modules now, so we can make sure no reboot is needed.
# If there's already a kvm module installed, we don't mess with it
sh /%{_sysconfdir}/sysconfig/modules/kvm.modules
%endif
%post
/sbin/chkconfig --add qemu
@ -245,6 +297,10 @@ fi
%defattr(-,root,root)
%{_bindir}/qemu
%{_bindir}/qemu-system-x86_64
%ifarch %{ix86} x86_64
%{_bindir}/qemu-kvm
%{_sysconfdir}/sysconfig/modules/kvm.modules
%endif
%{_prefix}/share/qemu/bios.bin
%{_prefix}/share/qemu/vgabios.bin
%{_prefix}/share/qemu/vgabios-cirrus.bin
@ -284,6 +340,12 @@ fi
%{_mandir}/man1/qemu-img.1*
%changelog
* Tue Mar 03 2009 Glauber Costa <glommer@redhat.com> - 0.10-0.1.kvm20090303git
- Set Epoch to 1
- Build KVM (basic build, no tools yet)
- Set ppc in ExcludeArch. This is temporary, just to fix one issue at a time.
ppc users (IBM ? ;-)) please wait a little bit.
* Tue Mar 3 2009 Daniel P. Berrange <berrange@redhat.com> - 1.0-0.5.svn6666
- Support VNC SASL authentication protocol
- Fix dep on bochs-bios-data

View File

@ -1 +1 @@
8394aa871af278efcdec46c37f913533 qemu-1.0.tar.gz
b81c0982015b21e01fe93a1d9405def8 kvm-84.git-snapshot-20090303.tar.gz