Hello community,
here is the log from the commit of package kvm
checked in at Fri Sep 5 20:24:00 CEST 2008.
--------
--- arch/i386/kvm/kvm.changes 2008-08-22 10:08:52.000000000 +0200
+++ kvm/kvm.changes 2008-09-04 13:14:40.129502000 +0200
@@ -1,0 +2,10 @@
+Thu Sep 4 13:15:16 CEST 2008 - agraf@suse.de
+
+- update to KVM 74
+ - fix shadow ptes corruption on i386 hosts running smp guests
+ - improved usb support
+ - usb auto connect/disconnect
+- add IA64 support
+- spec file cleanup
+
+-------------------------------------------------------------------
Old:
----
kvm-73.tar.bz2
New:
----
IA64-kvm-Implement-kvm_arch_vcpu_ioctl_-set-get-_mp.patch
IA64-kvm-suse.patch
IA64-qemu-Add-get-set_mpstate-for-Ipf.patch
IA64-qemu-Fix-a-typo.patch
IA64-qemu-network.patch
IA64-qemu-Set-default-pm_io_base-to-0x1f40.patch
kvm-74.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kvm.spec ++++++
--- /var/tmp/diff_new_pack.B21801/_old 2008-09-05 20:21:45.000000000 +0200
+++ /var/tmp/diff_new_pack.B21801/_new 2008-09-05 20:21:45.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package kvm (Version 73)
+# spec file for package kvm (Version 74)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -20,7 +20,10 @@
Name: kvm
-BuildRequires: SDL-devel alsa alsa-devel dev86 ncurses-devel perl pmtools texinfo
+BuildRequires: SDL-devel alsa alsa-devel ncurses-devel perl pmtools texinfo
+%ifarch %ix86 x86_64
+BuildRequires: dev86
+%endif
%if %suse_version >= 1100
BuildRequires: libpulse-devel
%endif
@@ -28,8 +31,8 @@
Group: System/Kernel
Summary: Kernel-based Virtual Machine
Url: http://kvm.qumranet.com/
-Version: 73
-Release: 2
+Version: 74
+Release: 1
Source0: %name-%version.tar.bz2
### To update to new version, recompress the kvm-??.tar.gz using:
# rpmbuild -bp kvm.spec --define="_sourcedir `pwd`"
@@ -44,11 +47,16 @@
fi
)
###
-ExclusiveArch: %ix86 x86_64
+ExclusiveArch: %ix86 x86_64 ia64
Source1: 60-kvm.rules
+# common and X86 patches
Patch01: qemu-datadir.diff
Patch02: kvm-susekernel.patch
-Patch05: kvm-nested_paging.patch
+Patch03: kvm-nested_paging.patch
+# Sound
+Patch07: kvm-audio.patch
+Patch08: kvm-pulseaudio.patch
+# Mac OS X patches
Patch10: kvm-qemu-hpet.patch
Patch11: kvm-qemu-lpc.patch
Patch12: kvm-qemu-applesmc.patch
@@ -64,8 +72,13 @@
Patch85: kvm-maccpuid.patch
Patch86: kvm-ioapic.patch
Patch90: kvm-bios.patch
-Patch100: kvm-audio.patch
-Patch101: kvm-pulseaudio.patch
+# IA 64 patches
+Patch500: IA64-qemu-Add-get-set_mpstate-for-Ipf.patch
+Patch501: IA64-qemu-Fix-a-typo.patch
+Patch502: IA64-kvm-suse.patch
+Patch503: IA64-kvm-Implement-kvm_arch_vcpu_ioctl_-set-get-_mp.patch
+Patch504: IA64-qemu-Set-default-pm_io_base-to-0x1f40.patch
+Patch505: IA64-qemu-network.patch
# For upstream patches:
Source100: convert-commits-to-patch.sh
#Patch100: kvm-commits.patch
@@ -147,14 +160,27 @@
Dor Laor
%prep
+# build the BIOS on x86 platforms
+%ifarch %ix86 x86_64
+%define bios_targets bios vgabios extboot
+%define vanilla 0
+# build no BIOS on others
+%else
+%define bios_targets
+%define vanilla 1
+%endif
%setup -q
%patch01 -p1 -b .use-qemu-kvm-as-datadir
%if %use_kmp
%patch02 -p0 -b .include-path-for-suse-kernel-rpms
-%patch05 -p1
+%patch03 -p1
%endif
-%define bios_targets bios vgabios extboot
-%define vanilla 0
+# Sound
+%patch07 -p1
+%if %suse_version >= 1100
+%patch08 -p1
+%endif
+# Mac OS X guest
%if !%{vanilla}
%patch10 -p1
%patch11 -p1
@@ -173,9 +199,14 @@
cp -a bios bios-mac
%patch90 -p1 -b .bios-mac
%endif
-%patch100 -p1
-%if %suse_version >= 1100
-%patch101 -p1
+# IA64 support
+%ifarch ia64
+%patch500 -p1
+%patch501 -p1
+%patch502 -p1
+%patch503 -p1
+%patch504 -p1
+%patch505 -p1
%endif
# Currently not used, keep it for later use:
# Apply selected upstream patches from the kvm-commits list:
@@ -185,15 +216,6 @@
[ -f qemu/s390-dis.c ] && exit 2 # bnc#353836
# Temporary workaround until qemu's configure is fixed:
sed -i 's/-lcurses/-lncurses/' qemu/configure
-# qemu's old CPU emulator (used if KVM disabled) is broken with gcc4
-# and using -O0 hurts qemu's device performance, so disable it and
-# give a hint until kvm merges qemu's new gcc-independent CPU instruction
-# emulator.
-# It may even be good to do that geneerally as it sounds be better
-# to give a clear noticeable error message instead of just being slow
-# by using qemu's CPU emulation:
-sed 's/Compiled with --disable-cpu-emulation, exiting./\
-CPU emulation is disabled in this kvm build, use qemu-system(-x86_64) instead!/' qemu/vl.c
./configure --prefix=%{_prefix} \
--qemu-cflags="%{optflags}"
# Aborts if curses support is not enabled:
@@ -236,6 +258,9 @@
%endif
cd %{buildroot}
rm -r .{%_bindir/qemu-img,%_bindir/qemu-nbd,%_datadir/{doc,qemu-kvm/{openbios-sparc32,openbios-sparc64,ppc_rom.bin}}}
+%ifarch ia64
+rm -f .%_datadir/qemu-kvm/bios.bin
+%endif
rm -r .{%_mandir/man1/qemu-img.1,%_mandir/man8/qemu-nbd.8,%_includedir,%_libdir}
mv .%_bindir/{qemu*,qemu-kvm}
mv .%_mandir/man1/{qemu.1,qemu-kvm.1}
@@ -254,6 +279,13 @@
%_mandir/man1/qemu-kvm.1.gz
%changelog
+* Thu Sep 04 2008 agraf@suse.de
+- update to KVM 74
+ - fix shadow ptes corruption on i386 hosts running smp guests
+ - improved usb support
+ - usb auto connect/disconnect
+- add IA64 support
+- spec file cleanup
* Fri Aug 22 2008 agraf@suse.de
- fix the PulseAudio disabling for older distributions
* Thu Aug 21 2008 agraf@suse.de
++++++ IA64-kvm-Implement-kvm_arch_vcpu_ioctl_-set-get-_mp.patch ++++++
From 74cc2bedddc4f97d8901a43d5ac65f938156e2df Mon Sep 17 00:00:00 2001
From: Xiantao Zhang
Date: Thu, 28 Aug 2008 09:34:08 +0800
Subject: [PATCH] KVM/IA64: Implement kvm_arch_vcpu_ioctl_{set,get}_mpstate.
Two ioctl arch functions are added to set vcpu's mpstate.
Signed-off-by: Xiantao Zhang
---
kernel/ia64/kvm-ia64.c | 37 +++++++++++++++++++++++++++++++++++--
1 files changed, 35 insertions(+), 2 deletions(-)
diff --git a/kernel/ia64/kvm-ia64.c b/kernel/ia64/kvm-ia64.c
index 7a37d06..8a3b5fc 100644
--- a/kernel/ia64/kvm-ia64.c
+++ b/kernel/ia64/kvm-ia64.c
@@ -184,6 +184,7 @@ int kvm_dev_ioctl_check_extension(long ext)
switch (ext) {
case KVM_CAP_IRQCHIP:
case KVM_CAP_USER_MEMORY:
+ case KVM_CAP_MP_STATE:
r = 1;
break;
@@ -1794,11 +1795,43 @@ int kvm_arch_vcpu_runnable(struct kvm_vcpu *vcpu)
int kvm_arch_vcpu_ioctl_get_mpstate(struct kvm_vcpu *vcpu,
struct kvm_mp_state *mp_state)
{
- return -EINVAL;
+ vcpu_load(vcpu);
+ mp_state->mp_state = vcpu->arch.mp_state;
+ vcpu_put(vcpu);
+ return 0;
+}
+
+static int vcpu_reset(struct kvm_vcpu *vcpu)
+{
+ int r;
+ long psr;
+ local_irq_save(psr);
+ r = kvm_insert_vmm_mapping(vcpu);
+ if (r)
+ goto fail;
+
+ vcpu->arch.launched = 0;
+ kvm_arch_vcpu_uninit(vcpu);
+ r = kvm_arch_vcpu_init(vcpu);
+ if (r)
+ goto fail;
+
+ kvm_purge_vmm_mapping(vcpu);
+ r = 0;
+fail:
+ local_irq_restore(psr);
+ return r;
}
int kvm_arch_vcpu_ioctl_set_mpstate(struct kvm_vcpu *vcpu,
struct kvm_mp_state *mp_state)
{
- return -EINVAL;
+ int r = 0;
+
+ vcpu_load(vcpu);
+ vcpu->arch.mp_state = mp_state->mp_state;
+ if (vcpu->arch.mp_state == KVM_MP_STATE_UNINITIALIZED)
+ r = vcpu_reset(vcpu);
+ vcpu_put(vcpu);
+ return r;
}
--
1.5.1
++++++ IA64-kvm-suse.patch ++++++
From 8ec9fd6df253413cd0d2a07202e31c86d22e8f6d Mon Sep 17 00:00:00 2001
From: Raymund Will
Date: Thu, 4 Sep 2008 11:14:59 +0200
Subject: [PATCH] KVM-ia64 build fix for SuSE Linux
---
qemu/Makefile.target | 6 ++++--
qemu/ia64.ld | 2 +-
qemu/target-ia64/cpu.h | 2 +-
3 files changed, 6 insertions(+), 4 deletions(-)
Index: kvm-74/qemu/Makefile.target
===================================================================
--- kvm-74.orig/qemu/Makefile.target
+++ kvm-74/qemu/Makefile.target
@@ -150,8 +150,10 @@ BASE_LDFLAGS+=-Wl,-T,$(SRC_PATH)/$(ARCH)
endif
ifeq ($(ARCH),ia64)
-CFLAGS+=-mno-sdata
-OP_CFLAGS+=-mno-sdata
+#CFLAGS+=-mno-sdata
+#OP_CFLAGS+=-mno-sdata
+CFLAGS+=-msdata
+OP_CFLAGS+=-msdata
endif
ifeq ($(ARCH),arm)
Index: kvm-74/qemu/ia64.ld
===================================================================
--- kvm-74.orig/qemu/ia64.ld
+++ kvm-74/qemu/ia64.ld
@@ -3,7 +3,7 @@ OUTPUT_FORMAT("elf64-ia64-little", "elf6
"elf64-ia64-little")
OUTPUT_ARCH(ia64)
ENTRY(_start)
-SEARCH_DIR("/usr/ia64-linux/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");
+SEARCH_DIR("/usr/ia64-suse-linux/lib"); SEARCH_DIR("/usr/local/lib"); SEARCH_DIR("/lib"); SEARCH_DIR("/usr/lib");
/* Do we need any of these for elf?
__DYNAMIC = 0; */
SECTIONS
Index: kvm-74/qemu/target-ia64/cpu.h
===================================================================
--- kvm-74.orig/qemu/target-ia64/cpu.h
+++ kvm-74/qemu/target-ia64/cpu.h
@@ -30,7 +30,7 @@
#define TARGET_LONG_BITS 64
-#define TARGET_PAGE_BITS 16
+#define TARGET_PAGE_BITS 14
#define ELF_MACHINE EM_IA_64
Index: kvm-74/kernel/ia64/Makefile.pre
===================================================================
--- kvm-74.orig/kernel/ia64/Makefile.pre
+++ kvm-74/kernel/ia64/Makefile.pre
@@ -1,6 +1,6 @@
prerequisite: asm-offsets.h ia64/memset.S ia64/memcpy.S
- cp -f $(KERNELDIR)/arch/ia64/lib/memcpy.S ia64/memcpy.S
- cp -f $(KERNELDIR)/arch/ia64/lib/memset.S ia64/memset.S
+ cp -f /usr/src/linux/arch/ia64/lib/memcpy.S ia64/memcpy.S
+ cp -f /usr/src/linux/arch/ia64/lib/memset.S ia64/memset.S
cmp -s asm-offset.h ia64/asm-offset.h || mv -f asm-offsets.* ia64/
asm-offsets.h: asm-offsets.s
@@ -20,4 +20,4 @@ asm-offsets.h: asm-offsets.s
echo "#endif") <$< >$@
asm-offsets.s: ia64/asm-offsets.c
- gcc -S -D__KERNEL__ -I$(KERNELDIR)/include -I$(KERNELDIR)/arch/ia64/include -I./include ia64/asm-offsets.c
+ gcc -S -D__KERNEL__ -I$(KERNELDIR)/include -I$(KERNELDIR)/arch/ia64/include -Iinclude2 -I/usr/src/linux/include -I/usr/src/linux/arch/ia64/include -I./include ia64/asm-offsets.c
Index: kvm-74/kernel/include/asm-ia64/nr-irqs.h
===================================================================
--- /dev/null
+++ kvm-74/kernel/include/asm-ia64/nr-irqs.h
@@ -0,0 +1,12 @@
+#ifndef __ASM_NR_IRQS_H__
+#define __ASM_NR_IRQS_H__
+/*
+ * DO NOT MODIFY.
+ *
+ * This file was generated by Kbuild
+ *
+ */
+
+#define NR_IRQS 1024 /* sizeof (union paravirt_nr_irqs_max) // */
+
+#endif
++++++ IA64-qemu-Add-get-set_mpstate-for-Ipf.patch ++++++
From 1de77b49314cfbabd65a6aef4d25430de22f2a61 Mon Sep 17 00:00:00 2001
From: Xiantao Zhang
Date: Thu, 28 Aug 2008 11:04:02 +0800
Subject: [PATCH] kvm/ia64: Qemu : Add get/set_mpstate for Ipf.
Add get/set_mpstate for Ipf.
Signed-off-by: Xiantao Zhang
---
libkvm/libkvm.c | 7 +++++--
qemu/hw/serial.c | 4 ++--
qemu/qemu-kvm-ia64.c | 37 +++++++++++++++++++++++++++++++++++++
qemu/target-ia64/cpu.h | 2 +-
qemu/target-ia64/machine.c | 12 ++++++++++++
5 files changed, 57 insertions(+), 5 deletions(-)
diff --git a/libkvm/libkvm.c b/libkvm/libkvm.c
index 5edfad7..bb503ff 100644
--- a/libkvm/libkvm.c
+++ b/libkvm/libkvm.c
@@ -285,7 +285,8 @@ int kvm_create_vcpu(kvm_context_t kvm, int slot)
{
long mmap_size;
int r;
-
+
+ fprintf(stderr, "kvm_create_vcpu\n");
r = ioctl(kvm->vm_fd, KVM_CREATE_VCPU, slot);
if (r == -1) {
r = -errno;
@@ -836,11 +837,13 @@ int kvm_set_mpstate(kvm_context_t kvm, int vcpu, struct kvm_mp_state *mp_state)
}
#endif
+int log_flag =0;
static int handle_mmio(kvm_context_t kvm, struct kvm_run *kvm_run)
{
unsigned long addr = kvm_run->mmio.phys_addr;
void *data = kvm_run->mmio.data;
-
+ if (log_flag)
+ fprintf(stderr,"addr:%lx\n", addr);
/* hack: Red Hat 7.1 generates these weird accesses. */
if ((addr > 0xa0000-4 && addr <= 0xa0000) && kvm_run->mmio.len == 3)
return 0;
diff --git a/qemu/hw/serial.c b/qemu/hw/serial.c
index d70207e..a08c675 100644
--- a/qemu/hw/serial.c
+++ b/qemu/hw/serial.c
@@ -676,10 +676,10 @@ static int serial_load(QEMUFile *f, void *opaque, int version_id)
return 0;
}
+
static void serial_reset(void *opaque)
{
SerialState *s = opaque;
-
s->rbr = 0;
s->ier = 0;
s->iir = UART_IIR_NO_INT;
@@ -702,8 +702,8 @@ static void serial_reset(void *opaque)
s->thr_ipending = 0;
s->last_break_enable = 0;
qemu_irq_lower(s->irq);
+ fprintf(stderr, "serial called!\n");
}
-
static void serial_init_core(SerialState *s, qemu_irq irq, int baudbase,
CharDriverState *chr)
{
diff --git a/qemu/qemu-kvm-ia64.c b/qemu/qemu-kvm-ia64.c
index d227d22..042c7ed 100644
--- a/qemu/qemu-kvm-ia64.c
+++ b/qemu/qemu-kvm-ia64.c
@@ -62,6 +62,43 @@ void kvm_arch_update_regs_for_sipi(CPUState *env)
{
}
+void kvm_save_mpstate(CPUState *env)
+{
+#ifdef KVM_CAP_MP_STATE
+ int r;
+ struct kvm_mp_state mp_state;
+
+ r = kvm_get_mpstate(kvm_context, env->cpu_index, &mp_state);
+ if (r < 0)
+ env->mp_state = -1;
+ else
+ env->mp_state = mp_state.mp_state;
+#endif
+}
+
+void kvm_load_mpstate(CPUState *env)
+{
+#ifdef KVM_CAP_MP_STATE
+ struct kvm_mp_state mp_state = { .mp_state = env->mp_state };
+
+ /*
+ * -1 indicates that the host did not support GET_MP_STATE ioctl,
+ * so don't touch it.
+ */
+ if (env->mp_state != -1)
+ kvm_set_mpstate(kvm_context, env->cpu_index, &mp_state);
+#endif
+}
+
void kvm_arch_cpu_reset(CPUState *env)
{
+ if (kvm_irqchip_in_kernel(kvm_context)) {
+#ifdef KVM_CAP_MP_STATE
+ kvm_reset_mpstate(kvm_context, env->cpu_index);
+#endif
+ } else {
+ env->interrupt_request &= ~CPU_INTERRUPT_HARD;
+ env->halted = 1;
+ env->exception_index = EXCP_HLT;
+ }
}
diff --git a/qemu/target-ia64/cpu.h b/qemu/target-ia64/cpu.h
index a3ff7a8..e65e628 100644
--- a/qemu/target-ia64/cpu.h
+++ b/qemu/target-ia64/cpu.h
@@ -44,7 +44,7 @@
typedef struct CPUIA64State {
CPU_COMMON;
uint32_t hflags;
-
+ int mp_state;
} CPUIA64State;
#define CPUState CPUIA64State
diff --git a/qemu/target-ia64/machine.c b/qemu/target-ia64/machine.c
index 4dc5d5e..a32b01a 100644
--- a/qemu/target-ia64/machine.c
+++ b/qemu/target-ia64/machine.c
@@ -11,9 +11,21 @@ void register_machines(void)
void cpu_save(QEMUFile *f, void *opaque)
{
+ CPUState *env = opaque;
+
+ if (kvm_enabled()) {
+ kvm_save_registers(env);
+ kvm_save_mpstate(env);
+ }
}
int cpu_load(QEMUFile *f, void *opaque, int version_id)
{
+ CPUState *env = opaque;
+
+ if (kvm_enabled()) {
+ kvm_load_registers(env);
+ kvm_load_mpstate(env);
+ }
return 0;
}
--
1.5.1
++++++ IA64-qemu-Fix-a-typo.patch ++++++
From 297fb289f827e7921ae105d3a8ff79ca4c43a03a Mon Sep 17 00:00:00 2001
From: Xiantao Zhang
Date: Fri, 29 Aug 2008 10:55:26 +0800
Subject: [PATCH] kvm: Qemu: Fix a typo.
VGA_RAM_SIZE -> GFW_SIZE.
Signed-off-by: Xiantao Zhang
---
qemu/hw/ipf.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/qemu/hw/ipf.c b/qemu/hw/ipf.c
index 60ff634..c1a7bee 100644
--- a/qemu/hw/ipf.c
+++ b/qemu/hw/ipf.c
@@ -681,5 +681,5 @@ QEMUMachine ipf_machine = {
"itanium",
"Itanium Platform",
ipf_init_pci,
- VGA_RAM_SIZE + VGA_RAM_SIZE,
+ VGA_RAM_SIZE + GFW_SIZE,
};
--
1.5.1
++++++ IA64-qemu-network.patch ++++++
From d2bc9284cb659d120beb7dd224567f7a859d80ce Mon Sep 17 00:00:00 2001
From: Xiantao Zhang
Date: Mon, 25 Aug 2008 09:28:29 +0800
Subject: [PATCH] KVM: Qemu: Enable kvm/ia64's network.
kvm/ia64's IRQ may >16, but current Qemu can't support it.
Here we implment a IRQ map function to solve this issue to
enable its networking.
Signed-off-by: Anthony Xu
Signed-off-by: Xiantao Zhang
---
qemu/hw/ipf.c | 29 +++++++++++++++++++++++++++++
qemu/hw/pci.c | 5 +++++
2 files changed, 34 insertions(+), 0 deletions(-)
diff --git a/qemu/hw/ipf.c b/qemu/hw/ipf.c
index b11e328..134076a 100644
--- a/qemu/hw/ipf.c
+++ b/qemu/hw/ipf.c
@@ -672,3 +672,32 @@ QEMUMachine ipf_machine = {
ipf_init_pci,
VGA_RAM_SIZE + VGA_RAM_SIZE,
};
+
+#define IOAPIC_NUM_PINS 48
+
+static int ioapic_irq_count[IOAPIC_NUM_PINS];
+
+static int ioapic_map_irq(int devfn, int irq_num)
+{
+ int irq, dev;
+ dev = devfn >> 3;
+ irq = ((((dev << 2) + (dev >> 3) + irq_num) & 31) + 16);
+ return irq;
+}
+
+void ioapic_set_irq(void *opaque, int irq_num, int level)
+{
+ int vector;
+
+ PCIDevice *pci_dev = (PCIDevice *)opaque;
+ vector = ioapic_map_irq(pci_dev->devfn, irq_num);
+
+ if (level)
+ ioapic_irq_count[vector] += 1;
+ else
+ ioapic_irq_count[vector] -= 1;
+
+ if (kvm_enabled())
+ if (kvm_set_irq(vector, ioapic_irq_count[vector] == 0))
+ return;
+}
diff --git a/qemu/hw/pci.c b/qemu/hw/pci.c
index 92683d1..07d37a8 100644
--- a/qemu/hw/pci.c
+++ b/qemu/hw/pci.c
@@ -544,6 +544,11 @@ static void pci_set_irq(void *opaque, int irq_num, int level)
return;
pci_dev->irq_state[irq_num] = level;
+
+#if defined(TARGET_IA64)
+ ioapic_set_irq(pci_dev, irq_num, level);
+#endif
+
for (;;) {
bus = pci_dev->bus;
irq_num = bus->map_irq(pci_dev, irq_num);
--
1.5.1
++++++ IA64-qemu-Set-default-pm_io_base-to-0x1f40.patch ++++++
From 3893e60105bc9a493c67faed760edd0a14bfed2b Mon Sep 17 00:00:00 2001
From: Xiantao Zhang
Date: Mon, 1 Sep 2008 09:47:25 +0800
Subject: [PATCH] KVM: Qemu: Set default pm_io_base to 0x1f40.
The firmware of kvm/ia64 use 0x1f40 as default pm_io_base,
and doesn't have re-configure mechanism, so use 0x1f40 as default value to
support kvm/ia64's power management.
Signed-off-by: Xiantao Zhang
---
qemu/hw/acpi.c | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/qemu/hw/acpi.c b/qemu/hw/acpi.c
index 74535bc..d12a43e 100644
--- a/qemu/hw/acpi.c
+++ b/qemu/hw/acpi.c
@@ -499,7 +499,11 @@ i2c_bus *piix4_pm_init(PCIBus *bus, int devfn, uint32_t smb_io_base,
pci_conf[0x3d] = 0x01; // interrupt pin 1
pci_conf[0x40] = 0x01; /* PM io base read only bit */
-
+#if defined(TARGET_IA64)
+ pci_conf[0x40] = 0x41; /* PM io base read only bit */
+ pci_conf[0x41] = 0x1f;
+ pm_write_config(s, 0x80, 0x01, 1); /*Set default pm_io_base 0x1f40*/
+#endif
register_ioport_write(0xb2, 2, 1, pm_smi_writeb, s);
register_ioport_read(0xb2, 2, 1, pm_smi_readb, s);
--
1.5.1
++++++ kvm-73.tar.bz2 -> kvm-74.tar.bz2 ++++++
++++ 24536 lines of diff (skipped)
++++++ kvm-susekernel.patch ++++++
--- /var/tmp/diff_new_pack.B21801/_old 2008-09-05 20:21:50.000000000 +0200
+++ /var/tmp/diff_new_pack.B21801/_new 2008-09-05 20:21:50.000000000 +0200
@@ -1,8 +1,14 @@
# Quick suse-specific hack, never upstream this unfixed!
---- kernel/Makefile
+Index: kernel/Makefile
+===================================================================
+--- kernel/Makefile.orig
+++ kernel/Makefile
-@@ -27,3 +27,3 @@
+@@ -36,7 +36,7 @@ hack-files = $(hack-files-$(ARCH_DIR))
+ all:: header-link prerequisite
+ # include header priority 1) $LINUX 2) $KERNELDIR 3) include-compat
$(MAKE) -C $(KERNELDIR) M=`pwd` \
-- LINUXINCLUDE="-I`pwd`/include -Iinclude -I`pwd`/include-compat \
-+ LINUXINCLUDE="-I`pwd`/include -Iinclude -Iinclude2 -I/usr/src/linux/include -I`pwd`/include-compat \
- -include include/linux/autoconf.h" \
+- LINUXINCLUDE="-I`pwd`/include -Iinclude -Iarch/${ARCH_DIR}/include -I`pwd`/include-compat \
++ LINUXINCLUDE="-I`pwd`/include -Iinclude -Iinclude2 -I/usr/src/linux/include -Iarch/${ARCH_DIR}/include -I`pwd`/include-compat \
+ -include include/linux/autoconf.h \
+ -include `pwd`/$(ARCH_DIR)/external-module-compat.h"
+ "$$@"
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org