openSUSE Commits
Threads by month
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
July 2012
- 1 participants
- 1252 discussions
Hello community,
here is the log from the commit of package python-rdflib for openSUSE:Factory checked in at 2012-07-24 16:10:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-rdflib (Old)
and /work/SRC/openSUSE:Factory/.python-rdflib.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-rdflib", Maintainer is ""
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-rdflib/python-rdflib.changes 2012-06-15 16:31:17.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-rdflib.new/python-rdflib.changes 2012-07-24 17:22:23.000000000 +0200
@@ -6,0 +7,13 @@
+Wed Jun 6 18:17:39 UTC 2012 - jfunk(a)funktronics.ca
+
+- Require python-Sphinx instead of python-sphinx
+- Change Source to full URL
+
+-------------------------------------------------------------------
+Thu May 24 19:41:43 UTC 2012 - jfunk(a)funktronics.ca
+
+- Run tests
+- Add missing requirements
+- Build documentation
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-rdflib.spec ++++++
--- /var/tmp/diff_new_pack.JiSs1p/_old 2012-07-24 17:22:30.000000000 +0200
+++ /var/tmp/diff_new_pack.JiSs1p/_new 2012-07-24 17:22:30.000000000 +0200
@@ -16,6 +16,7 @@
#
+
Name: python-rdflib
Version: 3.2.1
Release: 0
@@ -23,12 +24,15 @@
License: BSD-3-Clause
Group: Development/Libraries/Python
Url: http://rdflib.net/
-Source: rdflib-%{version}.tar.gz
+Source: http://pypi.python.org/packages/source/r/rdflib/rdflib-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: python-devel
+BuildRequires: python-isodate
+BuildRequires: python-nose
+BuildRequires: python-Sphinx
BuildRequires: python-xml
-# term.py:from isodate import parse_time, parse_date, parse_datetime
Requires: python-isodate
+Requires: python-xml
%if 0%{?suse_version}
%py_requires
%if 0%{?suse_version} > 1110
@@ -49,13 +53,18 @@
%build
python setup.py build
+cd docs
+make html
+
+%check
+python setup.py test
%install
python setup.py install --prefix=%{_prefix} --root=%{buildroot}
%files
%defattr(-,root,root)
-%doc CHANGELOG LICENSE README
+%doc CHANGELOG LICENSE README docs/_build/html
%{python_sitelib}/*
%changelog
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package lifelines for openSUSE:Factory checked in at 2012-07-24 16:10:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/lifelines (Old)
and /work/SRC/openSUSE:Factory/.lifelines.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "lifelines", Maintainer is "werner(a)suse.com"
Changes:
--------
--- /work/SRC/openSUSE:Factory/lifelines/lifelines.changes 2012-07-12 10:48:25.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.lifelines.new/lifelines.changes 2012-07-24 17:22:21.000000000 +0200
@@ -1,0 +2,5 @@
+Tue Jul 24 08:33:10 UTC 2012 - werner(a)suse.de
+
+- Add missing font
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ lifelines.spec ++++++
--- /var/tmp/diff_new_pack.ZXccuy/_old 2012-07-24 17:22:23.000000000 +0200
+++ /var/tmp/diff_new_pack.ZXccuy/_new 2012-07-24 17:22:23.000000000 +0200
@@ -36,6 +36,7 @@
%if %suse_version > 1220
BuildRequires: texlive-courier
BuildRequires: texlive-dvips
+BuildRequires: texlive-ec
BuildRequires: texlive-helvetic
BuildRequires: texlive-times
%endif
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package libechonest for openSUSE:Factory checked in at 2012-07-24 16:09:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libechonest (Old)
and /work/SRC/openSUSE:Factory/.libechonest.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libechonest", Maintainer is ""
Changes:
--------
--- /work/SRC/openSUSE:Factory/libechonest/libechonest.changes 2012-03-26 11:03:03.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.libechonest.new/libechonest.changes 2012-07-24 17:22:18.000000000 +0200
@@ -1,0 +2,6 @@
+Tue Jul 24 10:46:07 UTC 2012 - dev(a)dominik-schmidt.de
+
+- Version 2.0.1:
+* supports new API while old one is shut down in a few days
+
+-------------------------------------------------------------------
Old:
----
libechonest-1.2.1.tar.bz2
New:
----
libechonest-2.0.1.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libechonest.spec ++++++
--- /var/tmp/diff_new_pack.vCY5lY/_old 2012-07-24 17:22:21.000000000 +0200
+++ /var/tmp/diff_new_pack.vCY5lY/_new 2012-07-24 17:22:21.000000000 +0200
@@ -16,14 +16,14 @@
#
-%define soname 1_2
+%define soname 2_0
Name: libechonest
BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: libqjson-devel
BuildRequires: libqt4-devel
-Version: 1.2.1
+Version: 2.0.1
Release: 0
Source0: libechonest-%{version}.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
++++++ libechonest-1.2.1.tar.bz2 -> libechonest-2.0.1.tar.bz2 ++++++
++++ 1669 lines of diff (skipped)
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package kvm for openSUSE:12.2 checked in at 2012-07-24 16:09:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:12.2/kvm (Old)
and /work/SRC/openSUSE:12.2/.kvm.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kvm", Maintainer is "BROGERS(a)suse.com"
Changes:
--------
--- /work/SRC/openSUSE:12.2/kvm/kvm.changes 2012-07-09 08:01:56.000000000 +0200
+++ /work/SRC/openSUSE:12.2/.kvm.new/kvm.changes 2012-07-24 17:22:15.000000000 +0200
@@ -1,0 +2,20 @@
+Tue Jul 17 21:59:45 UTC 2012 - brogers(a)suse.com
+
+- Update to qemu-kvm v1.1.1 (bug fixes only) Noteworthy fixes:
+ - rtl8139: validate rx ring before receiving packets
+ - ahci: SATA FIS is 20 bytes, not 0x20
+ - sheepdog: fix return value of do_load_save_vm_state
+ - fdc: fix implied seek while there is no media in drive
+ - qcow2: fix autoclear image header update
+ - pci_bridge_dev: fix error path in pci_bridge_dev_initfn()
+ - qdev: release parent properties on dc->init failure
+ - intel-hda and ahci: Fix reset of MSI function
+ - rtl8139: honor RxOverflow flag in can_receive method
+ - monitor: Fix memory leak with readline completion
+ - qcow2: Silence false warning
+ - kvm: i8254: Fix conversion of in-kernel to userspace state
+ - kvm/apic: correct short memset
+ - exec: fix TB invalidation after breakpoint insertion/deletion
+ - virtio-blk: Fix geometry sector calculation
+
+-------------------------------------------------------------------
Old:
----
kvm-qemu-preXX-qemu-kvm-Add-missing-default-machine-options.patch
qemu-kvm-1.1.0.tar.bz2
New:
----
qemu-kvm-1.1.1.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kvm.spec ++++++
--- /var/tmp/diff_new_pack.CtP1AD/_old 2012-07-24 17:22:16.000000000 +0200
+++ /var/tmp/diff_new_pack.CtP1AD/_new 2012-07-24 17:22:16.000000000 +0200
@@ -19,8 +19,8 @@
%bcond_without spice
-%define package_true_version 1.1.0
-%define package_base_version 1.1.0
+%define package_true_version 1.1.1
+%define package_base_version 1.1.1
%define bios_id seabios-1.7.0
# ipxe is through git commit id: addf699c86ae18edd7de13433da78be926c22504
%define pxe_rom_id ipxe-1.0.0
@@ -144,7 +144,6 @@
Patch105: kvm-qemu-preXX-dictzip3.patch
Patch106: kvm-qemu-preXX-use--libexecdir-instead-of-ignoring.patch
Patch107: kvm-qemu-preXX-uhci-fix-uhci_async_cancel_all.patch
-Patch108: kvm-qemu-preXX-qemu-kvm-Add-missing-default-machine-options.patch
Patch200: kvm-studio-slirp-nooutgoing.patch
Patch201: kvm-studio-vnc.patch
@@ -238,7 +237,6 @@
%patch105 -p1
%patch106 -p1
%patch107 -p1
-%patch108 -p1
# Studio addons
%patch200 -p1
@@ -413,8 +411,6 @@
%files
%defattr(-,root,root)
-# qmp-commands.txt needs to be included as doc, we well as qemu-nbd.8? (we delete this above!!!!, also virtfs-proxy-helper.1 if building virtfs
-# Also see what qemu has doc'd/ Do we want to NOT include kvm-supported.txt for oS?
%doc COPYING COPYING.LIB Changelog README qemu-kvm.html qemu-kvm-tech.html kvm-supported.txt qmp-commands.txt
%attr(755,root,kvm) %{_bindir}/qemu-kvm
%attr(755,root,kvm) %{_bindir}/kvm_stat
++++++ qemu-kvm-1.1.0.tar.bz2 -> qemu-kvm-1.1.1.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qemu-kvm-1.1.0/Makefile new/qemu-kvm-1.1.1/Makefile
--- old/qemu-kvm-1.1.0/Makefile 2012-06-30 04:14:15.000000000 +0200
+++ new/qemu-kvm-1.1.1/Makefile 2012-07-16 09:52:03.000000000 +0200
@@ -271,6 +271,7 @@
install-doc: $(DOCS)
$(INSTALL_DIR) "$(DESTDIR)$(qemu_docdir)"
$(INSTALL_DATA) qemu-doc.html qemu-tech.html "$(DESTDIR)$(qemu_docdir)"
+ $(INSTALL_DATA) QMP/qmp-commands.txt "$(DESTDIR)$(qemu_docdir)"
ifdef CONFIG_POSIX
$(INSTALL_DIR) "$(DESTDIR)$(mandir)/man1"
$(INSTALL_DATA) qemu.1 qemu-img.1 "$(DESTDIR)$(mandir)/man1"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qemu-kvm-1.1.0/VERSION new/qemu-kvm-1.1.1/VERSION
--- old/qemu-kvm-1.1.0/VERSION 2012-06-30 04:14:15.000000000 +0200
+++ new/qemu-kvm-1.1.1/VERSION 2012-07-16 09:52:03.000000000 +0200
@@ -1 +1 @@
-1.1.0
+1.1.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qemu-kvm-1.1.0/block/qcow2-cluster.c new/qemu-kvm-1.1.1/block/qcow2-cluster.c
--- old/qemu-kvm-1.1.0/block/qcow2-cluster.c 2012-06-30 04:14:15.000000000 +0200
+++ new/qemu-kvm-1.1.1/block/qcow2-cluster.c 2012-07-16 09:52:03.000000000 +0200
@@ -471,6 +471,8 @@
QCOW_OFLAG_COMPRESSED | QCOW_OFLAG_ZERO);
*cluster_offset &= L2E_OFFSET_MASK;
break;
+ default:
+ abort();
}
qcow2_cache_put(bs, s->l2_table_cache, (void**) &l2_table);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qemu-kvm-1.1.0/block/qcow2-refcount.c new/qemu-kvm-1.1.1/block/qcow2-refcount.c
--- old/qemu-kvm-1.1.0/block/qcow2-refcount.c 2012-06-30 04:14:15.000000000 +0200
+++ new/qemu-kvm-1.1.1/block/qcow2-refcount.c 2012-07-16 09:52:03.000000000 +0200
@@ -367,7 +367,7 @@
}
for(i = 0; i < table_size; i++) {
- cpu_to_be64s(&new_table[i]);
+ be64_to_cpus(&new_table[i]);
}
/* Hook up the new refcount table in the qcow2 header */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qemu-kvm-1.1.0/block/qcow2.c new/qemu-kvm-1.1.1/block/qcow2.c
--- old/qemu-kvm-1.1.0/block/qcow2.c 2012-06-30 04:14:15.000000000 +0200
+++ new/qemu-kvm-1.1.1/block/qcow2.c 2012-07-16 09:52:03.000000000 +0200
@@ -298,14 +298,6 @@
goto fail;
}
- if (!bs->read_only && s->autoclear_features != 0) {
- s->autoclear_features = 0;
- ret = qcow2_update_header(bs);
- if (ret < 0) {
- goto fail;
- }
- }
-
/* Check support for various header values */
if (header.refcount_order != 4) {
report_unsupported(bs, "%d bit reference counts",
@@ -411,6 +403,15 @@
goto fail;
}
+ /* Clear unknown autoclear feature bits */
+ if (!bs->read_only && s->autoclear_features != 0) {
+ s->autoclear_features = 0;
+ ret = qcow2_update_header(bs);
+ if (ret < 0) {
+ goto fail;
+ }
+ }
+
/* Initialise locks */
qemu_co_mutex_init(&s->lock);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qemu-kvm-1.1.0/block/sheepdog.c new/qemu-kvm-1.1.1/block/sheepdog.c
--- old/qemu-kvm-1.1.0/block/sheepdog.c 2012-06-30 04:14:15.000000000 +0200
+++ new/qemu-kvm-1.1.1/block/sheepdog.c 2012-07-16 09:52:03.000000000 +0200
@@ -1957,7 +1957,7 @@
int64_t pos, int size, int load)
{
int fd, create;
- int ret = 0;
+ int ret = 0, remaining = size;
unsigned int data_len;
uint64_t vmstate_oid;
uint32_t vdi_index;
@@ -1968,11 +1968,11 @@
return fd;
}
- while (size) {
+ while (remaining) {
vdi_index = pos / SD_DATA_OBJ_SIZE;
offset = pos % SD_DATA_OBJ_SIZE;
- data_len = MIN(size, SD_DATA_OBJ_SIZE);
+ data_len = MIN(remaining, SD_DATA_OBJ_SIZE);
vmstate_oid = vid_to_vmstate_oid(s->inode.vdi_id, vdi_index);
@@ -1993,9 +1993,9 @@
}
pos += data_len;
- size -= data_len;
- ret += data_len;
+ remaining -= data_len;
}
+ ret = size;
cleanup:
closesocket(fd);
return ret;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qemu-kvm-1.1.0/configure new/qemu-kvm-1.1.1/configure
--- old/qemu-kvm-1.1.0/configure 2012-06-30 04:14:15.000000000 +0200
+++ new/qemu-kvm-1.1.1/configure 2012-07-16 09:52:03.000000000 +0200
@@ -2828,7 +2828,11 @@
open_by_hande_at=no
cat > $TMPC << EOF
#include <fcntl.h>
+#if !defined(AT_EMPTY_PATH)
+# error missing definition
+#else
int main(void) { struct file_handle fh; return open_by_handle_at(0, &fh, 0); }
+#endif
EOF
if compile_prog "" "" ; then
open_by_handle_at=yes
@@ -2932,7 +2936,8 @@
tools="$tools fsdev/virtfs-proxy-helper\$(EXESUF)"
else
if test "$virtfs" = yes; then
- feature_not_found "virtfs"
+ echo "VirtFS is supported only on Linux and requires libcap-devel and libattr-devel"
+ exit 1
fi
virtfs=no
fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qemu-kvm-1.1.0/exec.c new/qemu-kvm-1.1.1/exec.c
--- old/qemu-kvm-1.1.0/exec.c 2012-06-30 04:14:15.000000000 +0200
+++ new/qemu-kvm-1.1.1/exec.c 2012-07-16 09:52:03.000000000 +0200
@@ -1492,7 +1492,8 @@
static void breakpoint_invalidate(CPUArchState *env, target_ulong pc)
{
- tb_invalidate_phys_addr(cpu_get_phys_page_debug(env, pc));
+ tb_invalidate_phys_addr(cpu_get_phys_page_debug(env, pc) |
+ (pc & ~TARGET_PAGE_MASK));
}
#endif
#endif /* TARGET_HAS_ICE */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qemu-kvm-1.1.0/hw/ide/ahci.c new/qemu-kvm-1.1.1/hw/ide/ahci.c
--- old/qemu-kvm-1.1.0/hw/ide/ahci.c 2012-06-30 04:14:15.000000000 +0200
+++ new/qemu-kvm-1.1.1/hw/ide/ahci.c 2012-07-16 09:52:03.000000000 +0200
@@ -462,7 +462,7 @@
static void ahci_init_d2h(AHCIDevice *ad)
{
- uint8_t init_fis[0x20];
+ uint8_t init_fis[20];
IDEState *ide_state = &ad->port.ifs[0];
memset(init_fis, 0, sizeof(init_fis));
@@ -619,7 +619,7 @@
d2h_fis[11] = cmd_fis[11];
d2h_fis[12] = cmd_fis[12];
d2h_fis[13] = cmd_fis[13];
- for (i = 14; i < 0x20; i++) {
+ for (i = 14; i < 20; i++) {
d2h_fis[i] = 0;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qemu-kvm-1.1.0/hw/ide/ich.c new/qemu-kvm-1.1.1/hw/ide/ich.c
--- old/qemu-kvm-1.1.0/hw/ide/ich.c 2012-06-30 04:14:15.000000000 +0200
+++ new/qemu-kvm-1.1.1/hw/ide/ich.c 2012-07-16 09:52:03.000000000 +0200
@@ -84,6 +84,14 @@
.unmigratable = 1,
};
+static void pci_ich9_reset(void *opaque)
+{
+ struct AHCIPCIState *d = opaque;
+
+ msi_reset(&d->card);
+ ahci_reset(opaque);
+}
+
static int pci_ich9_ahci_init(PCIDevice *dev)
{
struct AHCIPCIState *d;
@@ -102,7 +110,7 @@
/* XXX Software should program this register */
d->card.config[0x90] = 1 << 6; /* Address Map Register - AHCI mode */
- qemu_register_reset(ahci_reset, d);
+ qemu_register_reset(pci_ich9_reset, d);
msi_init(dev, 0x50, 1, true, false);
d->ahci.irq = d->card.irq[0];
@@ -133,7 +141,7 @@
d = DO_UPCAST(struct AHCIPCIState, card, dev);
msi_uninit(dev);
- qemu_unregister_reset(ahci_reset, d);
+ qemu_unregister_reset(pci_ich9_reset, d);
ahci_uninit(&d->ahci);
return 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qemu-kvm-1.1.0/hw/intel-hda.c new/qemu-kvm-1.1.1/hw/intel-hda.c
--- old/qemu-kvm-1.1.0/hw/intel-hda.c 2012-06-30 04:14:15.000000000 +0200
+++ new/qemu-kvm-1.1.1/hw/intel-hda.c 2012-07-16 09:52:03.000000000 +0200
@@ -1107,6 +1107,9 @@
DeviceState *qdev;
HDACodecDevice *cdev;
+ if (d->msi) {
+ msi_reset(&d->pci);
+ }
intel_hda_regs_reset(d);
d->wall_base_ns = qemu_get_clock_ns(vm_clock);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qemu-kvm-1.1.0/hw/kvm/apic.c new/qemu-kvm-1.1.1/hw/kvm/apic.c
--- old/qemu-kvm-1.1.0/hw/kvm/apic.c 2012-06-30 04:14:15.000000000 +0200
+++ new/qemu-kvm-1.1.1/hw/kvm/apic.c 2012-07-16 09:52:03.000000000 +0200
@@ -29,7 +29,7 @@
APICCommonState *s = DO_UPCAST(APICCommonState, busdev.qdev, d);
int i;
- memset(kapic, 0, sizeof(kapic));
+ memset(kapic, 0, sizeof(*kapic));
kvm_apic_set_reg(kapic, 0x2, s->id << 24);
kvm_apic_set_reg(kapic, 0x8, s->tpr);
kvm_apic_set_reg(kapic, 0xd, s->log_dest << 24);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qemu-kvm-1.1.0/hw/pc_piix.c new/qemu-kvm-1.1.1/hw/pc_piix.c
--- old/qemu-kvm-1.1.0/hw/pc_piix.c 2012-06-30 04:14:15.000000000 +0200
+++ new/qemu-kvm-1.1.1/hw/pc_piix.c 2012-07-16 09:52:03.000000000 +0200
@@ -393,6 +393,7 @@
.desc = "Standard PC",
.init = pc_init_pci,
.max_cpus = 255,
+ .default_machine_opts = "accel=kvm,kernel_irqchip=on",
.compat_props = (GlobalProperty[]) {
PC_COMPAT_1_0,
{ /* end of list */ }
@@ -407,6 +408,7 @@
.desc = "Standard PC",
.init = pc_init_pci,
.max_cpus = 255,
+ .default_machine_opts = "accel=kvm,kernel_irqchip=on",
.compat_props = (GlobalProperty[]) {
PC_COMPAT_0_15,
{ /* end of list */ }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qemu-kvm-1.1.0/hw/pci_bridge_dev.c new/qemu-kvm-1.1.1/hw/pci_bridge_dev.c
--- old/qemu-kvm-1.1.0/hw/pci_bridge_dev.c 2012-06-30 04:14:15.000000000 +0200
+++ new/qemu-kvm-1.1.1/hw/pci_bridge_dev.c 2012-07-16 09:52:03.000000000 +0200
@@ -52,7 +52,7 @@
{
PCIBridge *br = DO_UPCAST(PCIBridge, dev, dev);
PCIBridgeDev *bridge_dev = DO_UPCAST(PCIBridgeDev, bridge, br);
- int err;
+ int err, ret;
pci_bridge_map_irq(br, NULL, pci_bridge_dev_map_irq_fn);
err = pci_bridge_initfn(dev);
if (err) {
@@ -86,6 +86,8 @@
shpc_cleanup(dev, &bridge_dev->bar);
shpc_error:
memory_region_destroy(&bridge_dev->bar);
+ ret = pci_bridge_exitfn(dev);
+ assert(!ret);
bridge_error:
return err;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qemu-kvm-1.1.0/hw/qdev-monitor.c new/qemu-kvm-1.1.1/hw/qdev-monitor.c
--- old/qemu-kvm-1.1.0/hw/qdev-monitor.c 2012-06-30 04:14:15.000000000 +0200
+++ new/qemu-kvm-1.1.1/hw/qdev-monitor.c 2012-07-16 09:52:03.000000000 +0200
@@ -20,6 +20,7 @@
#include "qdev.h"
#include "monitor.h"
#include "qmp-commands.h"
+#include "arch_init.h"
/*
* Aliases were a bad idea from the start. Let's keep them
@@ -29,16 +30,18 @@
{
const char *typename;
const char *alias;
+ uint32_t arch_mask;
} QDevAlias;
static const QDevAlias qdev_alias_table[] = {
- { "virtio-blk-pci", "virtio-blk" },
- { "virtio-net-pci", "virtio-net" },
- { "virtio-serial-pci", "virtio-serial" },
- { "virtio-balloon-pci", "virtio-balloon" },
- { "virtio-blk-s390", "virtio-blk" },
- { "virtio-net-s390", "virtio-net" },
- { "virtio-serial-s390", "virtio-serial" },
+ { "virtio-blk-pci", "virtio-blk", QEMU_ARCH_ALL & ~QEMU_ARCH_S390X },
+ { "virtio-net-pci", "virtio-net", QEMU_ARCH_ALL & ~QEMU_ARCH_S390X },
+ { "virtio-serial-pci", "virtio-serial", QEMU_ARCH_ALL & ~QEMU_ARCH_S390X },
+ { "virtio-balloon-pci", "virtio-balloon",
+ QEMU_ARCH_ALL & ~QEMU_ARCH_S390X },
+ { "virtio-blk-s390", "virtio-blk", QEMU_ARCH_S390X },
+ { "virtio-net-s390", "virtio-net", QEMU_ARCH_S390X },
+ { "virtio-serial-s390", "virtio-serial", QEMU_ARCH_S390X },
{ "lsi53c895a", "lsi" },
{ "ich9-ahci", "ahci" },
{ }
@@ -50,6 +53,11 @@
int i;
for (i = 0; qdev_alias_table[i].typename; i++) {
+ if (qdev_alias_table[i].arch_mask &&
+ !(qdev_alias_table[i].arch_mask & arch_type)) {
+ continue;
+ }
+
if (strcmp(qdev_alias_table[i].typename, typename) == 0) {
return qdev_alias_table[i].alias;
}
@@ -110,6 +118,11 @@
int i;
for (i = 0; qdev_alias_table[i].alias; i++) {
+ if (qdev_alias_table[i].arch_mask &&
+ !(qdev_alias_table[i].arch_mask & arch_type)) {
+ continue;
+ }
+
if (strcmp(qdev_alias_table[i].alias, alias) == 0) {
return qdev_alias_table[i].typename;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qemu-kvm-1.1.0/hw/qdev.c new/qemu-kvm-1.1.1/hw/qdev.c
--- old/qemu-kvm-1.1.0/hw/qdev.c 2012-06-30 04:14:15.000000000 +0200
+++ new/qemu-kvm-1.1.1/hw/qdev.c 2012-07-16 09:52:03.000000000 +0200
@@ -150,6 +150,7 @@
rc = dc->init(dev);
if (rc < 0) {
+ object_unparent(OBJECT(dev));
qdev_free(dev);
return rc;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qemu-kvm-1.1.0/hw/rtl8139.c new/qemu-kvm-1.1.1/hw/rtl8139.c
--- old/qemu-kvm-1.1.0/hw/rtl8139.c 2012-06-30 04:14:15.000000000 +0200
+++ new/qemu-kvm-1.1.1/hw/rtl8139.c 2012-07-16 09:52:03.000000000 +0200
@@ -781,6 +781,13 @@
#endif
}
+/* Workaround for buggy guest driver such as linux who allocates rx
+ * rings after the receiver were enabled. */
+static bool rtl8139_cp_rx_valid(RTL8139State *s)
+{
+ return !(s->RxRingAddrLO == 0 && s->RxRingAddrHI == 0);
+}
+
static int rtl8139_can_receive(VLANClientState *nc)
{
RTL8139State *s = DO_UPCAST(NICState, nc, nc)->opaque;
@@ -792,14 +799,14 @@
if (!rtl8139_receiver_enabled(s))
return 1;
- if (rtl8139_cp_receiver_enabled(s)) {
+ if (rtl8139_cp_receiver_enabled(s) && rtl8139_cp_rx_valid(s)) {
/* ??? Flow control not implemented in c+ mode.
This is a hack to work around slirp deficiencies anyway. */
return 1;
} else {
avail = MOD2(s->RxBufferSize + s->RxBufPtr - s->RxBufAddr,
s->RxBufferSize);
- return (avail == 0 || avail >= 1514);
+ return (avail == 0 || avail >= 1514 || (s->IntrMask & RxOverflow));
}
}
@@ -937,6 +944,10 @@
if (rtl8139_cp_receiver_enabled(s))
{
+ if (!rtl8139_cp_rx_valid(s)) {
+ return size;
+ }
+
DPRINTF("in C+ Rx mode ================\n");
/* begin C+ receiver mode */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qemu-kvm-1.1.0/hw/virtio-blk.c new/qemu-kvm-1.1.1/hw/virtio-blk.c
--- old/qemu-kvm-1.1.0/hw/virtio-blk.c 2012-06-30 04:14:15.000000000 +0200
+++ new/qemu-kvm-1.1.1/hw/virtio-blk.c 2012-07-16 09:52:03.000000000 +0200
@@ -147,9 +147,11 @@
static void virtio_blk_handle_scsi(VirtIOBlockReq *req)
{
+#ifdef __linux__
int ret;
- int status = VIRTIO_BLK_S_OK;
int i;
+#endif
+ int status = VIRTIO_BLK_S_OK;
/*
* We require at least one output segment each for the virtio_blk_outhdr
@@ -489,7 +491,22 @@
stw_raw(&blkcfg.min_io_size, s->conf->min_io_size / blk_size);
stw_raw(&blkcfg.opt_io_size, s->conf->opt_io_size / blk_size);
blkcfg.heads = heads;
- blkcfg.sectors = secs & ~s->sector_mask;
+ /*
+ * We must ensure that the block device capacity is a multiple of
+ * the logical block size. If that is not the case, lets use
+ * sector_mask to adopt the geometry to have a correct picture.
+ * For those devices where the capacity is ok for the given geometry
+ * we dont touch the sector value of the geometry, since some devices
+ * (like s390 dasd) need a specific value. Here the capacity is already
+ * cyls*heads*secs*blk_size and the sector value is not block size
+ * divided by 512 - instead it is the amount of blk_size blocks
+ * per track (cylinder).
+ */
+ if (bdrv_getlength(s->bs) / heads / secs % blk_size) {
+ blkcfg.sectors = secs & ~s->sector_mask;
+ } else {
+ blkcfg.sectors = secs;
+ }
blkcfg.size_max = 0;
blkcfg.physical_block_exp = get_physical_block_exp(s->conf);
blkcfg.alignment_offset = 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qemu-kvm-1.1.0/hw/virtio-pci.c new/qemu-kvm-1.1.1/hw/virtio-pci.c
--- old/qemu-kvm-1.1.0/hw/virtio-pci.c 2012-06-30 04:14:15.000000000 +0200
+++ new/qemu-kvm-1.1.1/hw/virtio-pci.c 2012-07-16 09:52:03.000000000 +0200
@@ -629,7 +629,7 @@
/* Must unset mask notifier while guest notifier
* is still assigned */
- if (!assign) {
+ if (kvm_irqchip_in_kernel() && !assign) {
r = msix_unset_mask_notifier(&proxy->pci_dev);
assert(r >= 0);
}
@@ -647,7 +647,7 @@
/* Must set mask notifier after guest notifier
* has been assigned */
- if (assign) {
+ if (kvm_irqchip_in_kernel() && assign) {
r = msix_set_mask_notifier(&proxy->pci_dev,
virtio_pci_mask_notifier);
if (r < 0) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qemu-kvm-1.1.0/hw/xen_disk.c new/qemu-kvm-1.1.1/hw/xen_disk.c
--- old/qemu-kvm-1.1.0/hw/xen_disk.c 2012-06-30 04:14:15.000000000 +0200
+++ new/qemu-kvm-1.1.1/hw/xen_disk.c 2012-07-16 09:52:03.000000000 +0200
@@ -537,6 +537,15 @@
blk_handle_requests(blkdev);
}
+/*
+ * We need to account for the grant allocations requiring contiguous
+ * chunks; the worst case number would be
+ * max_req * max_seg + (max_req - 1) * (max_seg - 1) + 1,
+ * but in order to keep things simple just use
+ * 2 * max_req * max_seg.
+ */
+#define MAX_GRANTS(max_req, max_seg) (2 * (max_req) * (max_seg))
+
static void blk_alloc(struct XenDevice *xendev)
{
struct XenBlkDev *blkdev = container_of(xendev, struct XenBlkDev, xendev);
@@ -548,6 +557,11 @@
if (xen_mode != XEN_EMULATE) {
batch_maps = 1;
}
+ if (xc_gnttab_set_max_grants(xendev->gnttabdev,
+ MAX_GRANTS(max_requests, BLKIF_MAX_SEGMENTS_PER_REQUEST)) < 0) {
+ xen_be_printf(xendev, 0, "xc_gnttab_set_max_grants failed: %s\n",
+ strerror(errno));
+ }
}
static int blk_init(struct XenDevice *xendev)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qemu-kvm-1.1.0/os-win32.c new/qemu-kvm-1.1.1/os-win32.c
--- old/qemu-kvm-1.1.0/os-win32.c 2012-06-30 04:14:15.000000000 +0200
+++ new/qemu-kvm-1.1.1/os-win32.c 2012-07-16 09:52:03.000000000 +0200
@@ -57,7 +57,13 @@
static BOOL WINAPI qemu_ctrl_handler(DWORD type)
{
- exit(STATUS_CONTROL_C_EXIT);
+ qemu_system_shutdown_request();
+ /* Windows 7 kills application when the function returns.
+ Sleep here to give QEMU a try for closing.
+ Sleep period is 10000ms because Windows kills the program
+ after 10 seconds anyway. */
+ Sleep(10000);
+
return TRUE;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qemu-kvm-1.1.0/qemu-img.texi new/qemu-kvm-1.1.1/qemu-img.texi
--- old/qemu-kvm-1.1.0/qemu-img.texi 2012-06-30 04:14:15.000000000 +0200
+++ new/qemu-kvm-1.1.1/qemu-img.texi 2012-07-16 09:52:03.000000000 +0200
@@ -232,6 +232,29 @@
@end table
+@item qed
+Image format with support for backing files and compact image files (when your
+filesystem or transport medium does not support holes). Good performance due
+to less metadata than the more featureful qcow2 format, especially with
+cache=writethrough or cache=directsync. Consider using qcow2 which will soon
+have a similar optimization and is most actively developed.
+
+Supported options:
+@table @code
+@item backing_file
+File name of a base image (see @option{create} subcommand).
+@item backing_fmt
+Image file format of backing file (optional). Useful if the format cannot be
+autodetected because it has no header, like some vhd/vpc files.
+@item cluster_size
+Changes the cluster size (must be power-of-2 between 4K and 64K). Smaller
+cluster sizes can improve the image file size whereas larger cluster sizes
+generally provide better performance.
+@item table_size
+Changes the number of clusters per L1/L2 table (must be power-of-2 between 1
+and 16). There is normally no need to change this value but this option can be
+used for performance benchmarking.
+@end table
@item qcow
Old QEMU image format. Left for compatibility.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qemu-kvm-1.1.0/readline.c new/qemu-kvm-1.1.1/readline.c
--- old/qemu-kvm-1.1.0/readline.c 2012-06-30 04:14:15.000000000 +0200
+++ new/qemu-kvm-1.1.1/readline.c 2012-07-16 09:52:03.000000000 +0200
@@ -337,6 +337,9 @@
}
readline_show_prompt(rs);
}
+ for (i = 0; i < rs->nb_completions; i++) {
+ g_free(rs->completions[i]);
+ }
}
/* return true if command handled */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qemu-kvm-1.1.0/target-xtensa/cpu.h new/qemu-kvm-1.1.1/target-xtensa/cpu.h
--- old/qemu-kvm-1.1.0/target-xtensa/cpu.h 2012-06-30 04:14:15.000000000 +0200
+++ new/qemu-kvm-1.1.1/target-xtensa/cpu.h 2012-07-16 09:52:03.000000000 +0200
@@ -370,9 +370,12 @@
uint32_t *vpn, uint32_t wi, uint32_t *ei);
int xtensa_tlb_lookup(const CPUXtensaState *env, uint32_t addr, bool dtlb,
uint32_t *pwi, uint32_t *pei, uint8_t *pring);
+void xtensa_tlb_set_entry_mmu(const CPUXtensaState *env,
+ xtensa_tlb_entry *entry, bool dtlb,
+ unsigned wi, unsigned ei, uint32_t vpn, uint32_t pte);
void xtensa_tlb_set_entry(CPUXtensaState *env, bool dtlb,
unsigned wi, unsigned ei, uint32_t vpn, uint32_t pte);
-int xtensa_get_physical_addr(CPUXtensaState *env,
+int xtensa_get_physical_addr(CPUXtensaState *env, bool update_tlb,
uint32_t vaddr, int is_write, int mmu_idx,
uint32_t *paddr, uint32_t *page_size, unsigned *access);
void reset_mmu(CPUXtensaState *env);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qemu-kvm-1.1.0/target-xtensa/helper.c new/qemu-kvm-1.1.1/target-xtensa/helper.c
--- old/qemu-kvm-1.1.0/target-xtensa/helper.c 2012-06-30 04:14:15.000000000 +0200
+++ new/qemu-kvm-1.1.1/target-xtensa/helper.c 2012-07-16 09:52:03.000000000 +0200
@@ -135,11 +135,11 @@
uint32_t page_size;
unsigned access;
- if (xtensa_get_physical_addr(env, addr, 0, 0,
+ if (xtensa_get_physical_addr(env, false, addr, 0, 0,
&paddr, &page_size, &access) == 0) {
return paddr;
}
- if (xtensa_get_physical_addr(env, addr, 2, 0,
+ if (xtensa_get_physical_addr(env, false, addr, 2, 0,
&paddr, &page_size, &access) == 0) {
return paddr;
}
@@ -448,30 +448,48 @@
}
}
-static int autorefill_mmu(CPUXtensaState *env, uint32_t vaddr, bool dtlb,
- uint32_t *wi, uint32_t *ei, uint8_t *ring);
+static int get_pte(CPUXtensaState *env, uint32_t vaddr, uint32_t *pte);
-static int get_physical_addr_mmu(CPUXtensaState *env,
+static int get_physical_addr_mmu(CPUXtensaState *env, bool update_tlb,
uint32_t vaddr, int is_write, int mmu_idx,
- uint32_t *paddr, uint32_t *page_size, unsigned *access)
+ uint32_t *paddr, uint32_t *page_size, unsigned *access,
+ bool may_lookup_pt)
{
bool dtlb = is_write != 2;
uint32_t wi;
uint32_t ei;
uint8_t ring;
+ uint32_t vpn;
+ uint32_t pte;
+ const xtensa_tlb_entry *entry = NULL;
+ xtensa_tlb_entry tmp_entry;
int ret = xtensa_tlb_lookup(env, vaddr, dtlb, &wi, &ei, &ring);
if ((ret == INST_TLB_MISS_CAUSE || ret == LOAD_STORE_TLB_MISS_CAUSE) &&
- (mmu_idx != 0 || ((vaddr ^ env->sregs[PTEVADDR]) & 0xffc00000)) &&
- autorefill_mmu(env, vaddr, dtlb, &wi, &ei, &ring) == 0) {
+ may_lookup_pt && get_pte(env, vaddr, &pte) == 0) {
+ ring = (pte >> 4) & 0x3;
+ wi = 0;
+ split_tlb_entry_spec_way(env, vaddr, dtlb, &vpn, wi, &ei);
+
+ if (update_tlb) {
+ wi = ++env->autorefill_idx & 0x3;
+ xtensa_tlb_set_entry(env, dtlb, wi, ei, vpn, pte);
+ env->sregs[EXCVADDR] = vaddr;
+ qemu_log("%s: autorefill(%08x): %08x -> %08x\n",
+ __func__, vaddr, vpn, pte);
+ } else {
+ xtensa_tlb_set_entry_mmu(env, &tmp_entry, dtlb, wi, ei, vpn, pte);
+ entry = &tmp_entry;
+ }
ret = 0;
}
if (ret != 0) {
return ret;
}
- const xtensa_tlb_entry *entry =
- xtensa_tlb_get_entry(env, dtlb, wi, ei);
+ if (entry == NULL) {
+ entry = xtensa_tlb_get_entry(env, dtlb, wi, ei);
+ }
if (ring < mmu_idx) {
return dtlb ?
@@ -494,30 +512,21 @@
return 0;
}
-static int autorefill_mmu(CPUXtensaState *env, uint32_t vaddr, bool dtlb,
- uint32_t *wi, uint32_t *ei, uint8_t *ring)
+static int get_pte(CPUXtensaState *env, uint32_t vaddr, uint32_t *pte)
{
uint32_t paddr;
uint32_t page_size;
unsigned access;
uint32_t pt_vaddr =
(env->sregs[PTEVADDR] | (vaddr >> 10)) & 0xfffffffc;
- int ret = get_physical_addr_mmu(env, pt_vaddr, 0, 0,
- &paddr, &page_size, &access);
+ int ret = get_physical_addr_mmu(env, false, pt_vaddr, 0, 0,
+ &paddr, &page_size, &access, false);
qemu_log("%s: trying autorefill(%08x) -> %08x\n", __func__,
vaddr, ret ? ~0 : paddr);
if (ret == 0) {
- uint32_t vpn;
- uint32_t pte = ldl_phys(paddr);
-
- *ring = (pte >> 4) & 0x3;
- *wi = (++env->autorefill_idx) & 0x3;
- split_tlb_entry_spec_way(env, vaddr, dtlb, &vpn, *wi, ei);
- xtensa_tlb_set_entry(env, dtlb, *wi, *ei, vpn, pte);
- qemu_log("%s: autorefill(%08x): %08x -> %08x\n",
- __func__, vaddr, vpn, pte);
+ *pte = ldl_phys(paddr);
}
return ret;
}
@@ -553,13 +562,13 @@
*
* \return 0 if ok, exception cause code otherwise
*/
-int xtensa_get_physical_addr(CPUXtensaState *env,
+int xtensa_get_physical_addr(CPUXtensaState *env, bool update_tlb,
uint32_t vaddr, int is_write, int mmu_idx,
uint32_t *paddr, uint32_t *page_size, unsigned *access)
{
if (xtensa_option_enabled(env->config, XTENSA_OPTION_MMU)) {
- return get_physical_addr_mmu(env, vaddr, is_write, mmu_idx,
- paddr, page_size, access);
+ return get_physical_addr_mmu(env, update_tlb,
+ vaddr, is_write, mmu_idx, paddr, page_size, access, true);
} else if (xtensa_option_bits_enabled(env->config,
XTENSA_OPTION_BIT(XTENSA_OPTION_REGION_PROTECTION) |
XTENSA_OPTION_BIT(XTENSA_OPTION_REGION_TRANSLATION))) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qemu-kvm-1.1.0/target-xtensa/op_helper.c new/qemu-kvm-1.1.1/target-xtensa/op_helper.c
--- old/qemu-kvm-1.1.0/target-xtensa/op_helper.c 2012-06-30 04:14:15.000000000 +0200
+++ new/qemu-kvm-1.1.1/target-xtensa/op_helper.c 2012-07-16 09:52:03.000000000 +0200
@@ -79,7 +79,7 @@
uint32_t paddr;
uint32_t page_size;
unsigned access;
- int ret = xtensa_get_physical_addr(env, vaddr, is_write, mmu_idx,
+ int ret = xtensa_get_physical_addr(env, true, vaddr, is_write, mmu_idx,
&paddr, &page_size, &access);
qemu_log("%s(%08x, %d, %d) -> %08x, ret = %d\n", __func__,
@@ -103,7 +103,7 @@
uint32_t paddr;
uint32_t page_size;
unsigned access;
- int ret = xtensa_get_physical_addr(env, vaddr, 2, 0,
+ int ret = xtensa_get_physical_addr(env, false, vaddr, 2, 0,
&paddr, &page_size, &access);
if (ret == 0) {
tb_invalidate_phys_addr(paddr);
@@ -655,6 +655,16 @@
}
}
+void xtensa_tlb_set_entry_mmu(const CPUXtensaState *env,
+ xtensa_tlb_entry *entry, bool dtlb,
+ unsigned wi, unsigned ei, uint32_t vpn, uint32_t pte)
+{
+ entry->vaddr = vpn;
+ entry->paddr = pte & xtensa_tlb_get_addr_mask(env, dtlb, wi);
+ entry->asid = (env->sregs[RASID] >> ((pte >> 1) & 0x18)) & 0xff;
+ entry->attr = pte & 0xf;
+}
+
void xtensa_tlb_set_entry(CPUXtensaState *env, bool dtlb,
unsigned wi, unsigned ei, uint32_t vpn, uint32_t pte)
{
@@ -665,10 +675,8 @@
if (entry->asid) {
tlb_flush_page(env, entry->vaddr);
}
- entry->vaddr = vpn;
- entry->paddr = pte & xtensa_tlb_get_addr_mask(env, dtlb, wi);
- entry->asid = (env->sregs[RASID] >> ((pte >> 1) & 0x18)) & 0xff;
- entry->attr = pte & 0xf;
+ xtensa_tlb_set_entry_mmu(env, entry, dtlb, wi, ei, vpn, pte);
+ tlb_flush_page(env, entry->vaddr);
} else {
qemu_log("%s %d, %d, %d trying to set immutable entry\n",
__func__, dtlb, wi, ei);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qemu-kvm-1.1.0/target-xtensa/translate.c new/qemu-kvm-1.1.1/target-xtensa/translate.c
--- old/qemu-kvm-1.1.0/target-xtensa/translate.c 2012-06-30 04:14:15.000000000 +0200
+++ new/qemu-kvm-1.1.1/target-xtensa/translate.c 2012-07-16 09:52:03.000000000 +0200
@@ -388,6 +388,7 @@
dc->next_pc == dc->lend) {
int label = gen_new_label();
+ gen_advance_ccount(dc);
tcg_gen_brcondi_i32(TCG_COND_EQ, cpu_SR[LCOUNT], 0, label);
tcg_gen_subi_i32(cpu_SR[LCOUNT], cpu_SR[LCOUNT], 1);
gen_jumpi(dc, dc->lbeg, slot);
@@ -410,6 +411,7 @@
{
int label = gen_new_label();
+ gen_advance_ccount(dc);
tcg_gen_brcond_i32(cond, t0, t1, label);
gen_jumpi_check_loop_end(dc, 0);
gen_set_label(label);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qemu-kvm-1.1.0/tests/tcg/xtensa/test_mmu.S new/qemu-kvm-1.1.1/tests/tcg/xtensa/test_mmu.S
--- old/qemu-kvm-1.1.0/tests/tcg/xtensa/test_mmu.S 2012-06-30 04:14:15.000000000 +0200
+++ new/qemu-kvm-1.1.1/tests/tcg/xtensa/test_mmu.S 2012-07-16 09:52:03.000000000 +0200
@@ -293,26 +293,219 @@
assert eq, a2, a3
test_end
-test dtlb_autoload
- set_vector kernel, 0
-
- movi a2, 0xd4000000
+/* Set up page table entry vaddr->paddr, ring=pte_ring, attr=pte_attr
+ * and DTLB way 7 to cover this PTE, ring=pt_ring, attr=pt_attr
+ */
+.macro pt_setup pt_ring, pt_attr, pte_ring, vaddr, paddr, pte_attr
+ movi a2, 0x80000000
wsr a2, ptevaddr
- movi a3, 0x00001013
- s32i a3, a2, 4
+
+ movi a3, 0x80000007 | (((\vaddr) >> 10) & 0xfffff000) /* way 7 */
+ movi a4, 0x04000003 | ((\pt_ring) << 4) /* PADDR 64M */
+ wdtlb a4, a3
+ isync
+
+ movi a3, ((\paddr) & 0xfffff000) | ((\pte_ring) << 4) | (\pte_attr)
+ movi a1, ((\vaddr) >> 12) << 2
+ add a2, a1, a2
+ s32i a3, a2, 0
+
+ movi a3, 0x80000007 | (((\vaddr) >> 10) & 0xfffff000) /* way 7 */
+ movi a4, 0x04000000 | ((\pt_ring) << 4) | (\pt_attr) /* PADDR 64M */
+ wdtlb a4, a3
+ isync
+
+ movi a3, (\vaddr)
+.endm
+
+/* out: PS.RING=ring, PS.EXCM=excm, a3=vaddr */
+.macro go_ring ring, excm, vaddr
+ movi a3, 10f
+ pitlb a3, a3
+ ritlb1 a2, a3
+ movi a1, 0x10
+ or a2, a2, a1
+ movi a1, 0x000ff000
+ and a3, a3, a1
+ movi a1, 4
+ or a3, a3, a1
+ witlb a2, a3
+ movi a3, 10f
+ movi a1, 0x000fffff
+ and a1, a3, a1
+
+ movi a2, 0
+ wsr a2, excvaddr
+
+ movi a3, \vaddr
+ movi a2, 0x4000f | ((\ring) << 6) | ((\excm) << 4)
+ jx a1
+10:
+ wsr a2, ps
+ isync
+.endm
+
+/* in: a3 -- virtual address to test */
+.macro assert_auto_tlb
+ movi a2, 0x4000f
+ wsr a2, ps
+ isync
+ pdtlb a2, a3
+ movi a1, 0xfffff01f
+ and a2, a2, a1
+ movi a1, 0xfffff000
+ and a1, a1, a3
+ xor a1, a1, a2
+ assert gei, a1, 0x10
+ movi a2, 0x14
+ assert lt, a1, a2
+.endm
+
+/* in: a3 -- virtual address to test */
+.macro assert_no_auto_tlb
+ movi a2, 0x4000f
+ wsr a2, ps
+ isync
pdtlb a2, a3
movi a1, 0x10
and a1, a1, a2
assert eqi, a1, 0
- l8ui a1, a3, 0
- pdtlb a2, a3
- movi a1, 0xfffff010
- and a1, a1, a2
- movi a3, 0x00001010
- assert eq, a1, a3
- movi a1, 0xf
+.endm
+
+.macro assert_sr sr, v
+ rsr a2, \sr
+ movi a1, (\v)
+ assert eq, a1, a2
+.endm
+
+.macro assert_epc1_1m vaddr
+ movi a2, (\vaddr)
+ movi a1, 0xfffff
and a1, a1, a2
- assert lti, a1, 4
+ rsr a2, epc1
+ assert eq, a1, a2
+.endm
+
+test dtlb_autoload
+ set_vector kernel, 0
+
+ pt_setup 0, 3, 1, 0x1000, 0x1000, 3
+ assert_no_auto_tlb
+
+ l8ui a1, a3, 0
+
+ rsr a2, excvaddr
+ assert eq, a2, a3
+
+ assert_auto_tlb
+test_end
+
+test autoload_load_store_privilege
+ set_vector kernel, 0
+ set_vector double, 2f
+
+ pt_setup 0, 3, 0, 0x2000, 0x2000, 3
+ movi a3, 0x2004
+ assert_no_auto_tlb
+
+ movi a2, 0x4005f /* ring 1 + excm => cring == 0 */
+ wsr a2, ps
+ isync
+1:
+ l32e a2, a3, -4 /* ring used */
+ test_fail
+2:
+ rsr a2, excvaddr
+ addi a1, a3, -4
+ assert eq, a1, a2
+
+ assert_auto_tlb
+ assert_sr depc, 1b
+ assert_sr exccause, 26
+test_end
+
+test autoload_pte_load_prohibited
+ set_vector kernel, 2f
+
+ pt_setup 0, 3, 0, 0x3000, 0, 0xc
+ assert_no_auto_tlb
+1:
+ l32i a2, a3, 0
+ test_fail
+2:
+ rsr a2, excvaddr
+ assert eq, a2, a3
+
+ assert_auto_tlb
+ assert_sr epc1, 1b
+ assert_sr exccause, 28
+test_end
+
+test autoload_pt_load_prohibited
+ set_vector kernel, 2f
+
+ pt_setup 0, 0xc, 0, 0x4000, 0x4000, 3
+ assert_no_auto_tlb
+1:
+ l32i a2, a3, 0
+ test_fail
+2:
+ rsr a2, excvaddr
+ assert eq, a2, a3
+
+ assert_no_auto_tlb
+ assert_sr epc1, 1b
+ assert_sr exccause, 24
+test_end
+
+test autoload_pt_privilege
+ set_vector kernel, 2f
+ pt_setup 0, 3, 1, 0x5000, 0, 3
+ go_ring 1, 0, 0x5001
+
+ l8ui a2, a3, 0
+1:
+ syscall
+2:
+ rsr a2, excvaddr
+ assert eq, a2, a3
+
+ assert_auto_tlb
+ assert_epc1_1m 1b
+ assert_sr exccause, 1
+test_end
+
+test autoload_pte_privilege
+ set_vector kernel, 2f
+ pt_setup 0, 3, 0, 0x6000, 0, 3
+ go_ring 1, 0, 0x6001
+1:
+ l8ui a2, a3, 0
+ syscall
+2:
+ rsr a2, excvaddr
+ assert eq, a2, a3
+
+ assert_auto_tlb
+ assert_epc1_1m 1b
+ assert_sr exccause, 26
+test_end
+
+test autoload_3_level_pt
+ set_vector kernel, 2f
+ pt_setup 1, 3, 1, 0x00400000, 0, 3
+ pt_setup 1, 3, 1, 0x80001000, 0x2000000, 3
+ go_ring 1, 0, 0x00400001
+1:
+ l8ui a2, a3, 0
+ syscall
+2:
+ rsr a2, excvaddr
+ assert eq, a2, a3
+
+ assert_no_auto_tlb
+ assert_epc1_1m 1b
+ assert_sr exccause, 24
test_end
test_suite_end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qemu-kvm-1.1.0/trace/simple.c new/qemu-kvm-1.1.1/trace/simple.c
--- old/qemu-kvm-1.1.0/trace/simple.c 2012-06-30 04:14:15.000000000 +0200
+++ new/qemu-kvm-1.1.1/trace/simple.c 2012-07-16 09:52:03.000000000 +0200
@@ -161,8 +161,11 @@
}
timestamp = get_clock();
-
+#if GLIB_CHECK_VERSION(2, 30, 0)
+ idx = g_atomic_int_add((gint *)&trace_idx, 1) % TRACE_BUF_LEN;
+#else
idx = g_atomic_int_exchange_and_add((gint *)&trace_idx, 1) % TRACE_BUF_LEN;
+#endif
trace_buf[idx] = (TraceRecord){
.event = event,
.timestamp_ns = timestamp,
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package kvm for openSUSE:Factory checked in at 2012-07-24 16:09:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kvm (Old)
and /work/SRC/openSUSE:Factory/.kvm.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kvm", Maintainer is "BROGERS(a)suse.com"
Changes:
--------
--- /work/SRC/openSUSE:Factory/kvm/kvm.changes 2012-07-09 08:01:46.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.kvm.new/kvm.changes 2012-07-24 17:22:07.000000000 +0200
@@ -1,0 +2,20 @@
+Tue Jul 17 21:59:45 UTC 2012 - brogers(a)suse.com
+
+- Update to qemu-kvm v1.1.1 (bug fixes only) Noteworthy fixes:
+ - rtl8139: validate rx ring before receiving packets
+ - ahci: SATA FIS is 20 bytes, not 0x20
+ - sheepdog: fix return value of do_load_save_vm_state
+ - fdc: fix implied seek while there is no media in drive
+ - qcow2: fix autoclear image header update
+ - pci_bridge_dev: fix error path in pci_bridge_dev_initfn()
+ - qdev: release parent properties on dc->init failure
+ - intel-hda and ahci: Fix reset of MSI function
+ - rtl8139: honor RxOverflow flag in can_receive method
+ - monitor: Fix memory leak with readline completion
+ - qcow2: Silence false warning
+ - kvm: i8254: Fix conversion of in-kernel to userspace state
+ - kvm/apic: correct short memset
+ - exec: fix TB invalidation after breakpoint insertion/deletion
+ - virtio-blk: Fix geometry sector calculation
+
+-------------------------------------------------------------------
Old:
----
kvm-qemu-preXX-qemu-kvm-Add-missing-default-machine-options.patch
qemu-kvm-1.1.0.tar.bz2
New:
----
qemu-kvm-1.1.1.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kvm.spec ++++++
--- /var/tmp/diff_new_pack.SHhKPm/_old 2012-07-24 17:22:12.000000000 +0200
+++ /var/tmp/diff_new_pack.SHhKPm/_new 2012-07-24 17:22:12.000000000 +0200
@@ -19,8 +19,8 @@
%bcond_without spice
-%define package_true_version 1.1.0
-%define package_base_version 1.1.0
+%define package_true_version 1.1.1
+%define package_base_version 1.1.1
%define bios_id seabios-1.7.0
# ipxe is through git commit id: addf699c86ae18edd7de13433da78be926c22504
%define pxe_rom_id ipxe-1.0.0
@@ -144,7 +144,6 @@
Patch105: kvm-qemu-preXX-dictzip3.patch
Patch106: kvm-qemu-preXX-use--libexecdir-instead-of-ignoring.patch
Patch107: kvm-qemu-preXX-uhci-fix-uhci_async_cancel_all.patch
-Patch108: kvm-qemu-preXX-qemu-kvm-Add-missing-default-machine-options.patch
Patch200: kvm-studio-slirp-nooutgoing.patch
Patch201: kvm-studio-vnc.patch
@@ -238,7 +237,6 @@
%patch105 -p1
%patch106 -p1
%patch107 -p1
-%patch108 -p1
# Studio addons
%patch200 -p1
@@ -413,8 +411,6 @@
%files
%defattr(-,root,root)
-# qmp-commands.txt needs to be included as doc, we well as qemu-nbd.8? (we delete this above!!!!, also virtfs-proxy-helper.1 if building virtfs
-# Also see what qemu has doc'd/ Do we want to NOT include kvm-supported.txt for oS?
%doc COPYING COPYING.LIB Changelog README qemu-kvm.html qemu-kvm-tech.html kvm-supported.txt qmp-commands.txt
%attr(755,root,kvm) %{_bindir}/qemu-kvm
%attr(755,root,kvm) %{_bindir}/kvm_stat
++++++ qemu-kvm-1.1.0.tar.bz2 -> qemu-kvm-1.1.1.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qemu-kvm-1.1.0/Makefile new/qemu-kvm-1.1.1/Makefile
--- old/qemu-kvm-1.1.0/Makefile 2012-06-30 04:14:15.000000000 +0200
+++ new/qemu-kvm-1.1.1/Makefile 2012-07-16 09:52:03.000000000 +0200
@@ -271,6 +271,7 @@
install-doc: $(DOCS)
$(INSTALL_DIR) "$(DESTDIR)$(qemu_docdir)"
$(INSTALL_DATA) qemu-doc.html qemu-tech.html "$(DESTDIR)$(qemu_docdir)"
+ $(INSTALL_DATA) QMP/qmp-commands.txt "$(DESTDIR)$(qemu_docdir)"
ifdef CONFIG_POSIX
$(INSTALL_DIR) "$(DESTDIR)$(mandir)/man1"
$(INSTALL_DATA) qemu.1 qemu-img.1 "$(DESTDIR)$(mandir)/man1"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qemu-kvm-1.1.0/VERSION new/qemu-kvm-1.1.1/VERSION
--- old/qemu-kvm-1.1.0/VERSION 2012-06-30 04:14:15.000000000 +0200
+++ new/qemu-kvm-1.1.1/VERSION 2012-07-16 09:52:03.000000000 +0200
@@ -1 +1 @@
-1.1.0
+1.1.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qemu-kvm-1.1.0/block/qcow2-cluster.c new/qemu-kvm-1.1.1/block/qcow2-cluster.c
--- old/qemu-kvm-1.1.0/block/qcow2-cluster.c 2012-06-30 04:14:15.000000000 +0200
+++ new/qemu-kvm-1.1.1/block/qcow2-cluster.c 2012-07-16 09:52:03.000000000 +0200
@@ -471,6 +471,8 @@
QCOW_OFLAG_COMPRESSED | QCOW_OFLAG_ZERO);
*cluster_offset &= L2E_OFFSET_MASK;
break;
+ default:
+ abort();
}
qcow2_cache_put(bs, s->l2_table_cache, (void**) &l2_table);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qemu-kvm-1.1.0/block/qcow2-refcount.c new/qemu-kvm-1.1.1/block/qcow2-refcount.c
--- old/qemu-kvm-1.1.0/block/qcow2-refcount.c 2012-06-30 04:14:15.000000000 +0200
+++ new/qemu-kvm-1.1.1/block/qcow2-refcount.c 2012-07-16 09:52:03.000000000 +0200
@@ -367,7 +367,7 @@
}
for(i = 0; i < table_size; i++) {
- cpu_to_be64s(&new_table[i]);
+ be64_to_cpus(&new_table[i]);
}
/* Hook up the new refcount table in the qcow2 header */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qemu-kvm-1.1.0/block/qcow2.c new/qemu-kvm-1.1.1/block/qcow2.c
--- old/qemu-kvm-1.1.0/block/qcow2.c 2012-06-30 04:14:15.000000000 +0200
+++ new/qemu-kvm-1.1.1/block/qcow2.c 2012-07-16 09:52:03.000000000 +0200
@@ -298,14 +298,6 @@
goto fail;
}
- if (!bs->read_only && s->autoclear_features != 0) {
- s->autoclear_features = 0;
- ret = qcow2_update_header(bs);
- if (ret < 0) {
- goto fail;
- }
- }
-
/* Check support for various header values */
if (header.refcount_order != 4) {
report_unsupported(bs, "%d bit reference counts",
@@ -411,6 +403,15 @@
goto fail;
}
+ /* Clear unknown autoclear feature bits */
+ if (!bs->read_only && s->autoclear_features != 0) {
+ s->autoclear_features = 0;
+ ret = qcow2_update_header(bs);
+ if (ret < 0) {
+ goto fail;
+ }
+ }
+
/* Initialise locks */
qemu_co_mutex_init(&s->lock);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qemu-kvm-1.1.0/block/sheepdog.c new/qemu-kvm-1.1.1/block/sheepdog.c
--- old/qemu-kvm-1.1.0/block/sheepdog.c 2012-06-30 04:14:15.000000000 +0200
+++ new/qemu-kvm-1.1.1/block/sheepdog.c 2012-07-16 09:52:03.000000000 +0200
@@ -1957,7 +1957,7 @@
int64_t pos, int size, int load)
{
int fd, create;
- int ret = 0;
+ int ret = 0, remaining = size;
unsigned int data_len;
uint64_t vmstate_oid;
uint32_t vdi_index;
@@ -1968,11 +1968,11 @@
return fd;
}
- while (size) {
+ while (remaining) {
vdi_index = pos / SD_DATA_OBJ_SIZE;
offset = pos % SD_DATA_OBJ_SIZE;
- data_len = MIN(size, SD_DATA_OBJ_SIZE);
+ data_len = MIN(remaining, SD_DATA_OBJ_SIZE);
vmstate_oid = vid_to_vmstate_oid(s->inode.vdi_id, vdi_index);
@@ -1993,9 +1993,9 @@
}
pos += data_len;
- size -= data_len;
- ret += data_len;
+ remaining -= data_len;
}
+ ret = size;
cleanup:
closesocket(fd);
return ret;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qemu-kvm-1.1.0/configure new/qemu-kvm-1.1.1/configure
--- old/qemu-kvm-1.1.0/configure 2012-06-30 04:14:15.000000000 +0200
+++ new/qemu-kvm-1.1.1/configure 2012-07-16 09:52:03.000000000 +0200
@@ -2828,7 +2828,11 @@
open_by_hande_at=no
cat > $TMPC << EOF
#include <fcntl.h>
+#if !defined(AT_EMPTY_PATH)
+# error missing definition
+#else
int main(void) { struct file_handle fh; return open_by_handle_at(0, &fh, 0); }
+#endif
EOF
if compile_prog "" "" ; then
open_by_handle_at=yes
@@ -2932,7 +2936,8 @@
tools="$tools fsdev/virtfs-proxy-helper\$(EXESUF)"
else
if test "$virtfs" = yes; then
- feature_not_found "virtfs"
+ echo "VirtFS is supported only on Linux and requires libcap-devel and libattr-devel"
+ exit 1
fi
virtfs=no
fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qemu-kvm-1.1.0/exec.c new/qemu-kvm-1.1.1/exec.c
--- old/qemu-kvm-1.1.0/exec.c 2012-06-30 04:14:15.000000000 +0200
+++ new/qemu-kvm-1.1.1/exec.c 2012-07-16 09:52:03.000000000 +0200
@@ -1492,7 +1492,8 @@
static void breakpoint_invalidate(CPUArchState *env, target_ulong pc)
{
- tb_invalidate_phys_addr(cpu_get_phys_page_debug(env, pc));
+ tb_invalidate_phys_addr(cpu_get_phys_page_debug(env, pc) |
+ (pc & ~TARGET_PAGE_MASK));
}
#endif
#endif /* TARGET_HAS_ICE */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qemu-kvm-1.1.0/hw/ide/ahci.c new/qemu-kvm-1.1.1/hw/ide/ahci.c
--- old/qemu-kvm-1.1.0/hw/ide/ahci.c 2012-06-30 04:14:15.000000000 +0200
+++ new/qemu-kvm-1.1.1/hw/ide/ahci.c 2012-07-16 09:52:03.000000000 +0200
@@ -462,7 +462,7 @@
static void ahci_init_d2h(AHCIDevice *ad)
{
- uint8_t init_fis[0x20];
+ uint8_t init_fis[20];
IDEState *ide_state = &ad->port.ifs[0];
memset(init_fis, 0, sizeof(init_fis));
@@ -619,7 +619,7 @@
d2h_fis[11] = cmd_fis[11];
d2h_fis[12] = cmd_fis[12];
d2h_fis[13] = cmd_fis[13];
- for (i = 14; i < 0x20; i++) {
+ for (i = 14; i < 20; i++) {
d2h_fis[i] = 0;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qemu-kvm-1.1.0/hw/ide/ich.c new/qemu-kvm-1.1.1/hw/ide/ich.c
--- old/qemu-kvm-1.1.0/hw/ide/ich.c 2012-06-30 04:14:15.000000000 +0200
+++ new/qemu-kvm-1.1.1/hw/ide/ich.c 2012-07-16 09:52:03.000000000 +0200
@@ -84,6 +84,14 @@
.unmigratable = 1,
};
+static void pci_ich9_reset(void *opaque)
+{
+ struct AHCIPCIState *d = opaque;
+
+ msi_reset(&d->card);
+ ahci_reset(opaque);
+}
+
static int pci_ich9_ahci_init(PCIDevice *dev)
{
struct AHCIPCIState *d;
@@ -102,7 +110,7 @@
/* XXX Software should program this register */
d->card.config[0x90] = 1 << 6; /* Address Map Register - AHCI mode */
- qemu_register_reset(ahci_reset, d);
+ qemu_register_reset(pci_ich9_reset, d);
msi_init(dev, 0x50, 1, true, false);
d->ahci.irq = d->card.irq[0];
@@ -133,7 +141,7 @@
d = DO_UPCAST(struct AHCIPCIState, card, dev);
msi_uninit(dev);
- qemu_unregister_reset(ahci_reset, d);
+ qemu_unregister_reset(pci_ich9_reset, d);
ahci_uninit(&d->ahci);
return 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qemu-kvm-1.1.0/hw/intel-hda.c new/qemu-kvm-1.1.1/hw/intel-hda.c
--- old/qemu-kvm-1.1.0/hw/intel-hda.c 2012-06-30 04:14:15.000000000 +0200
+++ new/qemu-kvm-1.1.1/hw/intel-hda.c 2012-07-16 09:52:03.000000000 +0200
@@ -1107,6 +1107,9 @@
DeviceState *qdev;
HDACodecDevice *cdev;
+ if (d->msi) {
+ msi_reset(&d->pci);
+ }
intel_hda_regs_reset(d);
d->wall_base_ns = qemu_get_clock_ns(vm_clock);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qemu-kvm-1.1.0/hw/kvm/apic.c new/qemu-kvm-1.1.1/hw/kvm/apic.c
--- old/qemu-kvm-1.1.0/hw/kvm/apic.c 2012-06-30 04:14:15.000000000 +0200
+++ new/qemu-kvm-1.1.1/hw/kvm/apic.c 2012-07-16 09:52:03.000000000 +0200
@@ -29,7 +29,7 @@
APICCommonState *s = DO_UPCAST(APICCommonState, busdev.qdev, d);
int i;
- memset(kapic, 0, sizeof(kapic));
+ memset(kapic, 0, sizeof(*kapic));
kvm_apic_set_reg(kapic, 0x2, s->id << 24);
kvm_apic_set_reg(kapic, 0x8, s->tpr);
kvm_apic_set_reg(kapic, 0xd, s->log_dest << 24);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qemu-kvm-1.1.0/hw/pc_piix.c new/qemu-kvm-1.1.1/hw/pc_piix.c
--- old/qemu-kvm-1.1.0/hw/pc_piix.c 2012-06-30 04:14:15.000000000 +0200
+++ new/qemu-kvm-1.1.1/hw/pc_piix.c 2012-07-16 09:52:03.000000000 +0200
@@ -393,6 +393,7 @@
.desc = "Standard PC",
.init = pc_init_pci,
.max_cpus = 255,
+ .default_machine_opts = "accel=kvm,kernel_irqchip=on",
.compat_props = (GlobalProperty[]) {
PC_COMPAT_1_0,
{ /* end of list */ }
@@ -407,6 +408,7 @@
.desc = "Standard PC",
.init = pc_init_pci,
.max_cpus = 255,
+ .default_machine_opts = "accel=kvm,kernel_irqchip=on",
.compat_props = (GlobalProperty[]) {
PC_COMPAT_0_15,
{ /* end of list */ }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qemu-kvm-1.1.0/hw/pci_bridge_dev.c new/qemu-kvm-1.1.1/hw/pci_bridge_dev.c
--- old/qemu-kvm-1.1.0/hw/pci_bridge_dev.c 2012-06-30 04:14:15.000000000 +0200
+++ new/qemu-kvm-1.1.1/hw/pci_bridge_dev.c 2012-07-16 09:52:03.000000000 +0200
@@ -52,7 +52,7 @@
{
PCIBridge *br = DO_UPCAST(PCIBridge, dev, dev);
PCIBridgeDev *bridge_dev = DO_UPCAST(PCIBridgeDev, bridge, br);
- int err;
+ int err, ret;
pci_bridge_map_irq(br, NULL, pci_bridge_dev_map_irq_fn);
err = pci_bridge_initfn(dev);
if (err) {
@@ -86,6 +86,8 @@
shpc_cleanup(dev, &bridge_dev->bar);
shpc_error:
memory_region_destroy(&bridge_dev->bar);
+ ret = pci_bridge_exitfn(dev);
+ assert(!ret);
bridge_error:
return err;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qemu-kvm-1.1.0/hw/qdev-monitor.c new/qemu-kvm-1.1.1/hw/qdev-monitor.c
--- old/qemu-kvm-1.1.0/hw/qdev-monitor.c 2012-06-30 04:14:15.000000000 +0200
+++ new/qemu-kvm-1.1.1/hw/qdev-monitor.c 2012-07-16 09:52:03.000000000 +0200
@@ -20,6 +20,7 @@
#include "qdev.h"
#include "monitor.h"
#include "qmp-commands.h"
+#include "arch_init.h"
/*
* Aliases were a bad idea from the start. Let's keep them
@@ -29,16 +30,18 @@
{
const char *typename;
const char *alias;
+ uint32_t arch_mask;
} QDevAlias;
static const QDevAlias qdev_alias_table[] = {
- { "virtio-blk-pci", "virtio-blk" },
- { "virtio-net-pci", "virtio-net" },
- { "virtio-serial-pci", "virtio-serial" },
- { "virtio-balloon-pci", "virtio-balloon" },
- { "virtio-blk-s390", "virtio-blk" },
- { "virtio-net-s390", "virtio-net" },
- { "virtio-serial-s390", "virtio-serial" },
+ { "virtio-blk-pci", "virtio-blk", QEMU_ARCH_ALL & ~QEMU_ARCH_S390X },
+ { "virtio-net-pci", "virtio-net", QEMU_ARCH_ALL & ~QEMU_ARCH_S390X },
+ { "virtio-serial-pci", "virtio-serial", QEMU_ARCH_ALL & ~QEMU_ARCH_S390X },
+ { "virtio-balloon-pci", "virtio-balloon",
+ QEMU_ARCH_ALL & ~QEMU_ARCH_S390X },
+ { "virtio-blk-s390", "virtio-blk", QEMU_ARCH_S390X },
+ { "virtio-net-s390", "virtio-net", QEMU_ARCH_S390X },
+ { "virtio-serial-s390", "virtio-serial", QEMU_ARCH_S390X },
{ "lsi53c895a", "lsi" },
{ "ich9-ahci", "ahci" },
{ }
@@ -50,6 +53,11 @@
int i;
for (i = 0; qdev_alias_table[i].typename; i++) {
+ if (qdev_alias_table[i].arch_mask &&
+ !(qdev_alias_table[i].arch_mask & arch_type)) {
+ continue;
+ }
+
if (strcmp(qdev_alias_table[i].typename, typename) == 0) {
return qdev_alias_table[i].alias;
}
@@ -110,6 +118,11 @@
int i;
for (i = 0; qdev_alias_table[i].alias; i++) {
+ if (qdev_alias_table[i].arch_mask &&
+ !(qdev_alias_table[i].arch_mask & arch_type)) {
+ continue;
+ }
+
if (strcmp(qdev_alias_table[i].alias, alias) == 0) {
return qdev_alias_table[i].typename;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qemu-kvm-1.1.0/hw/qdev.c new/qemu-kvm-1.1.1/hw/qdev.c
--- old/qemu-kvm-1.1.0/hw/qdev.c 2012-06-30 04:14:15.000000000 +0200
+++ new/qemu-kvm-1.1.1/hw/qdev.c 2012-07-16 09:52:03.000000000 +0200
@@ -150,6 +150,7 @@
rc = dc->init(dev);
if (rc < 0) {
+ object_unparent(OBJECT(dev));
qdev_free(dev);
return rc;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qemu-kvm-1.1.0/hw/rtl8139.c new/qemu-kvm-1.1.1/hw/rtl8139.c
--- old/qemu-kvm-1.1.0/hw/rtl8139.c 2012-06-30 04:14:15.000000000 +0200
+++ new/qemu-kvm-1.1.1/hw/rtl8139.c 2012-07-16 09:52:03.000000000 +0200
@@ -781,6 +781,13 @@
#endif
}
+/* Workaround for buggy guest driver such as linux who allocates rx
+ * rings after the receiver were enabled. */
+static bool rtl8139_cp_rx_valid(RTL8139State *s)
+{
+ return !(s->RxRingAddrLO == 0 && s->RxRingAddrHI == 0);
+}
+
static int rtl8139_can_receive(VLANClientState *nc)
{
RTL8139State *s = DO_UPCAST(NICState, nc, nc)->opaque;
@@ -792,14 +799,14 @@
if (!rtl8139_receiver_enabled(s))
return 1;
- if (rtl8139_cp_receiver_enabled(s)) {
+ if (rtl8139_cp_receiver_enabled(s) && rtl8139_cp_rx_valid(s)) {
/* ??? Flow control not implemented in c+ mode.
This is a hack to work around slirp deficiencies anyway. */
return 1;
} else {
avail = MOD2(s->RxBufferSize + s->RxBufPtr - s->RxBufAddr,
s->RxBufferSize);
- return (avail == 0 || avail >= 1514);
+ return (avail == 0 || avail >= 1514 || (s->IntrMask & RxOverflow));
}
}
@@ -937,6 +944,10 @@
if (rtl8139_cp_receiver_enabled(s))
{
+ if (!rtl8139_cp_rx_valid(s)) {
+ return size;
+ }
+
DPRINTF("in C+ Rx mode ================\n");
/* begin C+ receiver mode */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qemu-kvm-1.1.0/hw/virtio-blk.c new/qemu-kvm-1.1.1/hw/virtio-blk.c
--- old/qemu-kvm-1.1.0/hw/virtio-blk.c 2012-06-30 04:14:15.000000000 +0200
+++ new/qemu-kvm-1.1.1/hw/virtio-blk.c 2012-07-16 09:52:03.000000000 +0200
@@ -147,9 +147,11 @@
static void virtio_blk_handle_scsi(VirtIOBlockReq *req)
{
+#ifdef __linux__
int ret;
- int status = VIRTIO_BLK_S_OK;
int i;
+#endif
+ int status = VIRTIO_BLK_S_OK;
/*
* We require at least one output segment each for the virtio_blk_outhdr
@@ -489,7 +491,22 @@
stw_raw(&blkcfg.min_io_size, s->conf->min_io_size / blk_size);
stw_raw(&blkcfg.opt_io_size, s->conf->opt_io_size / blk_size);
blkcfg.heads = heads;
- blkcfg.sectors = secs & ~s->sector_mask;
+ /*
+ * We must ensure that the block device capacity is a multiple of
+ * the logical block size. If that is not the case, lets use
+ * sector_mask to adopt the geometry to have a correct picture.
+ * For those devices where the capacity is ok for the given geometry
+ * we dont touch the sector value of the geometry, since some devices
+ * (like s390 dasd) need a specific value. Here the capacity is already
+ * cyls*heads*secs*blk_size and the sector value is not block size
+ * divided by 512 - instead it is the amount of blk_size blocks
+ * per track (cylinder).
+ */
+ if (bdrv_getlength(s->bs) / heads / secs % blk_size) {
+ blkcfg.sectors = secs & ~s->sector_mask;
+ } else {
+ blkcfg.sectors = secs;
+ }
blkcfg.size_max = 0;
blkcfg.physical_block_exp = get_physical_block_exp(s->conf);
blkcfg.alignment_offset = 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qemu-kvm-1.1.0/hw/virtio-pci.c new/qemu-kvm-1.1.1/hw/virtio-pci.c
--- old/qemu-kvm-1.1.0/hw/virtio-pci.c 2012-06-30 04:14:15.000000000 +0200
+++ new/qemu-kvm-1.1.1/hw/virtio-pci.c 2012-07-16 09:52:03.000000000 +0200
@@ -629,7 +629,7 @@
/* Must unset mask notifier while guest notifier
* is still assigned */
- if (!assign) {
+ if (kvm_irqchip_in_kernel() && !assign) {
r = msix_unset_mask_notifier(&proxy->pci_dev);
assert(r >= 0);
}
@@ -647,7 +647,7 @@
/* Must set mask notifier after guest notifier
* has been assigned */
- if (assign) {
+ if (kvm_irqchip_in_kernel() && assign) {
r = msix_set_mask_notifier(&proxy->pci_dev,
virtio_pci_mask_notifier);
if (r < 0) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qemu-kvm-1.1.0/hw/xen_disk.c new/qemu-kvm-1.1.1/hw/xen_disk.c
--- old/qemu-kvm-1.1.0/hw/xen_disk.c 2012-06-30 04:14:15.000000000 +0200
+++ new/qemu-kvm-1.1.1/hw/xen_disk.c 2012-07-16 09:52:03.000000000 +0200
@@ -537,6 +537,15 @@
blk_handle_requests(blkdev);
}
+/*
+ * We need to account for the grant allocations requiring contiguous
+ * chunks; the worst case number would be
+ * max_req * max_seg + (max_req - 1) * (max_seg - 1) + 1,
+ * but in order to keep things simple just use
+ * 2 * max_req * max_seg.
+ */
+#define MAX_GRANTS(max_req, max_seg) (2 * (max_req) * (max_seg))
+
static void blk_alloc(struct XenDevice *xendev)
{
struct XenBlkDev *blkdev = container_of(xendev, struct XenBlkDev, xendev);
@@ -548,6 +557,11 @@
if (xen_mode != XEN_EMULATE) {
batch_maps = 1;
}
+ if (xc_gnttab_set_max_grants(xendev->gnttabdev,
+ MAX_GRANTS(max_requests, BLKIF_MAX_SEGMENTS_PER_REQUEST)) < 0) {
+ xen_be_printf(xendev, 0, "xc_gnttab_set_max_grants failed: %s\n",
+ strerror(errno));
+ }
}
static int blk_init(struct XenDevice *xendev)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qemu-kvm-1.1.0/os-win32.c new/qemu-kvm-1.1.1/os-win32.c
--- old/qemu-kvm-1.1.0/os-win32.c 2012-06-30 04:14:15.000000000 +0200
+++ new/qemu-kvm-1.1.1/os-win32.c 2012-07-16 09:52:03.000000000 +0200
@@ -57,7 +57,13 @@
static BOOL WINAPI qemu_ctrl_handler(DWORD type)
{
- exit(STATUS_CONTROL_C_EXIT);
+ qemu_system_shutdown_request();
+ /* Windows 7 kills application when the function returns.
+ Sleep here to give QEMU a try for closing.
+ Sleep period is 10000ms because Windows kills the program
+ after 10 seconds anyway. */
+ Sleep(10000);
+
return TRUE;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qemu-kvm-1.1.0/qemu-img.texi new/qemu-kvm-1.1.1/qemu-img.texi
--- old/qemu-kvm-1.1.0/qemu-img.texi 2012-06-30 04:14:15.000000000 +0200
+++ new/qemu-kvm-1.1.1/qemu-img.texi 2012-07-16 09:52:03.000000000 +0200
@@ -232,6 +232,29 @@
@end table
+@item qed
+Image format with support for backing files and compact image files (when your
+filesystem or transport medium does not support holes). Good performance due
+to less metadata than the more featureful qcow2 format, especially with
+cache=writethrough or cache=directsync. Consider using qcow2 which will soon
+have a similar optimization and is most actively developed.
+
+Supported options:
+@table @code
+@item backing_file
+File name of a base image (see @option{create} subcommand).
+@item backing_fmt
+Image file format of backing file (optional). Useful if the format cannot be
+autodetected because it has no header, like some vhd/vpc files.
+@item cluster_size
+Changes the cluster size (must be power-of-2 between 4K and 64K). Smaller
+cluster sizes can improve the image file size whereas larger cluster sizes
+generally provide better performance.
+@item table_size
+Changes the number of clusters per L1/L2 table (must be power-of-2 between 1
+and 16). There is normally no need to change this value but this option can be
+used for performance benchmarking.
+@end table
@item qcow
Old QEMU image format. Left for compatibility.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qemu-kvm-1.1.0/readline.c new/qemu-kvm-1.1.1/readline.c
--- old/qemu-kvm-1.1.0/readline.c 2012-06-30 04:14:15.000000000 +0200
+++ new/qemu-kvm-1.1.1/readline.c 2012-07-16 09:52:03.000000000 +0200
@@ -337,6 +337,9 @@
}
readline_show_prompt(rs);
}
+ for (i = 0; i < rs->nb_completions; i++) {
+ g_free(rs->completions[i]);
+ }
}
/* return true if command handled */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qemu-kvm-1.1.0/target-xtensa/cpu.h new/qemu-kvm-1.1.1/target-xtensa/cpu.h
--- old/qemu-kvm-1.1.0/target-xtensa/cpu.h 2012-06-30 04:14:15.000000000 +0200
+++ new/qemu-kvm-1.1.1/target-xtensa/cpu.h 2012-07-16 09:52:03.000000000 +0200
@@ -370,9 +370,12 @@
uint32_t *vpn, uint32_t wi, uint32_t *ei);
int xtensa_tlb_lookup(const CPUXtensaState *env, uint32_t addr, bool dtlb,
uint32_t *pwi, uint32_t *pei, uint8_t *pring);
+void xtensa_tlb_set_entry_mmu(const CPUXtensaState *env,
+ xtensa_tlb_entry *entry, bool dtlb,
+ unsigned wi, unsigned ei, uint32_t vpn, uint32_t pte);
void xtensa_tlb_set_entry(CPUXtensaState *env, bool dtlb,
unsigned wi, unsigned ei, uint32_t vpn, uint32_t pte);
-int xtensa_get_physical_addr(CPUXtensaState *env,
+int xtensa_get_physical_addr(CPUXtensaState *env, bool update_tlb,
uint32_t vaddr, int is_write, int mmu_idx,
uint32_t *paddr, uint32_t *page_size, unsigned *access);
void reset_mmu(CPUXtensaState *env);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qemu-kvm-1.1.0/target-xtensa/helper.c new/qemu-kvm-1.1.1/target-xtensa/helper.c
--- old/qemu-kvm-1.1.0/target-xtensa/helper.c 2012-06-30 04:14:15.000000000 +0200
+++ new/qemu-kvm-1.1.1/target-xtensa/helper.c 2012-07-16 09:52:03.000000000 +0200
@@ -135,11 +135,11 @@
uint32_t page_size;
unsigned access;
- if (xtensa_get_physical_addr(env, addr, 0, 0,
+ if (xtensa_get_physical_addr(env, false, addr, 0, 0,
&paddr, &page_size, &access) == 0) {
return paddr;
}
- if (xtensa_get_physical_addr(env, addr, 2, 0,
+ if (xtensa_get_physical_addr(env, false, addr, 2, 0,
&paddr, &page_size, &access) == 0) {
return paddr;
}
@@ -448,30 +448,48 @@
}
}
-static int autorefill_mmu(CPUXtensaState *env, uint32_t vaddr, bool dtlb,
- uint32_t *wi, uint32_t *ei, uint8_t *ring);
+static int get_pte(CPUXtensaState *env, uint32_t vaddr, uint32_t *pte);
-static int get_physical_addr_mmu(CPUXtensaState *env,
+static int get_physical_addr_mmu(CPUXtensaState *env, bool update_tlb,
uint32_t vaddr, int is_write, int mmu_idx,
- uint32_t *paddr, uint32_t *page_size, unsigned *access)
+ uint32_t *paddr, uint32_t *page_size, unsigned *access,
+ bool may_lookup_pt)
{
bool dtlb = is_write != 2;
uint32_t wi;
uint32_t ei;
uint8_t ring;
+ uint32_t vpn;
+ uint32_t pte;
+ const xtensa_tlb_entry *entry = NULL;
+ xtensa_tlb_entry tmp_entry;
int ret = xtensa_tlb_lookup(env, vaddr, dtlb, &wi, &ei, &ring);
if ((ret == INST_TLB_MISS_CAUSE || ret == LOAD_STORE_TLB_MISS_CAUSE) &&
- (mmu_idx != 0 || ((vaddr ^ env->sregs[PTEVADDR]) & 0xffc00000)) &&
- autorefill_mmu(env, vaddr, dtlb, &wi, &ei, &ring) == 0) {
+ may_lookup_pt && get_pte(env, vaddr, &pte) == 0) {
+ ring = (pte >> 4) & 0x3;
+ wi = 0;
+ split_tlb_entry_spec_way(env, vaddr, dtlb, &vpn, wi, &ei);
+
+ if (update_tlb) {
+ wi = ++env->autorefill_idx & 0x3;
+ xtensa_tlb_set_entry(env, dtlb, wi, ei, vpn, pte);
+ env->sregs[EXCVADDR] = vaddr;
+ qemu_log("%s: autorefill(%08x): %08x -> %08x\n",
+ __func__, vaddr, vpn, pte);
+ } else {
+ xtensa_tlb_set_entry_mmu(env, &tmp_entry, dtlb, wi, ei, vpn, pte);
+ entry = &tmp_entry;
+ }
ret = 0;
}
if (ret != 0) {
return ret;
}
- const xtensa_tlb_entry *entry =
- xtensa_tlb_get_entry(env, dtlb, wi, ei);
+ if (entry == NULL) {
+ entry = xtensa_tlb_get_entry(env, dtlb, wi, ei);
+ }
if (ring < mmu_idx) {
return dtlb ?
@@ -494,30 +512,21 @@
return 0;
}
-static int autorefill_mmu(CPUXtensaState *env, uint32_t vaddr, bool dtlb,
- uint32_t *wi, uint32_t *ei, uint8_t *ring)
+static int get_pte(CPUXtensaState *env, uint32_t vaddr, uint32_t *pte)
{
uint32_t paddr;
uint32_t page_size;
unsigned access;
uint32_t pt_vaddr =
(env->sregs[PTEVADDR] | (vaddr >> 10)) & 0xfffffffc;
- int ret = get_physical_addr_mmu(env, pt_vaddr, 0, 0,
- &paddr, &page_size, &access);
+ int ret = get_physical_addr_mmu(env, false, pt_vaddr, 0, 0,
+ &paddr, &page_size, &access, false);
qemu_log("%s: trying autorefill(%08x) -> %08x\n", __func__,
vaddr, ret ? ~0 : paddr);
if (ret == 0) {
- uint32_t vpn;
- uint32_t pte = ldl_phys(paddr);
-
- *ring = (pte >> 4) & 0x3;
- *wi = (++env->autorefill_idx) & 0x3;
- split_tlb_entry_spec_way(env, vaddr, dtlb, &vpn, *wi, ei);
- xtensa_tlb_set_entry(env, dtlb, *wi, *ei, vpn, pte);
- qemu_log("%s: autorefill(%08x): %08x -> %08x\n",
- __func__, vaddr, vpn, pte);
+ *pte = ldl_phys(paddr);
}
return ret;
}
@@ -553,13 +562,13 @@
*
* \return 0 if ok, exception cause code otherwise
*/
-int xtensa_get_physical_addr(CPUXtensaState *env,
+int xtensa_get_physical_addr(CPUXtensaState *env, bool update_tlb,
uint32_t vaddr, int is_write, int mmu_idx,
uint32_t *paddr, uint32_t *page_size, unsigned *access)
{
if (xtensa_option_enabled(env->config, XTENSA_OPTION_MMU)) {
- return get_physical_addr_mmu(env, vaddr, is_write, mmu_idx,
- paddr, page_size, access);
+ return get_physical_addr_mmu(env, update_tlb,
+ vaddr, is_write, mmu_idx, paddr, page_size, access, true);
} else if (xtensa_option_bits_enabled(env->config,
XTENSA_OPTION_BIT(XTENSA_OPTION_REGION_PROTECTION) |
XTENSA_OPTION_BIT(XTENSA_OPTION_REGION_TRANSLATION))) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qemu-kvm-1.1.0/target-xtensa/op_helper.c new/qemu-kvm-1.1.1/target-xtensa/op_helper.c
--- old/qemu-kvm-1.1.0/target-xtensa/op_helper.c 2012-06-30 04:14:15.000000000 +0200
+++ new/qemu-kvm-1.1.1/target-xtensa/op_helper.c 2012-07-16 09:52:03.000000000 +0200
@@ -79,7 +79,7 @@
uint32_t paddr;
uint32_t page_size;
unsigned access;
- int ret = xtensa_get_physical_addr(env, vaddr, is_write, mmu_idx,
+ int ret = xtensa_get_physical_addr(env, true, vaddr, is_write, mmu_idx,
&paddr, &page_size, &access);
qemu_log("%s(%08x, %d, %d) -> %08x, ret = %d\n", __func__,
@@ -103,7 +103,7 @@
uint32_t paddr;
uint32_t page_size;
unsigned access;
- int ret = xtensa_get_physical_addr(env, vaddr, 2, 0,
+ int ret = xtensa_get_physical_addr(env, false, vaddr, 2, 0,
&paddr, &page_size, &access);
if (ret == 0) {
tb_invalidate_phys_addr(paddr);
@@ -655,6 +655,16 @@
}
}
+void xtensa_tlb_set_entry_mmu(const CPUXtensaState *env,
+ xtensa_tlb_entry *entry, bool dtlb,
+ unsigned wi, unsigned ei, uint32_t vpn, uint32_t pte)
+{
+ entry->vaddr = vpn;
+ entry->paddr = pte & xtensa_tlb_get_addr_mask(env, dtlb, wi);
+ entry->asid = (env->sregs[RASID] >> ((pte >> 1) & 0x18)) & 0xff;
+ entry->attr = pte & 0xf;
+}
+
void xtensa_tlb_set_entry(CPUXtensaState *env, bool dtlb,
unsigned wi, unsigned ei, uint32_t vpn, uint32_t pte)
{
@@ -665,10 +675,8 @@
if (entry->asid) {
tlb_flush_page(env, entry->vaddr);
}
- entry->vaddr = vpn;
- entry->paddr = pte & xtensa_tlb_get_addr_mask(env, dtlb, wi);
- entry->asid = (env->sregs[RASID] >> ((pte >> 1) & 0x18)) & 0xff;
- entry->attr = pte & 0xf;
+ xtensa_tlb_set_entry_mmu(env, entry, dtlb, wi, ei, vpn, pte);
+ tlb_flush_page(env, entry->vaddr);
} else {
qemu_log("%s %d, %d, %d trying to set immutable entry\n",
__func__, dtlb, wi, ei);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qemu-kvm-1.1.0/target-xtensa/translate.c new/qemu-kvm-1.1.1/target-xtensa/translate.c
--- old/qemu-kvm-1.1.0/target-xtensa/translate.c 2012-06-30 04:14:15.000000000 +0200
+++ new/qemu-kvm-1.1.1/target-xtensa/translate.c 2012-07-16 09:52:03.000000000 +0200
@@ -388,6 +388,7 @@
dc->next_pc == dc->lend) {
int label = gen_new_label();
+ gen_advance_ccount(dc);
tcg_gen_brcondi_i32(TCG_COND_EQ, cpu_SR[LCOUNT], 0, label);
tcg_gen_subi_i32(cpu_SR[LCOUNT], cpu_SR[LCOUNT], 1);
gen_jumpi(dc, dc->lbeg, slot);
@@ -410,6 +411,7 @@
{
int label = gen_new_label();
+ gen_advance_ccount(dc);
tcg_gen_brcond_i32(cond, t0, t1, label);
gen_jumpi_check_loop_end(dc, 0);
gen_set_label(label);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qemu-kvm-1.1.0/tests/tcg/xtensa/test_mmu.S new/qemu-kvm-1.1.1/tests/tcg/xtensa/test_mmu.S
--- old/qemu-kvm-1.1.0/tests/tcg/xtensa/test_mmu.S 2012-06-30 04:14:15.000000000 +0200
+++ new/qemu-kvm-1.1.1/tests/tcg/xtensa/test_mmu.S 2012-07-16 09:52:03.000000000 +0200
@@ -293,26 +293,219 @@
assert eq, a2, a3
test_end
-test dtlb_autoload
- set_vector kernel, 0
-
- movi a2, 0xd4000000
+/* Set up page table entry vaddr->paddr, ring=pte_ring, attr=pte_attr
+ * and DTLB way 7 to cover this PTE, ring=pt_ring, attr=pt_attr
+ */
+.macro pt_setup pt_ring, pt_attr, pte_ring, vaddr, paddr, pte_attr
+ movi a2, 0x80000000
wsr a2, ptevaddr
- movi a3, 0x00001013
- s32i a3, a2, 4
+
+ movi a3, 0x80000007 | (((\vaddr) >> 10) & 0xfffff000) /* way 7 */
+ movi a4, 0x04000003 | ((\pt_ring) << 4) /* PADDR 64M */
+ wdtlb a4, a3
+ isync
+
+ movi a3, ((\paddr) & 0xfffff000) | ((\pte_ring) << 4) | (\pte_attr)
+ movi a1, ((\vaddr) >> 12) << 2
+ add a2, a1, a2
+ s32i a3, a2, 0
+
+ movi a3, 0x80000007 | (((\vaddr) >> 10) & 0xfffff000) /* way 7 */
+ movi a4, 0x04000000 | ((\pt_ring) << 4) | (\pt_attr) /* PADDR 64M */
+ wdtlb a4, a3
+ isync
+
+ movi a3, (\vaddr)
+.endm
+
+/* out: PS.RING=ring, PS.EXCM=excm, a3=vaddr */
+.macro go_ring ring, excm, vaddr
+ movi a3, 10f
+ pitlb a3, a3
+ ritlb1 a2, a3
+ movi a1, 0x10
+ or a2, a2, a1
+ movi a1, 0x000ff000
+ and a3, a3, a1
+ movi a1, 4
+ or a3, a3, a1
+ witlb a2, a3
+ movi a3, 10f
+ movi a1, 0x000fffff
+ and a1, a3, a1
+
+ movi a2, 0
+ wsr a2, excvaddr
+
+ movi a3, \vaddr
+ movi a2, 0x4000f | ((\ring) << 6) | ((\excm) << 4)
+ jx a1
+10:
+ wsr a2, ps
+ isync
+.endm
+
+/* in: a3 -- virtual address to test */
+.macro assert_auto_tlb
+ movi a2, 0x4000f
+ wsr a2, ps
+ isync
+ pdtlb a2, a3
+ movi a1, 0xfffff01f
+ and a2, a2, a1
+ movi a1, 0xfffff000
+ and a1, a1, a3
+ xor a1, a1, a2
+ assert gei, a1, 0x10
+ movi a2, 0x14
+ assert lt, a1, a2
+.endm
+
+/* in: a3 -- virtual address to test */
+.macro assert_no_auto_tlb
+ movi a2, 0x4000f
+ wsr a2, ps
+ isync
pdtlb a2, a3
movi a1, 0x10
and a1, a1, a2
assert eqi, a1, 0
- l8ui a1, a3, 0
- pdtlb a2, a3
- movi a1, 0xfffff010
- and a1, a1, a2
- movi a3, 0x00001010
- assert eq, a1, a3
- movi a1, 0xf
+.endm
+
+.macro assert_sr sr, v
+ rsr a2, \sr
+ movi a1, (\v)
+ assert eq, a1, a2
+.endm
+
+.macro assert_epc1_1m vaddr
+ movi a2, (\vaddr)
+ movi a1, 0xfffff
and a1, a1, a2
- assert lti, a1, 4
+ rsr a2, epc1
+ assert eq, a1, a2
+.endm
+
+test dtlb_autoload
+ set_vector kernel, 0
+
+ pt_setup 0, 3, 1, 0x1000, 0x1000, 3
+ assert_no_auto_tlb
+
+ l8ui a1, a3, 0
+
+ rsr a2, excvaddr
+ assert eq, a2, a3
+
+ assert_auto_tlb
+test_end
+
+test autoload_load_store_privilege
+ set_vector kernel, 0
+ set_vector double, 2f
+
+ pt_setup 0, 3, 0, 0x2000, 0x2000, 3
+ movi a3, 0x2004
+ assert_no_auto_tlb
+
+ movi a2, 0x4005f /* ring 1 + excm => cring == 0 */
+ wsr a2, ps
+ isync
+1:
+ l32e a2, a3, -4 /* ring used */
+ test_fail
+2:
+ rsr a2, excvaddr
+ addi a1, a3, -4
+ assert eq, a1, a2
+
+ assert_auto_tlb
+ assert_sr depc, 1b
+ assert_sr exccause, 26
+test_end
+
+test autoload_pte_load_prohibited
+ set_vector kernel, 2f
+
+ pt_setup 0, 3, 0, 0x3000, 0, 0xc
+ assert_no_auto_tlb
+1:
+ l32i a2, a3, 0
+ test_fail
+2:
+ rsr a2, excvaddr
+ assert eq, a2, a3
+
+ assert_auto_tlb
+ assert_sr epc1, 1b
+ assert_sr exccause, 28
+test_end
+
+test autoload_pt_load_prohibited
+ set_vector kernel, 2f
+
+ pt_setup 0, 0xc, 0, 0x4000, 0x4000, 3
+ assert_no_auto_tlb
+1:
+ l32i a2, a3, 0
+ test_fail
+2:
+ rsr a2, excvaddr
+ assert eq, a2, a3
+
+ assert_no_auto_tlb
+ assert_sr epc1, 1b
+ assert_sr exccause, 24
+test_end
+
+test autoload_pt_privilege
+ set_vector kernel, 2f
+ pt_setup 0, 3, 1, 0x5000, 0, 3
+ go_ring 1, 0, 0x5001
+
+ l8ui a2, a3, 0
+1:
+ syscall
+2:
+ rsr a2, excvaddr
+ assert eq, a2, a3
+
+ assert_auto_tlb
+ assert_epc1_1m 1b
+ assert_sr exccause, 1
+test_end
+
+test autoload_pte_privilege
+ set_vector kernel, 2f
+ pt_setup 0, 3, 0, 0x6000, 0, 3
+ go_ring 1, 0, 0x6001
+1:
+ l8ui a2, a3, 0
+ syscall
+2:
+ rsr a2, excvaddr
+ assert eq, a2, a3
+
+ assert_auto_tlb
+ assert_epc1_1m 1b
+ assert_sr exccause, 26
+test_end
+
+test autoload_3_level_pt
+ set_vector kernel, 2f
+ pt_setup 1, 3, 1, 0x00400000, 0, 3
+ pt_setup 1, 3, 1, 0x80001000, 0x2000000, 3
+ go_ring 1, 0, 0x00400001
+1:
+ l8ui a2, a3, 0
+ syscall
+2:
+ rsr a2, excvaddr
+ assert eq, a2, a3
+
+ assert_no_auto_tlb
+ assert_epc1_1m 1b
+ assert_sr exccause, 24
test_end
test_suite_end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qemu-kvm-1.1.0/trace/simple.c new/qemu-kvm-1.1.1/trace/simple.c
--- old/qemu-kvm-1.1.0/trace/simple.c 2012-06-30 04:14:15.000000000 +0200
+++ new/qemu-kvm-1.1.1/trace/simple.c 2012-07-16 09:52:03.000000000 +0200
@@ -161,8 +161,11 @@
}
timestamp = get_clock();
-
+#if GLIB_CHECK_VERSION(2, 30, 0)
+ idx = g_atomic_int_add((gint *)&trace_idx, 1) % TRACE_BUF_LEN;
+#else
idx = g_atomic_int_exchange_and_add((gint *)&trace_idx, 1) % TRACE_BUF_LEN;
+#endif
trace_buf[idx] = (TraceRecord){
.event = event,
.timestamp_ns = timestamp,
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package glib2 for openSUSE:Factory checked in at 2012-07-24 16:09:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/glib2 (Old)
and /work/SRC/openSUSE:Factory/.glib2.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "glib2", Maintainer is "gnome-maintainers(a)suse.de"
Changes:
--------
--- /work/SRC/openSUSE:Factory/glib2/glib2.changes 2012-06-10 23:12:25.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.glib2.new/glib2.changes 2012-07-24 17:22:01.000000000 +0200
@@ -1,0 +2,18 @@
+Sat Jul 21 18:57:30 UTC 2012 - dimstar(a)opensuse.org
+
+- Add dbus-1-x11 Requires to libgio-2_0-0 (bnc#678518).
+
+-------------------------------------------------------------------
+Sun Jul 15 06:00:44 UTC 2012 - zaitor(a)opensuse.org
+
+- Update to version 2.32.4:
+ + Bugs fixed: bgo#639771, bgo#660851, bgo#666386, bgo#671545,
+ bgo#672329, bgo#672548, bgo#672889, bgo#673253, bgo#674452,
+ bgo#674777, bgo#675309, bgo#675446, bgo#675832, bgo#676265,
+ bgo#676277, bgo#676397, bgo#676594, bgo#676816, bgo#677235,
+ bgo#677782, bgo#677817, bgo#677952, bgo#678052, bgo#678066,
+ bgo#678273, bgo#678333, bgo#678758, bgo#678881, bgo#678941,
+ bgo#678944, bgo#678949, bgo#678959, bgo#679258, bgo#679671,
+ bgo#679813.
+
+-------------------------------------------------------------------
Old:
----
glib-2.32.3.tar.xz
New:
----
glib-2.32.4.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ glib2.spec ++++++
--- /var/tmp/diff_new_pack.ZiwEC0/_old 2012-07-24 17:22:07.000000000 +0200
+++ /var/tmp/diff_new_pack.ZiwEC0/_new 2012-07-24 17:22:07.000000000 +0200
@@ -20,7 +20,7 @@
Name: glib2
%define _name glib
-Version: 2.32.3
+Version: 2.32.4
Release: 0
# FIXME: find out if tapsets should really be in devel package or in main package
Summary: General-Purpose Utility Library
@@ -66,7 +66,7 @@
%endif
BuildRequires: translation-update-upstream
# Needed for gresource
-BuildRequires: pkgconfig(libelf)
+BuildRequires: pkgconfig(libelf) >= 0.8.12
BuildRequires: pkgconfig(libffi)
BuildRequires: pkgconfig(libpcre)
BuildRequires: pkgconfig(zlib)
@@ -198,6 +198,8 @@
Requires: gio-branding = %{version}
# bnc#555605: shared-mime-info is required by libgio to properly detect mime types.
Requires: shared-mime-info
+# bnc#678518: libgio interacts with others by means of dbus-launch
+Requires: dbus-1-x11
# The tools are useful for people having libgio
Recommends: %{name}-tools
# Needed for branding packages
@@ -380,9 +382,11 @@
%files tools
%defattr(-,root,root)
-%{_sysconfdir}/bash_completion.d/gdbus-bash-completion.sh
-%{_sysconfdir}/bash_completion.d/gresource-bash-completion.sh
-%{_sysconfdir}/bash_completion.d/gsettings-bash-completion.sh
+%dir %{_datadir}/bash-completion
+%dir %{_datadir}/bash-completion/completions
+%{_datadir}/bash-completion/completions/gdbus
+%{_datadir}/bash-completion/completions/gresource
+%{_datadir}/bash-completion/completions/gsettings
%{_bindir}/gdbus
%{_bindir}/gio-querymodules*
%{_bindir}/glib-compile-schemas
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package gle-graphics for openSUSE:Factory checked in at 2012-07-24 16:08:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gle-graphics (Old)
and /work/SRC/openSUSE:Factory/.gle-graphics.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gle-graphics", Maintainer is ""
Changes:
--------
--- /work/SRC/openSUSE:Factory/gle-graphics/gle-graphics.changes 2012-07-12 10:42:44.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.gle-graphics.new/gle-graphics.changes 2012-07-24 17:21:57.000000000 +0200
@@ -1,0 +2,5 @@
+Tue Jul 24 10:08:21 UTC 2012 - werner(a)suse.de
+
+- Add missing fonts
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gle-graphics.spec ++++++
--- /var/tmp/diff_new_pack.COiplS/_old 2012-07-24 17:22:00.000000000 +0200
+++ /var/tmp/diff_new_pack.COiplS/_new 2012-07-24 17:22:00.000000000 +0200
@@ -51,8 +51,11 @@
BuildRequires: perl
BuildRequires: texlive-latex
%if %suse_version > 1220
+BuildRequires: texlive-amsfonts
+BuildRequires: texlive-cm-super
BuildRequires: texlive-dvips
BuildRequires: texlive-makeindex
+BuildRequires: texlive-pdftex
BuildRequires: tex(fancyvrb.sty)
BuildRequires: tex(pdftex.def)
BuildRequires: tex(rotating.sty)
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package firebird for openSUSE:Factory checked in at 2012-07-24 16:08:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/firebird (Old)
and /work/SRC/openSUSE:Factory/.firebird.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "firebird", Maintainer is ""
Changes:
--------
--- /work/SRC/openSUSE:Factory/firebird/firebird-classic.changes 2012-06-10 21:50:45.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.firebird.new/firebird-classic.changes 2012-07-24 17:21:48.000000000 +0200
@@ -1,0 +2,7 @@
+Sun Jul 22 21:29:43 UTC 2012 - mkubecek(a)suse.cz
+
+- firebird-2.5.2-runlevel.patch:
+ don't start the daemon in runlevel 2
+- add README.SUSE
+
+-------------------------------------------------------------------
firebird.changes: same change
New:
----
README.SUSE
firebird-2.5.2-runlevel.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ firebird-classic.spec ++++++
--- /var/tmp/diff_new_pack.mxHVvx/_old 2012-07-24 17:21:57.000000000 +0200
+++ /var/tmp/diff_new_pack.mxHVvx/_new 2012-07-24 17:21:57.000000000 +0200
@@ -48,6 +48,7 @@
Patch5: %{bname}-2.5.1-disable.patch
Patch6: %{bname}-2.5.1-config.patch
Patch7: %{bname}-2.5.2-pkgconfig.patch
+Patch8: %{bname}-2.5.2-runlevel.patch
Patch11: %{bname}-2.5.2-isqlalign.patch
Patch12: %{bname}-2.5.2-isqllocale.patch
Patch13: %{bname}-2.5.2-isqlwidth.patch
@@ -73,6 +74,7 @@
%patch5
%patch6
%patch7
+%patch8 -p1
%patch11 -p1
%patch12 -p1
%patch13 -p1
++++++ firebird.spec ++++++
--- /var/tmp/diff_new_pack.mxHVvx/_old 2012-07-24 17:21:57.000000000 +0200
+++ /var/tmp/diff_new_pack.mxHVvx/_new 2012-07-24 17:21:57.000000000 +0200
@@ -27,6 +27,7 @@
Version: %{upversion}
Release: 0
Source: %{pkgversion}.tar.bz2
+Source1: README.SUSE
Url: http://www.firebirdsql.org/
BuildRequires: gcc-c++
BuildRequires: libedit-devel
@@ -46,6 +47,7 @@
Patch5: %{name}-2.5.1-disable.patch
Patch6: %{name}-2.5.1-config.patch
Patch7: %{name}-2.5.2-pkgconfig.patch
+Patch8: %{name}-2.5.2-runlevel.patch
Patch11: %{name}-2.5.2-isqlalign.patch
Patch12: %{name}-2.5.2-isqllocale.patch
Patch13: %{name}-2.5.2-isqlwidth.patch
@@ -66,6 +68,7 @@
%patch5
%patch6
%patch7
+%patch8 -p1
%patch11 -p1
%patch12 -p1
%patch13 -p1
@@ -118,6 +121,7 @@
.%{_docdir}/%{name}/
mv -v .%{_sysconfdir}/%{name}/IDPLicense.txt .%{_docdir}/%{name}/
mv -v .%{_sysconfdir}/%{name}/IPLicense.txt .%{_docdir}/%{name}/
+cp -v %{S:1} .%{_docdir}/%{name}/
mkdir -p srv/%{name}
ln -s /etc/init.d/firebird usr/sbin/rcfirebird
@@ -139,6 +143,7 @@
%attr(755,root,root) /etc/init.d/firebird
%{_docdir}/%{name}/IDPLicense.txt
%{_docdir}/%{name}/IPLicense.txt
+%{_docdir}/%{name}/README.SUSE
%dir %{_localstatedir}/lib/%{name}
%dir %{_localstatedir}/lib/%{name}/secdb
@@ -242,6 +247,7 @@
%exclude %{_docdir}/%{name}/sample
%exclude %{_docdir}/%{name}/IDPLicense.txt
%exclude %{_docdir}/%{name}/IPLicense.txt
+%exclude %{_docdir}/%{name}/README.SUSE
# ----------------------------------------------------------------------------
++++++ README.SUSE ++++++
1. Packaging
Package firebird contains only common files shared by all architectures.
For server functionality, one of the following subpackages is needed:
firebird-superserver - SuperServer architecture
firebird-classic - Classic and SuperClassic architecture
Client libraries are contained in two packages:
libfbclient2 - standard client for shared database
libfbembed2_5 - embedded server
There are three devel packages:
libfbclient2-devel - devel files for libfbclient2
libfbembed-devel - devel files for libfbembed2_5
firebird-devel - common headers and development examples
Two of Firebird utilities - isql and gstat - have names colliding with
tools from other packages. They have been renamed to isql-fb and
gstat-fb respectively.
2. Configuration
Default sysdba password is "masterkey" as usual. Location of Firebird
security database is /var/lib/firebird/secdb/security2.fdb
Config files are in /etc/firebird. Default config files are mostly the
same as upstream defaults, the only difference is default value of
DatabaseAccess directive. As upstream default "Full" can be considered
a security flaw, SUSE packages use "Restrict /srv/firebird". To use
a database in different location, either modify the DatabaseAccess
directive or define an alias for it in aliases.conf.
3. Starting the server
- SuperServer:
* once: /etc/init.d/firebird start
* always: insserv firebird
- Classic:
* in /etc/xinetd.d/firebird, change value of "disable" to "yes"
* check that xinetd is running and reload its configuration
- SuperClassic:
The same as for SuperServer (with firebird-classic package installed)
++++++ firebird-2.5.2-runlevel.patch ++++++
From: Michal Kubecek <mkubecek(a)suse.cz>
Date: Fri, 22 Jun 2012 21:12:02 +0200
Subject: don't start firebird in runlevel 2 on SuSE
Since version 11.4, network is not configured in runlevel 2 and
network daemons shouldn't be started either.
---
builds/install/arch-specific/linux/misc/firebird.init.d.suse.in | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/builds/install/arch-specific/linux/misc/firebird.init.d.suse.in b/builds/install/arch-specific/linux/misc/firebird.init.d.suse.in
index 622a671..dbeaadb 100644
--- a/builds/install/arch-specific/linux/misc/firebird.init.d.suse.in
+++ b/builds/install/arch-specific/linux/misc/firebird.init.d.suse.in
@@ -15,8 +15,8 @@
# Provides: firebird
# Required-Start: $network $remote_fs
# Required-Stop:
-# Default-Start: 2 3 5
-# Default-Stop: 0 1 6
+# Default-Start: 3 5
+# Default-Stop: 0 1 2 6
# Short-Description: Firebird SQL server
# Description: Start the Firebird database server.
### END INIT INFO
--
1.7.10.4
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package darktable for openSUSE:Factory checked in at 2012-07-24 16:08:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/darktable (Old)
and /work/SRC/openSUSE:Factory/.darktable.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "darktable", Maintainer is ""
Changes:
--------
--- /work/SRC/openSUSE:Factory/darktable/darktable.changes 2012-06-14 22:25:34.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.darktable.new/darktable.changes 2012-07-24 17:21:40.000000000 +0200
@@ -1,0 +2,16 @@
+Tue Jul 24 10:05:20 UTC 2012 - toganm(a)opensuse.org
+
+- Update to release 1.0.5
+ + Update to RawSpeed r438
+ + Update to LibRaw 0.14.7
+ + White balance presets for Nikon Coolpix P7100 and Panasonic GF3
+ + White balance preset updates for Canon EOS 7D, Canon EOS 350D
+ + Standard Color Matrices for Canon EOS 650D, Canon EOS 5D Mark
+ III, Canon EOS 1D X, Canon PowerShot G1 X, Canon PowerShot SX220,
+ Nikon D3200, Nikon D4, Nikon D800, Olympus E-M5, Panasonic GF5,
+ Sony SLT-A37/A57, Leica X1/X2, Sony DSC-RX100
+ + A few memory leaks were resolved
+ + A few generic bugs were resolved
+- use -DLENSFUN_INCLUDE_DIR to fix finding lensfun.h
+
+-------------------------------------------------------------------
Old:
----
darktable-1.0.4.tar.gz
New:
----
darktable-1.0.5.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ darktable.spec ++++++
--- /var/tmp/diff_new_pack.QApajD/_old 2012-07-24 17:21:47.000000000 +0200
+++ /var/tmp/diff_new_pack.QApajD/_new 2012-07-24 17:21:47.000000000 +0200
@@ -17,7 +17,7 @@
Name: darktable
-Version: 1.0.4
+Version: 1.0.5
Release: 0
Url: http://darktable.sourceforge.net
Source0: https://downloads.sourceforge.net/project/darktable/darktable/1.0/darktable…
@@ -66,11 +66,13 @@
export CXXFLAGS="%{optflags} -fno-strict-aliasing "
export CFLAGS="$CXXFLAGS"
+
cmake \
-DCMAKE_INSTALL_PREFIX=%{_prefix} -DLIB_INSTALL=%{_lib} \
-DCMAKE_BUILD_TYPE=Release \
-DBINARY_PACKAGE_BUILD=1 \
- -DINSTALL_IOP_EXPERIMENTAL=On -DINSTALL_IOP_LEGACY=Off ..
+ -DLENSFUN_INCLUDE_DIR=%_includedir/lensfun \
+ -DINSTALL_IOP_EXPERIMENTAL=On ..
%__make %{_smp_mflags} VERBOSE=1
%install
++++++ darktable-1.0.4.tar.gz -> darktable-1.0.5.tar.gz ++++++
++++ 22797 lines of diff (skipped)
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0
Hello community,
here is the log from the commit of package blktrace for openSUSE:Factory checked in at 2012-07-24 16:07:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/blktrace (Old)
and /work/SRC/openSUSE:Factory/.blktrace.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "blktrace", Maintainer is "jeffm(a)suse.com"
Changes:
--------
--- /work/SRC/openSUSE:Factory/blktrace/blktrace.changes 2012-03-22 12:31:29.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.blktrace.new/blktrace.changes 2012-07-24 17:21:22.000000000 +0200
@@ -1,0 +2,10 @@
+Mon Jul 23 13:37:00 UTC 2012 - werner(a)suse.de
+
+- Add some missed fonts
+
+-------------------------------------------------------------------
+Tue Jul 10 09:27:56 UTC 2012 - werner(a)suse.de
+
+- Make it build with latest TeXLive 2012 with new package layout
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ blktrace.spec ++++++
--- /var/tmp/diff_new_pack.vbgr7u/_old 2012-07-24 17:21:33.000000000 +0200
+++ /var/tmp/diff_new_pack.vbgr7u/_new 2012-07-24 17:21:33.000000000 +0200
@@ -33,6 +33,16 @@
%if 0%{?suse_version} >= 1030
BuildRequires: texlive
BuildRequires: texlive-latex
+%if 0%{?suse_version} > 1220
+BuildRequires: texlive-amsfonts
+BuildRequires: texlive-cm
+BuildRequires: texlive-cm-super
+BuildRequires: texlive-dvipdfm
+BuildRequires: texlive-dvipdfmx
+BuildRequires: texlive-pdftex
+BuildRequires: tex(multirow.sty)
+BuildRequires: tex(placeins.sty)
+%endif
%else
BuildRequires: te_latex
BuildRequires: tetex
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0