openSUSE Commits
Threads by month
- ----- 2025 -----
- January
- ----- 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
August 2012
- 1 participants
- 886 discussions
Hello community,
here is the log from the commit of package gnugk for openSUSE:Factory checked in at 2012-08-26 14:21:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gnugk (Old)
and /work/SRC/openSUSE:Factory/.gnugk.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gnugk", Maintainer is "kkeil(a)novell.com"
Changes:
--------
--- /work/SRC/openSUSE:Factory/gnugk/gnugk.changes 2011-12-12 17:01:07.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.gnugk.new/gnugk.changes 2012-08-26 14:21:47.000000000 +0200
@@ -1,0 +2,5 @@
+Mon Aug 20 11:23:32 UTC 2012 - dmueller(a)suse.com
+
+- fix build on armv7l
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gnugk.spec ++++++
--- /var/tmp/diff_new_pack.6KKPJz/_old 2012-08-26 14:21:48.000000000 +0200
+++ /var/tmp/diff_new_pack.6KKPJz/_new 2012-08-26 14:21:48.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package gnugk
#
-# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -15,6 +15,7 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
+
Name: gnugk
BuildRequires: SDL-devel
BuildRequires: automake
@@ -29,7 +30,8 @@
BuildRequires: speex-devel
Url: http://www.gnugk.org
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Requires: pwlib openh323
+Requires: openh323
+Requires: pwlib
Provides: openh323gk
Obsoletes: openh323gk
PreReq: %insserv_prereq %fillup_prereq grep diffutils
@@ -63,7 +65,12 @@
%install
export M=`uname -m`
# only ix86 have problematic unames.
-case $M in ??86) M=x86;; esac
+case $M in
+ ??86) M=x86
+ ;;
+ armv7l) M=armv7hl
+ ;;
+esac
mkdir -p $RPM_BUILD_ROOT/usr/sbin
mkdir -p $RPM_BUILD_ROOT/etc/init.d
install -m 755 obj_linux_"$M"_r/gnugk $RPM_BUILD_ROOT%{_sbindir}
--
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 cronie for openSUSE:Factory checked in at 2012-08-26 14:21:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cronie (Old)
and /work/SRC/openSUSE:Factory/.cronie.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cronie", Maintainer is ""
Changes:
--------
--- /work/SRC/openSUSE:Factory/cronie/cronie.changes 2012-06-26 15:16:18.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.cronie.new/cronie.changes 2012-08-26 14:21:39.000000000 +0200
@@ -1,0 +2,7 @@
+Wed Aug 15 00:48:54 UTC 2012 - crrodriguez(a)opensuse.org
+
+- When the cron daemon does not fork, as it is the case
+ when using systemd, pid files are useless. avoid creating
+ them in the first place.
+
+-------------------------------------------------------------------
New:
----
cronie-nofork-nopid.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ cronie.spec ++++++
--- /var/tmp/diff_new_pack.RzKVE5/_old 2012-08-26 14:21:41.000000000 +0200
+++ /var/tmp/diff_new_pack.RzKVE5/_new 2012-08-26 14:21:41.000000000 +0200
@@ -57,6 +57,7 @@
# PATCH-FIX-UPSTREAM use run-crons instead of run-parts for anacron (bnc#689494)
Patch8: cronie-anacron-1.4.7-run-crons.patch
Patch9: cronie-1.4.8-bug_756197.diff
+Patch10: cronie-nofork-nopid.patch
Conflicts: cron <= 4.1
# When finish update protection of sles11 we could uncomment line bellow and drop all
# ugly hacks with subpackage cron needed for proper update proces
@@ -101,7 +102,7 @@
%patch8 -p1
%patch9
cp %{S:7} ./cron_to_cronie.README
-
+%patch10
%build
# fill macro CRON_VERSION it is used in top three lines of crontab file,should be reworked
export CFLAGS="$RPM_OPT_FLAGS -DCRON_VERSION=\\\"%{version}\\\""
++++++ cronie-nofork-nopid.patch ++++++
--- src/misc.c.orig
+++ src/misc.c
@@ -293,6 +293,8 @@ void acquire_daemonlock(int closeflag) {
return;
}
+ if(NoFork == 1) return; //move along, nothing to do here..
+
if (fd == -1) {
pidfile = _PATH_CRON_PID;
/* Initial mode is 0600 to prevent flock() race/DoS. */
--- src/cron.c.orig
+++ src/cron.c
@@ -600,7 +600,7 @@ static void sigchld_handler(int x) {
}
static void quit(int x) {
- (void) unlink(_PATH_CRON_PID);
+ if(NoFork == 0) unlink(_PATH_CRON_PID);
_exit(0);
}
--
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 yast2-ca-management for openSUSE:Factory checked in at 2012-08-26 11:35:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-ca-management (Old)
and /work/SRC/openSUSE:Factory/.yast2-ca-management.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-ca-management", Maintainer is "mc(a)suse.com"
Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2-ca-management/yast2-ca-management.changes 2012-05-07 22:53:54.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.yast2-ca-management.new/yast2-ca-management.changes 2012-08-26 11:35:58.000000000 +0200
@@ -1,0 +2,6 @@
+Fri Jul 27 10:42:18 CEST 2012 - mc(a)suse.de
+
+- version 2.23.0
+- remove usage of limal-ca-mgm and use new libcamgm instead
+
+-------------------------------------------------------------------
Old:
----
yast2-ca-management-2.22.2.tar.bz2
New:
----
yast2-ca-management-2.23.0.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-ca-management.spec ++++++
--- /var/tmp/diff_new_pack.AK77tA/_old 2012-08-26 11:35:59.000000000 +0200
+++ /var/tmp/diff_new_pack.AK77tA/_new 2012-08-26 11:35:59.000000000 +0200
@@ -17,7 +17,7 @@
Name: yast2-ca-management
-Version: 2.22.2
+Version: 2.23.0
Release: 0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -27,20 +27,25 @@
BuildRequires: dosfstools
BuildRequires: doxygen
BuildRequires: libxslt
-BuildRequires: limal-ca-mgm-perl
-BuildRequires: limal-perl
BuildRequires: perl-Date-Calc
BuildRequires: perl-URI
BuildRequires: perl-X500-DN
BuildRequires: perl-XML-Writer
+BuildRequires: perl-camgm
BuildRequires: pkg-config
BuildRequires: update-desktop-files
BuildRequires: yast2
BuildRequires: yast2-core
BuildRequires: yast2-devtools
-Requires: yast2 perl perl-gettext yast2-perl-bindings perl-X500-DN perl-Date-Calc limal-perl perl-Config-IniFiles perl-URI
-Requires: limal-ca-mgm-perl >= 1.4.0
+Requires: perl
+Requires: perl-Config-IniFiles
+Requires: perl-Date-Calc
+Requires: perl-URI
+Requires: perl-X500-DN
+Requires: perl-camgm
+Requires: perl-gettext
Requires: yast2 >= 2.21.22
+Requires: yast2-perl-bindings
BuildArch: noarch
Summary: YaST2 - CAs, Certificates and Requests Management
License: GPL-2.0+
++++++ yast2-ca-management-2.22.2.tar.bz2 -> yast2-ca-management-2.23.0.tar.bz2 ++++++
++++ 4679 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 xen for openSUSE:Factory checked in at 2012-08-26 11:35:43
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xen (Old)
and /work/SRC/openSUSE:Factory/.xen.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xen", Maintainer is "CARNOLD(a)suse.com"
Changes:
--------
--- /work/SRC/openSUSE:Factory/xen/xen.changes 2012-06-15 16:31:19.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.xen.new/xen.changes 2012-08-26 11:35:45.000000000 +0200
@@ -1,0 +2,56 @@
+Mon Aug 20 18:32:15 CEST 2012 - ohering(a)suse.de
+
+-bnc#766284 - compiled-in ata_piix driver issues with PVonHVM guests
+ Update xen_pvdrivers.conf to match not only libata but also ata_piix
+ This avoids IO errors in the piix driver caused by unplugged hardware
+
+-------------------------------------------------------------------
+Fri Aug 10 10:07:27 MDT 2012 - carnold(a)novell.com
+
+- Update to Xen 4.1.3 c/s 23336
+
+-------------------------------------------------------------------
+Mon Jul 30 09:39:35 MDT 2012 - carnold(a)novell.com
+
+- Upstream or pending upstream patches from Jan
+ 25587-fix-off-by-one-parsing-error.patch
+ 25616-x86-MCi_CTL-default.patch
+ 25617-vtd-qinval-addr.patch
+ 25688-x86-nr_irqs_gsi.patch
+
+-------------------------------------------------------------------
+Sun Jul 29 11:19:53 UTC 2012 - aj(a)suse.de
+
+- Build all files with optimization (fortify source does not work
+ with -O0).
+
+-------------------------------------------------------------------
+Fri Jul 27 09:29:37 MDT 2012 - carnold(a)novell.com
+
+- bnc#773393 - VUL-0: CVE-2012-3433: xen: HVM guest destroy p2m
+ teardown host DoS vulnerability
+ CVE-2012-3433-xsa11.patch
+- bnc#773401 - VUL-1: CVE-2012-3432: xen: HVM guest user mode MMIO
+ emulation DoS
+ 25682-x86-inconsistent-io-state.patch
+
+-------------------------------------------------------------------
+Wed Jul 18 10:22:33 MDT 2012 - carnold(a)novell.com
+
+- bnc#762484 - VUL-1: CVE-2012-2625: xen: pv bootloader doesn't
+ check the size of the bzip2 or lzma compressed kernel, leading to
+ denial of service
+ 25589-pygrub-size-limits.patch
+
+-------------------------------------------------------------------
+Tue Jul 10 10:16:42 UTC 2012 - werner(a)suse.de
+
+- Make it build with latest TeXLive 2012 with new package layout
+
+-------------------------------------------------------------------
+Fri Jun 15 08:45:50 MDT 2012 - carnold(a)novell.com
+
+- bnc#767273 - unsupported /var/lock/subsys is still used by xendomains
+ init.xendomains
+
+-------------------------------------------------------------------
@@ -4 +60,2 @@
-- Upstream pygrub patches for grub2 support and fixes
+- bnc#766283 - opensuse 12.2 pv guests can not start after
+ installation due to lack of grub2 support in the host
Old:
----
23233-hvm-cr-access.patch
23234-svm-decode-assist-base.patch
23235-svm-decode-assist-crs.patch
23238-svm-decode-assist-insn-fetch.patch
23304-amd-oprofile-strings.patch
23305-amd-fam15-xenoprof.patch
23306-amd-fam15-vpmu.patch
23437-amd-fam15-TSC-scaling.patch
23511-amd-fam15-no-flush-for-C3.patch
23610-x86-topology-info.patch
23611-amd-fam15-topology.patch
23686-pygrub-solaris.patch
23724-x86-smpboot-x2apic.patch
23726-x86-intel-flexmigration-v2.patch
23752-x86-shared-IRQ-vector-maps.patch
23754-AMD-perdev-vector-map.patch
23781-pm-wide-ACPI-ids.patch
23795-intel-ich10-quirk.patch
23819-make-docs.patch
23853-x86-pv-cpuid-xsave.patch
23900-xzalloc.patch
23908-p2m_query-modify_p2mt_with_p2m_lock_held.patch
23925-x86-AMD-ARAT-Fam12.patch
23955-x86-pv-cpuid-xsave.patch
23998-pygrub-GPT.patch
24000-pygrub-grub2.patch
24001-pygrub-grub2.patch
24002-pygrub-grub2.patch
24116-x86-continuation-cancel.patch
24137-revert-23666.patch
24144-cpufreq-turbo-crash.patch
24148-shadow-pgt-dying-op-performance.patch
24155-x86-ioapic-EOI-after-migration.patch
24156-x86-ioapic-shared-vectors.patch
24157-x86-xstate-init.patch
24168-x86-vioapic-clear-remote_irr.patch
24189-x86-p2m-pod-locking.patch
24190-hap-log-dirty-disable-rc.patch
24193-hap-track-dirty-vram-rc.patch
24201-x86-pcpu-platform-op.patch
24261-x86-cpuidle-Westmere-EX.patch
24282-x86-log-dirty-bitmap-leak.patch
24344-tools-x86_64_Fix_cpuid_inline_asm_to_not_clobber_stacks_red_zone.patch
24357-firmware-no-_PS0-_PS3.patch
24358-kexec-compat-overflow.patch
24389-amd-fam10-gart-tlb-walk-err.patch
24411-x86-ucode-AMD-Fam15.patch
24412-x86-AMD-errata-model-shift.patch
24417-amd-erratum-573.patch
24429-mceinj-tool.patch
24447-x86-TXT-INIT-SIPI-delay.patch
24448-x86-pt-irq-leak.patch
24453-x86-vIRQ-IRR-TMR-race.patch
24456-x86-emul-lea.patch
24460-pygrub-extlinux.patch
24517-VT-d-fault-softirq.patch
24527-AMD-Vi-fault-softirq.patch
24535-x86-vMSI-misc.patch
24615-VESA-lfb-flush.patch
24690-x86-PCI-SERR-no-deadlock.patch
24701-gnttab-map-grant-ref-recovery.patch
24742-gnttab-misc.patch
24883-x86-guest-walk-not-present.patch
24888-pci-release-devices.patch
24950-gnttab-copy-mapped.patch
24970-x86-cpuidle-deny-port-access.patch
24996-x86-cpuidle-array-overrun.patch
25098-x86-emul-lock-UD.patch
25101-x86-hpet-disable.patch
25168-x86-memset-size.patch
25191-x86-tdt-delta-calculation.patch
25195-x86-cpuidle-C2-no-flush-or-bm-check.patch
25200-x86_64-trap-bounce-flags.patch
25242-x86_64-hotplug-compat-m2p.patch
25271-x86_64-IST-index.patch
25327-pvdrv-no-asm-system-h.patch
cve-2012-0029-qemu-xen-unstable.patch
pv-driver-build.patch
x86_64-AMD-erratum-121.patch
x86_64-sysret-canonical.patch
xen-4.1.2-testing-src.tar.bz2
xen.sles11sp1.bug684297.xen_oldmem_pfn_is_ram.patch
xencommons-xenstored-root.patch
New:
----
25382-x86-masked-MCE-masking-NMI.patch
25387-amd-iommu-workaround-73x.patch
25430-x86-AMD-Fam15-reenable-topoext.patch
25431-x86-EDD-MBR-sig-check.patch
25459-page-list-splice.patch
25479-x86-boot-trampoline-remove.patch
25485-x86_64-canonical-checks.patch
25589-pygrub-size-limits.patch
25616-x86-MCi_CTL-default.patch
xen-4.1.3-testing-src.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xen.spec ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:52.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:52.000000000 +0200
@@ -20,8 +20,8 @@
ExclusiveArch: %ix86 x86_64
%define xvers 4.1
%define xvermaj 4
-%define changeset 23174
-%define xen_build_dir xen-4.1.2-testing
+%define changeset 23336
+%define xen_build_dir xen-4.1.3-testing
%define with_kmp 1
%define with_stubdom 1
# EFI requires gcc46 or newer
@@ -72,6 +72,18 @@
%if %suse_version >= 1030
BuildRequires: texlive
BuildRequires: texlive-latex
+%if %suse_version > 1220
+BuildRequires: texlive-courier
+BuildRequires: texlive-dvips
+BuildRequires: texlive-helvetic
+BuildRequires: texlive-psnfss
+BuildRequires: texlive-times
+BuildRequires: tex(a4.sty)
+BuildRequires: tex(a4wide.sty)
+BuildRequires: tex(fancyhdr.sty)
+BuildRequires: tex(parskip.sty)
+BuildRequires: tex(setspace.sty)
+%endif
%else
BuildRequires: te_ams
BuildRequires: te_latex
@@ -100,13 +112,13 @@
BuildRequires: module-init-tools
BuildRequires: xorg-x11
%endif
-Version: 4.1.2_17
+Version: 4.1.3_01
Release: 0
PreReq: %insserv_prereq %fillup_prereq
Summary: Xen Virtualization: Hypervisor (aka VMM aka Microkernel)
License: GPL-2.0+
Group: System/Kernel
-Source0: xen-4.1.2-testing-src.tar.bz2
+Source0: xen-4.1.3-testing-src.tar.bz2
Source1: stubdom.tar.bz2
Source2: xen-utils-0.1.tar.bz2
Source3: README.SuSE
@@ -163,17 +175,10 @@
Patch23129: 23129-xentrace_remove_unneeded_debug_printk.patch
Patch23173: 23173-xentrace_Move_register_cpu_notifier_call_into_boot-time_init..patch
Patch23199: 23199-amd-iommu-unmapped-intr-fault.patch
-Patch23233: 23233-hvm-cr-access.patch
-Patch23234: 23234-svm-decode-assist-base.patch
-Patch23235: 23235-svm-decode-assist-crs.patch
Patch23236: 23236-svm-decode-assist-invlpg.patch
-Patch23238: 23238-svm-decode-assist-insn-fetch.patch
Patch23239: 23239-xentrace_correct_overflow_check_for_number_of_per-cpu_trace_pages.patch
Patch23246: 23246-x86-xsave-enable.patch
Patch23303: 23303-cpufreq-misc.patch
-Patch23304: 23304-amd-oprofile-strings.patch
-Patch23305: 23305-amd-fam15-xenoprof.patch
-Patch23306: 23306-amd-fam15-vpmu.patch
Patch23308: 23308-xentrace_Move_the_global_variable_t_info_first_offset_into_calculate_tbuf_size.patch
Patch23309: 23309-xentrace_Mark_data_size___read_mostly_because_its_only_written_once.patch
Patch23310: 23310-xentrace_Remove_unneeded_cast_when_assigning_pointer_value_to_dst.patch
@@ -183,13 +188,11 @@
Patch23405: 23405-xentrace_fix_type_of_offset_to_avoid_ouf-of-bounds_access.patch
Patch23406: 23406-xentrace_update___insert_record_to_copy_the_trace_record_to_individual_mfns.patch
Patch23407: 23407-xentrace_allocate_non-contiguous_per-cpu_trace_buffers.patch
-Patch23437: 23437-amd-fam15-TSC-scaling.patch
Patch23462: 23462-libxc-cpu-feature.patch
Patch23506: 23506-x86_Disable_set_gpfn_from_mfn_until_m2p_table_is_allocated..patch
Patch23507: 23507-xenpaging_update_machine_to_phys_mapping_during_page_deallocation.patch
Patch23508: 23508-vmx-proc-based-ctls-probe.patch
Patch23509: 23509-x86_32_Fix_build_Define_machine_to_phys_mapping_valid.patch
-Patch23511: 23511-amd-fam15-no-flush-for-C3.patch
Patch23562: 23562-xenpaging_remove_unused_spinlock_in_pager.patch
Patch23571: 23571-vtd-fault-verbosity.patch
Patch23574: 23574-x86-dom0-compressed-ELF.patch
@@ -217,90 +220,59 @@
Patch23596: 23596-xenpaging_implement_stopping_of_pager_by_sending_SIGTERM-SIGINT.patch
Patch23597: 23597-xenpaging_remove_private_mem_event.h.patch
Patch23599: 23599-tools_fix_build_after_recent_xenpaging_changes.patch
-Patch23610: 23610-x86-topology-info.patch
-Patch23611: 23611-amd-fam15-topology.patch
Patch23613: 23613-EFI-headers.patch
Patch23614: 23614-x86_64-EFI-boot.patch
Patch23615: 23615-x86_64-EFI-runtime.patch
Patch23616: 23616-x86_64-EFI-MPS.patch
Patch23643: 23643-xentrace_Allow_tracing_to_be_enabled_at_boot.patch
Patch23676: 23676-x86_64-image-map-bounds.patch
-Patch23686: 23686-pygrub-solaris.patch
Patch23697: 23697-pygrub-grub2.patch
Patch23719: 23719-xentrace_update___trace_var_comment.patch
Patch23723: 23723-x86-CMOS-lock.patch
-Patch23724: 23724-x86-smpboot-x2apic.patch
-Patch23726: 23726-x86-intel-flexmigration-v2.patch
Patch23735: 23735-guest-dom0-cap.patch
Patch23747: 23747-mmcfg-base-address.patch
Patch23749: 23749-mmcfg-reservation.patch
-Patch23752: 23752-x86-shared-IRQ-vector-maps.patch
-Patch23754: 23754-AMD-perdev-vector-map.patch
Patch23771: 23771-x86-ioapic-clear-pin.patch
Patch23772: 23772-x86-trampoline.patch
Patch23774: 23774-x86_64-EFI-EDD.patch
-Patch23781: 23781-pm-wide-ACPI-ids.patch
Patch23782: 23782-x86-ioapic-clear-irr.patch
Patch23783: 23783-ACPI-set-_PDC-bits.patch
-Patch23795: 23795-intel-ich10-quirk.patch
Patch23800: 23800-x86_64-guest-addr-range.patch
Patch23804: 23804-x86-IPI-counts.patch
Patch23817: 23817-mem_event_add_ref_counting_for_free_requestslots.patch
Patch23818: 23818-mem_event_use_mem_event_mark_and_pause_in_mem_event_check_ring.patch
-Patch23819: 23819-make-docs.patch
Patch23827: 23827-xenpaging_use_batch_of_pages_during_final_page-in.patch
Patch23841: 23841-mem_event_pass_mem_event_domain_pointer_to_mem_event_functions.patch
Patch23842: 23842-mem_event_use_different_ringbuffers_for_share_paging_and_access.patch
-Patch23853: 23853-x86-pv-cpuid-xsave.patch
Patch23874: 23874-xenpaging_track_number_of_paged_pages_in_struct_domain.patch
Patch23897: 23897-x86-mce-offline-again.patch
-Patch23900: 23900-xzalloc.patch
Patch23904: 23904-xenpaging_use_p2m-get_entry_in_p2m_mem_paging_functions.patch
Patch23905: 23905-xenpaging_fix_locking_in_p2m_mem_paging_functions.patch
Patch23906: 23906-xenpaging_remove_confusing_comment_from_p2m_mem_paging_populate.patch
-Patch23908: 23908-p2m_query-modify_p2mt_with_p2m_lock_held.patch
-Patch23925: 23925-x86-AMD-ARAT-Fam12.patch
Patch23933: 23933-pt-bus2bridge-update.patch
Patch23943: 23943-xenpaging_clear_page_content_after_evict.patch
Patch23944: 23944-pygrub-debug.patch
Patch23949: 23949-constify_vcpu_set_affinitys_second_parameter.patch
Patch23953: 23953-xenpaging_handle_evict_failures.patch
-Patch23955: 23955-x86-pv-cpuid-xsave.patch
Patch23957: 23957-cpufreq-error-paths.patch
Patch23978: 23978-xenpaging_check_p2mt_in_p2m_mem_paging_functions.patch
Patch23979: 23979-xenpaging_document_p2m_mem_paging_functions.patch
Patch23980: 23980-xenpaging_disallow_paging_in_a_PoD_guest.patch
Patch23993: 23993-x86-microcode-amd-fix-23871.patch
-Patch23998: 23998-pygrub-GPT.patch
Patch23999: 23999-pygrub-grub2.patch
-Patch24000: 24000-pygrub-grub2.patch
-Patch24001: 24001-pygrub-grub2.patch
-Patch24002: 24002-pygrub-grub2.patch
Patch24064: 24064-pygrub-HybridISO.patch
Patch24104: 24104-waitqueue_Double_size_of_x86_shadow_stack..patch
Patch24105: 24105-xenpaging_compare_domain_pointer_in_p2m_mem_paging_populate.patch
Patch24106: 24106-mem_event_check_capabilities_only_once.patch
-Patch24116: 24116-x86-continuation-cancel.patch
Patch24123: 24123-x86-cpuidle-quiesce.patch
Patch24124: 24124-x86-microcode-amd-quiesce.patch
-Patch24137: 24137-revert-23666.patch
Patch24138: 24138-xenpaging_munmap_all_pages_after_page-in.patch
-Patch24144: 24144-cpufreq-turbo-crash.patch
-Patch24148: 24148-shadow-pgt-dying-op-performance.patch
Patch24153: 24153-x86-emul-feature-checks.patch
-Patch24155: 24155-x86-ioapic-EOI-after-migration.patch
-Patch24156: 24156-x86-ioapic-shared-vectors.patch
-Patch24157: 24157-x86-xstate-init.patch
-Patch24168: 24168-x86-vioapic-clear-remote_irr.patch
Patch24171: 24171-x86waitqueue_Allocate_whole_page_for_shadow_stack..patch
Patch24178: 24178-debug_Add_domain-vcpu_pause_count_info_to_d_key..patch
-Patch24189: 24189-x86-p2m-pod-locking.patch
-Patch24190: 24190-hap-log-dirty-disable-rc.patch
-Patch24193: 24193-hap-track-dirty-vram-rc.patch
Patch24195: 24195-waitqueue_Detect_saved-stack_overflow_and_crash_the_guest..patch
Patch24196: 24196-waitqueue_Reorder_prepare_to_wait_so_that_vcpu_is_definitely_on_the.patch
Patch24197: 24197-x86-waitqueue_Because_we_have_per-cpu_stacks_we_must_wake_up_on_teh.patch
-Patch24201: 24201-x86-pcpu-platform-op.patch
Patch24208: 24208-xenpaging_remove_filename_from_comment.patch
Patch24209: 24209-xenpaging_remove_obsolete_comment_in_resume_path.patch
Patch24210: 24210-xenpaging_use_PERROR_to_print_errno.patch
@@ -323,81 +295,53 @@
Patch24227: 24227-xenpaging_restrict_pagefile_permissions.patch
Patch24231: 24231-waitqueue_Implement_wake_up_nroneall..patch
Patch24232: 24232-waitqueue_Hold_a_reference_to_a_domain_on_a_waitqueue..patch
-Patch24261: 24261-x86-cpuidle-Westmere-EX.patch
Patch24269: 24269-mem_event_move_mem_event_domain_out_of_struct_domain.patch
Patch24270: 24270-Free_d-mem_event_on_domain_destruction..patch
Patch24272: 24272-xenpaging_Fix_c-s_235070a29c8c3ddf7_update_machine_to_phys_mapping_during_page_deallocation.patch
Patch24275: 24275-x86-emul-lzcnt.patch
Patch24277: 24277-x86-dom0-features.patch
Patch24278: 24278-x86-dom0-no-PCID.patch
-Patch24282: 24282-x86-log-dirty-bitmap-leak.patch
Patch24318: 24318-x86-mm_Fix_checks_during_foreign_mapping_of_paged_pages.patch
-Patch24344: 24344-tools-x86_64_Fix_cpuid_inline_asm_to_not_clobber_stacks_red_zone.patch
Patch24327: 24327-After_preparing_a_page_for_page-in_allow_immediate_fill-in_of_the_page_contents.patch
Patch24328: 24328-Tools_Libxc_wrappers_to_automatically_fill_in_page_oud_page_contents_on_prepare.patch
Patch24329: 24329-Teach_xenpaging_to_use_the_new_and_non-racy_xc_mem_paging_load_interface.patch
-Patch24357: 24357-firmware-no-_PS0-_PS3.patch
-Patch24358: 24358-kexec-compat-overflow.patch
Patch24359: 24359-x86-domU-features.patch
Patch24360: 24360-x86-pv-domU-no-PCID.patch
-Patch24389: 24389-amd-fam10-gart-tlb-walk-err.patch
Patch24391: 24391-x86-pcpu-version.patch
Patch24401: 24401-pygrub-scrolling.patch
Patch24402: 24402-pygrub-edit-fix.patch
-Patch24411: 24411-x86-ucode-AMD-Fam15.patch
-Patch24412: 24412-x86-AMD-errata-model-shift.patch
-Patch24417: 24417-amd-erratum-573.patch
-Patch24429: 24429-mceinj-tool.patch
-Patch24447: 24447-x86-TXT-INIT-SIPI-delay.patch
-Patch24448: 24448-x86-pt-irq-leak.patch
-Patch24453: 24453-x86-vIRQ-IRR-TMR-race.patch
-Patch24456: 24456-x86-emul-lea.patch
Patch24459: 24459-libxl-vifname.patch
-Patch24460: 24460-pygrub-extlinux.patch
Patch24466: 24466-libxc_Only_retry_mapping_pages_when_ENOENT_is_returned.patch
Patch24478: 24478-libxl_add_feature_flag_to_xenstore_for_XS_RESET_WATCHES.patch
-Patch24517: 24517-VT-d-fault-softirq.patch
-Patch24527: 24527-AMD-Vi-fault-softirq.patch
-Patch24535: 24535-x86-vMSI-misc.patch
Patch24566: 24566-tools-libxc_fix_error_handling_in_xc_mem_paging_load.patch
Patch24586: 24586-x86-mm_Properly_account_for_paged_out_pages.patch
Patch24609: 24609-tools-libxc_handle_fallback_in_linux_privcmd_map_foreign_bulk_properly.patch
Patch24610: 24610-xenpaging_make_file_op_largefile_aware.patch
-Patch24615: 24615-VESA-lfb-flush.patch
-Patch24690: 24690-x86-PCI-SERR-no-deadlock.patch
-Patch24701: 24701-gnttab-map-grant-ref-recovery.patch
Patch24706: 24706-pygrub-extlinux.patch
-Patch24742: 24742-gnttab-misc.patch
Patch24780: 24780-x86-paging-use-clear_guest.patch
Patch24781: 24781-x86-vmce-mcg_ctl.patch
Patch24805: 24805-x86-MSI-X-dom0-ro.patch
-Patch24883: 24883-x86-guest-walk-not-present.patch
Patch24886: 24886-x86-vmce-mcg_ctl-default.patch
Patch24887: 24887-x86-vmce-sr.patch
-Patch24888: 24888-pci-release-devices.patch
-Patch24950: 24950-gnttab-copy-mapped.patch
-Patch24970: 24970-x86-cpuidle-deny-port-access.patch
-Patch24996: 24996-x86-cpuidle-array-overrun.patch
Patch25041: 25041-tapdisk2-create-init-name.patch
-Patch25098: 25098-x86-emul-lock-UD.patch
-Patch25101: 25101-x86-hpet-disable.patch
-Patch25168: 25168-x86-memset-size.patch
-Patch25191: 25191-x86-tdt-delta-calculation.patch
-Patch25195: 25195-x86-cpuidle-C2-no-flush-or-bm-check.patch
Patch25196: 25196-x86-HAP-PAT-sr.patch
-Patch25200: 25200-x86_64-trap-bounce-flags.patch
-Patch25242: 25242-x86_64-hotplug-compat-m2p.patch
Patch25247: 25247-SVM-no-rdtsc-intercept.patch
Patch25267: 25267-x86-text-unlikely.patch
Patch25269: 25269-x86-vMCE-addr-misc-write.patch
-Patch25271: 25271-x86_64-IST-index.patch
-Patch25327: 25327-pvdrv-no-asm-system-h.patch
+Patch25382: 25382-x86-masked-MCE-masking-NMI.patch
+Patch25387: 25387-amd-iommu-workaround-73x.patch
+Patch25430: 25430-x86-AMD-Fam15-reenable-topoext.patch
+Patch25431: 25431-x86-EDD-MBR-sig-check.patch
+Patch25459: 25459-page-list-splice.patch
+Patch25479: 25479-x86-boot-trampoline-remove.patch
+Patch25485: 25485-x86_64-canonical-checks.patch
+Patch25589: 25589-pygrub-size-limits.patch
+Patch25616: 25616-x86-MCi_CTL-default.patch
# Upstream qemu patches
Patch100: ioemu-9868-MSI-X.patch
Patch101: ioemu-9869-MSI-X-init.patch
Patch102: ioemu-9873-MSI-X-fix-unregister_iomem.patch
Patch103: ioemu-9877-MSI-X-device-cleanup.patch
-Patch104: cve-2012-0029-qemu-xen-unstable.patch
# Our patches
Patch300: xen-config.diff
Patch301: xend-config.diff
@@ -455,8 +399,7 @@
Patch379: xend-migration-domname-fix.patch
Patch380: xm-create-maxmem.patch
Patch381: vif-bridge-tap-fix.patch
-Patch382: xencommons-xenstored-root.patch
-Patch383: xend-cpuid.patch
+Patch382: xend-cpuid.patch
# Patches for snapshot support
Patch400: snapshot-ioemu-save.patch
Patch401: snapshot-ioemu-restore.patch
@@ -523,17 +466,13 @@
Patch507: x86-extra-trap-info.patch
Patch508: pvdrv_emulation_control.patch
Patch509: blktap-pv-cdrom.patch
-Patch510: pv-driver-build.patch
-Patch511: supported_module.diff
-Patch512: magic_ioport_compat.patch
-Patch513: xen.sles11sp1.bug684297.xen_oldmem_pfn_is_ram.patch
-Patch514: xen.sles11sp1.fate311487.xen_platform_pci.dmistring.patch
+Patch510: supported_module.diff
+Patch511: magic_ioport_compat.patch
+Patch512: xen.sles11sp1.fate311487.xen_platform_pci.dmistring.patch
Patch650: disable_emulated_device.diff
Patch651: ioemu-disable-scsi.patch
Patch652: ioemu-disable-emulated-ide-if-pv.patch
-Patch653: x86_64-sysret-canonical.patch
-Patch654: x86_64-AMD-erratum-121.patch
-Patch655: x86_64-allow-unsafe-adjust.patch
+Patch653: x86_64-allow-unsafe-adjust.patch
Patch700: hv_extid_compatibility.patch
Patch701: xen.no-default-runlevel-4.patch
# FATE 310510
@@ -914,17 +853,10 @@
%patch23129 -p1
%patch23173 -p1
%patch23199 -p1
-%patch23233 -p1
-%patch23234 -p1
-%patch23235 -p1
%patch23236 -p1
-%patch23238 -p1
%patch23239 -p1
%patch23246 -p1
%patch23303 -p1
-%patch23304 -p1
-%patch23305 -p1
-%patch23306 -p1
%patch23308 -p1
%patch23309 -p1
%patch23310 -p1
@@ -934,13 +866,11 @@
%patch23405 -p1
%patch23406 -p1
%patch23407 -p1
-%patch23437 -p1
%patch23462 -p1
%patch23506 -p1
%patch23507 -p1
%patch23508 -p1
%patch23509 -p1
-%patch23511 -p1
%patch23562 -p1
%patch23571 -p1
%patch23574 -p1
@@ -968,90 +898,59 @@
%patch23596 -p1
%patch23597 -p1
%patch23599 -p1
-%patch23610 -p1
-%patch23611 -p1
%patch23613 -p1
%patch23614 -p1
%patch23615 -p1
%patch23616 -p1
%patch23643 -p1
%patch23676 -p1
-%patch23686 -p1
%patch23697 -p1
%patch23719 -p1
%patch23723 -p1
-%patch23724 -p1
-%patch23726 -p1
%patch23735 -p1
%patch23747 -p1
%patch23749 -p1
-%patch23752 -p1
-%patch23754 -p1
%patch23771 -p1
%patch23772 -p1
%patch23774 -p1
-%patch23781 -p1
%patch23782 -p1
%patch23783 -p1
-%patch23795 -p1
%patch23800 -p1
%patch23804 -p1
%patch23817 -p1
%patch23818 -p1
-%patch23819 -p1
%patch23827 -p1
%patch23841 -p1
%patch23842 -p1
-%patch23853 -p1
%patch23874 -p1
%patch23897 -p1
-%patch23900 -p1
%patch23904 -p1
%patch23905 -p1
%patch23906 -p1
-%patch23908 -p1
-%patch23925 -p1
%patch23933 -p1
%patch23943 -p1
%patch23944 -p1
%patch23949 -p1
%patch23953 -p1
-%patch23955 -p1
%patch23957 -p1
%patch23978 -p1
%patch23979 -p1
%patch23980 -p1
%patch23993 -p1
-%patch23998 -p1
%patch23999 -p1
-%patch24000 -p1
-%patch24001 -p1
-%patch24002 -p1
%patch24064 -p1
%patch24104 -p1
%patch24105 -p1
%patch24106 -p1
-%patch24116 -p1
%patch24123 -p1
%patch24124 -p1
-%patch24137 -p1
%patch24138 -p1
-%patch24144 -p1
-%patch24148 -p1
%patch24153 -p1
-%patch24155 -p1
-%patch24156 -p1
-%patch24157 -p1
-%patch24168 -p1
%patch24171 -p1
%patch24178 -p1
-%patch24189 -p1
-%patch24190 -p1
-%patch24193 -p1
%patch24195 -p1
%patch24196 -p1
%patch24197 -p1
-%patch24201 -p1
%patch24208 -p1
%patch24209 -p1
%patch24210 -p1
@@ -1074,81 +973,53 @@
%patch24227 -p1
%patch24231 -p1
%patch24232 -p1
-%patch24261 -p1
%patch24269 -p1
%patch24270 -p1
%patch24272 -p1
%patch24275 -p1
%patch24277 -p1
%patch24278 -p1
-%patch24282 -p1
%patch24318 -p1
-%patch24344 -p1
%patch24327 -p1
%patch24328 -p1
%patch24329 -p1
-%patch24357 -p1
-%patch24358 -p1
%patch24359 -p1
%patch24360 -p1
-%patch24389 -p1
%patch24391 -p1
%patch24401 -p1
%patch24402 -p1
-%patch24411 -p1
-%patch24412 -p1
-%patch24417 -p1
-%patch24429 -p1
-%patch24447 -p1
-%patch24448 -p1
-%patch24453 -p1
-%patch24456 -p1
%patch24459 -p1
-%patch24460 -p1
%patch24466 -p1
%patch24478 -p1
-%patch24517 -p1
-%patch24527 -p1
-%patch24535 -p1
%patch24566 -p1
%patch24586 -p1
%patch24609 -p1
%patch24610 -p1
-%patch24615 -p1
-%patch24690 -p1
-%patch24701 -p1
%patch24706 -p1
-%patch24742 -p1
%patch24780 -p1
%patch24781 -p1
%patch24805 -p1
-%patch24883 -p1
%patch24886 -p1
%patch24887 -p1
-%patch24888 -p1
-%patch24950 -p1
-%patch24970 -p1
-%patch24996 -p1
%patch25041 -p1
-%patch25098 -p1
-%patch25101 -p1
-%patch25168 -p1
-%patch25191 -p1
-%patch25195 -p1
%patch25196 -p1
-%patch25200 -p1
-%patch25242 -p1
%patch25247 -p1
%patch25267 -p1
%patch25269 -p1
-%patch25271 -p1
-%patch25327 -p1
+%patch25382 -p1
+%patch25387 -p1
+%patch25430 -p1
+%patch25431 -p1
+%patch25459 -p1
+%patch25479 -p1
+%patch25485 -p1
+%patch25589 -p1
+%patch25616 -p1
# Qemu
%patch100 -p1
%patch101 -p1
%patch102 -p1
%patch103 -p1
-%patch104 -p1
# Our patches
%patch300 -p1
%patch301 -p1
@@ -1206,7 +1077,6 @@
%patch380 -p1
%patch381 -p1
%patch382 -p1
-%patch383 -p1
%patch400 -p1
%patch401 -p1
%patch402 -p1
@@ -1271,14 +1141,10 @@
%patch510 -p1
%patch511 -p1
%patch512 -p1
-%patch513 -p1
-%patch514 -p1
%patch650 -p1
%patch651 -p1
%patch652 -p1
%patch653 -p1
-%patch654 -p1
-%patch655 -p1
%patch700 -p1
%patch701 -p1
# FATE 310510
++++++ 22998-x86-get_page_from_l1e-retcode.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:52.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:52.000000000 +0200
@@ -19,10 +19,25 @@
Signed-off-by: Jan Beulich <jbeulich(a)novell.com>
-Index: xen-4.1.2-testing/xen/arch/x86/mm/shadow/multi.c
-===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/mm/shadow/multi.c
-+++ xen-4.1.2-testing/xen/arch/x86/mm/shadow/multi.c
+# HG changeset patch
+# User Jan Beulich <jbeulich(a)suse.com>
+# Date 1340271059 -7200
+# Node ID baa85434d0ec16629ca30b7c07deaa9beb3ea9c5
+# Parent d4cdcf4d541cc4ce72c48df2e26c2b506c5b04bd
+x86/mm: fix mod_l1_entry() return value when encountering r/o MMIO page
+
+While putting together the workaround announced in
+http://lists.xen.org/archives/html/xen-devel/2012-06/msg00709.html, I
+found that mod_l1_entry(), upon encountering a set bit in
+mmio_ro_ranges, would return 1 instead of 0 (the removal of the write
+permission is supposed to be entirely transparent to the caller, even
+more so to the calling guest).
+
+Signed-off-by: Jan Beulich <jbeulich(a)suse.com>
+Acked-by: Keir Fraser <keir(a)xen.org>
+
+--- a/xen/arch/x86/mm/shadow/multi.c
++++ b/xen/arch/x86/mm/shadow/multi.c
@@ -872,7 +872,7 @@ shadow_get_page_from_l1e(shadow_l1e_t sl
// If a privileged domain is attempting to install a map of a page it does
// not own, we let it succeed anyway.
@@ -74,11 +89,9 @@
shadow_vram_get_l1e(new_sl1e, sl1e, sl1mfn, d);
break;
}
-Index: xen-4.1.2-testing/xen/arch/x86/mm.c
-===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/mm.c
-+++ xen-4.1.2-testing/xen/arch/x86/mm.c
-@@ -799,12 +799,12 @@ get_page_from_l1e(
+--- a/xen/arch/x86/mm.c
++++ b/xen/arch/x86/mm.c
+@@ -800,12 +800,12 @@ get_page_from_l1e(
bool_t write;
if ( !(l1f & _PAGE_PRESENT) )
@@ -93,7 +106,7 @@
}
if ( !mfn_valid(mfn) ||
-@@ -821,18 +821,21 @@ get_page_from_l1e(
+@@ -822,18 +822,21 @@ get_page_from_l1e(
if ( !iomem_access_permitted(pg_owner, mfn, mfn) )
{
if ( mfn != (PADDR_MASK >> PAGE_SHIFT) ) /* INVALID_MFN? */
@@ -118,7 +131,7 @@
}
if ( unlikely(real_pg_owner != pg_owner) )
-@@ -863,6 +866,7 @@ get_page_from_l1e(
+@@ -864,6 +867,7 @@ get_page_from_l1e(
{
unsigned long x, nx, y = page->count_info;
unsigned long cacheattr = pte_flags_to_cacheattr(l1f);
@@ -126,7 +139,7 @@
if ( is_xen_heap_page(page) )
{
-@@ -870,7 +874,7 @@ get_page_from_l1e(
+@@ -871,7 +875,7 @@ get_page_from_l1e(
put_page_type(page);
put_page(page);
MEM_LOG("Attempt to change cache attributes of Xen heap page");
@@ -135,7 +148,7 @@
}
do {
-@@ -878,7 +882,8 @@ get_page_from_l1e(
+@@ -879,7 +883,8 @@ get_page_from_l1e(
nx = (x & ~PGC_cacheattr_mask) | (cacheattr << PGC_cacheattr_base);
} while ( (y = cmpxchg(&page->count_info, x, nx)) != x );
@@ -145,7 +158,7 @@
{
cacheattr = y & PGC_cacheattr_mask;
do {
-@@ -894,11 +899,11 @@ get_page_from_l1e(
+@@ -895,11 +900,11 @@ get_page_from_l1e(
" from L1 entry %" PRIpte ") for %d",
mfn, get_gpfn_from_mfn(mfn),
l1e_get_intpte(l1e), l1e_owner->domain_id);
@@ -159,7 +172,7 @@
could_not_pin:
MEM_LOG("Error getting mfn %lx (pfn %lx) from L1 entry %" PRIpte
-@@ -907,7 +912,7 @@ get_page_from_l1e(
+@@ -908,7 +913,7 @@ get_page_from_l1e(
l1e_get_intpte(l1e), l1e_owner->domain_id, pg_owner->domain_id);
if ( real_pg_owner != NULL )
put_page(page);
@@ -168,7 +181,7 @@
}
-@@ -1197,17 +1202,20 @@ static int alloc_l1_table(struct page_in
+@@ -1198,17 +1203,20 @@ static int alloc_l1_table(struct page_in
unsigned long pfn = page_to_mfn(page);
l1_pgentry_t *pl1e;
unsigned int i;
@@ -192,7 +205,7 @@
l1e_remove_flags(pl1e[i], _PAGE_RW);
break;
}
-@@ -1225,7 +1233,7 @@ static int alloc_l1_table(struct page_in
+@@ -1226,7 +1234,7 @@ static int alloc_l1_table(struct page_in
put_page_from_l1e(pl1e[i], d);
unmap_domain_page(pl1e);
@@ -201,7 +214,7 @@
}
static int create_pae_xen_mappings(struct domain *d, l3_pgentry_t *pl3e)
-@@ -1794,11 +1802,13 @@ static int mod_l1_entry(l1_pgentry_t *pl
+@@ -1795,12 +1803,15 @@ static int mod_l1_entry(l1_pgentry_t *pl
return rc;
}
@@ -216,9 +229,11 @@
+ break;
+ case 1:
l1e_remove_flags(nl1e, _PAGE_RW);
++ rc = 0;
break;
}
-@@ -4948,7 +4958,7 @@ static int ptwr_emulated_update(
+
+@@ -4976,7 +4987,7 @@ static int ptwr_emulated_update(
nl1e = l1e_from_intpte(val);
switch ( get_page_from_l1e(nl1e, d, d) )
{
@@ -227,7 +242,7 @@
if ( is_pv_32bit_domain(d) && (bytes == 4) && (unaligned_addr & 4) &&
!do_cmpxchg && (l1e_get_flags(nl1e) & _PAGE_PRESENT) )
{
-@@ -4968,7 +4978,9 @@ static int ptwr_emulated_update(
+@@ -4996,7 +5007,9 @@ static int ptwr_emulated_update(
return X86EMUL_UNHANDLEABLE;
}
break;
++++++ 22999-x86-mod_l1_entry-retcode.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:52.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:52.000000000 +0200
@@ -12,11 +12,9 @@
Signed-off-by: Jan Beulich <jbeulich(a)novell.com>
-Index: xen-4.1.2-testing/xen/arch/x86/mm.c
-===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/mm.c
-+++ xen-4.1.2-testing/xen/arch/x86/mm.c
-@@ -1765,15 +1765,16 @@ static int mod_l1_entry(l1_pgentry_t *pl
+--- a/xen/arch/x86/mm.c
++++ b/xen/arch/x86/mm.c
+@@ -1766,15 +1766,16 @@ static int mod_l1_entry(l1_pgentry_t *pl
struct domain *pt_dom = pt_vcpu->domain;
unsigned long mfn;
p2m_type_t p2mt;
@@ -37,7 +35,7 @@
}
if ( l1e_get_flags(nl1e) & _PAGE_PRESENT )
-@@ -1782,7 +1783,7 @@ static int mod_l1_entry(l1_pgentry_t *pl
+@@ -1783,7 +1784,7 @@ static int mod_l1_entry(l1_pgentry_t *pl
mfn = mfn_x(gfn_to_mfn(p2m_get_hostp2m(pg_dom),
l1e_get_pfn(nl1e), &p2mt));
if ( !p2m_is_ram(p2mt) || unlikely(mfn == INVALID_MFN) )
@@ -46,7 +44,7 @@
ASSERT((mfn & ~(PADDR_MASK >> PAGE_SHIFT)) == 0);
nl1e = l1e_from_pfn(mfn, l1e_get_flags(nl1e));
-@@ -1790,22 +1791,23 @@ static int mod_l1_entry(l1_pgentry_t *pl
+@@ -1791,22 +1792,23 @@ static int mod_l1_entry(l1_pgentry_t *pl
{
MEM_LOG("Bad L1 flags %x",
l1e_get_flags(nl1e) & l1_disallow_mask(pt_dom));
@@ -75,7 +73,7 @@
case 0:
break;
case 1:
-@@ -1818,13 +1820,13 @@ static int mod_l1_entry(l1_pgentry_t *pl
+@@ -1820,13 +1822,13 @@ static int mod_l1_entry(l1_pgentry_t *pl
preserve_ad)) )
{
ol1e = nl1e;
@@ -91,7 +89,7 @@
}
put_page_from_l1e(ol1e, pt_dom);
-@@ -3516,9 +3518,10 @@ int do_mmu_update(
+@@ -3518,9 +3520,10 @@ int do_mmu_update(
}
#endif
@@ -105,7 +103,7 @@
}
break;
case PGT_l2_page_table:
-@@ -4300,7 +4303,7 @@ static int __do_update_va_mapping(
+@@ -4302,7 +4305,7 @@ static int __do_update_va_mapping(
goto out;
}
++++++ 23000-x86-mod_l2_entry-retcode.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:52.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:52.000000000 +0200
@@ -11,11 +11,9 @@
Signed-off-by: Jan Beulich <jbeulich(a)novell.com>
-Index: xen-4.1.2-testing/xen/arch/x86/mm.c
-===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/mm.c
-+++ xen-4.1.2-testing/xen/arch/x86/mm.c
-@@ -1845,16 +1845,16 @@ static int mod_l2_entry(l2_pgentry_t *pl
+--- a/xen/arch/x86/mm.c
++++ b/xen/arch/x86/mm.c
+@@ -1847,16 +1847,16 @@ static int mod_l2_entry(l2_pgentry_t *pl
struct domain *d = vcpu->domain;
struct page_info *l2pg = mfn_to_page(pfn);
unsigned long type = l2pg->u.inuse.type_info;
@@ -35,7 +33,7 @@
if ( l2e_get_flags(nl2e) & _PAGE_PRESENT )
{
-@@ -1862,32 +1862,33 @@ static int mod_l2_entry(l2_pgentry_t *pl
+@@ -1864,32 +1864,33 @@ static int mod_l2_entry(l2_pgentry_t *pl
{
MEM_LOG("Bad L2 flags %x",
l2e_get_flags(nl2e) & L2_DISALLOW_MASK);
@@ -76,7 +74,7 @@
}
put_page_from_l2e(ol2e, pfn);
-@@ -3367,7 +3368,7 @@ int do_mmu_update(
+@@ -3369,7 +3370,7 @@ int do_mmu_update(
void *va;
unsigned long gpfn, gmfn, mfn;
struct page_info *page;
@@ -85,7 +83,7 @@
unsigned int cmd, done = 0, pt_dom;
struct vcpu *v = current;
struct domain *d = v->domain, *pt_owner = d, *pg_owner;
-@@ -3434,7 +3435,6 @@ int do_mmu_update(
+@@ -3436,7 +3437,6 @@ int do_mmu_update(
}
cmd = req.ptr & (sizeof(l1_pgentry_t)-1);
@@ -93,7 +91,7 @@
switch ( cmd )
{
-@@ -3451,6 +3451,7 @@ int do_mmu_update(
+@@ -3453,6 +3453,7 @@ int do_mmu_update(
rc = xsm_mmu_normal_update(d, pg_owner, req.val);
if ( rc )
break;
@@ -101,7 +99,7 @@
req.ptr -= cmd;
gmfn = req.ptr >> PAGE_SHIFT;
-@@ -3521,7 +3522,6 @@ int do_mmu_update(
+@@ -3523,7 +3524,6 @@ int do_mmu_update(
rc = mod_l1_entry(va, l1e, mfn,
cmd == MMU_PT_UPDATE_PRESERVE_AD, v,
pg_owner);
@@ -109,7 +107,7 @@
}
break;
case PGT_l2_page_table:
-@@ -3545,13 +3545,12 @@ int do_mmu_update(
+@@ -3547,13 +3547,12 @@ int do_mmu_update(
else if ( p2m_ram_shared == l2e_p2mt )
{
MEM_LOG("Unexpected attempt to map shared page.\n");
@@ -125,7 +123,7 @@
}
break;
case PGT_l3_page_table:
-@@ -3575,13 +3574,11 @@ int do_mmu_update(
+@@ -3577,13 +3576,11 @@ int do_mmu_update(
else if ( p2m_ram_shared == l3e_p2mt )
{
MEM_LOG("Unexpected attempt to map shared page.\n");
@@ -139,7 +137,7 @@
}
break;
#if CONFIG_PAGING_LEVELS >= 4
-@@ -3607,20 +3604,18 @@ int do_mmu_update(
+@@ -3609,20 +3606,18 @@ int do_mmu_update(
else if ( p2m_ram_shared == l4e_p2mt )
{
MEM_LOG("Unexpected attempt to map shared page.\n");
@@ -162,7 +160,7 @@
break;
}
page_unlock(page);
-@@ -3630,8 +3625,8 @@ int do_mmu_update(
+@@ -3632,8 +3627,8 @@ int do_mmu_update(
else if ( get_page_type(page, PGT_writable_page) )
{
perfc_incr(writable_mmu_updates);
@@ -173,7 +171,7 @@
put_page_type(page);
}
-@@ -3652,17 +3647,18 @@ int do_mmu_update(
+@@ -3654,17 +3649,18 @@ int do_mmu_update(
if ( unlikely(!get_page_from_pagenr(mfn, pg_owner)) )
{
MEM_LOG("Could not get page for mach->phys update");
@@ -193,7 +191,7 @@
paging_mark_dirty(pg_owner, mfn);
-@@ -3672,15 +3668,11 @@ int do_mmu_update(
+@@ -3674,15 +3670,11 @@ int do_mmu_update(
default:
MEM_LOG("Invalid page update command %x", cmd);
rc = -ENOSYS;
++++++ 23074-pfn.h.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:52.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:52.000000000 +0200
@@ -9,10 +9,10 @@
Signed-off-by: Keir Fraser <keir(a)xen.org>
-Index: xen-4.1.2-testing/xen/arch/x86/domain_build.c
+Index: xen-4.1.3-testing/xen/arch/x86/domain_build.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/domain_build.c
-+++ xen-4.1.2-testing/xen/arch/x86/domain_build.c
+--- xen-4.1.3-testing.orig/xen/arch/x86/domain_build.c
++++ xen-4.1.3-testing/xen/arch/x86/domain_build.c
@@ -21,6 +21,7 @@
#include <xen/bitops.h>
#include <xen/compat.h>
@@ -21,10 +21,10 @@
#include <asm/regs.h>
#include <asm/system.h>
#include <asm/io.h>
-Index: xen-4.1.2-testing/xen/arch/x86/e820.c
+Index: xen-4.1.3-testing/xen/arch/x86/e820.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/e820.c
-+++ xen-4.1.2-testing/xen/arch/x86/e820.c
+--- xen-4.1.3-testing.orig/xen/arch/x86/e820.c
++++ xen-4.1.3-testing/xen/arch/x86/e820.c
@@ -4,6 +4,7 @@
#include <xen/mm.h>
#include <xen/compat.h>
@@ -33,22 +33,22 @@
#include <asm/e820.h>
#include <asm/page.h>
#include <asm/processor.h>
-Index: xen-4.1.2-testing/xen/arch/x86/mm.c
+Index: xen-4.1.3-testing/xen/arch/x86/mm.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/mm.c
-+++ xen-4.1.2-testing/xen/arch/x86/mm.c
-@@ -99,6 +99,7 @@
- #include <xen/event.h>
+--- xen-4.1.3-testing.orig/xen/arch/x86/mm.c
++++ xen-4.1.3-testing/xen/arch/x86/mm.c
+@@ -100,6 +100,7 @@
#include <xen/iocap.h>
#include <xen/guest_access.h>
+ #include <xen/xmalloc.h>
+#include <xen/pfn.h>
#include <asm/paging.h>
#include <asm/shadow.h>
#include <asm/page.h>
-Index: xen-4.1.2-testing/xen/arch/x86/msi.c
+Index: xen-4.1.3-testing/xen/arch/x86/msi.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/msi.c
-+++ xen-4.1.2-testing/xen/arch/x86/msi.c
+--- xen-4.1.3-testing.orig/xen/arch/x86/msi.c
++++ xen-4.1.3-testing/xen/arch/x86/msi.c
@@ -18,6 +18,7 @@
#include <xen/pci_regs.h>
#include <xen/iocap.h>
@@ -57,10 +57,10 @@
#include <asm/io.h>
#include <asm/smp.h>
#include <asm/desc.h>
-Index: xen-4.1.2-testing/xen/arch/x86/numa.c
+Index: xen-4.1.3-testing/xen/arch/x86/numa.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/numa.c
-+++ xen-4.1.2-testing/xen/arch/x86/numa.c
+--- xen-4.1.3-testing.orig/xen/arch/x86/numa.c
++++ xen-4.1.3-testing/xen/arch/x86/numa.c
@@ -13,6 +13,7 @@
#include <xen/keyhandler.h>
#include <xen/time.h>
@@ -69,10 +69,10 @@
#include <asm/acpi.h>
#include <xen/sched.h>
-Index: xen-4.1.2-testing/xen/arch/x86/setup.c
+Index: xen-4.1.3-testing/xen/arch/x86/setup.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/setup.c
-+++ xen-4.1.2-testing/xen/arch/x86/setup.c
+--- xen-4.1.3-testing.orig/xen/arch/x86/setup.c
++++ xen-4.1.3-testing/xen/arch/x86/setup.c
@@ -21,6 +21,7 @@
#include <xen/rcupdate.h>
#include <xen/vga.h>
@@ -81,10 +81,10 @@
#include <xen/nodemask.h>
#include <public/version.h>
#ifdef CONFIG_COMPAT
-Index: xen-4.1.2-testing/xen/arch/x86/srat.c
+Index: xen-4.1.3-testing/xen/arch/x86/srat.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/srat.c
-+++ xen-4.1.2-testing/xen/arch/x86/srat.c
+--- xen-4.1.3-testing.orig/xen/arch/x86/srat.c
++++ xen-4.1.3-testing/xen/arch/x86/srat.c
@@ -17,6 +17,7 @@
#include <xen/nodemask.h>
#include <xen/acpi.h>
@@ -93,10 +93,10 @@
#include <asm/e820.h>
#include <asm/page.h>
-Index: xen-4.1.2-testing/xen/arch/x86/tboot.c
+Index: xen-4.1.3-testing/xen/arch/x86/tboot.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/tboot.c
-+++ xen-4.1.2-testing/xen/arch/x86/tboot.c
+--- xen-4.1.3-testing.orig/xen/arch/x86/tboot.c
++++ xen-4.1.3-testing/xen/arch/x86/tboot.c
@@ -6,6 +6,7 @@
#include <xen/domain_page.h>
#include <xen/iommu.h>
@@ -105,10 +105,10 @@
#include <asm/fixmap.h>
#include <asm/page.h>
#include <asm/processor.h>
-Index: xen-4.1.2-testing/xen/include/asm-x86/page.h
+Index: xen-4.1.3-testing/xen/include/asm-x86/page.h
===================================================================
---- xen-4.1.2-testing.orig/xen/include/asm-x86/page.h
-+++ xen-4.1.2-testing/xen/include/asm-x86/page.h
+--- xen-4.1.3-testing.orig/xen/include/asm-x86/page.h
++++ xen-4.1.3-testing/xen/include/asm-x86/page.h
@@ -396,8 +396,6 @@ static inline uint32_t cacheattr_to_pte_
#endif /* !__ASSEMBLY__ */
@@ -118,10 +118,22 @@
#define PAGE_ALIGN(x) (((x) + PAGE_SIZE - 1) & PAGE_MASK)
#endif /* __X86_PAGE_H__ */
-Index: xen-4.1.2-testing/xen/include/xen/pfn.h
+Index: xen-4.1.3-testing/xen/include/xen/pci.h
+===================================================================
+--- xen-4.1.3-testing.orig/xen/include/xen/pci.h
++++ xen-4.1.3-testing/xen/include/xen/pci.h
+@@ -13,6 +13,7 @@
+ #include <xen/spinlock.h>
+ #include <xen/irq.h>
+ #include <xen/pci_regs.h>
++#include <xen/pfn.h>
+
+ /*
+ * The PCI interface treats multi-function devices as independent
+Index: xen-4.1.3-testing/xen/include/xen/pfn.h
===================================================================
--- /dev/null
-+++ xen-4.1.2-testing/xen/include/xen/pfn.h
++++ xen-4.1.3-testing/xen/include/xen/pfn.h
@@ -0,0 +1,9 @@
+#ifndef __XEN_PFN_H__
+#define __XEN_PFN_H__
++++++ 23103-x86-pirq-guest-eoi-check.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:52.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:52.000000000 +0200
@@ -8,11 +8,11 @@
Signed-off-by: Keir Fraser <keir(a)xen.org>
-Index: xen-4.1.2-testing/xen/arch/x86/irq.c
+Index: xen-4.1.3-testing/xen/arch/x86/irq.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/irq.c
-+++ xen-4.1.2-testing/xen/arch/x86/irq.c
-@@ -1033,6 +1033,12 @@ static void __pirq_guest_eoi(struct doma
+--- xen-4.1.3-testing.orig/xen/arch/x86/irq.c
++++ xen-4.1.3-testing/xen/arch/x86/irq.c
+@@ -1143,6 +1143,12 @@ static void __pirq_guest_eoi(struct doma
return;
}
++++++ 23127-vtd-bios-settings.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:52.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:52.000000000 +0200
@@ -27,11 +27,11 @@
Signed-off-by: Allen Kay <allen.m.kay(a)intel.com>
-Index: xen-4.1.2-testing/xen/arch/x86/apic.c
+Index: xen-4.1.3-testing/xen/arch/x86/apic.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/apic.c
-+++ xen-4.1.2-testing/xen/arch/x86/apic.c
-@@ -566,7 +566,7 @@ static void resume_x2apic(void)
+--- xen-4.1.3-testing.orig/xen/arch/x86/apic.c
++++ xen-4.1.3-testing/xen/arch/x86/apic.c
+@@ -572,7 +572,7 @@ static void resume_x2apic(void)
mask_8259A();
mask_IO_APIC_setup(ioapic_entries);
@@ -40,7 +40,7 @@
__enable_x2apic();
restore_IO_APIC_setup(ioapic_entries);
-@@ -783,7 +783,7 @@ int lapic_suspend(void)
+@@ -789,7 +789,7 @@ int lapic_suspend(void)
local_irq_save(flags);
disable_local_APIC();
@@ -49,7 +49,7 @@
local_irq_restore(flags);
return 0;
}
-@@ -1029,7 +1029,7 @@ void __init x2apic_bsp_setup(void)
+@@ -1035,7 +1035,7 @@ void __init x2apic_bsp_setup(void)
mask_8259A();
mask_IO_APIC_setup(ioapic_entries);
@@ -58,10 +58,10 @@
{
if ( x2apic_enabled )
panic("Interrupt remapping could not be enabled while "
-Index: xen-4.1.2-testing/xen/drivers/passthrough/vtd/dmar.c
+Index: xen-4.1.3-testing/xen/drivers/passthrough/vtd/dmar.c
===================================================================
---- xen-4.1.2-testing.orig/xen/drivers/passthrough/vtd/dmar.c
-+++ xen-4.1.2-testing/xen/drivers/passthrough/vtd/dmar.c
+--- xen-4.1.3-testing.orig/xen/drivers/passthrough/vtd/dmar.c
++++ xen-4.1.3-testing/xen/drivers/passthrough/vtd/dmar.c
@@ -46,6 +46,7 @@ LIST_HEAD(acpi_rmrr_units);
LIST_HEAD(acpi_atsr_units);
LIST_HEAD(acpi_rhsa_units);
@@ -101,10 +101,10 @@
+ flags = DMAR_INTR_REMAP | DMAR_X2APIC_OPT_OUT;
+ return ((dmar_flags & flags) == DMAR_INTR_REMAP);
+}
-Index: xen-4.1.2-testing/xen/drivers/passthrough/vtd/extern.h
+Index: xen-4.1.3-testing/xen/drivers/passthrough/vtd/extern.h
===================================================================
---- xen-4.1.2-testing.orig/xen/drivers/passthrough/vtd/extern.h
-+++ xen-4.1.2-testing/xen/drivers/passthrough/vtd/extern.h
+--- xen-4.1.3-testing.orig/xen/drivers/passthrough/vtd/extern.h
++++ xen-4.1.3-testing/xen/drivers/passthrough/vtd/extern.h
@@ -87,5 +87,7 @@ void vtd_ops_preamble_quirk(struct iommu
void vtd_ops_postamble_quirk(struct iommu* iommu);
void me_wifi_quirk(struct domain *domain, u8 bus, u8 devfn, int map);
@@ -113,10 +113,10 @@
+int platform_supports_x2apic(void);
#endif // _VTD_EXTERN_H_
-Index: xen-4.1.2-testing/xen/drivers/passthrough/vtd/intremap.c
+Index: xen-4.1.3-testing/xen/drivers/passthrough/vtd/intremap.c
===================================================================
---- xen-4.1.2-testing.orig/xen/drivers/passthrough/vtd/intremap.c
-+++ xen-4.1.2-testing/xen/drivers/passthrough/vtd/intremap.c
+--- xen-4.1.3-testing.orig/xen/drivers/passthrough/vtd/intremap.c
++++ xen-4.1.3-testing/xen/drivers/passthrough/vtd/intremap.c
@@ -741,6 +741,13 @@ int enable_intremap(struct iommu *iommu,
ASSERT(ecap_intr_remap(iommu->ecap) && iommu_intremap);
@@ -163,11 +163,11 @@
{
struct acpi_drhd_unit *drhd;
-Index: xen-4.1.2-testing/xen/drivers/passthrough/vtd/iommu.c
+Index: xen-4.1.3-testing/xen/drivers/passthrough/vtd/iommu.c
===================================================================
---- xen-4.1.2-testing.orig/xen/drivers/passthrough/vtd/iommu.c
-+++ xen-4.1.2-testing/xen/drivers/passthrough/vtd/iommu.c
-@@ -2006,7 +2006,7 @@ static int init_vtd_hw(void)
+--- xen-4.1.3-testing.orig/xen/drivers/passthrough/vtd/iommu.c
++++ xen-4.1.3-testing/xen/drivers/passthrough/vtd/iommu.c
+@@ -2091,7 +2091,7 @@ static int init_vtd_hw(void)
{
iommu_intremap = 0;
dprintk(XENLOG_WARNING VTDPREFIX,
@@ -176,10 +176,10 @@
break;
}
}
-Index: xen-4.1.2-testing/xen/drivers/passthrough/vtd/iommu.h
+Index: xen-4.1.3-testing/xen/drivers/passthrough/vtd/iommu.h
===================================================================
---- xen-4.1.2-testing.orig/xen/drivers/passthrough/vtd/iommu.h
-+++ xen-4.1.2-testing/xen/drivers/passthrough/vtd/iommu.h
+--- xen-4.1.3-testing.orig/xen/drivers/passthrough/vtd/iommu.h
++++ xen-4.1.3-testing/xen/drivers/passthrough/vtd/iommu.h
@@ -22,6 +22,10 @@
#include <xen/types.h>
@@ -191,10 +191,10 @@
/*
* Intel IOMMU register specification per version 1.0 public spec.
*/
-Index: xen-4.1.2-testing/xen/include/xen/iommu.h
+Index: xen-4.1.3-testing/xen/include/xen/iommu.h
===================================================================
---- xen-4.1.2-testing.orig/xen/include/xen/iommu.h
-+++ xen-4.1.2-testing/xen/include/xen/iommu.h
+--- xen-4.1.3-testing.orig/xen/include/xen/iommu.h
++++ xen-4.1.3-testing/xen/include/xen/iommu.h
@@ -66,8 +66,8 @@ struct iommu {
int iommu_setup(void);
++++++ 23236-svm-decode-assist-invlpg.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:52.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:52.000000000 +0200
@@ -34,10 +34,10 @@
Signed-off-by: Christoph Egger <Christoph.Egger(a)amd.com>
-Index: xen-4.1.2-testing/xen/arch/x86/hvm/svm/emulate.c
+Index: xen-4.1.3-testing/xen/arch/x86/hvm/svm/emulate.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/hvm/svm/emulate.c
-+++ xen-4.1.2-testing/xen/arch/x86/hvm/svm/emulate.c
+--- xen-4.1.3-testing.orig/xen/arch/x86/hvm/svm/emulate.c
++++ xen-4.1.3-testing/xen/arch/x86/hvm/svm/emulate.c
@@ -102,6 +102,7 @@ MAKE_INSTR(INT3, 1, 0xcc);
MAKE_INSTR(RDTSC, 2, 0x0f, 0x31);
MAKE_INSTR(PAUSE, 1, 0x90);
@@ -54,39 +54,27 @@
};
static int fetch(struct vcpu *v, u8 *buf, unsigned long addr, int len)
-Index: xen-4.1.2-testing/xen/arch/x86/hvm/svm/svm.c
+Index: xen-4.1.3-testing/xen/arch/x86/hvm/svm/svm.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/hvm/svm/svm.c
-+++ xen-4.1.2-testing/xen/arch/x86/hvm/svm/svm.c
-@@ -1650,11 +1650,22 @@ asmlinkage void svm_vmexit_handler(struc
+--- xen-4.1.3-testing.orig/xen/arch/x86/hvm/svm/svm.c
++++ xen-4.1.3-testing/xen/arch/x86/hvm/svm/svm.c
+@@ -1748,8 +1748,10 @@ asmlinkage void svm_vmexit_handler(struc
break;
- case VMEXIT_INVLPG:
-- case VMEXIT_INVLPGA:
+ case VMEXIT_INVLPGA:
- if ( !handle_mmio() )
-+ if ( cpu_has_svm_decode )
-+ {
-+ svm_invlpg_intercept(vmcb->exitinfo1);
-+ __update_guest_eip(regs, vmcb->nextrip - vmcb->rip);
-+ }
-+ else if ( !handle_mmio() )
- hvm_inject_exception(TRAP_gp_fault, 0, 0);
- break;
-
-+ case VMEXIT_INVLPGA:
+- hvm_inject_exception(TRAP_gp_fault, 0, 0);
+ if ( (inst_len = __get_instruction_length(v, INSTR_INVLPGA)) == 0 )
+ break;
+ svm_invlpga(regs->eax, v->arch.hvm_vcpu.asid);
+ __update_guest_eip(regs, inst_len);
-+ break;
-+
+ break;
+
case VMEXIT_VMMCALL:
- if ( (inst_len = __get_instruction_length(v, INSTR_VMCALL)) == 0 )
- break;
-Index: xen-4.1.2-testing/xen/include/asm-x86/hvm/svm/asid.h
+Index: xen-4.1.3-testing/xen/include/asm-x86/hvm/svm/asid.h
===================================================================
---- xen-4.1.2-testing.orig/xen/include/asm-x86/hvm/svm/asid.h
-+++ xen-4.1.2-testing/xen/include/asm-x86/hvm/svm/asid.h
+--- xen-4.1.3-testing.orig/xen/include/asm-x86/hvm/svm/asid.h
++++ xen-4.1.3-testing/xen/include/asm-x86/hvm/svm/asid.h
@@ -34,10 +34,7 @@ static inline void svm_asid_g_invlpg(str
{
#if 0
@@ -99,10 +87,10 @@
#endif
/* Safe fallback. Take a new ASID. */
-Index: xen-4.1.2-testing/xen/include/asm-x86/hvm/svm/emulate.h
+Index: xen-4.1.3-testing/xen/include/asm-x86/hvm/svm/emulate.h
===================================================================
---- xen-4.1.2-testing.orig/xen/include/asm-x86/hvm/svm/emulate.h
-+++ xen-4.1.2-testing/xen/include/asm-x86/hvm/svm/emulate.h
+--- xen-4.1.3-testing.orig/xen/include/asm-x86/hvm/svm/emulate.h
++++ xen-4.1.3-testing/xen/include/asm-x86/hvm/svm/emulate.h
@@ -33,6 +33,7 @@ enum instruction_index {
INSTR_RDTSC,
INSTR_PAUSE,
@@ -111,10 +99,10 @@
INSTR_MAX_COUNT /* Must be last - Number of instructions supported */
};
-Index: xen-4.1.2-testing/xen/include/asm-x86/hvm/svm/svm.h
+Index: xen-4.1.3-testing/xen/include/asm-x86/hvm/svm/svm.h
===================================================================
---- xen-4.1.2-testing.orig/xen/include/asm-x86/hvm/svm/svm.h
-+++ xen-4.1.2-testing/xen/include/asm-x86/hvm/svm/svm.h
+--- xen-4.1.3-testing.orig/xen/include/asm-x86/hvm/svm/svm.h
++++ xen-4.1.3-testing/xen/include/asm-x86/hvm/svm/svm.h
@@ -62,6 +62,15 @@ static inline void svm_vmsave(void *vmcb
: : "a" (__pa(vmcb)) : "memory" );
}
++++++ 23246-x86-xsave-enable.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:52.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:52.000000000 +0200
@@ -9,8 +9,10 @@
Signed-off-by: Tim Deegan <Tim.Deegan(a)citrix.com>
---- a/xen/arch/x86/cpu/common.c
-+++ b/xen/arch/x86/cpu/common.c
+Index: xen-4.1.3-testing/xen/arch/x86/cpu/common.c
+===================================================================
+--- xen-4.1.3-testing.orig/xen/arch/x86/cpu/common.c
++++ xen-4.1.3-testing/xen/arch/x86/cpu/common.c
@@ -25,7 +25,7 @@ boolean_param("nofxsr", disable_x86_fxsr
static bool_t __cpuinitdata disable_x86_serial_nr;
boolean_param("noserialnumber", disable_x86_serial_nr);
@@ -18,5 +20,5 @@
-static bool_t __cpuinitdata use_xsave;
+static bool_t __cpuinitdata use_xsave = 1;
boolean_param("xsave", use_xsave);
+
unsigned int __devinitdata opt_cpuid_mask_ecx = ~0u;
- integer_param("cpuid_mask_ecx", opt_cpuid_mask_ecx);
++++++ 23383-libxc-rm-static-vars.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:52.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:52.000000000 +0200
@@ -17,11 +17,11 @@
Committed-by: Ian Jackson <ian.jackson.citrix.com>
Acked-by: Vincent Hanquez <vincent.hanquez(a)eu.citrix.com>
-Index: xen-4.1.2-testing/tools/libxc/xc_domain_restore.c
+Index: xen-4.1.3-testing/tools/libxc/xc_domain_restore.c
===================================================================
---- xen-4.1.2-testing.orig/tools/libxc/xc_domain_restore.c
-+++ xen-4.1.2-testing/tools/libxc/xc_domain_restore.c
-@@ -1134,23 +1134,19 @@ int xc_domain_restore(xc_interface *xch,
+--- xen-4.1.3-testing.orig/tools/libxc/xc_domain_restore.c
++++ xen-4.1.3-testing/tools/libxc/xc_domain_restore.c
+@@ -1145,23 +1145,19 @@ int xc_domain_restore(xc_interface *xch,
int orig_io_fd_flags;
@@ -49,10 +49,10 @@
ctxt = xc_hypercall_buffer_alloc(xch, ctxt, sizeof(*ctxt));
if ( ctxt == NULL )
-Index: xen-4.1.2-testing/tools/libxc/xc_domain_save.c
+Index: xen-4.1.3-testing/tools/libxc/xc_domain_save.c
===================================================================
---- xen-4.1.2-testing.orig/tools/libxc/xc_domain_save.c
-+++ xen-4.1.2-testing/tools/libxc/xc_domain_save.c
+--- xen-4.1.3-testing.orig/tools/libxc/xc_domain_save.c
++++ xen-4.1.3-testing/tools/libxc/xc_domain_save.c
@@ -958,11 +958,8 @@ int xc_domain_save(xc_interface *xch, in
unsigned long mfn;
++++++ 23508-vmx-proc-based-ctls-probe.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:52.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:52.000000000 +0200
@@ -12,11 +12,11 @@
Signed-off-by: Eddie Dong <eddie.dong(a)intel.com>
Signed-off-by: Keir Fraser <keir(a)xen.org>
-Index: xen-4.1.2-testing/xen/arch/x86/hvm/vmx/vmcs.c
+Index: xen-4.1.3-testing/xen/arch/x86/hvm/vmx/vmcs.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/hvm/vmx/vmcs.c
-+++ xen-4.1.2-testing/xen/arch/x86/hvm/vmx/vmcs.c
-@@ -148,6 +148,11 @@ static int vmx_init_vmcs_config(void)
+--- xen-4.1.3-testing.orig/xen/arch/x86/hvm/vmx/vmcs.c
++++ xen-4.1.3-testing/xen/arch/x86/hvm/vmx/vmcs.c
+@@ -143,6 +143,11 @@ static int vmx_init_vmcs_config(void)
MSR_IA32_VMX_PINBASED_CTLS, &mismatch);
min = (CPU_BASED_HLT_EXITING |
@@ -28,7 +28,7 @@
CPU_BASED_INVLPG_EXITING |
CPU_BASED_CR3_LOAD_EXITING |
CPU_BASED_CR3_STORE_EXITING |
-@@ -166,13 +171,9 @@ static int vmx_init_vmcs_config(void)
+@@ -161,13 +166,9 @@ static int vmx_init_vmcs_config(void)
MSR_IA32_VMX_PROCBASED_CTLS, &mismatch);
_vmx_cpu_based_exec_control &= ~CPU_BASED_RDTSC_EXITING;
#ifdef __x86_64__
++++++ 23571-vtd-fault-verbosity.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:52.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:52.000000000 +0200
@@ -10,10 +10,10 @@
Signed-off-by: Allen Kay <allen.m.kay(a)intel.com>
-Index: xen-4.1.2-testing/xen/drivers/passthrough/amd/iommu_acpi.c
+Index: xen-4.1.3-testing/xen/drivers/passthrough/amd/iommu_acpi.c
===================================================================
---- xen-4.1.2-testing.orig/xen/drivers/passthrough/amd/iommu_acpi.c
-+++ xen-4.1.2-testing/xen/drivers/passthrough/amd/iommu_acpi.c
+--- xen-4.1.3-testing.orig/xen/drivers/passthrough/amd/iommu_acpi.c
++++ xen-4.1.3-testing/xen/drivers/passthrough/amd/iommu_acpi.c
@@ -822,7 +822,7 @@ static int __init parse_ivrs_table(struc
BUG_ON(!table);
@@ -23,10 +23,10 @@
dump_acpi_table_header(table);
/* parse IVRS blocks */
-Index: xen-4.1.2-testing/xen/drivers/passthrough/iommu.c
+Index: xen-4.1.3-testing/xen/drivers/passthrough/iommu.c
===================================================================
---- xen-4.1.2-testing.orig/xen/drivers/passthrough/iommu.c
-+++ xen-4.1.2-testing/xen/drivers/passthrough/iommu.c
+--- xen-4.1.3-testing.orig/xen/drivers/passthrough/iommu.c
++++ xen-4.1.3-testing/xen/drivers/passthrough/iommu.c
@@ -48,7 +48,7 @@ bool_t __read_mostly iommu_snoop = 1;
bool_t __read_mostly iommu_qinval = 1;
bool_t __read_mostly iommu_intremap = 1;
@@ -47,11 +47,11 @@
else if ( !strcmp(s, "amd-iommu-perdev-intremap") )
amd_iommu_perdev_intremap = 1;
else if ( !strcmp(s, "dom0-passthrough") )
-Index: xen-4.1.2-testing/xen/drivers/passthrough/vtd/iommu.c
+Index: xen-4.1.3-testing/xen/drivers/passthrough/vtd/iommu.c
===================================================================
---- xen-4.1.2-testing.orig/xen/drivers/passthrough/vtd/iommu.c
-+++ xen-4.1.2-testing/xen/drivers/passthrough/vtd/iommu.c
-@@ -821,7 +821,7 @@ static int iommu_page_fault_do_one(struc
+--- xen-4.1.3-testing.orig/xen/drivers/passthrough/vtd/iommu.c
++++ xen-4.1.3-testing/xen/drivers/passthrough/vtd/iommu.c
+@@ -844,7 +844,7 @@ static int iommu_page_fault_do_one(struc
if ( fault_type == DMA_REMAP )
{
@@ -60,7 +60,7 @@
"DMAR:[%s] Request device [%02x:%02x.%d] "
"fault addr %"PRIx64", iommu reg = %p\n"
"DMAR:[fault reason %02xh] %s\n",
-@@ -830,12 +830,13 @@ static int iommu_page_fault_do_one(struc
+@@ -853,12 +853,13 @@ static int iommu_page_fault_do_one(struc
PCI_FUNC(source_id & 0xFF), addr, iommu->reg,
fault_reason, reason);
#ifndef __i386__ /* map_domain_page() cannot be used in this context */
@@ -76,7 +76,7 @@
"INTR-REMAP: Request device [%02x:%02x.%d] "
"fault index %"PRIx64", iommu reg = %p\n"
"INTR-REMAP:[fault reason %02xh] %s\n",
-@@ -849,26 +850,19 @@ static int iommu_page_fault_do_one(struc
+@@ -872,26 +873,19 @@ static int iommu_page_fault_do_one(struc
static void iommu_fault_status(u32 fault_status)
{
if ( fault_status & DMA_FSTS_PFO )
@@ -110,10 +110,10 @@
}
#define PRIMARY_FAULT_REG_LEN (16)
-Index: xen-4.1.2-testing/xen/drivers/passthrough/vtd/iommu.h
+Index: xen-4.1.3-testing/xen/drivers/passthrough/vtd/iommu.h
===================================================================
---- xen-4.1.2-testing.orig/xen/drivers/passthrough/vtd/iommu.h
-+++ xen-4.1.2-testing/xen/drivers/passthrough/vtd/iommu.h
+--- xen-4.1.3-testing.orig/xen/drivers/passthrough/vtd/iommu.h
++++ xen-4.1.3-testing/xen/drivers/passthrough/vtd/iommu.h
@@ -512,4 +512,11 @@ struct intel_iommu {
struct acpi_drhd_unit *drhd;
};
@@ -126,10 +126,10 @@
+ } while(0)
+
#endif
-Index: xen-4.1.2-testing/xen/include/asm-x86/hvm/svm/amd-iommu-proto.h
+Index: xen-4.1.3-testing/xen/include/asm-x86/hvm/svm/amd-iommu-proto.h
===================================================================
---- xen-4.1.2-testing.orig/xen/include/asm-x86/hvm/svm/amd-iommu-proto.h
-+++ xen-4.1.2-testing/xen/include/asm-x86/hvm/svm/amd-iommu-proto.h
+--- xen-4.1.3-testing.orig/xen/include/asm-x86/hvm/svm/amd-iommu-proto.h
++++ xen-4.1.3-testing/xen/include/asm-x86/hvm/svm/amd-iommu-proto.h
@@ -34,7 +34,7 @@
#define AMD_IOMMU_DEBUG(fmt, args...) \
do \
@@ -139,10 +139,10 @@
printk(XENLOG_INFO "AMD-Vi: " fmt, ## args); \
} while(0)
-Index: xen-4.1.2-testing/xen/include/xen/iommu.h
+Index: xen-4.1.3-testing/xen/include/xen/iommu.h
===================================================================
---- xen-4.1.2-testing.orig/xen/include/xen/iommu.h
-+++ xen-4.1.2-testing/xen/include/xen/iommu.h
+--- xen-4.1.3-testing.orig/xen/include/xen/iommu.h
++++ xen-4.1.3-testing/xen/include/xen/iommu.h
@@ -31,7 +31,7 @@ extern bool_t force_iommu, iommu_verbose
extern bool_t iommu_workaround_bios_bug, iommu_passthrough;
extern bool_t iommu_snoop, iommu_qinval, iommu_intremap;
++++++ 23575-x86-DMI.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:52.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:52.000000000 +0200
@@ -12,13 +12,13 @@
Signed-off-by: Jan Beulich <jbeulich(a)novell.com>
-Index: xen-4.1.2-testing/xen/arch/x86/dmi_scan.c
+Index: xen-4.1.3-testing/xen/arch/x86/dmi_scan.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/dmi_scan.c
-+++ xen-4.1.2-testing/xen/arch/x86/dmi_scan.c
-@@ -10,11 +10,31 @@
- #include <asm/system.h>
- #include <xen/dmi.h>
+--- xen-4.1.3-testing.orig/xen/arch/x86/dmi_scan.c
++++ xen-4.1.3-testing/xen/arch/x86/dmi_scan.c
+@@ -12,11 +12,31 @@
+ #include <xen/pci.h>
+ #include <xen/pci_regs.h>
-#define bt_ioremap(b,l) ((u8 *)__acpi_map_table(b,l))
+#define bt_ioremap(b,l) ((void *)__acpi_map_table(b,l))
@@ -49,7 +49,7 @@
struct dmi_header
{
u8 type;
-@@ -90,62 +110,70 @@ static int __init dmi_table(u32 base, in
+@@ -92,62 +112,70 @@ static int __init dmi_table(u32 base, in
}
++++++ 23576-x86_show_page_walk_also_for_early_page_faults.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:52.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:52.000000000 +0200
@@ -20,11 +20,11 @@
xen/arch/x86/x86_64/traps.c | 12 ++++++++----
6 files changed, 17 insertions(+), 11 deletions(-)
-Index: xen-4.1.2-testing/xen/arch/x86/mm.c
+Index: xen-4.1.3-testing/xen/arch/x86/mm.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/mm.c
-+++ xen-4.1.2-testing/xen/arch/x86/mm.c
-@@ -151,6 +151,8 @@ unsigned long __read_mostly pdx_group_va
+--- xen-4.1.3-testing.orig/xen/arch/x86/mm.c
++++ xen-4.1.3-testing/xen/arch/x86/mm.c
+@@ -152,6 +152,8 @@ unsigned long __read_mostly pdx_group_va
(FRAMETABLE_SIZE / sizeof(*frame_table) + PDX_GROUP_COUNT - 1)
/ PDX_GROUP_COUNT)] = { [0] = 1 };
@@ -33,11 +33,11 @@
#define PAGE_CACHE_ATTRS (_PAGE_PAT|_PAGE_PCD|_PAGE_PWT)
bool_t __read_mostly opt_allow_superpage;
-Index: xen-4.1.2-testing/xen/arch/x86/traps.c
+Index: xen-4.1.3-testing/xen/arch/x86/traps.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/traps.c
-+++ xen-4.1.2-testing/xen/arch/x86/traps.c
-@@ -1428,6 +1428,7 @@ asmlinkage void __init do_early_page_fau
+--- xen-4.1.3-testing.orig/xen/arch/x86/traps.c
++++ xen-4.1.3-testing/xen/arch/x86/traps.c
+@@ -1454,6 +1454,7 @@ asmlinkage void __init do_early_page_fau
unsigned long *stk = (unsigned long *)regs;
printk("Early fatal page fault at %04x:%p (cr2=%p, ec=%04x)\n",
regs->cs, _p(regs->eip), _p(cr2), regs->error_code);
@@ -45,10 +45,10 @@
printk("Stack dump: ");
while ( ((long)stk & ((PAGE_SIZE - 1) & ~(BYTES_PER_LONG - 1))) != 0 )
printk("%p ", _p(*stk++));
-Index: xen-4.1.2-testing/xen/arch/x86/x86_32/mm.c
+Index: xen-4.1.3-testing/xen/arch/x86/x86_32/mm.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/x86_32/mm.c
-+++ xen-4.1.2-testing/xen/arch/x86/x86_32/mm.c
+--- xen-4.1.3-testing.orig/xen/arch/x86/x86_32/mm.c
++++ xen-4.1.3-testing/xen/arch/x86/x86_32/mm.c
@@ -39,8 +39,6 @@ extern l1_pgentry_t l1_identmap[L1_PAGET
unsigned int __read_mostly PAGE_HYPERVISOR = __PAGE_HYPERVISOR;
unsigned int __read_mostly PAGE_HYPERVISOR_NOCACHE = __PAGE_HYPERVISOR_NOCACHE;
@@ -58,10 +58,10 @@
static unsigned long __read_mostly mpt_size;
void *alloc_xen_pagetable(void)
-Index: xen-4.1.2-testing/xen/arch/x86/x86_32/traps.c
+Index: xen-4.1.3-testing/xen/arch/x86/x86_32/traps.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/x86_32/traps.c
-+++ xen-4.1.2-testing/xen/arch/x86/x86_32/traps.c
+--- xen-4.1.3-testing.orig/xen/arch/x86/x86_32/traps.c
++++ xen-4.1.3-testing/xen/arch/x86/x86_32/traps.c
@@ -164,7 +164,8 @@ void show_page_walk(unsigned long addr)
l3t += (cr3 & 0xFE0UL) >> 3;
l3e = l3t[l3_table_offset(addr)];
@@ -92,10 +92,10 @@
printk(" L1[0x%03lx] = %"PRIpte" %08lx\n",
l1_table_offset(addr), l1e_get_intpte(l1e), pfn);
unmap_domain_page(l1t);
-Index: xen-4.1.2-testing/xen/arch/x86/x86_64/mm.c
+Index: xen-4.1.3-testing/xen/arch/x86/x86_64/mm.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/x86_64/mm.c
-+++ xen-4.1.2-testing/xen/arch/x86/x86_64/mm.c
+--- xen-4.1.3-testing.orig/xen/arch/x86/x86_64/mm.c
++++ xen-4.1.3-testing/xen/arch/x86/x86_64/mm.c
@@ -47,8 +47,6 @@ unsigned int __read_mostly pfn_pdx_hole_
unsigned int __read_mostly m2p_compat_vstart = __HYPERVISOR_COMPAT_VIRT_START;
@@ -105,10 +105,10 @@
/* Top-level master (and idle-domain) page directory. */
l4_pgentry_t __attribute__ ((__section__ (".bss.page_aligned")))
idle_pg_table[L4_PAGETABLE_ENTRIES];
-Index: xen-4.1.2-testing/xen/arch/x86/x86_64/traps.c
+Index: xen-4.1.3-testing/xen/arch/x86/x86_64/traps.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/x86_64/traps.c
-+++ xen-4.1.2-testing/xen/arch/x86/x86_64/traps.c
+--- xen-4.1.3-testing.orig/xen/arch/x86/x86_64/traps.c
++++ xen-4.1.3-testing/xen/arch/x86/x86_64/traps.c
@@ -176,7 +176,8 @@ void show_page_walk(unsigned long addr)
l4t = mfn_to_virt(mfn);
l4e = l4t[l4_table_offset(addr)];
++++++ 23577-tools_merge_several_bitop_functions_into_xc_bitops.h.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:52.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:52.000000000 +0200
@@ -44,10 +44,10 @@
tools/xenpaging/xenpaging.h | 1
12 files changed, 91 insertions(+), 618 deletions(-)
-Index: xen-4.1.2-testing/tools/blktap2/drivers/block-log.c
+Index: xen-4.1.3-testing/tools/blktap2/drivers/block-log.c
===================================================================
---- xen-4.1.2-testing.orig/tools/blktap2/drivers/block-log.c
-+++ xen-4.1.2-testing/tools/blktap2/drivers/block-log.c
+--- xen-4.1.3-testing.orig/tools/blktap2/drivers/block-log.c
++++ xen-4.1.3-testing/tools/blktap2/drivers/block-log.c
@@ -47,6 +47,7 @@
#include <sys/socket.h>
#include <sys/un.h>
@@ -98,10 +98,10 @@
BWPRINTF("could not allocate dirty bitmap of size %"PRIu64, bmsize);
return -1;
}
-Index: xen-4.1.2-testing/tools/libxc/ia64/xc_ia64_linux_restore.c
+Index: xen-4.1.3-testing/tools/libxc/ia64/xc_ia64_linux_restore.c
===================================================================
---- xen-4.1.2-testing.orig/tools/libxc/ia64/xc_ia64_linux_restore.c
-+++ xen-4.1.2-testing/tools/libxc/ia64/xc_ia64_linux_restore.c
+--- xen-4.1.3-testing.orig/tools/libxc/ia64/xc_ia64_linux_restore.c
++++ xen-4.1.3-testing/tools/libxc/ia64/xc_ia64_linux_restore.c
@@ -218,14 +218,12 @@ xc_ia64_recv_vcpumap(xc_interface *xch,
max_virt_cpus, info->max_vcpu_id);
return -1;
@@ -139,10 +139,10 @@
continue;
if (xc_ia64_recv_vcpu_context(xch, io_fd, dom, i, &ctxt_any))
-Index: xen-4.1.2-testing/tools/libxc/ia64/xc_ia64_linux_save.c
+Index: xen-4.1.3-testing/tools/libxc/ia64/xc_ia64_linux_save.c
===================================================================
---- xen-4.1.2-testing.orig/tools/libxc/ia64/xc_ia64_linux_save.c
-+++ xen-4.1.2-testing/tools/libxc/ia64/xc_ia64_linux_save.c
+--- xen-4.1.3-testing.orig/tools/libxc/ia64/xc_ia64_linux_save.c
++++ xen-4.1.3-testing/tools/libxc/ia64/xc_ia64_linux_save.c
@@ -32,6 +32,7 @@
#include <sys/time.h>
@@ -214,10 +214,10 @@
continue;
if (xc_ia64_send_vcpu_context(xch, io_fd, dom, i, &ctxt_any))
-Index: xen-4.1.2-testing/tools/libxc/ia64/xc_ia64_save_restore.h
+Index: xen-4.1.3-testing/tools/libxc/ia64/xc_ia64_save_restore.h
===================================================================
---- xen-4.1.2-testing.orig/tools/libxc/ia64/xc_ia64_save_restore.h
-+++ xen-4.1.2-testing/tools/libxc/ia64/xc_ia64_save_restore.h
+--- xen-4.1.3-testing.orig/tools/libxc/ia64/xc_ia64_save_restore.h
++++ xen-4.1.3-testing/tools/libxc/ia64/xc_ia64_save_restore.h
@@ -33,26 +33,6 @@
#define XC_IA64_SR_FORMAT_VER_CURRENT XC_IA64_SR_FORMAT_VER_THREE
@@ -245,10 +245,10 @@
#endif /* XC_IA64_SAVE_RESTORE_H */
-Index: xen-4.1.2-testing/tools/libxc/xc_bitops.h
+Index: xen-4.1.3-testing/tools/libxc/xc_bitops.h
===================================================================
--- /dev/null
-+++ xen-4.1.2-testing/tools/libxc/xc_bitops.h
++++ xen-4.1.3-testing/tools/libxc/xc_bitops.h
@@ -0,0 +1,57 @@
+#ifndef XC_BITOPS_H
+#define XC_BITOPS_H 1
@@ -307,10 +307,10 @@
+}
+
+#endif /* XC_BITOPS_H */
-Index: xen-4.1.2-testing/tools/libxc/xc_domain_save.c
+Index: xen-4.1.3-testing/tools/libxc/xc_domain_save.c
===================================================================
---- xen-4.1.2-testing.orig/tools/libxc/xc_domain_save.c
-+++ xen-4.1.2-testing/tools/libxc/xc_domain_save.c
+--- xen-4.1.3-testing.orig/tools/libxc/xc_domain_save.c
++++ xen-4.1.3-testing/tools/libxc/xc_domain_save.c
@@ -27,6 +27,7 @@
#include <sys/time.h>
@@ -408,7 +408,7 @@
debug = 0;
DPRINTF("Entering debug resend-all mode\n");
-@@ -1959,8 +1909,8 @@ int xc_domain_save(xc_interface *xch, in
+@@ -1971,8 +1921,8 @@ int xc_domain_save(xc_interface *xch, in
if ( ctx->live_m2p )
munmap(ctx->live_m2p, M2P_SIZE(ctx->max_mfn));
@@ -419,9 +419,9 @@
free(pfn_type);
free(pfn_batch);
-Index: xen-4.1.2-testing/tools/xenpaging/bitops.h
+Index: xen-4.1.3-testing/tools/xenpaging/bitops.h
===================================================================
---- xen-4.1.2-testing.orig/tools/xenpaging/bitops.h
+--- xen-4.1.3-testing.orig/tools/xenpaging/bitops.h
+++ /dev/null
@@ -1,448 +0,0 @@
-#ifndef _X86_BITOPS_H
@@ -872,10 +872,10 @@
-#define hweight8(x) generic_hweight8(x)
-
-#endif /* _X86_BITOPS_H */
-Index: xen-4.1.2-testing/tools/xenpaging/policy_default.c
+Index: xen-4.1.3-testing/tools/xenpaging/policy_default.c
===================================================================
---- xen-4.1.2-testing.orig/tools/xenpaging/policy_default.c
-+++ xen-4.1.2-testing/tools/xenpaging/policy_default.c
+--- xen-4.1.3-testing.orig/tools/xenpaging/policy_default.c
++++ xen-4.1.3-testing/tools/xenpaging/policy_default.c
@@ -21,8 +21,7 @@
*/
@@ -937,10 +937,10 @@
out:
return rc;
}
-Index: xen-4.1.2-testing/tools/xenpaging/xc.c
+Index: xen-4.1.3-testing/tools/xenpaging/xc.c
===================================================================
---- xen-4.1.2-testing.orig/tools/xenpaging/xc.c
-+++ xen-4.1.2-testing/tools/xenpaging/xc.c
+--- xen-4.1.3-testing.orig/tools/xenpaging/xc.c
++++ xen-4.1.3-testing/tools/xenpaging/xc.c
@@ -31,20 +31,6 @@
#include "xc.h"
@@ -962,10 +962,10 @@
int xc_mem_paging_flush_ioemu_cache(domid_t domain_id)
{
-Index: xen-4.1.2-testing/tools/xenpaging/xc.h
+Index: xen-4.1.3-testing/tools/xenpaging/xc.h
===================================================================
---- xen-4.1.2-testing.orig/tools/xenpaging/xc.h
-+++ xen-4.1.2-testing/tools/xenpaging/xc.h
+--- xen-4.1.3-testing.orig/tools/xenpaging/xc.h
++++ xen-4.1.3-testing/tools/xenpaging/xc.h
@@ -39,7 +39,6 @@
#endif
@@ -982,10 +982,10 @@
int xc_mem_paging_flush_ioemu_cache(domid_t domain_id);
int xc_wait_for_event(xc_interface *xch, xc_evtchn *xce);
-Index: xen-4.1.2-testing/tools/xenpaging/xenpaging.c
+Index: xen-4.1.3-testing/tools/xenpaging/xenpaging.c
===================================================================
---- xen-4.1.2-testing.orig/tools/xenpaging/xenpaging.c
-+++ xen-4.1.2-testing/tools/xenpaging/xenpaging.c
+--- xen-4.1.3-testing.orig/tools/xenpaging/xenpaging.c
++++ xen-4.1.3-testing/tools/xenpaging/xenpaging.c
@@ -31,7 +31,7 @@
#include <xen/mem_event.h>
@@ -1009,10 +1009,10 @@
{
ERROR("Error allocating bitmap");
goto err;
-Index: xen-4.1.2-testing/tools/xenpaging/xenpaging.h
+Index: xen-4.1.3-testing/tools/xenpaging/xenpaging.h
===================================================================
---- xen-4.1.2-testing.orig/tools/xenpaging/xenpaging.h
-+++ xen-4.1.2-testing/tools/xenpaging/xenpaging.h
+--- xen-4.1.3-testing.orig/tools/xenpaging/xenpaging.h
++++ xen-4.1.3-testing/tools/xenpaging/xenpaging.h
@@ -40,7 +40,6 @@ typedef struct xenpaging {
xc_platform_info_t *platform_info;
xc_domaininfo_t *domain_info;
++++++ 23613-EFI-headers.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:52.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:52.000000000 +0200
@@ -11,10 +11,10 @@
Signed-off-by: Jan Beulich <jbeulich(a)novell.com>
-Index: xen-4.1.2-testing/xen/include/asm-x86/efibind.h
+Index: xen-4.1.3-testing/xen/include/asm-x86/efibind.h
===================================================================
--- /dev/null
-+++ xen-4.1.2-testing/xen/include/asm-x86/efibind.h
++++ xen-4.1.3-testing/xen/include/asm-x86/efibind.h
@@ -0,0 +1,6 @@
+#include <xen/types.h>
+#if defined(__i386__)
@@ -22,10 +22,10 @@
+#elif defined(__x86_64__)
+# include <asm/x86_64/efibind.h>
+#endif
-Index: xen-4.1.2-testing/xen/include/asm-x86/x86_64/efibind.h
+Index: xen-4.1.3-testing/xen/include/asm-x86/x86_64/efibind.h
===================================================================
--- /dev/null
-+++ xen-4.1.2-testing/xen/include/asm-x86/x86_64/efibind.h
++++ xen-4.1.3-testing/xen/include/asm-x86/x86_64/efibind.h
@@ -0,0 +1,276 @@
+/*++
+
@@ -303,10 +303,10 @@
+#pragma warning ( disable : 4731 ) // Suppress warnings about modification of EBP
+#endif
+
-Index: xen-4.1.2-testing/xen/include/efi/efiapi.h
+Index: xen-4.1.3-testing/xen/include/efi/efiapi.h
===================================================================
--- /dev/null
-+++ xen-4.1.2-testing/xen/include/efi/efiapi.h
++++ xen-4.1.3-testing/xen/include/efi/efiapi.h
@@ -0,0 +1,718 @@
+#ifndef _EFI_API_H
+#define _EFI_API_H
@@ -1026,10 +1026,10 @@
+
+#endif
+
-Index: xen-4.1.2-testing/xen/include/efi/eficon.h
+Index: xen-4.1.3-testing/xen/include/efi/eficon.h
===================================================================
--- /dev/null
-+++ xen-4.1.2-testing/xen/include/efi/eficon.h
++++ xen-4.1.3-testing/xen/include/efi/eficon.h
@@ -0,0 +1,302 @@
+#ifndef _EFI_CON_H
+#define _EFI_CON_H
@@ -1333,10 +1333,10 @@
+
+#endif
+
-Index: xen-4.1.2-testing/xen/include/efi/efidef.h
+Index: xen-4.1.3-testing/xen/include/efi/efidef.h
===================================================================
--- /dev/null
-+++ xen-4.1.2-testing/xen/include/efi/efidef.h
++++ xen-4.1.3-testing/xen/include/efi/efidef.h
@@ -0,0 +1,196 @@
+#ifndef _EFI_DEF_H
+#define _EFI_DEF_H
@@ -1400,11 +1400,11 @@
+// A GUID
+//
+
-+typedef struct {
++typedef struct {
+ UINT32 Data1;
+ UINT16 Data2;
+ UINT16 Data3;
-+ UINT8 Data4[8];
++ UINT8 Data4[8];
+} EFI_GUID;
+
+
@@ -1412,7 +1412,7 @@
+// Time
+//
+
-+typedef struct {
++typedef struct {
+ UINT16 Year; // 1998 - 20XX
+ UINT8 Month; // 1 - 12
+ UINT8 Day; // 1 - 31
@@ -1495,9 +1495,9 @@
+#define EFI_MEMORY_WC 0x0000000000000002
+#define EFI_MEMORY_WT 0x0000000000000004
+#define EFI_MEMORY_WB 0x0000000000000008
-+#define EFI_MEMORY_UCE 0x0000000000000010
++#define EFI_MEMORY_UCE 0x0000000000000010
+
-+// physical memory protection on range
++// physical memory protection on range
+#define EFI_MEMORY_WP 0x0000000000001000
+#define EFI_MEMORY_RP 0x0000000000002000
+#define EFI_MEMORY_XP 0x0000000000004000
@@ -1534,10 +1534,10 @@
+ ( ((a) >> EFI_PAGE_SHIFT) + ((a) & EFI_PAGE_MASK ? 1 : 0) )
+
+#endif
-Index: xen-4.1.2-testing/xen/include/efi/efidevp.h
+Index: xen-4.1.3-testing/xen/include/efi/efidevp.h
===================================================================
--- /dev/null
-+++ xen-4.1.2-testing/xen/include/efi/efidevp.h
++++ xen-4.1.3-testing/xen/include/efi/efidevp.h
@@ -0,0 +1,402 @@
+#ifndef _DEVPATH_H
+#define _DEVPATH_H
@@ -1684,8 +1684,8 @@
+// bits[31:16] - binary number
+// Compressed ASCII is 5 bits per character 0b00001 = 'A' 0b11010 = 'Z'
+//
-+#define PNP_EISA_ID_CONST 0x41d0
-+#define EISA_ID(_Name, _Num) ((UINT32) ((_Name) | (_Num) << 16))
++#define PNP_EISA_ID_CONST 0x41d0
++#define EISA_ID(_Name, _Num) ((UINT32) ((_Name) | (_Num) << 16))
+#define EISA_PNP_ID(_PNPId) (EISA_ID(PNP_EISA_ID_CONST, (_PNPId)))
+
+#define PNP_EISA_ID_MASK 0xffff
@@ -1693,7 +1693,7 @@
+/*
+ *
+ */
-+#define MESSAGING_DEVICE_PATH 0x03
++#define MESSAGING_DEVICE_PATH 0x03
+
+#define MSG_ATAPI_DP 0x01
+typedef struct _ATAPI_DEVICE_PATH {
@@ -1707,7 +1707,7 @@
+typedef struct _SCSI_DEVICE_PATH {
+ EFI_DEVICE_PATH Header;
+ UINT16 Pun;
-+ UINT16 Lun;
++ UINT16 Lun;
+} SCSI_DEVICE_PATH;
+
+#define MSG_FIBRECHANNEL_DP 0x03
@@ -1877,7 +1877,7 @@
+ PCCARD_DEVICE_PATH PcCard;
+ MEMMAP_DEVICE_PATH MemMap;
+ VENDOR_DEVICE_PATH Vendor;
-+ UNKNOWN_DEVICE_VENDOR_DEVICE_PATH UnknownVendor;
++ UNKNOWN_DEVICE_VENDOR_DEVICE_PATH UnknownVendor;
+ CONTROLLER_DEVICE_PATH Controller;
+ ACPI_HID_DEVICE_PATH Acpi;
+
@@ -1911,7 +1911,7 @@
+ PCCARD_DEVICE_PATH *PcCard;
+ MEMMAP_DEVICE_PATH *MemMap;
+ VENDOR_DEVICE_PATH *Vendor;
-+ UNKNOWN_DEVICE_VENDOR_DEVICE_PATH *UnknownVendor;
++ UNKNOWN_DEVICE_VENDOR_DEVICE_PATH *UnknownVendor;
+ CONTROLLER_DEVICE_PATH *Controller;
+ ACPI_HID_DEVICE_PATH *Acpi;
+
@@ -1941,10 +1941,10 @@
+
+
+#endif
-Index: xen-4.1.2-testing/xen/include/efi/efierr.h
+Index: xen-4.1.3-testing/xen/include/efi/efierr.h
===================================================================
--- /dev/null
-+++ xen-4.1.2-testing/xen/include/efi/efierr.h
++++ xen-4.1.3-testing/xen/include/efi/efierr.h
@@ -0,0 +1,60 @@
+#ifndef _EFI_ERR_H
+#define _EFI_ERR_H
@@ -2006,10 +2006,10 @@
+
+#endif
+
-Index: xen-4.1.2-testing/xen/include/efi/efiprot.h
+Index: xen-4.1.3-testing/xen/include/efi/efiprot.h
===================================================================
--- /dev/null
-+++ xen-4.1.2-testing/xen/include/efi/efiprot.h
++++ xen-4.1.3-testing/xen/include/efi/efiprot.h
@@ -0,0 +1,728 @@
+#ifndef _EFI_PROT_H
+#define _EFI_PROT_H
@@ -2318,9 +2318,9 @@
+//
+// The FileName field of the EFI_FILE_INFO data structure is variable length.
+// Whenever code needs to know the size of the EFI_FILE_INFO data structure, it needs to
-+// be the size of the data structure without the FileName field. The following macro
++// be the size of the data structure without the FileName field. The following macro
+// computes this size correctly no matter how big the FileName array is declared.
-+// This is required to make the EFI_FILE_INFO data structure ANSI compilant.
++// This is required to make the EFI_FILE_INFO data structure ANSI compilant.
+//
+
+#define SIZE_OF_EFI_FILE_INFO EFI_FIELD_OFFSET(EFI_FILE_INFO,FileName)
@@ -2340,9 +2340,9 @@
+//
+// The VolumeLabel field of the EFI_FILE_SYSTEM_INFO data structure is variable length.
+// Whenever code needs to know the size of the EFI_FILE_SYSTEM_INFO data structure, it needs
-+// to be the size of the data structure without the VolumeLable field. The following macro
++// to be the size of the data structure without the VolumeLable field. The following macro
+// computes this size correctly no matter how big the VolumeLable array is declared.
-+// This is required to make the EFI_FILE_SYSTEM_INFO data structure ANSI compilant.
++// This is required to make the EFI_FILE_SYSTEM_INFO data structure ANSI compilant.
+//
+
+#define SIZE_OF_EFI_FILE_SYSTEM_INFO EFI_FIELD_OFFSET(EFI_FILE_SYSTEM_INFO,VolumeLabel)
@@ -2423,7 +2423,7 @@
+ EFI_DEVICE_IO Write;
+} EFI_IO_ACCESS;
+
-+typedef
++typedef
+EFI_STATUS
+(EFIAPI *EFI_PCI_DEVICE_PATH) (
+ IN struct _EFI_DEVICE_IO_INTERFACE *This,
@@ -2658,7 +2658,7 @@
+typedef enum {
+ EfiBltVideoFill,
+ EfiBltVideoToBltBuffer,
-+ EfiBltBufferToVideo,
++ EfiBltBufferToVideo,
+ EfiBltVideoToVideo,
+ EfiGraphicsOutputBltOperationMax
+} EFI_GRAPHICS_OUTPUT_BLT_OPERATION;
@@ -2666,28 +2666,28 @@
+/**
+ The following table defines actions for BltOperations:
+
-+ <B>EfiBltVideoFill</B> - Write data from the BltBuffer pixel (SourceX, SourceY)
-+ directly to every pixel of the video display rectangle
-+ (DestinationX, DestinationY) (DestinationX + Width, DestinationY + Height).
++ <B>EfiBltVideoFill</B> - Write data from the BltBuffer pixel (SourceX, SourceY)
++ directly to every pixel of the video display rectangle
++ (DestinationX, DestinationY) (DestinationX + Width, DestinationY + Height).
+ Only one pixel will be used from the BltBuffer. Delta is NOT used.
+
-+ <B>EfiBltVideoToBltBuffer</B> - Read data from the video display rectangle
-+ (SourceX, SourceY) (SourceX + Width, SourceY + Height) and place it in
-+ the BltBuffer rectangle (DestinationX, DestinationY )
-+ (DestinationX + Width, DestinationY + Height). If DestinationX or
-+ DestinationY is not zero then Delta must be set to the length in bytes
++ <B>EfiBltVideoToBltBuffer</B> - Read data from the video display rectangle
++ (SourceX, SourceY) (SourceX + Width, SourceY + Height) and place it in
++ the BltBuffer rectangle (DestinationX, DestinationY )
++ (DestinationX + Width, DestinationY + Height). If DestinationX or
++ DestinationY is not zero then Delta must be set to the length in bytes
+ of a row in the BltBuffer.
+
-+ <B>EfiBltBufferToVideo</B> - Write data from the BltBuffer rectangle
-+ (SourceX, SourceY) (SourceX + Width, SourceY + Height) directly to the
-+ video display rectangle (DestinationX, DestinationY)
-+ (DestinationX + Width, DestinationY + Height). If SourceX or SourceY is
-+ not zero then Delta must be set to the length in bytes of a row in the
++ <B>EfiBltBufferToVideo</B> - Write data from the BltBuffer rectangle
++ (SourceX, SourceY) (SourceX + Width, SourceY + Height) directly to the
++ video display rectangle (DestinationX, DestinationY)
++ (DestinationX + Width, DestinationY + Height). If SourceX or SourceY is
++ not zero then Delta must be set to the length in bytes of a row in the
+ BltBuffer.
+
+ <B>EfiBltVideoToVideo</B> - Copy from the video display rectangle (SourceX, SourceY)
-+ (SourceX + Width, SourceY + Height) .to the video display rectangle
-+ (DestinationX, DestinationY) (DestinationX + Width, DestinationY + Height).
++ (SourceX + Width, SourceY + Height) .to the video display rectangle
++ (DestinationX, DestinationY) (DestinationX + Width, DestinationY + Height).
+ The BltBuffer and Delta are not used in this mode.
+
+ @param This Protocol instance pointer.
++++++ 23614-x86_64-EFI-boot.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:52.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:52.000000000 +0200
@@ -59,10 +59,10 @@
Signed-off-by: Jan Beulich <jbeulich(a)novell.com>
-Index: xen-4.1.2-testing/xen/Makefile
+Index: xen-4.1.3-testing/xen/Makefile
===================================================================
---- xen-4.1.2-testing.orig/xen/Makefile
-+++ xen-4.1.2-testing/xen/Makefile
+--- xen-4.1.3-testing.orig/xen/Makefile
++++ xen-4.1.3-testing/xen/Makefile
@@ -12,6 +12,8 @@ export XEN_DOMAIN ?= $(shell ([ -x /bin/
export BASEDIR := $(CURDIR)
export XEN_ROOT := $(BASEDIR)/..
@@ -91,10 +91,10 @@
.PHONY: _debug
_debug:
-Index: xen-4.1.2-testing/xen/arch/x86/Makefile
+Index: xen-4.1.3-testing/xen/arch/x86/Makefile
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/Makefile
-+++ xen-4.1.2-testing/xen/arch/x86/Makefile
+--- xen-4.1.3-testing.orig/xen/arch/x86/Makefile
++++ xen-4.1.3-testing/xen/arch/x86/Makefile
@@ -61,14 +61,21 @@ obj-$(crash_debug) += gdbstub.o
x86_emulate.o: x86_emulate/x86_emulate.c x86_emulate/x86_emulate.h
@@ -182,10 +182,10 @@
rm -f $(BASEDIR)/.xen-syms.[0-9]* boot/.*.d
+ rm -f $(BASEDIR)/.xen.efi.[0-9]* efi/*.o efi/mkreloc
rm -f boot/reloc.S boot/reloc.lnk boot/reloc.bin
-Index: xen-4.1.2-testing/xen/arch/x86/boot/trampoline.S
+Index: xen-4.1.3-testing/xen/arch/x86/boot/trampoline.S
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/boot/trampoline.S
-+++ xen-4.1.2-testing/xen/arch/x86/boot/trampoline.S
+--- xen-4.1.3-testing.orig/xen/arch/x86/boot/trampoline.S
++++ xen-4.1.3-testing/xen/arch/x86/boot/trampoline.S
@@ -38,6 +38,7 @@ trampoline_gdt:
.long 0x0000ffff | ((BOOT_TRAMPOLINE & 0x00ffff) << 16)
.long 0x00009200 | ((BOOT_TRAMPOLINE & 0xff0000) >> 16)
@@ -194,10 +194,10 @@
cpuid_ext_features:
.long 0
-Index: xen-4.1.2-testing/xen/arch/x86/boot/x86_64.S
+Index: xen-4.1.3-testing/xen/arch/x86/boot/x86_64.S
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/boot/x86_64.S
-+++ xen-4.1.2-testing/xen/arch/x86/boot/x86_64.S
+--- xen-4.1.3-testing.orig/xen/arch/x86/boot/x86_64.S
++++ xen-4.1.3-testing/xen/arch/x86/boot/x86_64.S
@@ -84,11 +84,13 @@ multiboot_ptr:
.long 0
@@ -212,19 +212,19 @@
idt_descr:
.word 256*16-1
.quad idt_table
-Index: xen-4.1.2-testing/xen/arch/x86/dmi_scan.c
+Index: xen-4.1.3-testing/xen/arch/x86/dmi_scan.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/dmi_scan.c
-+++ xen-4.1.2-testing/xen/arch/x86/dmi_scan.c
-@@ -9,6 +9,7 @@
- #include <asm/io.h>
- #include <asm/system.h>
+--- xen-4.1.3-testing.orig/xen/arch/x86/dmi_scan.c
++++ xen-4.1.3-testing/xen/arch/x86/dmi_scan.c
+@@ -11,6 +11,7 @@
#include <xen/dmi.h>
+ #include <xen/pci.h>
+ #include <xen/pci_regs.h>
+#include <xen/efi.h>
#define bt_ioremap(b,l) ((void *)__acpi_map_table(b,l))
#define bt_iounmap(b,l) ((void)0)
-@@ -122,11 +123,39 @@ static inline bool_t __init dmi_checksum
+@@ -124,11 +125,39 @@ static inline bool_t __init dmi_checksum
return sum == 0;
}
@@ -264,7 +264,7 @@
p = maddr_to_virt(0xF0000);
for (q = p; q < p + 0x10000; q += 16) {
memcpy_fromio(&eps, q, 15);
-@@ -178,6 +207,39 @@ static int __init dmi_iterate(void (*dec
+@@ -180,6 +209,39 @@ static int __init dmi_iterate(void (*dec
return -1;
}
@@ -304,7 +304,7 @@
static char *dmi_ident[DMI_STRING_MAX];
/*
-@@ -468,8 +530,8 @@ static void __init dmi_decode(struct dmi
+@@ -504,8 +566,8 @@ static void __init dmi_decode(struct dmi
void __init dmi_scan_machine(void)
{
@@ -315,10 +315,10 @@
dmi_check_system(dmi_blacklist);
else
printk(KERN_INFO "DMI not present.\n");
-Index: xen-4.1.2-testing/xen/arch/x86/efi/Makefile
+Index: xen-4.1.3-testing/xen/arch/x86/efi/Makefile
===================================================================
--- /dev/null
-+++ xen-4.1.2-testing/xen/arch/x86/efi/Makefile
++++ xen-4.1.3-testing/xen/arch/x86/efi/Makefile
@@ -0,0 +1,17 @@
+CFLAGS += -fshort-wchar -mno-sse
+
@@ -337,10 +337,10 @@
+
+clean::
+ rm -f disabled *.efi
-Index: xen-4.1.2-testing/xen/arch/x86/efi/boot.c
+Index: xen-4.1.3-testing/xen/arch/x86/efi/boot.c
===================================================================
--- /dev/null
-+++ xen-4.1.2-testing/xen/arch/x86/efi/boot.c
++++ xen-4.1.3-testing/xen/arch/x86/efi/boot.c
@@ -0,0 +1,1221 @@
+#include "efi.h"
+#include <efi/efiprot.h>
@@ -1563,19 +1563,19 @@
+ mdesc_ver, efi_memmap);
+#endif
+}
-Index: xen-4.1.2-testing/xen/arch/x86/efi/check.c
+Index: xen-4.1.3-testing/xen/arch/x86/efi/check.c
===================================================================
--- /dev/null
-+++ xen-4.1.2-testing/xen/arch/x86/efi/check.c
++++ xen-4.1.3-testing/xen/arch/x86/efi/check.c
@@ -0,0 +1,4 @@
+int __attribute__((__ms_abi__)) test(int i)
+{
+ return i;
+}
-Index: xen-4.1.2-testing/xen/arch/x86/efi/compat.c
+Index: xen-4.1.3-testing/xen/arch/x86/efi/compat.c
===================================================================
--- /dev/null
-+++ xen-4.1.2-testing/xen/arch/x86/efi/compat.c
++++ xen-4.1.3-testing/xen/arch/x86/efi/compat.c
@@ -0,0 +1,16 @@
+#include <xen/guest_access.h>
+#include <compat/platform.h>
@@ -1593,10 +1593,10 @@
+#undef __copy_to_guest_offset
+#define __copy_to_guest_offset __copy_to_compat_offset
+#include "runtime.c"
-Index: xen-4.1.2-testing/xen/arch/x86/efi/efi.h
+Index: xen-4.1.3-testing/xen/arch/x86/efi/efi.h
===================================================================
--- /dev/null
-+++ xen-4.1.2-testing/xen/arch/x86/efi/efi.h
++++ xen-4.1.3-testing/xen/arch/x86/efi/efi.h
@@ -0,0 +1,18 @@
+#include <asm/efibind.h>
+#include <efi/efidef.h>
@@ -1616,10 +1616,10 @@
+
+extern UINTN efi_memmap_size, efi_mdesc_size;
+extern void *efi_memmap;
-Index: xen-4.1.2-testing/xen/arch/x86/efi/mkreloc.c
+Index: xen-4.1.3-testing/xen/arch/x86/efi/mkreloc.c
===================================================================
--- /dev/null
-+++ xen-4.1.2-testing/xen/arch/x86/efi/mkreloc.c
++++ xen-4.1.3-testing/xen/arch/x86/efi/mkreloc.c
@@ -0,0 +1,377 @@
+#include <fcntl.h>
+#include <inttypes.h>
@@ -1998,10 +1998,10 @@
+
+ return 0;
+}
-Index: xen-4.1.2-testing/xen/arch/x86/efi/relocs-dummy.S
+Index: xen-4.1.3-testing/xen/arch/x86/efi/relocs-dummy.S
===================================================================
--- /dev/null
-+++ xen-4.1.2-testing/xen/arch/x86/efi/relocs-dummy.S
++++ xen-4.1.3-testing/xen/arch/x86/efi/relocs-dummy.S
@@ -0,0 +1,13 @@
+#include <xen/config.h>
+
@@ -2016,10 +2016,10 @@
+ .globl VIRT_START, ALT_START
+ .equ VIRT_START, XEN_VIRT_START
+ .equ ALT_START, XEN_VIRT_END
-Index: xen-4.1.2-testing/xen/arch/x86/efi/runtime.c
+Index: xen-4.1.3-testing/xen/arch/x86/efi/runtime.c
===================================================================
--- /dev/null
-+++ xen-4.1.2-testing/xen/arch/x86/efi/runtime.c
++++ xen-4.1.3-testing/xen/arch/x86/efi/runtime.c
@@ -0,0 +1,88 @@
+#include "efi.h"
+#include <xen/cache.h>
@@ -2109,10 +2109,10 @@
+
+ return 0;
+}
-Index: xen-4.1.2-testing/xen/arch/x86/efi/stub.c
+Index: xen-4.1.3-testing/xen/arch/x86/efi/stub.c
===================================================================
--- /dev/null
-+++ xen-4.1.2-testing/xen/arch/x86/efi/stub.c
++++ xen-4.1.3-testing/xen/arch/x86/efi/stub.c
@@ -0,0 +1,17 @@
+#include <xen/efi.h>
+#include <xen/errno.h>
@@ -2131,19 +2131,19 @@
+
+int efi_compat_get_info(uint32_t idx, union compat_pf_efi_info *)
+ __attribute__((__alias__("efi_get_info")));
-Index: xen-4.1.2-testing/xen/arch/x86/mm.c
+Index: xen-4.1.3-testing/xen/arch/x86/mm.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/mm.c
-+++ xen-4.1.2-testing/xen/arch/x86/mm.c
-@@ -100,6 +100,7 @@
- #include <xen/iocap.h>
+--- xen-4.1.3-testing.orig/xen/arch/x86/mm.c
++++ xen-4.1.3-testing/xen/arch/x86/mm.c
+@@ -101,6 +101,7 @@
#include <xen/guest_access.h>
+ #include <xen/xmalloc.h>
#include <xen/pfn.h>
+#include <xen/efi.h>
#include <asm/paging.h>
#include <asm/shadow.h>
#include <asm/page.h>
-@@ -355,6 +356,8 @@ void __init arch_init_memory(void)
+@@ -356,6 +357,8 @@ void __init arch_init_memory(void)
subarch_init_memory();
@@ -2152,10 +2152,10 @@
mem_sharing_init();
}
-Index: xen-4.1.2-testing/xen/arch/x86/platform_hypercall.c
+Index: xen-4.1.3-testing/xen/arch/x86/platform_hypercall.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/platform_hypercall.c
-+++ xen-4.1.2-testing/xen/arch/x86/platform_hypercall.c
+--- xen-4.1.3-testing.orig/xen/arch/x86/platform_hypercall.c
++++ xen-4.1.3-testing/xen/arch/x86/platform_hypercall.c
@@ -19,6 +19,7 @@
#include <xen/iocap.h>
#include <xen/guest_access.h>
@@ -2179,10 +2179,10 @@
default:
ret = -EINVAL;
break;
-Index: xen-4.1.2-testing/xen/arch/x86/setup.c
+Index: xen-4.1.3-testing/xen/arch/x86/setup.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/setup.c
-+++ xen-4.1.2-testing/xen/arch/x86/setup.c
+--- xen-4.1.3-testing.orig/xen/arch/x86/setup.c
++++ xen-4.1.3-testing/xen/arch/x86/setup.c
@@ -7,6 +7,7 @@
#include <xen/serial.h>
#include <xen/softirq.h>
@@ -2191,7 +2191,7 @@
#include <xen/console.h>
#include <xen/serial.h>
#include <xen/trace.h>
-@@ -448,6 +449,10 @@ static void __init parse_video_info(void
+@@ -446,6 +447,10 @@ static void __init parse_video_info(void
{
struct boot_video_info *bvi = &bootsym(boot_vid_info);
@@ -2202,7 +2202,7 @@
if ( (bvi->orig_video_isVGA == 1) && (bvi->orig_video_mode == 3) )
{
vga_console_info.video_type = XEN_VGATYPE_TEXT_MODE_3;
-@@ -619,6 +624,7 @@ void __init __start_xen(unsigned long mb
+@@ -617,6 +622,7 @@ void __init __start_xen(unsigned long mb
vga_console_info.u.text_mode_3.font_height);
break;
case XEN_VGATYPE_VESA_LFB:
@@ -2210,7 +2210,7 @@
printk(" VGA is graphics mode %dx%d, %d bpp\n",
vga_console_info.u.vesa_lfb.width,
vga_console_info.u.vesa_lfb.height,
-@@ -664,7 +670,24 @@ void __init __start_xen(unsigned long mb
+@@ -662,7 +668,24 @@ void __init __start_xen(unsigned long mb
if ( ((unsigned long)cpu0_stack & (STACK_SIZE-1)) != 0 )
EARLY_FAIL("Misaligned CPU0 stack.\n");
@@ -2236,7 +2236,7 @@
{
memmap_type = "Xen-e820";
}
-@@ -762,7 +785,7 @@ void __init __start_xen(unsigned long mb
+@@ -760,7 +783,7 @@ void __init __start_xen(unsigned long mb
* we can relocate the dom0 kernel and other multiboot modules. Also, on
* x86/64, we relocate Xen to higher memory.
*/
@@ -2245,7 +2245,7 @@
{
if ( mod[i].mod_start & (PAGE_SIZE - 1) )
EARLY_FAIL("Bootloader didn't honor module alignment request.\n");
-@@ -811,7 +834,6 @@ void __init __start_xen(unsigned long mb
+@@ -809,7 +832,6 @@ void __init __start_xen(unsigned long mb
end = 0;
if ( end > s )
{
@@ -2253,7 +2253,7 @@
l4_pgentry_t *pl4e;
l3_pgentry_t *pl3e;
l2_pgentry_t *pl2e;
-@@ -951,7 +973,8 @@ void __init __start_xen(unsigned long mb
+@@ -949,7 +971,8 @@ void __init __start_xen(unsigned long mb
#else
if ( !xen_phys_start )
EARLY_FAIL("Not enough memory to relocate Xen.\n");
@@ -2263,10 +2263,10 @@
#endif
/* Late kexec reservation (dynamic start address). */
-Index: xen-4.1.2-testing/xen/arch/x86/x86_32/mm.c
+Index: xen-4.1.3-testing/xen/arch/x86/x86_32/mm.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/x86_32/mm.c
-+++ xen-4.1.2-testing/xen/arch/x86/x86_32/mm.c
+--- xen-4.1.3-testing.orig/xen/arch/x86/x86_32/mm.c
++++ xen-4.1.3-testing/xen/arch/x86/x86_32/mm.c
@@ -34,8 +34,6 @@
l2_pgentry_t __attribute__ ((__section__ (".bss.page_aligned")))
idle_pg_table_l2[4 * L2_PAGETABLE_ENTRIES];
@@ -2276,10 +2276,10 @@
unsigned int __read_mostly PAGE_HYPERVISOR = __PAGE_HYPERVISOR;
unsigned int __read_mostly PAGE_HYPERVISOR_NOCACHE = __PAGE_HYPERVISOR_NOCACHE;
-Index: xen-4.1.2-testing/xen/arch/x86/x86_64/mm.c
+Index: xen-4.1.3-testing/xen/arch/x86/x86_64/mm.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/x86_64/mm.c
-+++ xen-4.1.2-testing/xen/arch/x86/x86_64/mm.c
+--- xen-4.1.3-testing.orig/xen/arch/x86/x86_64/mm.c
++++ xen-4.1.3-testing/xen/arch/x86/x86_64/mm.c
@@ -21,6 +21,7 @@
#include <xen/lib.h>
#include <xen/init.h>
@@ -2298,10 +2298,10 @@
}
void *compat_arg_xlat_virt_base(void)
-Index: xen-4.1.2-testing/xen/arch/x86/x86_64/platform_hypercall.c
+Index: xen-4.1.3-testing/xen/arch/x86/x86_64/platform_hypercall.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/x86_64/platform_hypercall.c
-+++ xen-4.1.2-testing/xen/arch/x86/x86_64/platform_hypercall.c
+--- xen-4.1.3-testing.orig/xen/arch/x86/x86_64/platform_hypercall.c
++++ xen-4.1.3-testing/xen/arch/x86/x86_64/platform_hypercall.c
@@ -11,6 +11,8 @@ DEFINE_XEN_GUEST_HANDLE(compat_platform_
#define xen_platform_op_t compat_platform_op_t
#define do_platform_op(x) compat_platform_op(_##x)
@@ -2311,10 +2311,10 @@
#define xen_processor_px compat_processor_px
#define xen_processor_px_t compat_processor_px_t
#define xen_processor_performance compat_processor_performance
-Index: xen-4.1.2-testing/xen/arch/x86/xen.lds.S
+Index: xen-4.1.3-testing/xen/arch/x86/xen.lds.S
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/xen.lds.S
-+++ xen-4.1.2-testing/xen/arch/x86/xen.lds.S
+--- xen-4.1.3-testing.orig/xen/arch/x86/xen.lds.S
++++ xen-4.1.3-testing/xen/arch/x86/xen.lds.S
@@ -8,15 +8,34 @@
#undef ENTRY
#undef ALIGN
@@ -2384,10 +2384,10 @@
}
/* Stabs debugging sections. */
-Index: xen-4.1.2-testing/xen/drivers/acpi/osl.c
+Index: xen-4.1.3-testing/xen/drivers/acpi/osl.c
===================================================================
---- xen-4.1.2-testing.orig/xen/drivers/acpi/osl.c
-+++ xen-4.1.2-testing/xen/drivers/acpi/osl.c
+--- xen-4.1.3-testing.orig/xen/drivers/acpi/osl.c
++++ xen-4.1.3-testing/xen/drivers/acpi/osl.c
@@ -37,9 +37,7 @@
#include <acpi/platform/aclinux.h>
#include <xen/spinlock.h>
@@ -2418,10 +2418,10 @@
acpi_physical_address pa = 0;
acpi_find_root_pointer(&pa);
-Index: xen-4.1.2-testing/xen/drivers/video/vga.c
+Index: xen-4.1.3-testing/xen/drivers/video/vga.c
===================================================================
---- xen-4.1.2-testing.orig/xen/drivers/video/vga.c
-+++ xen-4.1.2-testing/xen/drivers/video/vga.c
+--- xen-4.1.3-testing.orig/xen/drivers/video/vga.c
++++ xen-4.1.3-testing/xen/drivers/video/vga.c
@@ -89,6 +89,7 @@ void __init vga_init(void)
vga_puts = vga_text_puts;
break;
@@ -2438,10 +2438,10 @@
vesa_endboot(vgacon_keep);
break;
default:
-Index: xen-4.1.2-testing/xen/include/asm-x86/page.h
+Index: xen-4.1.3-testing/xen/include/asm-x86/page.h
===================================================================
---- xen-4.1.2-testing.orig/xen/include/asm-x86/page.h
-+++ xen-4.1.2-testing/xen/include/asm-x86/page.h
+--- xen-4.1.3-testing.orig/xen/include/asm-x86/page.h
++++ xen-4.1.3-testing/xen/include/asm-x86/page.h
@@ -301,8 +301,14 @@ extern l2_pgentry_t idle_pg_table_l2[
#elif CONFIG_PAGING_LEVELS == 4
extern l2_pgentry_t *compat_idle_pg_table_l2;
@@ -2457,10 +2457,10 @@
void paging_init(void);
void setup_idle_pagetable(void);
#endif /* !defined(__ASSEMBLY__) */
-Index: xen-4.1.2-testing/xen/include/public/platform.h
+Index: xen-4.1.3-testing/xen/include/public/platform.h
===================================================================
---- xen-4.1.2-testing.orig/xen/include/public/platform.h
-+++ xen-4.1.2-testing/xen/include/public/platform.h
+--- xen-4.1.3-testing.orig/xen/include/public/platform.h
++++ xen-4.1.3-testing/xen/include/public/platform.h
@@ -118,6 +118,11 @@ DEFINE_XEN_GUEST_HANDLE(xenpf_platform_q
#define XEN_FW_DISK_INFO 1 /* from int 13 AH=08/41/48 */
#define XEN_FW_DISK_MBR_SIGNATURE 2 /* from MBR offset 0x1b8 */
@@ -2498,10 +2498,10 @@
} u;
};
typedef struct xenpf_firmware_info xenpf_firmware_info_t;
-Index: xen-4.1.2-testing/xen/include/public/xen.h
+Index: xen-4.1.3-testing/xen/include/public/xen.h
===================================================================
---- xen-4.1.2-testing.orig/xen/include/public/xen.h
-+++ xen-4.1.2-testing/xen/include/public/xen.h
+--- xen-4.1.3-testing.orig/xen/include/public/xen.h
++++ xen-4.1.3-testing/xen/include/public/xen.h
@@ -638,6 +638,7 @@ typedef struct dom0_vga_console_info {
uint8_t video_type; /* DOM0_VGA_CONSOLE_??? */
#define XEN_VGATYPE_TEXT_MODE_3 0x03
@@ -2510,10 +2510,10 @@
union {
struct {
-Index: xen-4.1.2-testing/xen/include/xen/compat.h
+Index: xen-4.1.3-testing/xen/include/xen/compat.h
===================================================================
---- xen-4.1.2-testing.orig/xen/include/xen/compat.h
-+++ xen-4.1.2-testing/xen/include/xen/compat.h
+--- xen-4.1.3-testing.orig/xen/include/xen/compat.h
++++ xen-4.1.3-testing/xen/include/xen/compat.h
@@ -34,7 +34,7 @@
/* Cast a compat handle to the specified type of handle. */
#define compat_handle_cast(chnd, type) ({ \
@@ -2523,10 +2523,10 @@
})
#define guest_from_compat_handle(ghnd, chnd) \
-Index: xen-4.1.2-testing/xen/include/xen/dmi.h
+Index: xen-4.1.3-testing/xen/include/xen/dmi.h
===================================================================
---- xen-4.1.2-testing.orig/xen/include/xen/dmi.h
-+++ xen-4.1.2-testing/xen/include/xen/dmi.h
+--- xen-4.1.3-testing.orig/xen/include/xen/dmi.h
++++ xen-4.1.3-testing/xen/include/xen/dmi.h
@@ -36,5 +36,6 @@ extern int dmi_check_system(struct dmi_s
extern char * dmi_get_system_info(int field);
extern void dmi_scan_machine(void);
@@ -2534,10 +2534,10 @@
+extern void dmi_efi_get_table(void *);
#endif /* __DMI_H__ */
-Index: xen-4.1.2-testing/xen/include/xen/efi.h
+Index: xen-4.1.3-testing/xen/include/xen/efi.h
===================================================================
--- /dev/null
-+++ xen-4.1.2-testing/xen/include/xen/efi.h
++++ xen-4.1.3-testing/xen/include/xen/efi.h
@@ -0,0 +1,38 @@
+#ifndef __XEN_EFI_H__
+#define __XEN_EFI_H__
++++++ 23676-x86_64-image-map-bounds.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:52.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:52.000000000 +0200
@@ -14,11 +14,11 @@
Signed-off-by: Jan Beulich <jbeulich(a)novell.com>
-Index: xen-4.1.2-testing/xen/arch/x86/mm.c
+Index: xen-4.1.3-testing/xen/arch/x86/mm.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/mm.c
-+++ xen-4.1.2-testing/xen/arch/x86/mm.c
-@@ -778,7 +778,7 @@ static int update_xen_mappings(unsigned
+--- xen-4.1.3-testing.orig/xen/arch/x86/mm.c
++++ xen-4.1.3-testing/xen/arch/x86/mm.c
+@@ -779,7 +779,7 @@ static int update_xen_mappings(unsigned
int err = 0;
#ifdef __x86_64__
bool_t alias = mfn >= PFN_DOWN(xen_phys_start) &&
@@ -27,11 +27,11 @@
unsigned long xen_va =
XEN_VIRT_START + ((mfn - PFN_DOWN(xen_phys_start)) << PAGE_SHIFT);
-Index: xen-4.1.2-testing/xen/arch/x86/setup.c
+Index: xen-4.1.3-testing/xen/arch/x86/setup.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/setup.c
-+++ xen-4.1.2-testing/xen/arch/x86/setup.c
-@@ -99,6 +99,8 @@ unsigned long __read_mostly xen_phys_sta
+--- xen-4.1.3-testing.orig/xen/arch/x86/setup.c
++++ xen-4.1.3-testing/xen/arch/x86/setup.c
+@@ -97,6 +97,8 @@ unsigned long __read_mostly xen_phys_sta
/* Limits of Xen heap, used to initialise the allocator. */
unsigned long __initdata xenheap_initial_phys_start;
unsigned long __read_mostly xenheap_phys_end;
@@ -40,7 +40,7 @@
#endif
DEFINE_PER_CPU(struct tss_struct, init_tss);
-@@ -1098,6 +1100,9 @@ void __init __start_xen(unsigned long mb
+@@ -1096,6 +1098,9 @@ void __init __start_xen(unsigned long mb
map_pages_to_xen((unsigned long)__va(kexec_crash_area.start),
kexec_crash_area.start >> PAGE_SHIFT,
PFN_UP(kexec_crash_area.size), PAGE_HYPERVISOR);
@@ -50,10 +50,10 @@
#endif
memguard_init();
-Index: xen-4.1.2-testing/xen/include/asm-x86/x86_64/page.h
+Index: xen-4.1.3-testing/xen/include/asm-x86/x86_64/page.h
===================================================================
---- xen-4.1.2-testing.orig/xen/include/asm-x86/x86_64/page.h
-+++ xen-4.1.2-testing/xen/include/asm-x86/x86_64/page.h
+--- xen-4.1.3-testing.orig/xen/include/asm-x86/x86_64/page.h
++++ xen-4.1.3-testing/xen/include/asm-x86/x86_64/page.h
@@ -34,6 +34,8 @@
#include <xen/config.h>
#include <asm/types.h>
++++++ 23697-pygrub-grub2.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:52.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:52.000000000 +0200
@@ -11,10 +11,11 @@
Acked-by: Ian Jackson <ian.jackson(a)eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson(a)eu.citrix.com>
-diff -r c1d7fa123dae -r 5e1032229546 tools/pygrub/src/pygrub
---- a/tools/pygrub/src/pygrub Fri Jul 15 18:09:49 2011 +0100
-+++ b/tools/pygrub/src/pygrub Fri Jul 15 18:12:55 2011 +0100
-@@ -385,14 +385,14 @@
+Index: xen-4.1.3-testing/tools/pygrub/src/pygrub
+===================================================================
+--- xen-4.1.3-testing.orig/tools/pygrub/src/pygrub
++++ xen-4.1.3-testing/tools/pygrub/src/pygrub
+@@ -394,15 +394,14 @@ class Grub:
# fallbacks
["/efi/boot/elilo.conf", "/elilo.conf",])
else:
@@ -22,8 +23,10 @@
- ["/boot/grub/menu.lst", "/boot/grub/grub.conf",
- "/grub/menu.lst", "/grub/grub.conf"]) + \
- map(lambda x: (x,grub.GrubConf.Grub2ConfigFile),
+- ["/boot/grub/grub.cfg", "/grub/grub.cfg",
+- "/boot/grub2/grub.cfg", "/grub2/grub.cfg"]) + \
+ cfg_list = map(lambda x: (x,grub.GrubConf.Grub2ConfigFile),
- ["/boot/grub/grub.cfg", "/grub/grub.cfg"]) + \
++ ["/boot/grub/grub.cfg", "/grub/grub.cfg"]) + \
map(lambda x: (x,grub.ExtLinuxConf.ExtLinuxConfigFile),
["/boot/isolinux/isolinux.cfg",
- "/boot/extlinux.conf"])
++++++ 23723-x86-CMOS-lock.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:52.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:52.000000000 +0200
@@ -18,10 +18,10 @@
Signed-off-by: Jan Beulich <jbeulich(a)novell.com>
-Index: xen-4.1.2-testing/xen/arch/x86/efi/runtime.c
+Index: xen-4.1.3-testing/xen/arch/x86/efi/runtime.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/efi/runtime.c
-+++ xen-4.1.2-testing/xen/arch/x86/efi/runtime.c
+--- xen-4.1.3-testing.orig/xen/arch/x86/efi/runtime.c
++++ xen-4.1.3-testing/xen/arch/x86/efi/runtime.c
@@ -3,6 +3,7 @@
#include <xen/errno.h>
#include <xen/guest_access.h>
@@ -98,10 +98,10 @@
efi_rs_leave(cr3);
op->misc = 0;
-Index: xen-4.1.2-testing/xen/arch/x86/hpet.c
+Index: xen-4.1.3-testing/xen/arch/x86/hpet.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/hpet.c
-+++ xen-4.1.2-testing/xen/arch/x86/hpet.c
+--- xen-4.1.3-testing.orig/xen/arch/x86/hpet.c
++++ xen-4.1.3-testing/xen/arch/x86/hpet.c
@@ -525,18 +525,10 @@ static void hpet_detach_channel(int cpu,
#include <asm/mc146818rtc.h>
@@ -123,10 +123,10 @@
if ( index != RTC_REG_B )
return;
-Index: xen-4.1.2-testing/xen/arch/x86/traps.c
+Index: xen-4.1.3-testing/xen/arch/x86/traps.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/traps.c
-+++ xen-4.1.2-testing/xen/arch/x86/traps.c
+--- xen-4.1.3-testing.orig/xen/arch/x86/traps.c
++++ xen-4.1.3-testing/xen/arch/x86/traps.c
@@ -67,6 +67,8 @@
#include <asm/hypercall.h>
#include <asm/mce.h>
@@ -136,7 +136,7 @@
#include <public/arch-x86/cpuid.h>
/*
-@@ -1630,6 +1632,10 @@ static int admin_io_okay(
+@@ -1656,6 +1658,10 @@ static int admin_io_okay(
if ( (port == 0xcf8) && (bytes == 4) )
return 0;
@@ -147,7 +147,7 @@
return ioports_access_permitted(v->domain, port, port + bytes - 1);
}
-@@ -1659,6 +1665,21 @@ static uint32_t guest_io_read(
+@@ -1685,6 +1691,21 @@ static uint32_t guest_io_read(
{
sub_data = pv_pit_handler(port, 0, 0);
}
@@ -169,7 +169,7 @@
else if ( (port == 0xcf8) && (bytes == 4) )
{
size = 4;
-@@ -1684,8 +1705,6 @@ static uint32_t guest_io_read(
+@@ -1710,8 +1731,6 @@ static uint32_t guest_io_read(
return data;
}
@@ -178,7 +178,7 @@
static void guest_io_write(
unsigned int port, unsigned int bytes, uint32_t data,
struct vcpu *v, struct cpu_user_regs *regs)
-@@ -1694,8 +1713,6 @@ static void guest_io_write(
+@@ -1720,8 +1739,6 @@ static void guest_io_write(
{
switch ( bytes ) {
case 1:
@@ -187,7 +187,7 @@
outb((uint8_t)data, port);
if ( pv_post_outb_hook )
pv_post_outb_hook(port, (uint8_t)data);
-@@ -1718,6 +1735,23 @@ static void guest_io_write(
+@@ -1744,6 +1761,23 @@ static void guest_io_write(
{
pv_pit_handler(port, (uint8_t)data, 1);
}
@@ -211,7 +211,7 @@
else if ( (port == 0xcf8) && (bytes == 4) )
{
size = 4;
-@@ -2083,10 +2117,6 @@ static int emulate_privileged_op(struct
+@@ -2109,10 +2143,6 @@ static int emulate_privileged_op(struct
goto fail;
if ( admin_io_okay(port, op_bytes, v, regs) )
{
@@ -222,10 +222,10 @@
io_emul(regs);
if ( (op_bytes == 1) && pv_post_outb_hook )
pv_post_outb_hook(port, regs->eax);
-Index: xen-4.1.2-testing/xen/include/asm-x86/domain.h
+Index: xen-4.1.3-testing/xen/include/asm-x86/domain.h
===================================================================
---- xen-4.1.2-testing.orig/xen/include/asm-x86/domain.h
-+++ xen-4.1.2-testing/xen/include/asm-x86/domain.h
+--- xen-4.1.3-testing.orig/xen/include/asm-x86/domain.h
++++ xen-4.1.3-testing/xen/include/asm-x86/domain.h
@@ -251,6 +251,7 @@ struct arch_domain
/* I/O-port admin-specified access capabilities. */
struct rangeset *ioport_caps;
@@ -234,10 +234,10 @@
struct list_head pdev_list;
struct hvm_domain hvm_domain;
-Index: xen-4.1.2-testing/xen/include/asm-x86/hpet.h
+Index: xen-4.1.3-testing/xen/include/asm-x86/hpet.h
===================================================================
---- xen-4.1.2-testing.orig/xen/include/asm-x86/hpet.h
-+++ xen-4.1.2-testing/xen/include/asm-x86/hpet.h
+--- xen-4.1.3-testing.orig/xen/include/asm-x86/hpet.h
++++ xen-4.1.3-testing/xen/include/asm-x86/hpet.h
@@ -52,6 +52,7 @@
#define HPET_TN_FSB_CAP 0x8000
#define HPET_TN_ROUTE_SHIFT 9
@@ -246,10 +246,10 @@
#define hpet_read32(x) \
(*(volatile u32 *)(fix_to_virt(FIX_HPET_BASE) + (x)))
-Index: xen-4.1.2-testing/xen/include/asm-x86/mach-default/smpboot_hooks.h
+Index: xen-4.1.3-testing/xen/include/asm-x86/mach-default/smpboot_hooks.h
===================================================================
---- xen-4.1.2-testing.orig/xen/include/asm-x86/mach-default/smpboot_hooks.h
-+++ xen-4.1.2-testing/xen/include/asm-x86/mach-default/smpboot_hooks.h
+--- xen-4.1.3-testing.orig/xen/include/asm-x86/mach-default/smpboot_hooks.h
++++ xen-4.1.3-testing/xen/include/asm-x86/mach-default/smpboot_hooks.h
@@ -3,7 +3,11 @@
static inline void smpboot_setup_warm_reset_vector(unsigned long start_eip)
++++++ 23735-guest-dom0-cap.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:52.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:52.000000000 +0200
@@ -42,10 +42,10 @@
Signed-off-by: Jan Beulich <jbeulich(a)novell.com>
-Index: xen-4.1.2-testing/tools/libxc/xc_dom_elfloader.c
+Index: xen-4.1.3-testing/tools/libxc/xc_dom_elfloader.c
===================================================================
---- xen-4.1.2-testing.orig/tools/libxc/xc_dom_elfloader.c
-+++ xen-4.1.2-testing/tools/libxc/xc_dom_elfloader.c
+--- xen-4.1.3-testing.orig/tools/libxc/xc_dom_elfloader.c
++++ xen-4.1.3-testing/tools/libxc/xc_dom_elfloader.c
@@ -286,6 +286,13 @@ static int xc_dom_parse_elf_kernel(struc
if ( (rc = elf_xen_parse(elf, &dom->parms)) != 0 )
return rc;
@@ -60,11 +60,11 @@
/* find kernel segment */
dom->kernel_seg.vstart = dom->parms.virt_kstart;
dom->kernel_seg.vend = dom->parms.virt_kend;
-Index: xen-4.1.2-testing/xen/arch/ia64/xen/domain.c
+Index: xen-4.1.3-testing/xen/arch/ia64/xen/domain.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/ia64/xen/domain.c
-+++ xen-4.1.2-testing/xen/arch/ia64/xen/domain.c
-@@ -2164,6 +2164,13 @@ int __init construct_dom0(struct domain
+--- xen-4.1.3-testing.orig/xen/arch/ia64/xen/domain.c
++++ xen-4.1.3-testing/xen/arch/ia64/xen/domain.c
+@@ -2165,6 +2165,13 @@ int __init construct_dom0(struct domain
return -1;
}
@@ -78,10 +78,10 @@
p_start = parms.virt_base;
pkern_start = parms.virt_kstart;
pkern_end = parms.virt_kend;
-Index: xen-4.1.2-testing/xen/arch/x86/domain_build.c
+Index: xen-4.1.3-testing/xen/arch/x86/domain_build.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/domain_build.c
-+++ xen-4.1.2-testing/xen/arch/x86/domain_build.c
+--- xen-4.1.3-testing.orig/xen/arch/x86/domain_build.c
++++ xen-4.1.3-testing/xen/arch/x86/domain_build.c
@@ -417,6 +417,13 @@ int __init construct_dom0(
return -EINVAL;
}
@@ -96,11 +96,11 @@
#if defined(__x86_64__)
if ( compat32 )
{
-Index: xen-4.1.2-testing/xen/common/kernel.c
+Index: xen-4.1.3-testing/xen/common/kernel.c
===================================================================
---- xen-4.1.2-testing.orig/xen/common/kernel.c
-+++ xen-4.1.2-testing/xen/common/kernel.c
-@@ -287,6 +287,8 @@ DO(xen_version)(int cmd, XEN_GUEST_HANDL
+--- xen-4.1.3-testing.orig/xen/common/kernel.c
++++ xen-4.1.3-testing/xen/common/kernel.c
+@@ -289,6 +289,8 @@ DO(xen_version)(int cmd, XEN_GUEST_HANDL
(1U << XENFEAT_auto_translated_physmap);
if ( supervisor_mode_kernel )
fi.submap |= 1U << XENFEAT_supervisor_mode_kernel;
@@ -109,10 +109,10 @@
#ifdef CONFIG_X86
if ( !is_hvm_vcpu(current) )
fi.submap |= (1U << XENFEAT_mmu_pt_update_preserve_ad) |
-Index: xen-4.1.2-testing/xen/common/libelf/libelf-dominfo.c
+Index: xen-4.1.3-testing/xen/common/libelf/libelf-dominfo.c
===================================================================
---- xen-4.1.2-testing.orig/xen/common/libelf/libelf-dominfo.c
-+++ xen-4.1.2-testing/xen/common/libelf/libelf-dominfo.c
+--- xen-4.1.3-testing.orig/xen/common/libelf/libelf-dominfo.c
++++ xen-4.1.3-testing/xen/common/libelf/libelf-dominfo.c
@@ -26,7 +26,8 @@ static const char *const elf_xen_feature
[XENFEAT_writable_descriptor_tables] = "writable_descriptor_tables",
[XENFEAT_auto_translated_physmap] = "auto_translated_physmap",
@@ -161,10 +161,10 @@
}
return 0;
}
-Index: xen-4.1.2-testing/xen/common/libelf/libelf-tools.c
+Index: xen-4.1.3-testing/xen/common/libelf/libelf-tools.c
===================================================================
---- xen-4.1.2-testing.orig/xen/common/libelf/libelf-tools.c
-+++ xen-4.1.2-testing/xen/common/libelf/libelf-tools.c
+--- xen-4.1.3-testing.orig/xen/common/libelf/libelf-tools.c
++++ xen-4.1.3-testing/xen/common/libelf/libelf-tools.c
@@ -227,6 +227,27 @@ uint64_t elf_note_numeric(struct elf_bin
return 0;
}
@@ -193,10 +193,10 @@
const elf_note *elf_note_next(struct elf_binary *elf, const elf_note * note)
{
int namesz = (elf_uval(elf, note, namesz) + 3) & ~3;
-Index: xen-4.1.2-testing/xen/include/public/elfnote.h
+Index: xen-4.1.3-testing/xen/include/public/elfnote.h
===================================================================
---- xen-4.1.2-testing.orig/xen/include/public/elfnote.h
-+++ xen-4.1.2-testing/xen/include/public/elfnote.h
+--- xen-4.1.3-testing.orig/xen/include/public/elfnote.h
++++ xen-4.1.3-testing/xen/include/public/elfnote.h
@@ -179,9 +179,22 @@
#define XEN_ELFNOTE_MOD_START_PFN 16
@@ -221,10 +221,10 @@
/*
* System information exported through crash notes.
-Index: xen-4.1.2-testing/xen/include/public/features.h
+Index: xen-4.1.3-testing/xen/include/public/features.h
===================================================================
---- xen-4.1.2-testing.orig/xen/include/public/features.h
-+++ xen-4.1.2-testing/xen/include/public/features.h
+--- xen-4.1.3-testing.orig/xen/include/public/features.h
++++ xen-4.1.3-testing/xen/include/public/features.h
@@ -75,7 +75,10 @@
#define XENFEAT_hvm_safe_pvclock 9
@@ -237,10 +237,10 @@
#define XENFEAT_NR_SUBMAPS 1
-Index: xen-4.1.2-testing/xen/include/xen/libelf.h
+Index: xen-4.1.3-testing/xen/include/xen/libelf.h
===================================================================
---- xen-4.1.2-testing.orig/xen/include/xen/libelf.h
-+++ xen-4.1.2-testing/xen/include/xen/libelf.h
+--- xen-4.1.3-testing.orig/xen/include/xen/libelf.h
++++ xen-4.1.3-testing/xen/include/xen/libelf.h
@@ -179,6 +179,8 @@ const elf_sym *elf_sym_by_index(struct e
const char *elf_note_name(struct elf_binary *elf, const elf_note * note);
const void *elf_note_desc(struct elf_binary *elf, const elf_note * note);
++++++ 23749-mmcfg-reservation.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:52.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:52.000000000 +0200
@@ -25,8 +25,10 @@
Signed-off-by: Jan Beulich <jbeulich(a)suse.com>
---- a/xen/arch/x86/physdev.c
-+++ b/xen/arch/x86/physdev.c
+Index: xen-4.1.3-testing/xen/arch/x86/physdev.c
+===================================================================
+--- xen-4.1.3-testing.orig/xen/arch/x86/physdev.c
++++ xen-4.1.3-testing/xen/arch/x86/physdev.c
@@ -16,6 +16,10 @@
#include <xsm/xsm.h>
#include <asm/p2m.h>
@@ -38,7 +40,7 @@
#ifndef COMPAT
typedef long ret_t;
#endif
-@@ -512,6 +516,24 @@ ret_t do_physdev_op(int cmd, XEN_GUEST_H
+@@ -540,6 +544,24 @@ ret_t do_physdev_op(int cmd, XEN_GUEST_H
break;
}
@@ -63,8 +65,10 @@
case PHYSDEVOP_restore_msi: {
struct physdev_restore_msi restore_msi;
struct pci_dev *pdev;
---- a/xen/arch/x86/x86_64/mmconfig.h
-+++ b/xen/arch/x86/x86_64/mmconfig.h
+Index: xen-4.1.3-testing/xen/arch/x86/x86_64/mmconfig.h
+===================================================================
+--- xen-4.1.3-testing.orig/xen/arch/x86/x86_64/mmconfig.h
++++ xen-4.1.3-testing/xen/arch/x86/x86_64/mmconfig.h
@@ -84,6 +84,11 @@ extern int pci_mmcfg_config_num;
extern struct acpi_mcfg_allocation *pci_mmcfg_config;
@@ -78,8 +82,10 @@
-void pci_mmcfg_arch_free(void);
+int pci_mmcfg_arch_enable(unsigned int);
+void pci_mmcfg_arch_disable(unsigned int);
---- a/xen/arch/x86/x86_64/mmconfig-shared.c
-+++ b/xen/arch/x86/x86_64/mmconfig-shared.c
+Index: xen-4.1.3-testing/xen/arch/x86/x86_64/mmconfig-shared.c
+===================================================================
+--- xen-4.1.3-testing.orig/xen/arch/x86/x86_64/mmconfig-shared.c
++++ xen-4.1.3-testing/xen/arch/x86/x86_64/mmconfig-shared.c
@@ -22,10 +22,10 @@
#include <asm/e820.h>
#include <asm/msr.h>
@@ -185,12 +191,12 @@
- /* for late to exit */
- if (known_bridge)
- return;
--
-- if (pci_mmcfg_check_hostbridge())
-- known_bridge = 1;
+ if (pci_mmcfg_check_hostbridge()) {
+ unsigned int i;
+- if (pci_mmcfg_check_hostbridge())
+- known_bridge = 1;
+-
- if (!known_bridge) {
+ pci_mmcfg_arch_init();
+ for (i = 0; i < pci_mmcfg_config_num; ++i)
@@ -247,8 +253,10 @@
}
/**
---- a/xen/arch/x86/x86_64/mmconfig_64.c
-+++ b/xen/arch/x86/x86_64/mmconfig_64.c
+Index: xen-4.1.3-testing/xen/arch/x86/x86_64/mmconfig_64.c
+===================================================================
+--- xen-4.1.3-testing.orig/xen/arch/x86/x86_64/mmconfig_64.c
++++ xen-4.1.3-testing/xen/arch/x86/x86_64/mmconfig_64.c
@@ -23,7 +23,7 @@ struct mmcfg_virt {
char __iomem *virt;
};
@@ -360,8 +368,10 @@
- xfree(pci_mmcfg_virt);
- pci_mmcfg_virt = NULL;
-}
---- a/xen/arch/x86/x86_64/physdev.c
-+++ b/xen/arch/x86/x86_64/physdev.c
+Index: xen-4.1.3-testing/xen/arch/x86/x86_64/physdev.c
+===================================================================
+--- xen-4.1.3-testing.orig/xen/arch/x86/x86_64/physdev.c
++++ xen-4.1.3-testing/xen/arch/x86/x86_64/physdev.c
@@ -54,6 +54,10 @@
#define physdev_get_free_pirq compat_physdev_get_free_pirq
#define physdev_get_free_pirq_t physdev_get_free_pirq_compat_t
@@ -373,9 +383,11 @@
#define COMPAT
#undef guest_handle_okay
#define guest_handle_okay compat_handle_okay
---- a/xen/include/public/physdev.h
-+++ b/xen/include/public/physdev.h
-@@ -255,6 +255,19 @@ struct physdev_get_free_pirq {
+Index: xen-4.1.3-testing/xen/include/public/physdev.h
+===================================================================
+--- xen-4.1.3-testing.orig/xen/include/public/physdev.h
++++ xen-4.1.3-testing/xen/include/public/physdev.h
+@@ -263,6 +263,19 @@ struct physdev_get_free_pirq {
typedef struct physdev_get_free_pirq physdev_get_free_pirq_t;
DEFINE_XEN_GUEST_HANDLE(physdev_get_free_pirq_t);
@@ -395,8 +407,10 @@
/*
* Notify that some PIRQ-bound event channels have been unmasked.
* ** This command is obsolete since interface version 0x00030202 and is **
---- a/xen/include/xlat.lst
-+++ b/xen/include/xlat.lst
+Index: xen-4.1.3-testing/xen/include/xlat.lst
+===================================================================
+--- xen-4.1.3-testing.orig/xen/include/xlat.lst
++++ xen-4.1.3-testing/xen/include/xlat.lst
@@ -60,6 +60,7 @@
! memory_map memory.h
! memory_reservation memory.h
++++++ 23771-x86-ioapic-clear-pin.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:52.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:52.000000000 +0200
@@ -19,11 +19,11 @@
Signed-off-by: Jan Beulich <jbeulich(a)novell.com>
-Index: xen-4.1.2-testing/xen/arch/x86/io_apic.c
+Index: xen-4.1.3-testing/xen/arch/x86/io_apic.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/io_apic.c
-+++ xen-4.1.2-testing/xen/arch/x86/io_apic.c
-@@ -471,14 +471,12 @@ static void eoi_IO_APIC_irq(unsigned int
+--- xen-4.1.3-testing.orig/xen/arch/x86/io_apic.c
++++ xen-4.1.3-testing/xen/arch/x86/io_apic.c
+@@ -458,14 +458,12 @@ static void eoi_IO_APIC_irq(unsigned int
spin_unlock_irqrestore(&ioapic_lock, flags);
}
@@ -40,7 +40,7 @@
if (entry.delivery_mode == dest_SMI)
return;
-@@ -487,7 +485,7 @@ static void __clear_IO_APIC_pin(unsigned
+@@ -474,7 +472,7 @@ static void __clear_IO_APIC_pin(unsigned
*/
memset(&entry, 0, sizeof(entry));
entry.mask = 1;
@@ -49,7 +49,7 @@
}
static void clear_IO_APIC (void)
-@@ -495,10 +493,8 @@ static void clear_IO_APIC (void)
+@@ -482,10 +480,8 @@ static void clear_IO_APIC (void)
int apic, pin;
for (apic = 0; apic < nr_ioapics; apic++) {
++++++ 23772-x86-trampoline.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:52.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:52.000000000 +0200
@@ -17,10 +17,10 @@
Signed-off-by: Jan Beulich <jbeulich(a)novell.com>
-Index: xen-4.1.2-testing/xen/arch/x86/boot/Makefile
+Index: xen-4.1.3-testing/xen/arch/x86/boot/Makefile
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/boot/Makefile
-+++ xen-4.1.2-testing/xen/arch/x86/boot/Makefile
+--- xen-4.1.3-testing.orig/xen/arch/x86/boot/Makefile
++++ xen-4.1.3-testing/xen/arch/x86/boot/Makefile
@@ -2,8 +2,8 @@ obj-y += head.o
head.o: reloc.S
@@ -32,10 +32,10 @@
-reloc.S: $(BASEDIR)/include/asm-x86/config.h
+reloc.S: head.S
-Index: xen-4.1.2-testing/xen/arch/x86/boot/head.S
+Index: xen-4.1.3-testing/xen/arch/x86/boot/head.S
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/boot/head.S
-+++ xen-4.1.2-testing/xen/arch/x86/boot/head.S
+--- xen-4.1.3-testing.orig/xen/arch/x86/boot/head.S
++++ xen-4.1.3-testing/xen/arch/x86/boot/head.S
@@ -9,7 +9,7 @@
.text
.code32
@@ -63,10 +63,10 @@
/* Copy bootstrap trampoline to low memory, below 1MB. */
mov $sym_phys(trampoline_start),%esi
mov $bootsym_phys(trampoline_start),%edi
-Index: xen-4.1.2-testing/xen/arch/x86/boot/trampoline.S
+Index: xen-4.1.3-testing/xen/arch/x86/boot/trampoline.S
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/boot/trampoline.S
-+++ xen-4.1.2-testing/xen/arch/x86/boot/trampoline.S
+--- xen-4.1.3-testing.orig/xen/arch/x86/boot/trampoline.S
++++ xen-4.1.3-testing/xen/arch/x86/boot/trampoline.S
@@ -4,6 +4,13 @@
#undef bootsym
#define bootsym(s) ((s)-trampoline_start)
@@ -139,10 +139,10 @@
.code64
start64:
-Index: xen-4.1.2-testing/xen/arch/x86/boot/wakeup.S
+Index: xen-4.1.3-testing/xen/arch/x86/boot/wakeup.S
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/boot/wakeup.S
-+++ xen-4.1.2-testing/xen/arch/x86/boot/wakeup.S
+--- xen-4.1.3-testing.orig/xen/arch/x86/boot/wakeup.S
++++ xen-4.1.3-testing/xen/arch/x86/boot/wakeup.S
@@ -42,15 +42,13 @@ ENTRY(wakeup_start)
# boot trampoline is under 1M, and shift its start into
@@ -210,10 +210,10 @@
.code64
wakeup_64:
-Index: xen-4.1.2-testing/xen/arch/x86/efi/boot.c
+Index: xen-4.1.3-testing/xen/arch/x86/efi/boot.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/efi/boot.c
-+++ xen-4.1.2-testing/xen/arch/x86/efi/boot.c
+--- xen-4.1.3-testing.orig/xen/arch/x86/efi/boot.c
++++ xen-4.1.3-testing/xen/arch/x86/efi/boot.c
@@ -599,6 +599,9 @@ static void __init relocate_image(unsign
}
}
@@ -291,11 +291,11 @@
/* Set system registers and transfer control. */
asm volatile("pushq $0\n\tpopfq");
-Index: xen-4.1.2-testing/xen/arch/x86/smpboot.c
+Index: xen-4.1.3-testing/xen/arch/x86/smpboot.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/smpboot.c
-+++ xen-4.1.2-testing/xen/arch/x86/smpboot.c
-@@ -48,6 +48,8 @@
+--- xen-4.1.3-testing.orig/xen/arch/x86/smpboot.c
++++ xen-4.1.3-testing/xen/arch/x86/smpboot.c
+@@ -49,6 +49,8 @@
#define setup_trampoline() (bootsym_phys(trampoline_realmode_entry))
@@ -304,10 +304,10 @@
/* Set if we find a B stepping CPU */
static int smp_b_stepping;
-Index: xen-4.1.2-testing/xen/arch/x86/x86_32/mm.c
+Index: xen-4.1.3-testing/xen/arch/x86/x86_32/mm.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/x86_32/mm.c
-+++ xen-4.1.2-testing/xen/arch/x86/x86_32/mm.c
+--- xen-4.1.3-testing.orig/xen/arch/x86/x86_32/mm.c
++++ xen-4.1.3-testing/xen/arch/x86/x86_32/mm.c
@@ -22,6 +22,7 @@
#include <xen/lib.h>
#include <xen/init.h>
@@ -328,10 +328,10 @@
}
void __init subarch_init_memory(void)
-Index: xen-4.1.2-testing/xen/arch/x86/x86_64/mm.c
+Index: xen-4.1.3-testing/xen/arch/x86/x86_64/mm.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/x86_64/mm.c
-+++ xen-4.1.2-testing/xen/arch/x86/x86_64/mm.c
+--- xen-4.1.3-testing.orig/xen/arch/x86/x86_64/mm.c
++++ xen-4.1.3-testing/xen/arch/x86/x86_64/mm.c
@@ -830,7 +830,7 @@ void __init zap_low_mappings(void)
flush_local(FLUSH_TLB_GLOBAL);
@@ -341,10 +341,10 @@
PFN_UP(trampoline_end - trampoline_start),
__PAGE_HYPERVISOR);
}
-Index: xen-4.1.2-testing/xen/arch/x86/xen.lds.S
+Index: xen-4.1.3-testing/xen/arch/x86/xen.lds.S
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/xen.lds.S
-+++ xen-4.1.2-testing/xen/arch/x86/xen.lds.S
+--- xen-4.1.3-testing.orig/xen/arch/x86/xen.lds.S
++++ xen-4.1.3-testing/xen/arch/x86/xen.lds.S
@@ -103,6 +103,13 @@ SECTIONS
*(.init.data)
*(.init.data.rel)
@@ -359,10 +359,10 @@
} :text
. = ALIGN(32);
.init.setup : {
-Index: xen-4.1.2-testing/xen/include/asm-x86/config.h
+Index: xen-4.1.3-testing/xen/include/asm-x86/config.h
===================================================================
---- xen-4.1.2-testing.orig/xen/include/asm-x86/config.h
-+++ xen-4.1.2-testing/xen/include/asm-x86/config.h
+--- xen-4.1.3-testing.orig/xen/include/asm-x86/config.h
++++ xen-4.1.3-testing/xen/include/asm-x86/config.h
@@ -95,13 +95,13 @@
/* Primary stack is restricted to 8kB by guard pages. */
#define PRIMARY_STACK_SIZE 8192
++++++ 23782-x86-ioapic-clear-irr.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:52.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:52.000000000 +0200
@@ -20,9 +20,11 @@
Signed-off-by: Jan Beulich <jbeulich(a)novell.com>
---- a/xen/arch/x86/io_apic.c
-+++ b/xen/arch/x86/io_apic.c
-@@ -481,11 +481,35 @@ static void clear_IO_APIC_pin(unsigned i
+Index: xen-4.1.3-testing/xen/arch/x86/io_apic.c
+===================================================================
+--- xen-4.1.3-testing.orig/xen/arch/x86/io_apic.c
++++ xen-4.1.3-testing/xen/arch/x86/io_apic.c
+@@ -468,11 +468,35 @@ static void clear_IO_APIC_pin(unsigned i
return;
/*
++++++ 23783-ACPI-set-_PDC-bits.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:52.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:52.000000000 +0200
@@ -17,10 +17,10 @@
Signed-off-by: Jan Beulich <jbeulich(a)novell.com>
-Index: xen-4.1.2-testing/xen/arch/ia64/linux-xen/acpi.c
+Index: xen-4.1.3-testing/xen/arch/ia64/linux-xen/acpi.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/ia64/linux-xen/acpi.c
-+++ xen-4.1.2-testing/xen/arch/ia64/linux-xen/acpi.c
+--- xen-4.1.3-testing.orig/xen/arch/ia64/linux-xen/acpi.c
++++ xen-4.1.3-testing/xen/arch/ia64/linux-xen/acpi.c
@@ -243,6 +243,13 @@ int get_cpu_id(u32 acpi_id)
return -1;
@@ -35,11 +35,11 @@
#endif
static int __init
-Index: xen-4.1.2-testing/xen/arch/x86/acpi/cpu_idle.c
+Index: xen-4.1.3-testing/xen/arch/x86/acpi/cpu_idle.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/acpi/cpu_idle.c
-+++ xen-4.1.2-testing/xen/arch/x86/acpi/cpu_idle.c
-@@ -649,12 +649,6 @@ static int cpuidle_init_cpu(int cpu)
+--- xen-4.1.3-testing.orig/xen/arch/x86/acpi/cpu_idle.c
++++ xen-4.1.3-testing/xen/arch/x86/acpi/cpu_idle.c
+@@ -644,12 +644,6 @@ static int cpuidle_init_cpu(int cpu)
return 0;
}
@@ -52,10 +52,10 @@
#define MWAIT_SUBSTATE_MASK (0xf)
#define MWAIT_SUBSTATE_SIZE (4)
-Index: xen-4.1.2-testing/xen/arch/x86/acpi/boot.c
+Index: xen-4.1.3-testing/xen/arch/x86/acpi/boot.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/acpi/boot.c
-+++ xen-4.1.2-testing/xen/arch/x86/acpi/boot.c
+--- xen-4.1.3-testing.orig/xen/arch/x86/acpi/boot.c
++++ xen-4.1.3-testing/xen/arch/x86/acpi/boot.c
@@ -1006,3 +1006,47 @@ unsigned int acpi_get_processor_id(unsig
return INVALID_ACPIID;
@@ -104,10 +104,10 @@
+
+ return 0;
+}
-Index: xen-4.1.2-testing/xen/arch/x86/platform_hypercall.c
+Index: xen-4.1.3-testing/xen/arch/x86/platform_hypercall.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/platform_hypercall.c
-+++ xen-4.1.2-testing/xen/arch/x86/platform_hypercall.c
+--- xen-4.1.3-testing.orig/xen/arch/x86/platform_hypercall.c
++++ xen-4.1.3-testing/xen/arch/x86/platform_hypercall.c
@@ -419,6 +419,15 @@ ret_t do_platform_op(XEN_GUEST_HANDLE(xe
ret = -EINVAL;
break;
@@ -124,11 +124,11 @@
default:
ret = -EINVAL;
break;
-Index: xen-4.1.2-testing/xen/drivers/acpi/pmstat.c
+Index: xen-4.1.3-testing/xen/drivers/acpi/pmstat.c
===================================================================
---- xen-4.1.2-testing.orig/xen/drivers/acpi/pmstat.c
-+++ xen-4.1.2-testing/xen/drivers/acpi/pmstat.c
-@@ -519,3 +519,34 @@ int do_pm_op(struct xen_sysctl_pm_op *op
+--- xen-4.1.3-testing.orig/xen/drivers/acpi/pmstat.c
++++ xen-4.1.3-testing/xen/drivers/acpi/pmstat.c
+@@ -521,3 +521,34 @@ int do_pm_op(struct xen_sysctl_pm_op *op
return ret;
}
@@ -163,10 +163,10 @@
+
+ return ret;
+}
-Index: xen-4.1.2-testing/xen/include/acpi/cpufreq/processor_perf.h
+Index: xen-4.1.3-testing/xen/include/acpi/cpufreq/processor_perf.h
===================================================================
---- xen-4.1.2-testing.orig/xen/include/acpi/cpufreq/processor_perf.h
-+++ xen-4.1.2-testing/xen/include/acpi/cpufreq/processor_perf.h
+--- xen-4.1.3-testing.orig/xen/include/acpi/cpufreq/processor_perf.h
++++ xen-4.1.3-testing/xen/include/acpi/cpufreq/processor_perf.h
@@ -3,10 +3,10 @@
#include <public/platform.h>
@@ -179,10 +179,10 @@
int powernow_cpufreq_init(void);
unsigned int powernow_register_driver(void);
unsigned int get_measured_perf(unsigned int cpu, unsigned int flag);
-Index: xen-4.1.2-testing/xen/include/acpi/pdc_intel.h
+Index: xen-4.1.3-testing/xen/include/acpi/pdc_intel.h
===================================================================
---- xen-4.1.2-testing.orig/xen/include/acpi/pdc_intel.h
-+++ xen-4.1.2-testing/xen/include/acpi/pdc_intel.h
+--- xen-4.1.3-testing.orig/xen/include/acpi/pdc_intel.h
++++ xen-4.1.3-testing/xen/include/acpi/pdc_intel.h
@@ -4,6 +4,8 @@
#ifndef __PDC_INTEL_H__
#define __PDC_INTEL_H__
@@ -226,10 +226,10 @@
+ ACPI_PDC_SMP_T_SWCOORD)
+
#endif /* __PDC_INTEL_H__ */
-Index: xen-4.1.2-testing/xen/include/asm-x86/cpufeature.h
+Index: xen-4.1.3-testing/xen/include/asm-x86/cpufeature.h
===================================================================
---- xen-4.1.2-testing.orig/xen/include/asm-x86/cpufeature.h
-+++ xen-4.1.2-testing/xen/include/asm-x86/cpufeature.h
+--- xen-4.1.3-testing.orig/xen/include/asm-x86/cpufeature.h
++++ xen-4.1.3-testing/xen/include/asm-x86/cpufeature.h
@@ -151,6 +151,10 @@
#define boot_cpu_has(bit) test_bit(bit, boot_cpu_data.x86_capability)
#define cpufeat_mask(idx) (1u << ((idx) & 31))
@@ -241,10 +241,10 @@
#ifdef __i386__
#define cpu_has_vme boot_cpu_has(X86_FEATURE_VME)
#define cpu_has_de boot_cpu_has(X86_FEATURE_DE)
-Index: xen-4.1.2-testing/xen/include/public/platform.h
+Index: xen-4.1.3-testing/xen/include/public/platform.h
===================================================================
---- xen-4.1.2-testing.orig/xen/include/public/platform.h
-+++ xen-4.1.2-testing/xen/include/public/platform.h
+--- xen-4.1.3-testing.orig/xen/include/public/platform.h
++++ xen-4.1.3-testing/xen/include/public/platform.h
@@ -304,6 +304,7 @@ DEFINE_XEN_GUEST_HANDLE(xenpf_getidletim
#define XEN_PM_CX 0
#define XEN_PM_PX 1
@@ -261,10 +261,10 @@
} u;
};
typedef struct xenpf_set_processor_pminfo xenpf_set_processor_pminfo_t;
-Index: xen-4.1.2-testing/xen/include/xen/acpi.h
+Index: xen-4.1.3-testing/xen/include/xen/acpi.h
===================================================================
---- xen-4.1.2-testing.orig/xen/include/xen/acpi.h
-+++ xen-4.1.2-testing/xen/include/xen/acpi.h
+--- xen-4.1.3-testing.orig/xen/include/xen/acpi.h
++++ xen-4.1.3-testing/xen/include/xen/acpi.h
@@ -334,6 +334,8 @@ static inline int acpi_boot_table_init(v
#endif /*!CONFIG_ACPI_BOOT*/
++++++ 23804-x86-IPI-counts.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:52.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:52.000000000 +0200
@@ -11,9 +11,11 @@
Signed-off-by: Kevin Tian <kevin.tian(a)intel.com>
---- a/xen/arch/x86/apic.c
-+++ b/xen/arch/x86/apic.c
-@@ -1372,6 +1372,7 @@ fastcall void smp_apic_timer_interrupt(s
+Index: xen-4.1.3-testing/xen/arch/x86/apic.c
+===================================================================
+--- xen-4.1.3-testing.orig/xen/arch/x86/apic.c
++++ xen-4.1.3-testing/xen/arch/x86/apic.c
+@@ -1378,6 +1378,7 @@ fastcall void smp_apic_timer_interrupt(s
struct cpu_user_regs *old_regs = set_irq_regs(regs);
ack_APIC_irq();
perfc_incr(apic_timer);
@@ -21,7 +23,7 @@
raise_softirq(TIMER_SOFTIRQ);
set_irq_regs(old_regs);
}
-@@ -1393,6 +1394,7 @@ fastcall void smp_spurious_interrupt(str
+@@ -1399,6 +1400,7 @@ fastcall void smp_spurious_interrupt(str
unsigned long v;
struct cpu_user_regs *old_regs = set_irq_regs(regs);
@@ -29,7 +31,7 @@
irq_enter();
/*
-@@ -1428,6 +1430,7 @@ fastcall void smp_error_interrupt(struct
+@@ -1434,6 +1436,7 @@ fastcall void smp_error_interrupt(struct
unsigned long v, v1;
struct cpu_user_regs *old_regs = set_irq_regs(regs);
@@ -37,7 +39,7 @@
irq_enter();
/* First tickle the hardware, only then report what went on. -- REW */
v = apic_read(APIC_ESR);
-@@ -1459,6 +1462,7 @@ fastcall void smp_pmu_apic_interrupt(str
+@@ -1465,6 +1468,7 @@ fastcall void smp_pmu_apic_interrupt(str
{
struct cpu_user_regs *old_regs = set_irq_regs(regs);
ack_APIC_irq();
@@ -45,8 +47,10 @@
hvm_do_pmu_interrupt(regs);
set_irq_regs(old_regs);
}
---- a/xen/arch/x86/cpu/mcheck/mce_intel.c
-+++ b/xen/arch/x86/cpu/mcheck/mce_intel.c
+Index: xen-4.1.3-testing/xen/arch/x86/cpu/mcheck/mce_intel.c
+===================================================================
+--- xen-4.1.3-testing.orig/xen/arch/x86/cpu/mcheck/mce_intel.c
++++ xen-4.1.3-testing/xen/arch/x86/cpu/mcheck/mce_intel.c
@@ -66,6 +66,7 @@ static void (*vendor_thermal_interrupt)(
fastcall void smp_thermal_interrupt(struct cpu_user_regs *regs)
{
@@ -55,7 +59,7 @@
irq_enter();
vendor_thermal_interrupt(regs);
irq_exit();
-@@ -1094,6 +1095,7 @@ fastcall void smp_cmci_interrupt(struct
+@@ -1094,6 +1095,7 @@ fastcall void smp_cmci_interrupt(struct
struct cpu_user_regs *old_regs = set_irq_regs(regs);
ack_APIC_irq();
@@ -63,9 +67,11 @@
irq_enter();
mctc = mcheck_mca_logout(
---- a/xen/arch/x86/io_apic.c
-+++ b/xen/arch/x86/io_apic.c
-@@ -529,6 +529,7 @@ fastcall void smp_irq_move_cleanup_inter
+Index: xen-4.1.3-testing/xen/arch/x86/io_apic.c
+===================================================================
+--- xen-4.1.3-testing.orig/xen/arch/x86/io_apic.c
++++ xen-4.1.3-testing/xen/arch/x86/io_apic.c
+@@ -516,6 +516,7 @@ fastcall void smp_irq_move_cleanup_inter
struct cpu_user_regs *old_regs = set_irq_regs(regs);
ack_APIC_irq();
@@ -73,9 +79,11 @@
irq_enter();
me = smp_processor_id();
---- a/xen/arch/x86/smp.c
-+++ b/xen/arch/x86/smp.c
-@@ -221,6 +221,7 @@ fastcall void smp_invalidate_interrupt(v
+Index: xen-4.1.3-testing/xen/arch/x86/smp.c
+===================================================================
+--- xen-4.1.3-testing.orig/xen/arch/x86/smp.c
++++ xen-4.1.3-testing/xen/arch/x86/smp.c
+@@ -222,6 +222,7 @@ fastcall void smp_invalidate_interrupt(v
{
ack_APIC_irq();
perfc_incr(ipis);
@@ -83,7 +91,7 @@
irq_enter();
if ( !__sync_local_execstate() ||
(flush_flags & (FLUSH_TLB_GLOBAL | FLUSH_CACHE)) )
-@@ -385,6 +386,7 @@ fastcall void smp_event_check_interrupt(
+@@ -387,6 +388,7 @@ fastcall void smp_event_check_interrupt(
struct cpu_user_regs *old_regs = set_irq_regs(regs);
ack_APIC_irq();
perfc_incr(ipis);
@@ -91,7 +99,7 @@
set_irq_regs(old_regs);
}
-@@ -421,6 +423,7 @@ fastcall void smp_call_function_interrup
+@@ -423,6 +425,7 @@ fastcall void smp_call_function_interrup
ack_APIC_irq();
perfc_incr(ipis);
++++++ 23817-mem_event_add_ref_counting_for_free_requestslots.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:52.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:52.000000000 +0200
@@ -37,10 +37,10 @@
xen/include/xen/sched.h | 1 +
5 files changed, 15 insertions(+), 8 deletions(-)
-Index: xen-4.1.2-testing/xen/arch/x86/mm/mem_event.c
+Index: xen-4.1.3-testing/xen/arch/x86/mm/mem_event.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/mm/mem_event.c
-+++ xen-4.1.2-testing/xen/arch/x86/mm/mem_event.c
+--- xen-4.1.3-testing.orig/xen/arch/x86/mm/mem_event.c
++++ xen-4.1.3-testing/xen/arch/x86/mm/mem_event.c
@@ -37,8 +37,6 @@
#define mem_event_ring_lock(_d) spin_lock(&(_d)->mem_event.ring_lock)
#define mem_event_ring_unlock(_d) spin_unlock(&(_d)->mem_event.ring_lock)
@@ -94,10 +94,10 @@
if ( (curr->domain->domain_id == d->domain_id) && ring_full )
{
-Index: xen-4.1.2-testing/xen/arch/x86/mm/mem_sharing.c
+Index: xen-4.1.3-testing/xen/arch/x86/mm/mem_sharing.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/mm/mem_sharing.c
-+++ xen-4.1.2-testing/xen/arch/x86/mm/mem_sharing.c
+--- xen-4.1.3-testing.orig/xen/arch/x86/mm/mem_sharing.c
++++ xen-4.1.3-testing/xen/arch/x86/mm/mem_sharing.c
@@ -322,7 +322,6 @@ static struct page_info* mem_sharing_all
req.flags |= MEM_EVENT_FLAG_VCPU_PAUSED;
}
@@ -106,11 +106,11 @@
if(mem_event_check_ring(d)) return page;
req.gfn = gfn;
-Index: xen-4.1.2-testing/xen/arch/x86/mm/p2m.c
+Index: xen-4.1.3-testing/xen/arch/x86/mm/p2m.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/mm/p2m.c
-+++ xen-4.1.2-testing/xen/arch/x86/mm/p2m.c
-@@ -2970,6 +2970,7 @@ void p2m_mem_paging_populate(struct p2m_
+--- xen-4.1.3-testing.orig/xen/arch/x86/mm/p2m.c
++++ xen-4.1.3-testing/xen/arch/x86/mm/p2m.c
+@@ -2976,6 +2976,7 @@ void p2m_mem_paging_populate(struct p2m_
else if ( p2mt != p2m_ram_paging_out && p2mt != p2m_ram_paged )
{
/* gfn is already on its way back and vcpu is not paused */
@@ -118,10 +118,10 @@
return;
}
-Index: xen-4.1.2-testing/xen/include/asm-x86/mem_event.h
+Index: xen-4.1.3-testing/xen/include/asm-x86/mem_event.h
===================================================================
---- xen-4.1.2-testing.orig/xen/include/asm-x86/mem_event.h
-+++ xen-4.1.2-testing/xen/include/asm-x86/mem_event.h
+--- xen-4.1.3-testing.orig/xen/include/asm-x86/mem_event.h
++++ xen-4.1.3-testing/xen/include/asm-x86/mem_event.h
@@ -27,6 +27,7 @@
/* Pauses VCPU while marking pause flag for mem event */
void mem_event_mark_and_pause(struct vcpu *v);
@@ -130,10 +130,10 @@
void mem_event_put_request(struct domain *d, mem_event_request_t *req);
void mem_event_get_response(struct domain *d, mem_event_response_t *rsp);
void mem_event_unpause_vcpus(struct domain *d);
-Index: xen-4.1.2-testing/xen/include/xen/sched.h
+Index: xen-4.1.3-testing/xen/include/xen/sched.h
===================================================================
---- xen-4.1.2-testing.orig/xen/include/xen/sched.h
-+++ xen-4.1.2-testing/xen/include/xen/sched.h
+--- xen-4.1.3-testing.orig/xen/include/xen/sched.h
++++ xen-4.1.3-testing/xen/include/xen/sched.h
@@ -190,6 +190,7 @@ struct mem_event_domain
{
/* ring lock */
++++++ 23841-mem_event_pass_mem_event_domain_pointer_to_mem_event_functions.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:52.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:52.000000000 +0200
@@ -25,11 +25,11 @@
xen/include/asm-x86/mem_event.h | 8 +--
5 files changed, 66 insertions(+), 65 deletions(-)
-Index: xen-4.1.2-testing/xen/arch/x86/hvm/hvm.c
+Index: xen-4.1.3-testing/xen/arch/x86/hvm/hvm.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/hvm/hvm.c
-+++ xen-4.1.2-testing/xen/arch/x86/hvm/hvm.c
-@@ -3909,7 +3909,7 @@ static int hvm_memory_event_traps(long p
+--- xen-4.1.3-testing.orig/xen/arch/x86/hvm/hvm.c
++++ xen-4.1.3-testing/xen/arch/x86/hvm/hvm.c
+@@ -3920,7 +3920,7 @@ static int hvm_memory_event_traps(long p
if ( (p & HVMPME_onchangeonly) && (value == old) )
return 1;
@@ -38,7 +38,7 @@
if ( rc )
return rc;
-@@ -3932,7 +3932,7 @@ static int hvm_memory_event_traps(long p
+@@ -3943,7 +3943,7 @@ static int hvm_memory_event_traps(long p
req.gla_valid = 1;
}
@@ -47,10 +47,10 @@
return 1;
}
-Index: xen-4.1.2-testing/xen/arch/x86/mm/mem_event.c
+Index: xen-4.1.3-testing/xen/arch/x86/mm/mem_event.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/mm/mem_event.c
-+++ xen-4.1.2-testing/xen/arch/x86/mm/mem_event.c
+--- xen-4.1.3-testing.orig/xen/arch/x86/mm/mem_event.c
++++ xen-4.1.3-testing/xen/arch/x86/mm/mem_event.c
@@ -33,21 +33,21 @@
#define xen_rmb() rmb()
#define xen_wmb() wmb()
@@ -271,10 +271,10 @@
}
break;
-Index: xen-4.1.2-testing/xen/arch/x86/mm/mem_sharing.c
+Index: xen-4.1.3-testing/xen/arch/x86/mm/mem_sharing.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/mm/mem_sharing.c
-+++ xen-4.1.2-testing/xen/arch/x86/mm/mem_sharing.c
+--- xen-4.1.3-testing.orig/xen/arch/x86/mm/mem_sharing.c
++++ xen-4.1.3-testing/xen/arch/x86/mm/mem_sharing.c
@@ -322,12 +322,12 @@ static struct page_info* mem_sharing_all
req.flags |= MEM_EVENT_FLAG_VCPU_PAUSED;
}
@@ -299,11 +299,11 @@
/* Unpause domain/vcpu */
if( rsp.flags & MEM_EVENT_FLAG_VCPU_PAUSED )
-Index: xen-4.1.2-testing/xen/arch/x86/mm/p2m.c
+Index: xen-4.1.3-testing/xen/arch/x86/mm/p2m.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/mm/p2m.c
-+++ xen-4.1.2-testing/xen/arch/x86/mm/p2m.c
-@@ -2923,7 +2923,7 @@ void p2m_mem_paging_drop_page(struct p2m
+--- xen-4.1.3-testing.orig/xen/arch/x86/mm/p2m.c
++++ xen-4.1.3-testing/xen/arch/x86/mm/p2m.c
+@@ -2929,7 +2929,7 @@ void p2m_mem_paging_drop_page(struct p2m
struct domain *d = p2m->domain;
/* Check that there's space on the ring for this request */
@@ -312,7 +312,7 @@
{
/* Send release notification to pager */
memset(&req, 0, sizeof(req));
-@@ -2931,7 +2931,7 @@ void p2m_mem_paging_drop_page(struct p2m
+@@ -2937,7 +2937,7 @@ void p2m_mem_paging_drop_page(struct p2m
req.gfn = gfn;
req.vcpu_id = v->vcpu_id;
@@ -321,7 +321,7 @@
}
}
-@@ -2943,7 +2943,7 @@ void p2m_mem_paging_populate(struct p2m_
+@@ -2949,7 +2949,7 @@ void p2m_mem_paging_populate(struct p2m_
struct domain *d = p2m->domain;
/* Check that there's space on the ring for this request */
@@ -330,7 +330,7 @@
return;
memset(&req, 0, sizeof(req));
-@@ -2970,7 +2970,7 @@ void p2m_mem_paging_populate(struct p2m_
+@@ -2976,7 +2976,7 @@ void p2m_mem_paging_populate(struct p2m_
else if ( p2mt != p2m_ram_paging_out && p2mt != p2m_ram_paged )
{
/* gfn is already on its way back and vcpu is not paused */
@@ -339,7 +339,7 @@
return;
}
-@@ -2979,7 +2979,7 @@ void p2m_mem_paging_populate(struct p2m_
+@@ -2985,7 +2985,7 @@ void p2m_mem_paging_populate(struct p2m_
req.p2mt = p2mt;
req.vcpu_id = v->vcpu_id;
@@ -348,7 +348,7 @@
}
int p2m_mem_paging_prep(struct p2m_domain *p2m, unsigned long gfn)
-@@ -3008,7 +3008,7 @@ void p2m_mem_paging_resume(struct p2m_do
+@@ -3014,7 +3014,7 @@ void p2m_mem_paging_resume(struct p2m_do
mfn_t mfn;
/* Pull the response off the ring */
@@ -357,7 +357,7 @@
/* Fix p2m entry if the page was not dropped */
if ( !(rsp.flags & MEM_EVENT_FLAG_DROP_PAGE) )
-@@ -3055,7 +3055,7 @@ void p2m_mem_access_check(unsigned long
+@@ -3061,7 +3061,7 @@ void p2m_mem_access_check(paddr_t gpa, b
p2m_unlock(p2m);
/* Otherwise, check if there is a memory event listener, and send the message along */
@@ -366,7 +366,7 @@
if ( res < 0 )
{
/* No listener */
-@@ -3099,7 +3099,7 @@ void p2m_mem_access_check(unsigned long
+@@ -3105,7 +3105,7 @@ void p2m_mem_access_check(paddr_t gpa, b
req.vcpu_id = v->vcpu_id;
@@ -375,7 +375,7 @@
/* VCPU paused, mem event request sent */
}
-@@ -3109,7 +3109,7 @@ void p2m_mem_access_resume(struct p2m_do
+@@ -3115,7 +3115,7 @@ void p2m_mem_access_resume(struct p2m_do
struct domain *d = p2m->domain;
mem_event_response_t rsp;
@@ -384,10 +384,10 @@
/* Unpause domain */
if ( rsp.flags & MEM_EVENT_FLAG_VCPU_PAUSED )
-Index: xen-4.1.2-testing/xen/include/asm-x86/mem_event.h
+Index: xen-4.1.3-testing/xen/include/asm-x86/mem_event.h
===================================================================
---- xen-4.1.2-testing.orig/xen/include/asm-x86/mem_event.h
-+++ xen-4.1.2-testing/xen/include/asm-x86/mem_event.h
+--- xen-4.1.3-testing.orig/xen/include/asm-x86/mem_event.h
++++ xen-4.1.3-testing/xen/include/asm-x86/mem_event.h
@@ -26,10 +26,10 @@
/* Pauses VCPU while marking pause flag for mem event */
++++++ 23842-mem_event_use_different_ringbuffers_for_share_paging_and_access.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:52.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:52.000000000 +0200
@@ -45,10 +45,10 @@
xen/include/xen/sched.h | 6 +
15 files changed, 206 insertions(+), 156 deletions(-)
-Index: xen-4.1.2-testing/tools/libxc/Makefile
+Index: xen-4.1.3-testing/tools/libxc/Makefile
===================================================================
---- xen-4.1.2-testing.orig/tools/libxc/Makefile
-+++ xen-4.1.2-testing/tools/libxc/Makefile
+--- xen-4.1.3-testing.orig/tools/libxc/Makefile
++++ xen-4.1.3-testing/tools/libxc/Makefile
@@ -1,7 +1,7 @@
XEN_ROOT = $(CURDIR)/../..
include $(XEN_ROOT)/tools/Rules.mk
@@ -58,10 +58,10 @@
MINOR = 0
CTRL_SRCS-y :=
-Index: xen-4.1.2-testing/tools/libxc/xc_mem_access.c
+Index: xen-4.1.3-testing/tools/libxc/xc_mem_access.c
===================================================================
---- xen-4.1.2-testing.orig/tools/libxc/xc_mem_access.c
-+++ xen-4.1.2-testing/tools/libxc/xc_mem_access.c
+--- xen-4.1.3-testing.orig/tools/libxc/xc_mem_access.c
++++ xen-4.1.3-testing/tools/libxc/xc_mem_access.c
@@ -24,12 +24,29 @@
#include "xc_private.h"
@@ -94,10 +94,10 @@
}
/*
-Index: xen-4.1.2-testing/tools/libxc/xc_mem_event.c
+Index: xen-4.1.3-testing/tools/libxc/xc_mem_event.c
===================================================================
---- xen-4.1.2-testing.orig/tools/libxc/xc_mem_event.c
-+++ xen-4.1.2-testing/tools/libxc/xc_mem_event.c
+--- xen-4.1.3-testing.orig/tools/libxc/xc_mem_event.c
++++ xen-4.1.3-testing/tools/libxc/xc_mem_event.c
@@ -42,18 +42,3 @@ int xc_mem_event_control(xc_interface *x
return do_domctl(xch, &domctl);
}
@@ -117,10 +117,10 @@
- NULL, NULL, INVALID_MFN);
-}
-
-Index: xen-4.1.2-testing/tools/libxc/xc_mem_paging.c
+Index: xen-4.1.3-testing/tools/libxc/xc_mem_paging.c
===================================================================
---- xen-4.1.2-testing.orig/tools/libxc/xc_mem_paging.c
-+++ xen-4.1.2-testing/tools/libxc/xc_mem_paging.c
+--- xen-4.1.3-testing.orig/tools/libxc/xc_mem_paging.c
++++ xen-4.1.3-testing/tools/libxc/xc_mem_paging.c
@@ -24,36 +24,53 @@
#include "xc_private.h"
@@ -183,10 +183,10 @@
}
-Index: xen-4.1.2-testing/tools/libxc/xc_memshr.c
+Index: xen-4.1.3-testing/tools/libxc/xc_memshr.c
===================================================================
---- xen-4.1.2-testing.orig/tools/libxc/xc_memshr.c
-+++ xen-4.1.2-testing/tools/libxc/xc_memshr.c
+--- xen-4.1.3-testing.orig/tools/libxc/xc_memshr.c
++++ xen-4.1.3-testing/tools/libxc/xc_memshr.c
@@ -36,7 +36,7 @@ int xc_memshr_control(xc_interface *xch,
domctl.interface_version = XEN_DOMCTL_INTERFACE_VERSION;
domctl.domain = (domid_t)domid;
@@ -259,10 +259,10 @@
op->u.debug.u.gref = gref;
return do_domctl(xch, &domctl);
-Index: xen-4.1.2-testing/tools/libxc/xenctrl.h
+Index: xen-4.1.3-testing/tools/libxc/xenctrl.h
===================================================================
---- xen-4.1.2-testing.orig/tools/libxc/xenctrl.h
-+++ xen-4.1.2-testing/tools/libxc/xenctrl.h
+--- xen-4.1.3-testing.orig/tools/libxc/xenctrl.h
++++ xen-4.1.3-testing/tools/libxc/xenctrl.h
@@ -1734,16 +1734,19 @@ int xc_mem_event_control(xc_interface *x
unsigned int mode, void *shared_page,
void *ring_page, unsigned long gfn);
@@ -286,10 +286,10 @@
int xc_mem_access_resume(xc_interface *xch, domid_t domain_id,
unsigned long gfn);
-Index: xen-4.1.2-testing/tools/tests/xen-access/xen-access.c
+Index: xen-4.1.3-testing/tools/tests/xen-access/xen-access.c
===================================================================
---- xen-4.1.2-testing.orig/tools/tests/xen-access/xen-access.c
-+++ xen-4.1.2-testing/tools/tests/xen-access/xen-access.c
+--- xen-4.1.3-testing.orig/tools/tests/xen-access/xen-access.c
++++ xen-4.1.3-testing/tools/tests/xen-access/xen-access.c
@@ -241,7 +241,7 @@ xenaccess_t *xenaccess_init(xc_interface
mem_event_ring_lock_init(&xenaccess->mem_event);
@@ -308,10 +308,10 @@
if ( rc != 0 )
{
ERROR("Error tearing down domain xenaccess in xen");
-Index: xen-4.1.2-testing/tools/xenpaging/xenpaging.c
+Index: xen-4.1.3-testing/tools/xenpaging/xenpaging.c
===================================================================
---- xen-4.1.2-testing.orig/tools/xenpaging/xenpaging.c
-+++ xen-4.1.2-testing/tools/xenpaging/xenpaging.c
+--- xen-4.1.3-testing.orig/tools/xenpaging/xenpaging.c
++++ xen-4.1.3-testing/tools/xenpaging/xenpaging.c
@@ -234,7 +234,7 @@ static xenpaging_t *xenpaging_init(domid
PAGE_SIZE);
@@ -330,10 +330,10 @@
if ( rc != 0 )
{
ERROR("Error tearing down domain paging in xen");
-Index: xen-4.1.2-testing/xen/arch/ia64/xen/dom0_ops.c
+Index: xen-4.1.3-testing/xen/arch/ia64/xen/dom0_ops.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/ia64/xen/dom0_ops.c
-+++ xen-4.1.2-testing/xen/arch/ia64/xen/dom0_ops.c
+--- xen-4.1.3-testing.orig/xen/arch/ia64/xen/dom0_ops.c
++++ xen-4.1.3-testing/xen/arch/ia64/xen/dom0_ops.c
@@ -688,7 +688,7 @@ long arch_do_domctl(xen_domctl_t *op, XE
switch(mec->op)
@@ -343,11 +343,11 @@
{
if (mec->u.enable) {
ret = -EINVAL; /* not implemented */
-Index: xen-4.1.2-testing/xen/arch/x86/hvm/hvm.c
+Index: xen-4.1.3-testing/xen/arch/x86/hvm/hvm.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/hvm/hvm.c
-+++ xen-4.1.2-testing/xen/arch/x86/hvm/hvm.c
-@@ -3909,7 +3909,7 @@ static int hvm_memory_event_traps(long p
+--- xen-4.1.3-testing.orig/xen/arch/x86/hvm/hvm.c
++++ xen-4.1.3-testing/xen/arch/x86/hvm/hvm.c
+@@ -3920,7 +3920,7 @@ static int hvm_memory_event_traps(long p
if ( (p & HVMPME_onchangeonly) && (value == old) )
return 1;
@@ -356,7 +356,7 @@
if ( rc )
return rc;
-@@ -3932,7 +3932,7 @@ static int hvm_memory_event_traps(long p
+@@ -3943,7 +3943,7 @@ static int hvm_memory_event_traps(long p
req.gla_valid = 1;
}
@@ -365,10 +365,10 @@
return 1;
}
-Index: xen-4.1.2-testing/xen/arch/x86/mm/mem_event.c
+Index: xen-4.1.3-testing/xen/arch/x86/mm/mem_event.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/mm/mem_event.c
-+++ xen-4.1.2-testing/xen/arch/x86/mm/mem_event.c
+--- xen-4.1.3-testing.orig/xen/arch/x86/mm/mem_event.c
++++ xen-4.1.3-testing/xen/arch/x86/mm/mem_event.c
@@ -37,24 +37,52 @@
#define mem_event_ring_lock(_med) spin_lock(&(_med)->ring_lock)
#define mem_event_ring_unlock(_med) spin_unlock(&(_med)->ring_lock)
@@ -588,10 +588,10 @@
}
return rc;
-Index: xen-4.1.2-testing/xen/arch/x86/mm/mem_sharing.c
+Index: xen-4.1.3-testing/xen/arch/x86/mm/mem_sharing.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/mm/mem_sharing.c
-+++ xen-4.1.2-testing/xen/arch/x86/mm/mem_sharing.c
+--- xen-4.1.3-testing.orig/xen/arch/x86/mm/mem_sharing.c
++++ xen-4.1.3-testing/xen/arch/x86/mm/mem_sharing.c
@@ -322,12 +322,12 @@ static struct page_info* mem_sharing_all
req.flags |= MEM_EVENT_FLAG_VCPU_PAUSED;
}
@@ -688,11 +688,11 @@
{
grant_ref_t gref = mec->u.debug.u.gref;
rc = mem_sharing_debug_gref(d, gref);
-Index: xen-4.1.2-testing/xen/arch/x86/mm/p2m.c
+Index: xen-4.1.3-testing/xen/arch/x86/mm/p2m.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/mm/p2m.c
-+++ xen-4.1.2-testing/xen/arch/x86/mm/p2m.c
-@@ -2923,7 +2923,7 @@ void p2m_mem_paging_drop_page(struct p2m
+--- xen-4.1.3-testing.orig/xen/arch/x86/mm/p2m.c
++++ xen-4.1.3-testing/xen/arch/x86/mm/p2m.c
+@@ -2929,7 +2929,7 @@ void p2m_mem_paging_drop_page(struct p2m
struct domain *d = p2m->domain;
/* Check that there's space on the ring for this request */
@@ -701,7 +701,7 @@
{
/* Send release notification to pager */
memset(&req, 0, sizeof(req));
-@@ -2931,7 +2931,7 @@ void p2m_mem_paging_drop_page(struct p2m
+@@ -2937,7 +2937,7 @@ void p2m_mem_paging_drop_page(struct p2m
req.gfn = gfn;
req.vcpu_id = v->vcpu_id;
@@ -710,7 +710,7 @@
}
}
-@@ -2943,7 +2943,7 @@ void p2m_mem_paging_populate(struct p2m_
+@@ -2949,7 +2949,7 @@ void p2m_mem_paging_populate(struct p2m_
struct domain *d = p2m->domain;
/* Check that there's space on the ring for this request */
@@ -719,7 +719,7 @@
return;
memset(&req, 0, sizeof(req));
-@@ -2970,7 +2970,7 @@ void p2m_mem_paging_populate(struct p2m_
+@@ -2976,7 +2976,7 @@ void p2m_mem_paging_populate(struct p2m_
else if ( p2mt != p2m_ram_paging_out && p2mt != p2m_ram_paged )
{
/* gfn is already on its way back and vcpu is not paused */
@@ -728,7 +728,7 @@
return;
}
-@@ -2979,7 +2979,7 @@ void p2m_mem_paging_populate(struct p2m_
+@@ -2985,7 +2985,7 @@ void p2m_mem_paging_populate(struct p2m_
req.p2mt = p2mt;
req.vcpu_id = v->vcpu_id;
@@ -737,7 +737,7 @@
}
int p2m_mem_paging_prep(struct p2m_domain *p2m, unsigned long gfn)
-@@ -3008,7 +3008,7 @@ void p2m_mem_paging_resume(struct p2m_do
+@@ -3014,7 +3014,7 @@ void p2m_mem_paging_resume(struct p2m_do
mfn_t mfn;
/* Pull the response off the ring */
@@ -746,7 +746,7 @@
/* Fix p2m entry if the page was not dropped */
if ( !(rsp.flags & MEM_EVENT_FLAG_DROP_PAGE) )
-@@ -3055,7 +3055,7 @@ void p2m_mem_access_check(unsigned long
+@@ -3061,7 +3061,7 @@ void p2m_mem_access_check(paddr_t gpa, b
p2m_unlock(p2m);
/* Otherwise, check if there is a memory event listener, and send the message along */
@@ -755,7 +755,7 @@
if ( res < 0 )
{
/* No listener */
-@@ -3099,7 +3099,7 @@ void p2m_mem_access_check(unsigned long
+@@ -3105,7 +3105,7 @@ void p2m_mem_access_check(paddr_t gpa, b
req.vcpu_id = v->vcpu_id;
@@ -764,7 +764,7 @@
/* VCPU paused, mem event request sent */
}
-@@ -3109,7 +3109,7 @@ void p2m_mem_access_resume(struct p2m_do
+@@ -3115,7 +3115,7 @@ void p2m_mem_access_resume(struct p2m_do
struct domain *d = p2m->domain;
mem_event_response_t rsp;
@@ -773,10 +773,10 @@
/* Unpause domain */
if ( rsp.flags & MEM_EVENT_FLAG_VCPU_PAUSED )
-Index: xen-4.1.2-testing/xen/include/public/domctl.h
+Index: xen-4.1.3-testing/xen/include/public/domctl.h
===================================================================
---- xen-4.1.2-testing.orig/xen/include/public/domctl.h
-+++ xen-4.1.2-testing/xen/include/public/domctl.h
+--- xen-4.1.3-testing.orig/xen/include/public/domctl.h
++++ xen-4.1.3-testing/xen/include/public/domctl.h
@@ -707,20 +707,18 @@ struct xen_domctl_gdbsx_domstatus {
/* XEN_DOMCTL_mem_event_op */
@@ -848,10 +848,10 @@
#define XEN_DOMCTL_MEM_SHARING_S_HANDLE_INVALID (-10)
#define XEN_DOMCTL_MEM_SHARING_C_HANDLE_INVALID (-9)
-Index: xen-4.1.2-testing/xen/include/xen/sched.h
+Index: xen-4.1.3-testing/xen/include/xen/sched.h
===================================================================
---- xen-4.1.2-testing.orig/xen/include/xen/sched.h
-+++ xen-4.1.2-testing/xen/include/xen/sched.h
+--- xen-4.1.3-testing.orig/xen/include/xen/sched.h
++++ xen-4.1.3-testing/xen/include/xen/sched.h
@@ -326,8 +326,12 @@ struct domain
/* Non-migratable and non-restoreable? */
bool_t disable_migrate;
++++++ 23874-xenpaging_track_number_of_paged_pages_in_struct_domain.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:52.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:52.000000000 +0200
@@ -28,10 +28,10 @@
xen/include/xen/sched.h | 1 +
6 files changed, 11 insertions(+), 1 deletion(-)
-Index: xen-4.1.2-testing/tools/libxc/xc_domain.c
+Index: xen-4.1.3-testing/tools/libxc/xc_domain.c
===================================================================
---- xen-4.1.2-testing.orig/tools/libxc/xc_domain.c
-+++ xen-4.1.2-testing/tools/libxc/xc_domain.c
+--- xen-4.1.3-testing.orig/tools/libxc/xc_domain.c
++++ xen-4.1.3-testing/tools/libxc/xc_domain.c
@@ -235,6 +235,7 @@ int xc_domain_getinfo(xc_interface *xch,
info->ssidref = domctl.u.getdomaininfo.ssidref;
info->nr_pages = domctl.u.getdomaininfo.tot_pages;
@@ -40,10 +40,10 @@
info->max_memkb = domctl.u.getdomaininfo.max_pages << (PAGE_SHIFT-10);
info->shared_info_frame = domctl.u.getdomaininfo.shared_info_frame;
info->cpu_time = domctl.u.getdomaininfo.cpu_time;
-Index: xen-4.1.2-testing/tools/libxc/xenctrl.h
+Index: xen-4.1.3-testing/tools/libxc/xenctrl.h
===================================================================
---- xen-4.1.2-testing.orig/tools/libxc/xenctrl.h
-+++ xen-4.1.2-testing/tools/libxc/xenctrl.h
+--- xen-4.1.3-testing.orig/tools/libxc/xenctrl.h
++++ xen-4.1.3-testing/tools/libxc/xenctrl.h
@@ -353,6 +353,7 @@ typedef struct xc_dominfo {
unsigned int shutdown_reason; /* only meaningful if shutdown==1 */
unsigned long nr_pages; /* current number, not maximum */
@@ -52,11 +52,11 @@
unsigned long shared_info_frame;
uint64_t cpu_time;
unsigned long max_memkb;
-Index: xen-4.1.2-testing/xen/arch/x86/mm/p2m.c
+Index: xen-4.1.3-testing/xen/arch/x86/mm/p2m.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/mm/p2m.c
-+++ xen-4.1.2-testing/xen/arch/x86/mm/p2m.c
-@@ -2913,6 +2913,9 @@ int p2m_mem_paging_evict(struct p2m_doma
+--- xen-4.1.3-testing.orig/xen/arch/x86/mm/p2m.c
++++ xen-4.1.3-testing/xen/arch/x86/mm/p2m.c
+@@ -2919,6 +2919,9 @@ int p2m_mem_paging_evict(struct p2m_doma
/* Put the page back so it gets freed */
put_page(page);
@@ -66,7 +66,7 @@
return 0;
}
-@@ -2997,6 +3000,8 @@ int p2m_mem_paging_prep(struct p2m_domai
+@@ -3003,6 +3006,8 @@ int p2m_mem_paging_prep(struct p2m_domai
audit_p2m(p2m, 1);
p2m_unlock(p2m);
@@ -75,10 +75,10 @@
return 0;
}
-Index: xen-4.1.2-testing/xen/common/domctl.c
+Index: xen-4.1.3-testing/xen/common/domctl.c
===================================================================
---- xen-4.1.2-testing.orig/xen/common/domctl.c
-+++ xen-4.1.2-testing/xen/common/domctl.c
+--- xen-4.1.3-testing.orig/xen/common/domctl.c
++++ xen-4.1.3-testing/xen/common/domctl.c
@@ -139,6 +139,7 @@ void getdomaininfo(struct domain *d, str
info->tot_pages = d->tot_pages;
info->max_pages = d->max_pages;
@@ -87,10 +87,10 @@
info->shared_info_frame = mfn_to_gmfn(d, __pa(d->shared_info)>>PAGE_SHIFT);
BUG_ON(SHARED_M2P(info->shared_info_frame));
-Index: xen-4.1.2-testing/xen/include/public/domctl.h
+Index: xen-4.1.3-testing/xen/include/public/domctl.h
===================================================================
---- xen-4.1.2-testing.orig/xen/include/public/domctl.h
-+++ xen-4.1.2-testing/xen/include/public/domctl.h
+--- xen-4.1.3-testing.orig/xen/include/public/domctl.h
++++ xen-4.1.3-testing/xen/include/public/domctl.h
@@ -35,7 +35,7 @@
#include "xen.h"
#include "grant_table.h"
@@ -108,10 +108,10 @@
uint64_aligned_t shared_info_frame; /* GMFN of shared_info struct */
uint64_aligned_t cpu_time;
uint32_t nr_online_vcpus; /* Number of VCPUs currently online. */
-Index: xen-4.1.2-testing/xen/include/xen/sched.h
+Index: xen-4.1.3-testing/xen/include/xen/sched.h
===================================================================
---- xen-4.1.2-testing.orig/xen/include/xen/sched.h
-+++ xen-4.1.2-testing/xen/include/xen/sched.h
+--- xen-4.1.3-testing.orig/xen/include/xen/sched.h
++++ xen-4.1.3-testing/xen/include/xen/sched.h
@@ -215,6 +215,7 @@ struct domain
unsigned int tot_pages; /* number of pages currently possesed */
unsigned int max_pages; /* maximum value for tot_pages */
++++++ 23904-xenpaging_use_p2m-get_entry_in_p2m_mem_paging_functions.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:52.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:52.000000000 +0200
@@ -18,11 +18,11 @@
xen/arch/x86/mm/p2m.c | 25 ++++++++++++++++---------
1 file changed, 16 insertions(+), 9 deletions(-)
-Index: xen-4.1.2-testing/xen/arch/x86/mm/p2m.c
+Index: xen-4.1.3-testing/xen/arch/x86/mm/p2m.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/mm/p2m.c
-+++ xen-4.1.2-testing/xen/arch/x86/mm/p2m.c
-@@ -2839,10 +2839,11 @@ int p2m_mem_paging_nominate(struct p2m_d
+--- xen-4.1.3-testing.orig/xen/arch/x86/mm/p2m.c
++++ xen-4.1.3-testing/xen/arch/x86/mm/p2m.c
+@@ -2845,10 +2845,11 @@ int p2m_mem_paging_nominate(struct p2m_d
{
struct page_info *page;
p2m_type_t p2mt;
@@ -35,7 +35,7 @@
/* Check if mfn is valid */
ret = -EINVAL;
-@@ -2869,7 +2870,7 @@ int p2m_mem_paging_nominate(struct p2m_d
+@@ -2875,7 +2876,7 @@ int p2m_mem_paging_nominate(struct p2m_d
/* Fix p2m entry */
p2m_lock(p2m);
@@ -44,7 +44,7 @@
audit_p2m(p2m, 1);
p2m_unlock(p2m);
-@@ -2883,11 +2884,12 @@ int p2m_mem_paging_evict(struct p2m_doma
+@@ -2889,11 +2890,12 @@ int p2m_mem_paging_evict(struct p2m_doma
{
struct page_info *page;
p2m_type_t p2mt;
@@ -58,7 +58,7 @@
if ( unlikely(!mfn_valid(mfn)) )
return -EINVAL;
-@@ -2906,7 +2908,7 @@ int p2m_mem_paging_evict(struct p2m_doma
+@@ -2912,7 +2914,7 @@ int p2m_mem_paging_evict(struct p2m_doma
/* Remove mapping from p2m table */
p2m_lock(p2m);
@@ -67,7 +67,7 @@
audit_p2m(p2m, 1);
p2m_unlock(p2m);
-@@ -2943,6 +2945,7 @@ void p2m_mem_paging_populate(struct p2m_
+@@ -2949,6 +2951,7 @@ void p2m_mem_paging_populate(struct p2m_
struct vcpu *v = current;
mem_event_request_t req;
p2m_type_t p2mt;
@@ -75,7 +75,7 @@
struct domain *d = p2m->domain;
/* Check that there's space on the ring for this request */
-@@ -2955,11 +2958,11 @@ void p2m_mem_paging_populate(struct p2m_
+@@ -2961,11 +2964,11 @@ void p2m_mem_paging_populate(struct p2m_
/* Fix p2m mapping */
/* XXX: It seems inefficient to have this here, as it's only needed
* in one case (ept guest accessing paging out page) */
@@ -89,7 +89,7 @@
audit_p2m(p2m, 1);
p2m_unlock(p2m);
}
-@@ -2988,7 +2991,10 @@ void p2m_mem_paging_populate(struct p2m_
+@@ -2994,7 +2997,10 @@ void p2m_mem_paging_populate(struct p2m_
int p2m_mem_paging_prep(struct p2m_domain *p2m, unsigned long gfn)
{
struct page_info *page;
@@ -100,7 +100,7 @@
/* Get a free page */
page = alloc_domheap_page(p2m->domain, 0);
if ( unlikely(page == NULL) )
-@@ -2996,7 +3002,7 @@ int p2m_mem_paging_prep(struct p2m_domai
+@@ -3002,7 +3008,7 @@ int p2m_mem_paging_prep(struct p2m_domai
/* Fix p2m mapping */
p2m_lock(p2m);
@@ -109,7 +109,7 @@
audit_p2m(p2m, 1);
p2m_unlock(p2m);
-@@ -3010,6 +3016,7 @@ void p2m_mem_paging_resume(struct p2m_do
+@@ -3016,6 +3022,7 @@ void p2m_mem_paging_resume(struct p2m_do
struct domain *d = p2m->domain;
mem_event_response_t rsp;
p2m_type_t p2mt;
@@ -117,7 +117,7 @@
mfn_t mfn;
/* Pull the response off the ring */
-@@ -3018,9 +3025,9 @@ void p2m_mem_paging_resume(struct p2m_do
+@@ -3024,9 +3031,9 @@ void p2m_mem_paging_resume(struct p2m_do
/* Fix p2m entry if the page was not dropped */
if ( !(rsp.flags & MEM_EVENT_FLAG_DROP_PAGE) )
{
++++++ 23905-xenpaging_fix_locking_in_p2m_mem_paging_functions.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:52.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:52.000000000 +0200
@@ -17,11 +17,11 @@
xen/arch/x86/mm/p2m.c | 42 ++++++++++++++++++++++++++----------------
1 file changed, 26 insertions(+), 16 deletions(-)
-Index: xen-4.1.2-testing/xen/arch/x86/mm/p2m.c
+Index: xen-4.1.3-testing/xen/arch/x86/mm/p2m.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/mm/p2m.c
-+++ xen-4.1.2-testing/xen/arch/x86/mm/p2m.c
-@@ -2843,6 +2843,8 @@ int p2m_mem_paging_nominate(struct p2m_d
+--- xen-4.1.3-testing.orig/xen/arch/x86/mm/p2m.c
++++ xen-4.1.3-testing/xen/arch/x86/mm/p2m.c
+@@ -2849,6 +2849,8 @@ int p2m_mem_paging_nominate(struct p2m_d
mfn_t mfn;
int ret;
@@ -30,7 +30,7 @@
mfn = p2m->get_entry(p2m, gfn, &p2mt, &a, p2m_query);
/* Check if mfn is valid */
-@@ -2869,14 +2871,12 @@ int p2m_mem_paging_nominate(struct p2m_d
+@@ -2875,14 +2877,12 @@ int p2m_mem_paging_nominate(struct p2m_d
goto out;
/* Fix p2m entry */
@@ -46,7 +46,7 @@
return ret;
}
-@@ -2887,30 +2887,31 @@ int p2m_mem_paging_evict(struct p2m_doma
+@@ -2893,30 +2893,31 @@ int p2m_mem_paging_evict(struct p2m_doma
p2m_access_t a;
mfn_t mfn;
struct domain *d = p2m->domain;
@@ -83,7 +83,7 @@
/* Put the page back so it gets freed */
put_page(page);
-@@ -2918,7 +2919,11 @@ int p2m_mem_paging_evict(struct p2m_doma
+@@ -2924,7 +2925,11 @@ int p2m_mem_paging_evict(struct p2m_doma
/* Track number of paged gfns */
atomic_inc(&p2m->domain->paged_pages);
@@ -96,7 +96,7 @@
}
void p2m_mem_paging_drop_page(struct p2m_domain *p2m, unsigned long gfn)
-@@ -2958,14 +2963,14 @@ void p2m_mem_paging_populate(struct p2m_
+@@ -2964,14 +2969,14 @@ void p2m_mem_paging_populate(struct p2m_
/* Fix p2m mapping */
/* XXX: It seems inefficient to have this here, as it's only needed
* in one case (ept guest accessing paging out page) */
@@ -113,7 +113,7 @@
/* Pause domain */
if ( v->domain->domain_id == d->domain_id )
-@@ -2993,22 +2998,27 @@ int p2m_mem_paging_prep(struct p2m_domai
+@@ -2999,22 +3004,27 @@ int p2m_mem_paging_prep(struct p2m_domai
struct page_info *page;
p2m_type_t p2mt;
p2m_access_t a;
@@ -145,7 +145,7 @@
}
void p2m_mem_paging_resume(struct p2m_domain *p2m)
-@@ -3025,8 +3035,8 @@ void p2m_mem_paging_resume(struct p2m_do
+@@ -3031,8 +3041,8 @@ void p2m_mem_paging_resume(struct p2m_do
/* Fix p2m entry if the page was not dropped */
if ( !(rsp.flags & MEM_EVENT_FLAG_DROP_PAGE) )
{
++++++ 23906-xenpaging_remove_confusing_comment_from_p2m_mem_paging_populate.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:52.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:52.000000000 +0200
@@ -20,11 +20,11 @@
xen/arch/x86/mm/p2m.c | 2 --
1 file changed, 2 deletions(-)
-Index: xen-4.1.2-testing/xen/arch/x86/mm/p2m.c
+Index: xen-4.1.3-testing/xen/arch/x86/mm/p2m.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/mm/p2m.c
-+++ xen-4.1.2-testing/xen/arch/x86/mm/p2m.c
-@@ -2961,8 +2961,6 @@ void p2m_mem_paging_populate(struct p2m_
+--- xen-4.1.3-testing.orig/xen/arch/x86/mm/p2m.c
++++ xen-4.1.3-testing/xen/arch/x86/mm/p2m.c
+@@ -2967,8 +2967,6 @@ void p2m_mem_paging_populate(struct p2m_
req.type = MEM_EVENT_TYPE_PAGING;
/* Fix p2m mapping */
++++++ 23943-xenpaging_clear_page_content_after_evict.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:52.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:52.000000000 +0200
@@ -23,10 +23,10 @@
xen/arch/x86/mm/p2m.c | 3 +++
2 files changed, 3 insertions(+), 3 deletions(-)
-Index: xen-4.1.2-testing/tools/xenpaging/xenpaging.c
+Index: xen-4.1.3-testing/tools/xenpaging/xenpaging.c
===================================================================
---- xen-4.1.2-testing.orig/tools/xenpaging/xenpaging.c
-+++ xen-4.1.2-testing/tools/xenpaging/xenpaging.c
+--- xen-4.1.3-testing.orig/tools/xenpaging/xenpaging.c
++++ xen-4.1.3-testing/tools/xenpaging/xenpaging.c
@@ -455,9 +455,6 @@ static int xenpaging_evict_page(xenpagin
goto out;
}
@@ -37,11 +37,11 @@
munmap(page, PAGE_SIZE);
/* Tell Xen to evict page */
-Index: xen-4.1.2-testing/xen/arch/x86/mm/p2m.c
+Index: xen-4.1.3-testing/xen/arch/x86/mm/p2m.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/mm/p2m.c
-+++ xen-4.1.2-testing/xen/arch/x86/mm/p2m.c
-@@ -2916,6 +2916,9 @@ int p2m_mem_paging_evict(struct p2m_doma
+--- xen-4.1.3-testing.orig/xen/arch/x86/mm/p2m.c
++++ xen-4.1.3-testing/xen/arch/x86/mm/p2m.c
+@@ -2919,6 +2919,9 @@ int p2m_mem_paging_evict(struct p2m_doma
set_p2m_entry(p2m, gfn, _mfn(PAGING_MFN), 0, p2m_ram_paged, a);
audit_p2m(p2m, 1);
++++++ 23944-pygrub-debug.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:52.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:52.000000000 +0200
@@ -13,9 +13,10 @@
Acked-by: Ian Campbell <ian.campbell(a)citrix.com>
Committed-by: Ian Jackson <ian.jackson(a)eu.citrix.com>
-diff -r 1185ae04b5aa -r 4b0907c6a08c tools/pygrub/src/pygrub
---- a/tools/pygrub/src/pygrub Tue Oct 11 10:46:28 2011 +0100
-+++ b/tools/pygrub/src/pygrub Tue Oct 11 12:02:58 2011 +0100
+Index: xen-4.1.3-testing/tools/pygrub/src/pygrub
+===================================================================
+--- xen-4.1.3-testing.orig/tools/pygrub/src/pygrub
++++ xen-4.1.3-testing/tools/pygrub/src/pygrub
@@ -13,7 +13,7 @@
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
@@ -25,7 +26,7 @@
import copy
import logging
import platform
-@@ -665,7 +665,7 @@
+@@ -674,7 +674,7 @@ if __name__ == "__main__":
["quiet", "interactive", "not-really", "help",
"output=", "output-format=", "output-directory=",
"entry=", "kernel=",
@@ -34,7 +35,7 @@
except getopt.GetoptError:
usage()
sys.exit(1)
-@@ -679,6 +679,7 @@
+@@ -688,6 +688,7 @@ if __name__ == "__main__":
entry = None
interactive = True
isconfig = False
@@ -42,7 +43,7 @@
not_really = False
output_format = "sxp"
output_directory = "/var/run/xend/boot"
-@@ -714,6 +715,8 @@
+@@ -723,6 +724,8 @@ if __name__ == "__main__":
interactive = False
elif o in ("--isconfig",):
isconfig = True
@@ -51,7 +52,7 @@
elif o in ("--output-format",):
if a not in ["sxp", "simple", "simple0"]:
print "unkonwn output format %s" % a
-@@ -723,6 +726,9 @@
+@@ -732,6 +735,9 @@ if __name__ == "__main__":
elif o in ("--output-directory",):
output_directory = a
@@ -61,7 +62,7 @@
if output is None or output == "-":
fd = sys.stdout.fileno()
else:
-@@ -769,6 +775,8 @@
+@@ -778,6 +784,8 @@ if __name__ == "__main__":
except:
# IOErrors raised by fsimage.open
# RuntimeErrors raised by run_grub if no menu.lst present
++++++ 23949-constify_vcpu_set_affinitys_second_parameter.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:52.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:52.000000000 +0200
@@ -22,10 +22,10 @@
xen/include/xen/sched.h | 2 +-
4 files changed, 6 insertions(+), 17 deletions(-)
-Index: xen-4.1.2-testing/xen/arch/x86/cpu/mcheck/vmce.c
+Index: xen-4.1.3-testing/xen/arch/x86/cpu/mcheck/vmce.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/cpu/mcheck/vmce.c
-+++ xen-4.1.2-testing/xen/arch/x86/cpu/mcheck/vmce.c
+--- xen-4.1.3-testing.orig/xen/arch/x86/cpu/mcheck/vmce.c
++++ xen-4.1.3-testing/xen/arch/x86/cpu/mcheck/vmce.c
@@ -304,7 +304,6 @@ int vmce_wrmsr(u32 msr, u64 val)
int inject_vmce(struct domain *d)
{
@@ -47,11 +47,11 @@
vcpu_kick(d->vcpu[0]);
}
else
-Index: xen-4.1.2-testing/xen/arch/x86/traps.c
+Index: xen-4.1.3-testing/xen/arch/x86/traps.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/traps.c
-+++ xen-4.1.2-testing/xen/arch/x86/traps.c
-@@ -3104,7 +3104,6 @@ static void nmi_mce_softirq(void)
+--- xen-4.1.3-testing.orig/xen/arch/x86/traps.c
++++ xen-4.1.3-testing/xen/arch/x86/traps.c
+@@ -3106,7 +3106,6 @@ static void nmi_mce_softirq(void)
{
int cpu = smp_processor_id();
struct softirq_trap *st = &per_cpu(softirq_trap, cpu);
@@ -59,7 +59,7 @@
BUG_ON(st == NULL);
BUG_ON(st->vcpu == NULL);
-@@ -3120,9 +3119,7 @@ static void nmi_mce_softirq(void)
+@@ -3122,9 +3121,7 @@ static void nmi_mce_softirq(void)
* Make sure to wakeup the vcpu on the
* specified processor.
*/
@@ -70,7 +70,7 @@
/* Affinity is restored in the iret hypercall. */
}
-@@ -3192,14 +3189,11 @@ void async_exception_cleanup(struct vcpu
+@@ -3199,14 +3196,11 @@ void async_exception_cleanup(struct vcpu
!test_and_set_bool(curr->mce_pending) )
{
int cpu = smp_processor_id();
@@ -86,11 +86,11 @@
}
}
}
-Index: xen-4.1.2-testing/xen/common/schedule.c
+Index: xen-4.1.3-testing/xen/common/schedule.c
===================================================================
---- xen-4.1.2-testing.orig/xen/common/schedule.c
-+++ xen-4.1.2-testing/xen/common/schedule.c
-@@ -593,9 +593,9 @@ int cpu_disable_scheduler(unsigned int c
+--- xen-4.1.3-testing.orig/xen/common/schedule.c
++++ xen-4.1.3-testing/xen/common/schedule.c
+@@ -598,9 +598,9 @@ int cpu_disable_scheduler(unsigned int c
return ret;
}
@@ -102,7 +102,7 @@
cpumask_t *online;
if ( v->domain->is_pinned )
-@@ -607,9 +607,7 @@ int vcpu_set_affinity(struct vcpu *v, cp
+@@ -612,9 +612,7 @@ int vcpu_set_affinity(struct vcpu *v, cp
vcpu_schedule_lock_irq(v);
@@ -112,11 +112,11 @@
if ( !cpu_isset(v->processor, v->cpu_affinity) )
set_bit(_VPF_migrating, &v->pause_flags);
-Index: xen-4.1.2-testing/xen/include/xen/sched.h
+Index: xen-4.1.3-testing/xen/include/xen/sched.h
===================================================================
---- xen-4.1.2-testing.orig/xen/include/xen/sched.h
-+++ xen-4.1.2-testing/xen/include/xen/sched.h
-@@ -623,7 +623,7 @@ void scheduler_free(struct scheduler *sc
+--- xen-4.1.3-testing.orig/xen/include/xen/sched.h
++++ xen-4.1.3-testing/xen/include/xen/sched.h
+@@ -624,7 +624,7 @@ void scheduler_free(struct scheduler *sc
int schedule_cpu_switch(unsigned int cpu, struct cpupool *c);
void vcpu_force_reschedule(struct vcpu *v);
int cpu_disable_scheduler(unsigned int cpu);
++++++ 23953-xenpaging_handle_evict_failures.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:52.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:52.000000000 +0200
@@ -35,10 +35,10 @@
xen/include/public/mem_event.h | 1
4 files changed, 50 insertions(+), 24 deletions(-)
-Index: xen-4.1.2-testing/tools/xenpaging/xenpaging.c
+Index: xen-4.1.3-testing/tools/xenpaging/xenpaging.c
===================================================================
---- xen-4.1.2-testing.orig/tools/xenpaging/xenpaging.c
-+++ xen-4.1.2-testing/tools/xenpaging/xenpaging.c
+--- xen-4.1.3-testing.orig/tools/xenpaging/xenpaging.c
++++ xen-4.1.3-testing/tools/xenpaging/xenpaging.c
@@ -734,10 +734,12 @@ int main(int argc, char *argv[])
}
else
@@ -56,11 +56,11 @@
/* Tell Xen to resume the vcpu */
/* XXX: Maybe just check if the vcpu was paused? */
-Index: xen-4.1.2-testing/xen/arch/x86/mm.c
+Index: xen-4.1.3-testing/xen/arch/x86/mm.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/mm.c
-+++ xen-4.1.2-testing/xen/arch/x86/mm.c
-@@ -3502,7 +3502,7 @@ int do_mmu_update(
+--- xen-4.1.3-testing.orig/xen/arch/x86/mm.c
++++ xen-4.1.3-testing/xen/arch/x86/mm.c
+@@ -3504,7 +3504,7 @@ int do_mmu_update(
rc = -ENOENT;
break;
}
@@ -69,7 +69,7 @@
{
rc = -ENOENT;
break;
-@@ -3543,7 +3543,7 @@ int do_mmu_update(
+@@ -3545,7 +3545,7 @@ int do_mmu_update(
rc = -ENOENT;
break;
}
@@ -78,7 +78,7 @@
{
rc = -ENOENT;
break;
-@@ -3572,7 +3572,7 @@ int do_mmu_update(
+@@ -3574,7 +3574,7 @@ int do_mmu_update(
rc = -ENOENT;
break;
}
@@ -87,7 +87,7 @@
{
rc = -ENOENT;
break;
-@@ -3602,7 +3602,7 @@ int do_mmu_update(
+@@ -3604,7 +3604,7 @@ int do_mmu_update(
rc = -ENOENT;
break;
}
@@ -96,11 +96,11 @@
{
rc = -ENOENT;
break;
-Index: xen-4.1.2-testing/xen/arch/x86/mm/p2m.c
+Index: xen-4.1.3-testing/xen/arch/x86/mm/p2m.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/mm/p2m.c
-+++ xen-4.1.2-testing/xen/arch/x86/mm/p2m.c
-@@ -2899,15 +2899,24 @@ int p2m_mem_paging_evict(struct p2m_doma
+--- xen-4.1.3-testing.orig/xen/arch/x86/mm/p2m.c
++++ xen-4.1.3-testing/xen/arch/x86/mm/p2m.c
+@@ -2902,15 +2902,24 @@ int p2m_mem_paging_evict(struct p2m_doma
if ( unlikely(!mfn_valid(mfn)) )
goto out;
@@ -127,7 +127,7 @@
/* Decrement guest domain's ref count of the page */
if ( test_and_clear_bit(_PGC_allocated, &page->count_info) )
put_page(page);
-@@ -2919,14 +2928,15 @@ int p2m_mem_paging_evict(struct p2m_doma
+@@ -2922,14 +2931,15 @@ int p2m_mem_paging_evict(struct p2m_doma
/* Clear content before returning the page to Xen */
scrub_one_page(page);
@@ -146,7 +146,7 @@
out:
p2m_unlock(p2m);
return ret;
-@@ -2957,6 +2967,7 @@ void p2m_mem_paging_populate(struct p2m_
+@@ -2960,6 +2970,7 @@ void p2m_mem_paging_populate(struct p2m_
mem_event_request_t req;
p2m_type_t p2mt;
p2m_access_t a;
@@ -154,7 +154,7 @@
struct domain *d = p2m->domain;
/* Check that there's space on the ring for this request */
-@@ -2968,20 +2979,26 @@ void p2m_mem_paging_populate(struct p2m_
+@@ -2971,20 +2982,26 @@ void p2m_mem_paging_populate(struct p2m_
/* Fix p2m mapping */
p2m_lock(p2m);
@@ -186,7 +186,7 @@
else if ( p2mt != p2m_ram_paging_out && p2mt != p2m_ram_paged )
{
/* gfn is already on its way back and vcpu is not paused */
-@@ -3002,19 +3019,25 @@ int p2m_mem_paging_prep(struct p2m_domai
+@@ -3005,19 +3022,25 @@ int p2m_mem_paging_prep(struct p2m_domai
struct page_info *page;
p2m_type_t p2mt;
p2m_access_t a;
@@ -218,10 +218,10 @@
audit_p2m(p2m, 1);
atomic_dec(&p2m->domain->paged_pages);
-Index: xen-4.1.2-testing/xen/include/public/mem_event.h
+Index: xen-4.1.3-testing/xen/include/public/mem_event.h
===================================================================
---- xen-4.1.2-testing.orig/xen/include/public/mem_event.h
-+++ xen-4.1.2-testing/xen/include/public/mem_event.h
+--- xen-4.1.3-testing.orig/xen/include/public/mem_event.h
++++ xen-4.1.3-testing/xen/include/public/mem_event.h
@@ -38,6 +38,7 @@
/* Memory event flags */
#define MEM_EVENT_FLAG_VCPU_PAUSED (1 << 0)
++++++ 23978-xenpaging_check_p2mt_in_p2m_mem_paging_functions.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:52.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:52.000000000 +0200
@@ -19,11 +19,11 @@
xen/arch/x86/mm/p2m.c | 20 ++++++++++++++++----
1 file changed, 16 insertions(+), 4 deletions(-)
-Index: xen-4.1.2-testing/xen/arch/x86/mm/p2m.c
+Index: xen-4.1.3-testing/xen/arch/x86/mm/p2m.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/mm/p2m.c
-+++ xen-4.1.2-testing/xen/arch/x86/mm/p2m.c
-@@ -3020,16 +3020,22 @@ int p2m_mem_paging_prep(struct p2m_domai
+--- xen-4.1.3-testing.orig/xen/arch/x86/mm/p2m.c
++++ xen-4.1.3-testing/xen/arch/x86/mm/p2m.c
+@@ -3023,16 +3023,22 @@ int p2m_mem_paging_prep(struct p2m_domai
p2m_type_t p2mt;
p2m_access_t a;
mfn_t mfn;
@@ -47,7 +47,7 @@
page = alloc_domheap_page(p2m->domain, 0);
if ( unlikely(page == NULL) )
goto out;
-@@ -3064,9 +3070,15 @@ void p2m_mem_paging_resume(struct p2m_do
+@@ -3067,9 +3073,15 @@ void p2m_mem_paging_resume(struct p2m_do
{
p2m_lock(p2m);
mfn = p2m->get_entry(p2m, rsp.gfn, &p2mt, &a, p2m_query);
++++++ 23979-xenpaging_document_p2m_mem_paging_functions.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:52.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:52.000000000 +0200
@@ -17,11 +17,11 @@
xen/arch/x86/mm/p2m.c | 93 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 93 insertions(+)
-Index: xen-4.1.2-testing/xen/arch/x86/mm/p2m.c
+Index: xen-4.1.3-testing/xen/arch/x86/mm/p2m.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/mm/p2m.c
-+++ xen-4.1.2-testing/xen/arch/x86/mm/p2m.c
-@@ -2838,6 +2838,24 @@ set_shared_p2m_entry(struct p2m_domain *
+--- xen-4.1.3-testing.orig/xen/arch/x86/mm/p2m.c
++++ xen-4.1.3-testing/xen/arch/x86/mm/p2m.c
+@@ -2841,6 +2841,24 @@ set_shared_p2m_entry(struct p2m_domain *
}
#ifdef __x86_64__
@@ -46,7 +46,7 @@
int p2m_mem_paging_nominate(struct p2m_domain *p2m, unsigned long gfn)
{
struct page_info *page;
-@@ -2883,6 +2901,25 @@ int p2m_mem_paging_nominate(struct p2m_d
+@@ -2886,6 +2904,25 @@ int p2m_mem_paging_nominate(struct p2m_d
return ret;
}
@@ -72,7 +72,7 @@
int p2m_mem_paging_evict(struct p2m_domain *p2m, unsigned long gfn)
{
struct page_info *page;
-@@ -2942,6 +2979,15 @@ int p2m_mem_paging_evict(struct p2m_doma
+@@ -2945,6 +2982,15 @@ int p2m_mem_paging_evict(struct p2m_doma
return ret;
}
@@ -88,7 +88,7 @@
void p2m_mem_paging_drop_page(struct p2m_domain *p2m, unsigned long gfn)
{
struct vcpu *v = current;
-@@ -2961,6 +3007,27 @@ void p2m_mem_paging_drop_page(struct p2m
+@@ -2964,6 +3010,27 @@ void p2m_mem_paging_drop_page(struct p2m
}
}
@@ -116,7 +116,7 @@
void p2m_mem_paging_populate(struct p2m_domain *p2m, unsigned long gfn)
{
struct vcpu *v = current;
-@@ -3014,6 +3081,17 @@ void p2m_mem_paging_populate(struct p2m_
+@@ -3017,6 +3084,17 @@ void p2m_mem_paging_populate(struct p2m_
mem_event_put_request(d, &d->mem_paging, &req);
}
@@ -134,7 +134,7 @@
int p2m_mem_paging_prep(struct p2m_domain *p2m, unsigned long gfn)
{
struct page_info *page;
-@@ -3054,6 +3132,21 @@ int p2m_mem_paging_prep(struct p2m_domai
+@@ -3057,6 +3135,21 @@ int p2m_mem_paging_prep(struct p2m_domai
return ret;
}
++++++ 23993-x86-microcode-amd-fix-23871.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:52.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:52.000000000 +0200
@@ -24,11 +24,11 @@
Signed-off-by: Jan Beulich <jbeulich(a)novell.com>
Committed-by: Keir Fraser <keir(a)xen.org>
-Index: xen-4.1.2-testing/xen/arch/x86/microcode_amd.c
+Index: xen-4.1.3-testing/xen/arch/x86/microcode_amd.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/microcode_amd.c
-+++ xen-4.1.2-testing/xen/arch/x86/microcode_amd.c
-@@ -76,14 +76,6 @@ static int microcode_fits(void *mc, int
+--- xen-4.1.3-testing.orig/xen/arch/x86/microcode_amd.c
++++ xen-4.1.3-testing/xen/arch/x86/microcode_amd.c
+@@ -76,14 +76,6 @@ static int microcode_fits(const struct m
/* We should bind the task to the CPU */
BUG_ON(cpu != raw_smp_processor_id());
@@ -43,31 +43,11 @@
current_cpu_id = cpuid_eax(0x00000001);
for ( i = 0; equiv_cpu_table[i].installed_cpu != 0; i++ )
-@@ -96,7 +88,7 @@ static int microcode_fits(void *mc, int
- }
-
- if ( !equiv_cpu_id )
-- return 0;
-+ return 0;
-
- if ( (mc_header->processor_rev_id) != equiv_cpu_id )
- {
-@@ -113,8 +105,7 @@ static int microcode_fits(void *mc, int
+@@ -117,7 +109,6 @@ static int microcode_fits(const struct m
"update with version 0x%x (current=0x%x)\n",
cpu, mc_header->patch_id, uci->cpu_sig.rev);
-out:
-- return 0;
-+ return 1;
+ return 1;
}
- static int apply_microcode(int cpu)
-@@ -289,7 +280,7 @@ static int cpu_request_microcode(int cpu
- while ( (ret = get_next_ucode_from_buffer_amd(mc, buf, size, &offset)) == 0)
- {
- error = microcode_fits(mc, cpu);
-- if (error != 0)
-+ if (error <= 0)
- continue;
-
- error = apply_microcode(cpu);
++++++ 24105-xenpaging_compare_domain_pointer_in_p2m_mem_paging_populate.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:52.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:52.000000000 +0200
@@ -15,11 +15,11 @@
xen/arch/x86/mm/p2m.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-Index: xen-4.1.2-testing/xen/arch/x86/mm/p2m.c
+Index: xen-4.1.3-testing/xen/arch/x86/mm/p2m.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/mm/p2m.c
-+++ xen-4.1.2-testing/xen/arch/x86/mm/p2m.c
-@@ -3060,7 +3060,7 @@ void p2m_mem_paging_populate(struct p2m_
+--- xen-4.1.3-testing.orig/xen/arch/x86/mm/p2m.c
++++ xen-4.1.3-testing/xen/arch/x86/mm/p2m.c
+@@ -3063,7 +3063,7 @@ void p2m_mem_paging_populate(struct p2m_
p2m_unlock(p2m);
/* Pause domain if request came from guest and gfn has paging type */
++++++ 24123-x86-cpuidle-quiesce.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:52.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:52.000000000 +0200
@@ -14,9 +14,11 @@
Signed-off-by: Jan Beulich <jbeulich(a)suse.com>
Acked-by: Keir Fraser <keir(a)xen.org>
---- a/xen/arch/x86/acpi/cpu_idle.c
-+++ b/xen/arch/x86/acpi/cpu_idle.c
-@@ -659,6 +659,8 @@ static int acpi_processor_ffh_cstate_pro
+Index: xen-4.1.3-testing/xen/arch/x86/acpi/cpu_idle.c
+===================================================================
+--- xen-4.1.3-testing.orig/xen/arch/x86/acpi/cpu_idle.c
++++ xen-4.1.3-testing/xen/arch/x86/acpi/cpu_idle.c
+@@ -654,6 +654,8 @@ static int acpi_processor_ffh_cstate_pro
unsigned int edx_part;
unsigned int cstate_type; /* C-state type and not ACPI C-state type */
unsigned int num_cstate_subtype;
@@ -25,7 +27,7 @@
if ( c->cpuid_level < CPUID_MWAIT_LEAF )
{
-@@ -667,8 +669,9 @@ static int acpi_processor_ffh_cstate_pro
+@@ -662,8 +664,9 @@ static int acpi_processor_ffh_cstate_pro
}
cpuid(CPUID_MWAIT_LEAF, &eax, &ebx, &ecx, &edx);
@@ -37,7 +39,7 @@
/* Check whether this particular cx_type (in CST) is supported or not */
cstate_type = (cx->reg.address >> MWAIT_SUBSTATE_SIZE) + 1;
-@@ -676,15 +679,16 @@ static int acpi_processor_ffh_cstate_pro
+@@ -671,15 +674,16 @@ static int acpi_processor_ffh_cstate_pro
num_cstate_subtype = edx_part & MWAIT_SUBSTATE_MASK;
if ( num_cstate_subtype < (cx->reg.address & MWAIT_SUBSTATE_MASK) )
++++++ 24124-x86-microcode-amd-quiesce.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:52.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:52.000000000 +0200
@@ -12,8 +12,10 @@
Signed-off-by: Jan Beulich <jbeulich(a)suse.com>
Acked-by: Keir Fraser <keir(a)xen.org>
---- a/xen/arch/x86/microcode_amd.c
-+++ b/xen/arch/x86/microcode_amd.c
+Index: xen-4.1.3-testing/xen/arch/x86/microcode_amd.c
+===================================================================
+--- xen-4.1.3-testing.orig/xen/arch/x86/microcode_amd.c
++++ xen-4.1.3-testing/xen/arch/x86/microcode_amd.c
@@ -59,7 +59,7 @@ static int collect_cpu_info(int cpu, str
rdmsrl(MSR_AMD_PATCHLEVEL, csig->rev);
@@ -23,7 +25,7 @@
csig->rev);
return 0;
-@@ -92,7 +92,7 @@ static int microcode_fits(void *mc, int
+@@ -96,7 +96,7 @@ static int microcode_fits(const struct m
if ( (mc_header->processor_rev_id) != equiv_cpu_id )
{
@@ -32,31 +34,30 @@
"(patch is %x, cpu base id is %x) \n",
cpu, mc_header->processor_rev_id, equiv_cpu_id);
return -EINVAL;
-@@ -101,7 +101,7 @@ static int microcode_fits(void *mc, int
+@@ -105,7 +105,7 @@ static int microcode_fits(const struct m
if ( mc_header->patch_id <= uci->cpu_sig.rev )
- return -EINVAL;
+ return 0;
- printk(KERN_INFO "microcode: CPU%d found a matching microcode "
+ printk(KERN_DEBUG "microcode: CPU%d found a matching microcode "
"update with version 0x%x (current=0x%x)\n",
cpu, mc_header->patch_id, uci->cpu_sig.rev);
-@@ -139,8 +139,7 @@ static int apply_microcode(int cpu)
+@@ -148,7 +148,7 @@ static int apply_microcode(int cpu)
return -EIO;
}
- printk("microcode: CPU%d updated from revision "
-- "0x%x to 0x%x \n",
-+ printk(KERN_INFO "microcode: CPU%d updated from revision %#x to %#x\n",
- cpu, uci->cpu_sig.rev, mc_amd->hdr.patch_id);
-
- uci->cpu_sig.rev = rev;
-@@ -173,7 +172,7 @@ static int get_next_ucode_from_buffer_am
++ printk(KERN_INFO "microcode: CPU%d updated from revision "
+ "0x%x to 0x%x \n",
+ cpu, uci->cpu_sig.rev, hdr->patch_id);
- total_size = (unsigned long) (bufp[off+4] + (bufp[off+5] << 8));
+@@ -179,7 +179,7 @@ static int get_next_ucode_from_buffer_am
+ return -EINVAL;
+ }
-- printk(KERN_INFO "microcode: size %lu, total_size %lu, offset %ld\n",
-+ printk(KERN_DEBUG "microcode: size %lu, total_size %lu, offset %ld\n",
- (unsigned long)size, total_size, off);
+- printk(KERN_INFO "microcode: size %lu, total_size %u, offset %ld\n",
++ printk(KERN_DEBUG "microcode: size %lu, total_size %u, offset %ld\n",
+ bufsize, mpbuf->len, off);
- if ( (off + total_size) > size )
+ if ( (off + mpbuf->len) > bufsize )
++++++ 24153-x86-emul-feature-checks.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:52.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:52.000000000 +0200
@@ -14,8 +14,10 @@
Signed-off-by: Jan Beulich <jbeulich(a)suse.com>
Signed-off-by: Keir Fraser <keir(a)xen.org>
---- a/xen/arch/x86/x86_emulate/x86_emulate.c
-+++ b/xen/arch/x86/x86_emulate/x86_emulate.c
+Index: xen-4.1.3-testing/xen/arch/x86/x86_emulate/x86_emulate.c
+===================================================================
+--- xen-4.1.3-testing.orig/xen/arch/x86/x86_emulate/x86_emulate.c
++++ xen-4.1.3-testing/xen/arch/x86/x86_emulate/x86_emulate.c
@@ -955,6 +955,47 @@ in_protmode(
return !(in_realmode(ctxt, ops) || (ctxt->regs->eflags & EFLG_VM));
}
@@ -64,7 +66,7 @@
static int
in_longmode(
struct x86_emulate_ctxt *ctxt,
-@@ -2738,6 +2779,7 @@ x86_emulate(
+@@ -2741,6 +2782,7 @@ x86_emulate(
emulate_fpu_insn_memsrc("fildl", src.val);
break;
case 1: /* fisttp m32i */
@@ -72,7 +74,7 @@
ea.bytes = 4;
dst = ea;
dst.type = OP_MEM;
-@@ -2846,6 +2888,7 @@ x86_emulate(
+@@ -2849,6 +2891,7 @@ x86_emulate(
emulate_fpu_insn_memsrc("fldl", src.val);
break;
case 1: /* fisttp m64i */
@@ -80,7 +82,7 @@
ea.bytes = 8;
dst = ea;
dst.type = OP_MEM;
-@@ -2953,6 +2996,7 @@ x86_emulate(
+@@ -2956,6 +2999,7 @@ x86_emulate(
emulate_fpu_insn_memsrc("fild", src.val);
break;
case 1: /* fisttp m16i */
@@ -88,7 +90,7 @@
ea.bytes = 2;
dst = ea;
dst.type = OP_MEM;
-@@ -4141,6 +4185,7 @@ x86_emulate(
+@@ -4144,6 +4188,7 @@ x86_emulate(
case 0xc3: /* movnti */
/* Ignore the non-temporal hint for now. */
@@ -96,7 +98,7 @@
generate_exception_if(dst.bytes <= 2, EXC_UD, -1);
dst.val = src.val;
break;
-@@ -4151,6 +4196,8 @@ x86_emulate(
+@@ -4154,6 +4199,8 @@ x86_emulate(
generate_exception_if((modrm_reg & 7) != 1, EXC_UD, -1);
generate_exception_if(ea.type != OP_MEM, EXC_UD, -1);
++++++ 24222-xenpaging_use_guests_tot_pages_as_working_target.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:52.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:52.000000000 +0200
@@ -19,10 +19,10 @@
tools/xenpaging/xenpaging.h | 2 -
3 files changed, 61 insertions(+), 20 deletions(-)
-Index: xen-4.1.2-testing/tools/xenpaging/policy_default.c
+Index: xen-4.1.3-testing/tools/xenpaging/policy_default.c
===================================================================
---- xen-4.1.2-testing.orig/tools/xenpaging/policy_default.c
-+++ xen-4.1.2-testing/tools/xenpaging/policy_default.c
+--- xen-4.1.3-testing.orig/tools/xenpaging/policy_default.c
++++ xen-4.1.3-testing/tools/xenpaging/policy_default.c
@@ -71,7 +71,6 @@ int policy_init(xenpaging_t *paging)
/* Start in the middle to avoid paging during BIOS startup */
@@ -31,10 +31,10 @@
rc = 0;
out:
-Index: xen-4.1.2-testing/tools/xenpaging/xenpaging.c
+Index: xen-4.1.3-testing/tools/xenpaging/xenpaging.c
===================================================================
---- xen-4.1.2-testing.orig/tools/xenpaging/xenpaging.c
-+++ xen-4.1.2-testing/tools/xenpaging/xenpaging.c
+--- xen-4.1.3-testing.orig/tools/xenpaging/xenpaging.c
++++ xen-4.1.3-testing/tools/xenpaging/xenpaging.c
@@ -136,6 +136,21 @@ err:
return rc;
}
@@ -177,10 +177,10 @@
}
DPRINTF("xenpaging got signal %d\n", interrupted);
-Index: xen-4.1.2-testing/tools/xenpaging/xenpaging.h
+Index: xen-4.1.3-testing/tools/xenpaging/xenpaging.h
===================================================================
---- xen-4.1.2-testing.orig/tools/xenpaging/xenpaging.h
-+++ xen-4.1.2-testing/tools/xenpaging/xenpaging.h
+--- xen-4.1.3-testing.orig/tools/xenpaging/xenpaging.h
++++ xen-4.1.3-testing/tools/xenpaging/xenpaging.h
@@ -50,7 +50,7 @@ typedef struct xenpaging {
/* number of pages for which data structures were allocated */
int max_pages;
++++++ 24269-mem_event_move_mem_event_domain_out_of_struct_domain.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:52.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:52.000000000 +0200
@@ -25,9 +25,11 @@
xen/include/xen/sched.h | 18 ++++++++++++------
6 files changed, 34 insertions(+), 23 deletions(-)
---- a/xen/arch/x86/hvm/hvm.c
-+++ b/xen/arch/x86/hvm/hvm.c
-@@ -3909,7 +3909,7 @@ static int hvm_memory_event_traps(long p
+Index: xen-4.1.3-testing/xen/arch/x86/hvm/hvm.c
+===================================================================
+--- xen-4.1.3-testing.orig/xen/arch/x86/hvm/hvm.c
++++ xen-4.1.3-testing/xen/arch/x86/hvm/hvm.c
+@@ -3920,7 +3920,7 @@ static int hvm_memory_event_traps(long p
if ( (p & HVMPME_onchangeonly) && (value == old) )
return 1;
@@ -36,7 +38,7 @@
if ( rc )
return rc;
-@@ -3932,7 +3932,7 @@ static int hvm_memory_event_traps(long p
+@@ -3943,7 +3943,7 @@ static int hvm_memory_event_traps(long p
req.gla_valid = 1;
}
@@ -45,8 +47,10 @@
return 1;
}
---- a/xen/arch/x86/mm/mem_event.c
-+++ b/xen/arch/x86/mm/mem_event.c
+Index: xen-4.1.3-testing/xen/arch/x86/mm/mem_event.c
+===================================================================
+--- xen-4.1.3-testing.orig/xen/arch/x86/mm/mem_event.c
++++ xen-4.1.3-testing/xen/arch/x86/mm/mem_event.c
@@ -252,7 +252,7 @@ int mem_event_domctl(struct domain *d, x
{
case XEN_DOMCTL_MEM_EVENT_OP_PAGING:
@@ -74,8 +78,10 @@
}
break;
---- a/xen/arch/x86/mm/mem_sharing.c
-+++ b/xen/arch/x86/mm/mem_sharing.c
+Index: xen-4.1.3-testing/xen/arch/x86/mm/mem_sharing.c
+===================================================================
+--- xen-4.1.3-testing.orig/xen/arch/x86/mm/mem_sharing.c
++++ xen-4.1.3-testing/xen/arch/x86/mm/mem_sharing.c
@@ -322,12 +322,12 @@ static struct page_info* mem_sharing_all
req.flags |= MEM_EVENT_FLAG_VCPU_PAUSED;
}
@@ -100,9 +106,11 @@
/* Unpause domain/vcpu */
if( rsp.flags & MEM_EVENT_FLAG_VCPU_PAUSED )
---- a/xen/arch/x86/mm/p2m.c
-+++ b/xen/arch/x86/mm/p2m.c
-@@ -2996,7 +2996,7 @@ void p2m_mem_paging_drop_page(struct p2m
+Index: xen-4.1.3-testing/xen/arch/x86/mm/p2m.c
+===================================================================
+--- xen-4.1.3-testing.orig/xen/arch/x86/mm/p2m.c
++++ xen-4.1.3-testing/xen/arch/x86/mm/p2m.c
+@@ -2998,7 +2998,7 @@ void p2m_mem_paging_drop_page(struct p2m
struct domain *d = p2m->domain;
/* Check that there's space on the ring for this request */
@@ -111,7 +119,7 @@
{
/* Send release notification to pager */
memset(&req, 0, sizeof(req));
-@@ -3004,7 +3004,7 @@ void p2m_mem_paging_drop_page(struct p2m
+@@ -3006,7 +3006,7 @@ void p2m_mem_paging_drop_page(struct p2m
req.gfn = gfn;
req.vcpu_id = v->vcpu_id;
@@ -120,7 +128,7 @@
}
}
-@@ -3039,7 +3039,7 @@ void p2m_mem_paging_populate(struct p2m_
+@@ -3041,7 +3041,7 @@ void p2m_mem_paging_populate(struct p2m_
struct domain *d = p2m->domain;
/* Check that there's space on the ring for this request */
@@ -129,7 +137,7 @@
return;
memset(&req, 0, sizeof(req));
-@@ -3070,7 +3070,7 @@ void p2m_mem_paging_populate(struct p2m_
+@@ -3072,7 +3072,7 @@ void p2m_mem_paging_populate(struct p2m_
else if ( p2mt != p2m_ram_paging_out && p2mt != p2m_ram_paged )
{
/* gfn is already on its way back and vcpu is not paused */
@@ -138,7 +146,7 @@
return;
}
-@@ -3079,7 +3079,7 @@ void p2m_mem_paging_populate(struct p2m_
+@@ -3081,7 +3081,7 @@ void p2m_mem_paging_populate(struct p2m_
req.p2mt = p2mt;
req.vcpu_id = v->vcpu_id;
@@ -147,7 +155,7 @@
}
/**
-@@ -3157,7 +3157,7 @@ void p2m_mem_paging_resume(struct p2m_do
+@@ -3159,7 +3159,7 @@ void p2m_mem_paging_resume(struct p2m_do
mfn_t mfn;
/* Pull the response off the ring */
@@ -156,7 +164,7 @@
/* Fix p2m entry if the page was not dropped */
if ( !(rsp.flags & MEM_EVENT_FLAG_DROP_PAGE) )
-@@ -3210,7 +3210,7 @@ void p2m_mem_access_check(unsigned long
+@@ -3212,7 +3212,7 @@ void p2m_mem_access_check(paddr_t gpa, b
p2m_unlock(p2m);
/* Otherwise, check if there is a memory event listener, and send the message along */
@@ -165,7 +173,7 @@
if ( res < 0 )
{
/* No listener */
-@@ -3254,7 +3254,7 @@ void p2m_mem_access_check(unsigned long
+@@ -3256,7 +3256,7 @@ void p2m_mem_access_check(paddr_t gpa, b
req.vcpu_id = v->vcpu_id;
@@ -174,7 +182,7 @@
/* VCPU paused, mem event request sent */
}
-@@ -3264,7 +3264,7 @@ void p2m_mem_access_resume(struct p2m_do
+@@ -3266,7 +3266,7 @@ void p2m_mem_access_resume(struct p2m_do
struct domain *d = p2m->domain;
mem_event_response_t rsp;
@@ -183,8 +191,10 @@
/* Unpause domain */
if ( rsp.flags & MEM_EVENT_FLAG_VCPU_PAUSED )
---- a/xen/common/domain.c
-+++ b/xen/common/domain.c
+Index: xen-4.1.3-testing/xen/common/domain.c
+===================================================================
+--- xen-4.1.3-testing.orig/xen/common/domain.c
++++ xen-4.1.3-testing/xen/common/domain.c
@@ -298,6 +298,10 @@ struct domain *domain_create(
init_status |= INIT_gnttab;
@@ -204,8 +214,10 @@
if ( init_status & INIT_arch )
arch_domain_destroy(d);
if ( init_status & INIT_gnttab )
---- a/xen/include/xen/sched.h
-+++ b/xen/include/xen/sched.h
+Index: xen-4.1.3-testing/xen/include/xen/sched.h
+===================================================================
+--- xen-4.1.3-testing.orig/xen/include/xen/sched.h
++++ xen-4.1.3-testing/xen/include/xen/sched.h
@@ -201,6 +201,16 @@ struct mem_event_domain
int xen_port;
};
++++++ 24275-x86-emul-lzcnt.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:52.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:52.000000000 +0200
@@ -12,8 +12,10 @@
Signed-off-by: Jan Beulich <jbeulich(a)suse.com>
---- a/xen/arch/x86/x86_emulate/x86_emulate.c
-+++ b/xen/arch/x86/x86_emulate/x86_emulate.c
+Index: xen-4.1.3-testing/xen/arch/x86/x86_emulate/x86_emulate.c
+===================================================================
+--- xen-4.1.3-testing.orig/xen/arch/x86/x86_emulate/x86_emulate.c
++++ xen-4.1.3-testing/xen/arch/x86/x86_emulate/x86_emulate.c
@@ -990,6 +990,9 @@ static bool_t vcpu_has(
return rc == X86EMUL_OKAY;
}
@@ -24,7 +26,7 @@
#define vcpu_must_have(leaf, reg, bit) \
generate_exception_if(!vcpu_has(leaf, reg, bit, ctxt, ops), EXC_UD, -1)
#define vcpu_must_have_sse2() vcpu_must_have(0x00000001, EDX, 26)
-@@ -4114,13 +4117,24 @@ x86_emulate(
+@@ -4117,13 +4120,24 @@ x86_emulate(
dst.val = (uint8_t)src.val;
break;
@@ -53,7 +55,7 @@
{
_regs.eflags |= EFLG_ZF;
dst.type = OP_NONE;
-@@ -4128,13 +4142,28 @@ x86_emulate(
+@@ -4131,13 +4145,28 @@ x86_emulate(
break;
}
++++++ 24318-x86-mm_Fix_checks_during_foreign_mapping_of_paged_pages.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:52.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:52.000000000 +0200
@@ -17,11 +17,11 @@
xen/arch/x86/mm.c | 24 ++++++++++++++++--------
1 file changed, 16 insertions(+), 8 deletions(-)
-Index: xen-4.1.2-testing/xen/arch/x86/mm.c
+Index: xen-4.1.3-testing/xen/arch/x86/mm.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/mm.c
-+++ xen-4.1.2-testing/xen/arch/x86/mm.c
-@@ -3492,8 +3492,9 @@ int do_mmu_update(
+--- xen-4.1.3-testing.orig/xen/arch/x86/mm.c
++++ xen-4.1.3-testing/xen/arch/x86/mm.c
+@@ -3494,8 +3494,9 @@ int do_mmu_update(
{
l1_pgentry_t l1e = l1e_from_intpte(req.val);
p2m_type_t l1e_p2mt;
@@ -32,17 +32,17 @@
if ( p2m_is_paged(l1e_p2mt) )
{
-@@ -3502,7 +3503,8 @@ int do_mmu_update(
+@@ -3504,7 +3505,8 @@ int do_mmu_update(
rc = -ENOENT;
break;
}
- else if ( p2m_ram_paging_in_start == l1e_p2mt && !mfn_valid(mfn) )
-+ else if ( p2m_ram_paging_in_start == l1e_p2mt &&
++ else if ( p2m_ram_paging_in_start == l1e_p2mt &&
+ !mfn_valid(l1emfn) )
{
rc = -ENOENT;
break;
-@@ -3534,7 +3536,8 @@ int do_mmu_update(
+@@ -3536,7 +3538,8 @@ int do_mmu_update(
{
l2_pgentry_t l2e = l2e_from_intpte(req.val);
p2m_type_t l2e_p2mt;
@@ -52,17 +52,17 @@
if ( p2m_is_paged(l2e_p2mt) )
{
-@@ -3543,7 +3546,8 @@ int do_mmu_update(
+@@ -3545,7 +3548,8 @@ int do_mmu_update(
rc = -ENOENT;
break;
}
- else if ( p2m_ram_paging_in_start == l2e_p2mt && !mfn_valid(mfn) )
-+ else if ( p2m_ram_paging_in_start == l2e_p2mt &&
++ else if ( p2m_ram_paging_in_start == l2e_p2mt &&
+ !mfn_valid(l2emfn) )
{
rc = -ENOENT;
break;
-@@ -3563,7 +3567,8 @@ int do_mmu_update(
+@@ -3565,7 +3569,8 @@ int do_mmu_update(
{
l3_pgentry_t l3e = l3e_from_intpte(req.val);
p2m_type_t l3e_p2mt;
@@ -72,17 +72,17 @@
if ( p2m_is_paged(l3e_p2mt) )
{
-@@ -3572,7 +3577,8 @@ int do_mmu_update(
+@@ -3574,7 +3579,8 @@ int do_mmu_update(
rc = -ENOENT;
break;
}
- else if ( p2m_ram_paging_in_start == l3e_p2mt && !mfn_valid(mfn) )
-+ else if ( p2m_ram_paging_in_start == l3e_p2mt &&
++ else if ( p2m_ram_paging_in_start == l3e_p2mt &&
+ !mfn_valid(l3emfn) )
{
rc = -ENOENT;
break;
-@@ -3592,8 +3598,9 @@ int do_mmu_update(
+@@ -3594,8 +3600,9 @@ int do_mmu_update(
{
l4_pgentry_t l4e = l4e_from_intpte(req.val);
p2m_type_t l4e_p2mt;
@@ -93,12 +93,12 @@
if ( p2m_is_paged(l4e_p2mt) )
{
-@@ -3602,7 +3609,8 @@ int do_mmu_update(
+@@ -3604,7 +3611,8 @@ int do_mmu_update(
rc = -ENOENT;
break;
}
- else if ( p2m_ram_paging_in_start == l4e_p2mt && !mfn_valid(mfn) )
-+ else if ( p2m_ram_paging_in_start == l4e_p2mt &&
++ else if ( p2m_ram_paging_in_start == l4e_p2mt &&
+ !mfn_valid(l4emfn) )
{
rc = -ENOENT;
++++++ 24327-After_preparing_a_page_for_page-in_allow_immediate_fill-in_of_the_page_contents.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:52.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:52.000000000 +0200
@@ -33,8 +33,10 @@
xen/include/public/domctl.h | 8 ++++++--
5 files changed, 39 insertions(+), 7 deletions(-)
---- a/xen/arch/x86/mm/mem_event.c
-+++ b/xen/arch/x86/mm/mem_event.c
+Index: xen-4.1.3-testing/xen/arch/x86/mm/mem_event.c
+===================================================================
+--- xen-4.1.3-testing.orig/xen/arch/x86/mm/mem_event.c
++++ xen-4.1.3-testing/xen/arch/x86/mm/mem_event.c
@@ -45,7 +45,7 @@ static int mem_event_enable(struct domai
struct domain *dom_mem_event = current->domain;
struct vcpu *v = current;
@@ -44,9 +46,11 @@
l1_pgentry_t l1e;
unsigned long gfn;
p2m_type_t p2mt;
---- a/xen/arch/x86/mm/mem_paging.c
-+++ b/xen/arch/x86/mm/mem_paging.c
-@@ -50,7 +50,7 @@ int mem_paging_domctl(struct domain *d,
+Index: xen-4.1.3-testing/xen/arch/x86/mm/mem_paging.c
+===================================================================
+--- xen-4.1.3-testing.orig/xen/arch/x86/mm/mem_paging.c
++++ xen-4.1.3-testing/xen/arch/x86/mm/mem_paging.c
+@@ -50,7 +50,7 @@ int mem_paging_domctl(struct domain *d,
case XEN_DOMCTL_MEM_EVENT_OP_PAGING_PREP:
{
unsigned long gfn = mec->gfn;
@@ -55,9 +59,11 @@
}
break;
---- a/xen/arch/x86/mm/p2m.c
-+++ b/xen/arch/x86/mm/p2m.c
-@@ -3093,13 +3093,20 @@ void p2m_mem_paging_populate(struct p2m_
+Index: xen-4.1.3-testing/xen/arch/x86/mm/p2m.c
+===================================================================
+--- xen-4.1.3-testing.orig/xen/arch/x86/mm/p2m.c
++++ xen-4.1.3-testing/xen/arch/x86/mm/p2m.c
+@@ -3095,13 +3095,20 @@ void p2m_mem_paging_populate(struct p2m_
* mfn if populate was called for gfn which was nominated but not evicted. In
* this case only the p2mt needs to be forwarded.
*/
@@ -80,7 +86,7 @@
p2m_lock(p2m);
-@@ -3119,6 +3126,28 @@ int p2m_mem_paging_prep(struct p2m_domai
+@@ -3121,6 +3128,28 @@ int p2m_mem_paging_prep(struct p2m_domai
if ( unlikely(page == NULL) )
goto out;
mfn = page_to_mfn(page);
@@ -109,9 +115,11 @@
}
/* Fix p2m mapping */
---- a/xen/include/asm-x86/p2m.h
-+++ b/xen/include/asm-x86/p2m.h
-@@ -524,7 +524,7 @@ void p2m_mem_paging_drop_page(struct p2m
+Index: xen-4.1.3-testing/xen/include/asm-x86/p2m.h
+===================================================================
+--- xen-4.1.3-testing.orig/xen/include/asm-x86/p2m.h
++++ xen-4.1.3-testing/xen/include/asm-x86/p2m.h
+@@ -526,7 +526,7 @@ void p2m_mem_paging_drop_page(struct p2m
/* Start populating a paged out frame */
void p2m_mem_paging_populate(struct p2m_domain *p2m, unsigned long gfn);
/* Prepare the p2m for paging a frame in */
@@ -120,8 +128,10 @@
/* Resume normal operation (in case a domain was paused) */
void p2m_mem_paging_resume(struct p2m_domain *p2m);
#else
---- a/xen/include/public/domctl.h
-+++ b/xen/include/public/domctl.h
+Index: xen-4.1.3-testing/xen/include/public/domctl.h
+===================================================================
+--- xen-4.1.3-testing.orig/xen/include/public/domctl.h
++++ xen-4.1.3-testing/xen/include/public/domctl.h
@@ -741,8 +741,12 @@ struct xen_domctl_mem_event_op {
uint32_t op; /* XEN_DOMCTL_MEM_EVENT_OP_*_* */
uint32_t mode; /* XEN_DOMCTL_MEM_EVENT_OP_* */
++++++ 24459-libxl-vifname.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:52.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:52.000000000 +0200
@@ -11,11 +11,11 @@
Acked-by: Ian Campbell <ian.campbell.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
-Index: xen-4.1.2-testing/tools/libxl/libxl.c
+Index: xen-4.1.3-testing/tools/libxl/libxl.c
===================================================================
---- xen-4.1.2-testing.orig/tools/libxl/libxl.c
-+++ xen-4.1.2-testing/tools/libxl/libxl.c
-@@ -1233,6 +1233,12 @@ int libxl_device_nic_add(libxl_ctx *ctx,
+--- xen-4.1.3-testing.orig/tools/libxl/libxl.c
++++ xen-4.1.3-testing/tools/libxl/libxl.c
+@@ -1239,6 +1239,12 @@ int libxl_device_nic_add(libxl_ctx *ctx,
flexarray_append(back, libxl__sprintf(&gc, "%02x:%02x:%02x:%02x:%02x:%02x",
nic->mac[0], nic->mac[1], nic->mac[2],
nic->mac[3], nic->mac[4], nic->mac[5]));
++++++ 24586-x86-mm_Properly_account_for_paged_out_pages.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:52.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:52.000000000 +0200
@@ -17,11 +17,11 @@
xen/arch/x86/mm/p2m.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
-Index: xen-4.1.2-testing/xen/arch/x86/mm/p2m.c
+Index: xen-4.1.3-testing/xen/arch/x86/mm/p2m.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/mm/p2m.c
-+++ xen-4.1.2-testing/xen/arch/x86/mm/p2m.c
-@@ -3154,7 +3154,8 @@ int p2m_mem_paging_prep(struct p2m_domai
+--- xen-4.1.3-testing.orig/xen/arch/x86/mm/p2m.c
++++ xen-4.1.3-testing/xen/arch/x86/mm/p2m.c
+@@ -3156,7 +3156,8 @@ int p2m_mem_paging_prep(struct p2m_domai
set_p2m_entry(p2m, gfn, mfn, 0, p2m_ram_paging_in, a);
audit_p2m(p2m, 1);
++++++ 24780-x86-paging-use-clear_guest.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:52.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:52.000000000 +0200
@@ -17,9 +17,11 @@
(Include necessary prerequisite bits from 24543:d6cdbc4fe078
"Introduce clear_user and clear_guest".)
---- a/xen/arch/x86/hvm/hvm.c
-+++ b/xen/arch/x86/hvm/hvm.c
-@@ -2163,6 +2163,86 @@ static enum hvm_copy_result __hvm_copy(
+Index: xen-4.1.3-testing/xen/arch/x86/hvm/hvm.c
+===================================================================
+--- xen-4.1.3-testing.orig/xen/arch/x86/hvm/hvm.c
++++ xen-4.1.3-testing/xen/arch/x86/hvm/hvm.c
+@@ -2171,6 +2171,86 @@ static enum hvm_copy_result __hvm_copy(
return HVMCOPY_okay;
}
@@ -106,7 +108,7 @@
enum hvm_copy_result hvm_copy_to_guest_phys(
paddr_t paddr, void *buf, int size)
{
-@@ -2249,6 +2329,23 @@ unsigned long copy_to_user_hvm(void *to,
+@@ -2257,6 +2337,23 @@ unsigned long copy_to_user_hvm(void *to,
return rc ? len : 0; /* fake a copy_to_user() return code */
}
@@ -130,8 +132,10 @@
unsigned long copy_from_user_hvm(void *to, const void *from, unsigned len)
{
int rc;
---- a/xen/arch/x86/mm/paging.c
-+++ b/xen/arch/x86/mm/paging.c
+Index: xen-4.1.3-testing/xen/arch/x86/mm/paging.c
+===================================================================
+--- xen-4.1.3-testing.orig/xen/arch/x86/mm/paging.c
++++ xen-4.1.3-testing/xen/arch/x86/mm/paging.c
@@ -21,11 +21,11 @@
*/
@@ -248,8 +252,10 @@
b1 = b1 & 0x7;
}
b2 = 0;
---- a/xen/arch/x86/usercopy.c
-+++ b/xen/arch/x86/usercopy.c
+Index: xen-4.1.3-testing/xen/arch/x86/usercopy.c
+===================================================================
+--- xen-4.1.3-testing.orig/xen/arch/x86/usercopy.c
++++ xen-4.1.3-testing/xen/arch/x86/usercopy.c
@@ -110,6 +110,42 @@ copy_to_user(void __user *to, const void
return n;
}
@@ -293,8 +299,10 @@
/**
* copy_from_user: - Copy a block of data from user space.
* @to: Destination address, in kernel space.
---- a/xen/include/asm-x86/guest_access.h
-+++ b/xen/include/asm-x86/guest_access.h
+Index: xen-4.1.3-testing/xen/include/asm-x86/guest_access.h
+===================================================================
+--- xen-4.1.3-testing.orig/xen/include/asm-x86/guest_access.h
++++ xen-4.1.3-testing/xen/include/asm-x86/guest_access.h
@@ -21,6 +21,10 @@
(is_hvm_vcpu(current) ? \
copy_from_user_hvm((dst), (src), (len)) : \
@@ -341,8 +349,10 @@
#define __copy_field_to_guest(hnd, ptr, field) ({ \
const typeof(&(ptr)->field) _s = &(ptr)->field; \
void *_d = &(hnd).p->field; \
---- a/xen/include/asm-x86/hvm/guest_access.h
-+++ b/xen/include/asm-x86/hvm/guest_access.h
+Index: xen-4.1.3-testing/xen/include/asm-x86/hvm/guest_access.h
+===================================================================
+--- xen-4.1.3-testing.orig/xen/include/asm-x86/hvm/guest_access.h
++++ xen-4.1.3-testing/xen/include/asm-x86/hvm/guest_access.h
@@ -2,6 +2,7 @@
#define __ASM_X86_HVM_GUEST_ACCESS_H__
@@ -351,8 +361,10 @@
unsigned long copy_from_user_hvm(void *to, const void *from, unsigned len);
#endif /* __ASM_X86_HVM_GUEST_ACCESS_H__ */
---- a/xen/include/asm-x86/uaccess.h
-+++ b/xen/include/asm-x86/uaccess.h
+Index: xen-4.1.3-testing/xen/include/asm-x86/uaccess.h
+===================================================================
+--- xen-4.1.3-testing.orig/xen/include/asm-x86/uaccess.h
++++ xen-4.1.3-testing/xen/include/asm-x86/uaccess.h
@@ -16,6 +16,7 @@
#endif
@@ -361,8 +373,10 @@
unsigned long copy_from_user(void *to, const void *from, unsigned len);
/* Handles exceptions in both to and from, but doesn't do access_ok */
unsigned long __copy_to_user_ll(void *to, const void *from, unsigned n);
---- a/xen/include/xen/guest_access.h
-+++ b/xen/include/xen/guest_access.h
+Index: xen-4.1.3-testing/xen/include/xen/guest_access.h
+===================================================================
+--- xen-4.1.3-testing.orig/xen/include/xen/guest_access.h
++++ xen-4.1.3-testing/xen/include/xen/guest_access.h
@@ -15,10 +15,16 @@
#define copy_from_guest(ptr, hnd, nr) \
copy_from_guest_offset(ptr, hnd, 0, nr)
++++++ 24805-x86-MSI-X-dom0-ro.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:52.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:52.000000000 +0200
@@ -17,9 +17,11 @@
Signed-off-by: Jan Beulich <jbeulich(a)suse.com>
Acked-by: Keir Fraser <keir(a)xen.org>
---- a/xen/arch/x86/mm.c
-+++ b/xen/arch/x86/mm.c
-@@ -835,7 +835,7 @@ get_page_from_l1e(
+Index: xen-4.1.3-testing/xen/arch/x86/mm.c
+===================================================================
+--- xen-4.1.3-testing.orig/xen/arch/x86/mm.c
++++ xen-4.1.3-testing/xen/arch/x86/mm.c
+@@ -836,7 +836,7 @@ get_page_from_l1e(
return -EINVAL;
}
++++++ 24887-x86-vmce-sr.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:52.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:52.000000000 +0200
@@ -37,9 +37,11 @@
Signed-off-by: Jan Beulich <jbeulich(a)suse.com>
Acked-by: Keir Fraser <keir(a)xen.org>
---- a/tools/libxc/xc_domain_save.c
-+++ b/tools/libxc/xc_domain_save.c
-@@ -1766,6 +1766,7 @@ int xc_domain_save(xc_interface *xch, in
+Index: xen-4.1.3-testing/tools/libxc/xc_domain_save.c
+===================================================================
+--- xen-4.1.3-testing.orig/tools/libxc/xc_domain_save.c
++++ xen-4.1.3-testing/tools/libxc/xc_domain_save.c
+@@ -1778,6 +1778,7 @@ int xc_domain_save(xc_interface *xch, in
domctl.cmd = XEN_DOMCTL_get_ext_vcpucontext;
domctl.domain = dom;
@@ -47,8 +49,10 @@
domctl.u.ext_vcpucontext.vcpu = i;
if ( xc_domctl(xch, &domctl) < 0 )
{
---- a/tools/misc/xen-hvmctx.c
-+++ b/tools/misc/xen-hvmctx.c
+Index: xen-4.1.3-testing/tools/misc/xen-hvmctx.c
+===================================================================
+--- xen-4.1.3-testing.orig/tools/misc/xen-hvmctx.c
++++ xen-4.1.3-testing/tools/misc/xen-hvmctx.c
@@ -375,6 +375,13 @@ static void dump_viridian(void)
(unsigned long long) p.guest_os_id);
}
@@ -71,8 +75,10 @@
case HVM_SAVE_CODE(END): break;
default:
printf(" ** Don't understand type %u: skipping\n",
---- a/xen/arch/x86/cpu/mcheck/mce.h
-+++ b/xen/arch/x86/cpu/mcheck/mce.h
+Index: xen-4.1.3-testing/xen/arch/x86/cpu/mcheck/mce.h
+===================================================================
+--- xen-4.1.3-testing.orig/xen/arch/x86/cpu/mcheck/mce.h
++++ xen-4.1.3-testing/xen/arch/x86/cpu/mcheck/mce.h
@@ -3,6 +3,7 @@
#define _MCE_H
@@ -118,8 +124,10 @@
return 1;
return 0;
}
---- a/xen/arch/x86/cpu/mcheck/mce_intel.c
-+++ b/xen/arch/x86/cpu/mcheck/mce_intel.c
+Index: xen-4.1.3-testing/xen/arch/x86/cpu/mcheck/mce_intel.c
+===================================================================
+--- xen-4.1.3-testing.orig/xen/arch/x86/cpu/mcheck/mce_intel.c
++++ xen-4.1.3-testing/xen/arch/x86/cpu/mcheck/mce_intel.c
@@ -1322,11 +1322,12 @@ enum mcheck_type intel_mcheck_init(struc
}
@@ -150,8 +158,10 @@
{
mce_printk(MCE_QUIET, "We have disabled CMCI capability, "
"Guest should not read this MSR!\n");
---- a/xen/arch/x86/cpu/mcheck/vmce.c
-+++ b/xen/arch/x86/cpu/mcheck/vmce.c
+Index: xen-4.1.3-testing/xen/arch/x86/cpu/mcheck/vmce.c
+===================================================================
+--- xen-4.1.3-testing.orig/xen/arch/x86/cpu/mcheck/vmce.c
++++ xen-4.1.3-testing/xen/arch/x86/cpu/mcheck/vmce.c
@@ -10,6 +10,7 @@
#include <xen/delay.h>
#include <xen/smp.h>
@@ -218,7 +228,7 @@
mce_printk(MCE_VERBOSE, "MCE: rdmsr MC%u_CTL 0x%"PRIx64"\n",
bank, *val);
break;
-@@ -126,7 +146,7 @@ static int bank_mce_rdmsr(struct domain
+@@ -126,7 +146,7 @@ static int bank_mce_rdmsr(struct domain
switch ( boot_cpu_data.x86_vendor )
{
case X86_VENDOR_INTEL:
@@ -227,7 +237,7 @@
break;
default:
ret = 0;
-@@ -145,13 +165,13 @@ static int bank_mce_rdmsr(struct domain
+@@ -145,13 +165,13 @@ static int bank_mce_rdmsr(struct domain
*/
int vmce_rdmsr(uint32_t msr, uint64_t *val)
{
@@ -295,7 +305,7 @@
break;
case MSR_IA32_MC0_STATUS:
/* Give the first entry of the list, it corresponds to current
-@@ -202,9 +221,9 @@ static int bank_mce_wrmsr(struct domain
+@@ -202,9 +221,9 @@ static int bank_mce_wrmsr(struct domain
* the guest, this node will be deleted.
* Only error bank is written. Non-error banks simply return.
*/
@@ -307,7 +317,7 @@
struct bank_entry, list);
if ( entry->bank == bank )
entry->mci_status = val;
-@@ -228,7 +247,7 @@ static int bank_mce_wrmsr(struct domain
+@@ -228,7 +247,7 @@ static int bank_mce_wrmsr(struct domain
switch ( boot_cpu_data.x86_vendor )
{
case X86_VENDOR_INTEL:
@@ -316,7 +326,7 @@
break;
default:
ret = 0;
-@@ -247,9 +266,9 @@ static int bank_mce_wrmsr(struct domain
+@@ -247,9 +266,9 @@ static int bank_mce_wrmsr(struct domain
*/
int vmce_wrmsr(u32 msr, u64 val)
{
@@ -393,8 +403,10 @@
int inject_vmce(struct domain *d)
{
int cpu = smp_processor_id();
---- a/xen/arch/x86/domain.c
-+++ b/xen/arch/x86/domain.c
+Index: xen-4.1.3-testing/xen/arch/x86/domain.c
+===================================================================
+--- xen-4.1.3-testing.orig/xen/arch/x86/domain.c
++++ xen-4.1.3-testing/xen/arch/x86/domain.c
@@ -376,6 +376,8 @@ int vcpu_initialise(struct vcpu *v)
if ( (rc = xsave_alloc_save_area(v)) != 0 )
return rc;
@@ -404,9 +416,11 @@
if ( is_hvm_domain(d) )
{
if ( (rc = hvm_vcpu_initialise(v)) != 0 )
---- a/xen/arch/x86/domctl.c
-+++ b/xen/arch/x86/domctl.c
-@@ -1137,11 +1137,12 @@ long arch_do_domctl(
+Index: xen-4.1.3-testing/xen/arch/x86/domctl.c
+===================================================================
+--- xen-4.1.3-testing.orig/xen/arch/x86/domctl.c
++++ xen-4.1.3-testing/xen/arch/x86/domctl.c
+@@ -1140,11 +1140,12 @@ long arch_do_domctl(
evc->syscall32_callback_eip = 0;
evc->syscall32_disables_events = 0;
#endif
@@ -420,7 +434,7 @@
goto ext_vcpucontext_out;
#ifdef __x86_64__
fixup_guest_code_selector(d, evc->sysenter_callback_cs);
-@@ -1160,6 +1161,9 @@ long arch_do_domctl(
+@@ -1163,6 +1164,9 @@ long arch_do_domctl(
evc->syscall32_callback_eip )
goto ext_vcpucontext_out;
#endif
@@ -430,9 +444,11 @@
}
ret = 0;
---- a/xen/include/asm-x86/domain.h
-+++ b/xen/include/asm-x86/domain.h
-@@ -425,6 +425,8 @@ struct arch_vcpu
+Index: xen-4.1.3-testing/xen/include/asm-x86/domain.h
+===================================================================
+--- xen-4.1.3-testing.orig/xen/include/asm-x86/domain.h
++++ xen-4.1.3-testing/xen/include/asm-x86/domain.h
+@@ -429,6 +429,8 @@ struct arch_vcpu
*/
uint64_t xcr0_accum;
@@ -441,8 +457,10 @@
/* Current LDT details. */
unsigned long shadow_ldt_mapcnt;
spinlock_t shadow_ldt_lock;
---- a/xen/include/asm-x86/mce.h
-+++ b/xen/include/asm-x86/mce.h
+Index: xen-4.1.3-testing/xen/include/asm-x86/mce.h
+===================================================================
+--- xen-4.1.3-testing.orig/xen/include/asm-x86/mce.h
++++ xen-4.1.3-testing/xen/include/asm-x86/mce.h
@@ -16,7 +16,6 @@ struct bank_entry {
struct domain_mca_msrs
{
@@ -460,8 +478,10 @@
extern int vmce_wrmsr(uint32_t msr, uint64_t val);
extern int vmce_rdmsr(uint32_t msr, uint64_t *val);
#endif
---- a/xen/include/asm-x86/msr-index.h
-+++ b/xen/include/asm-x86/msr-index.h
+Index: xen-4.1.3-testing/xen/include/asm-x86/msr-index.h
+===================================================================
+--- xen-4.1.3-testing.orig/xen/include/asm-x86/msr-index.h
++++ xen-4.1.3-testing/xen/include/asm-x86/msr-index.h
@@ -101,48 +101,40 @@
#define MSR_AMD64_MC0_MASK 0xc0010044
@@ -519,8 +539,10 @@
#define MSR_AMD64_MCx_MASK(x) (MSR_AMD64_MC0_MASK + (x))
---- a/xen/include/public/arch-x86/hvm/save.h
-+++ b/xen/include/public/arch-x86/hvm/save.h
+Index: xen-4.1.3-testing/xen/include/public/arch-x86/hvm/save.h
+===================================================================
+--- xen-4.1.3-testing.orig/xen/include/public/arch-x86/hvm/save.h
++++ xen-4.1.3-testing/xen/include/public/arch-x86/hvm/save.h
@@ -580,9 +580,15 @@ struct hvm_hw_cpu_xsave {
#define CPU_XSAVE_CODE 16
@@ -538,8 +560,10 @@
+#define HVM_SAVE_CODE_MAX 18
#endif /* __XEN_PUBLIC_HVM_SAVE_X86_H__ */
---- a/xen/include/public/domctl.h
-+++ b/xen/include/public/domctl.h
+Index: xen-4.1.3-testing/xen/include/public/domctl.h
+===================================================================
+--- xen-4.1.3-testing.orig/xen/include/public/domctl.h
++++ xen-4.1.3-testing/xen/include/public/domctl.h
@@ -558,7 +558,7 @@ struct xen_domctl_ext_vcpucontext {
uint32_t vcpu;
/*
++++++ 25196-x86-HAP-PAT-sr.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:53.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:53.000000000 +0200
@@ -17,9 +17,11 @@
Acked-by: Tim Deegan <tim(a)xen.org>
Committed-by: Keir Fraser <keir(a)xen.org>
---- a/xen/arch/x86/hvm/hvm.c
-+++ b/xen/arch/x86/hvm/hvm.c
-@@ -209,6 +209,31 @@ void hvm_set_rdtsc_exiting(struct domain
+Index: xen-4.1.3-testing/xen/arch/x86/hvm/hvm.c
+===================================================================
+--- xen-4.1.3-testing.orig/xen/arch/x86/hvm/hvm.c
++++ xen-4.1.3-testing/xen/arch/x86/hvm/hvm.c
+@@ -217,6 +217,31 @@ void hvm_set_rdtsc_exiting(struct domain
hvm_funcs.set_rdtsc_exiting(v, enable);
}
@@ -51,7 +53,7 @@
void hvm_set_guest_tsc(struct vcpu *v, u64 guest_tsc)
{
uint64_t tsc;
-@@ -2483,7 +2508,7 @@ int hvm_msr_read_intercept(unsigned int
+@@ -2491,7 +2516,7 @@ int hvm_msr_read_intercept(unsigned int
break;
case MSR_IA32_CR_PAT:
@@ -60,7 +62,7 @@
break;
case MSR_MTRRcap:
-@@ -2599,7 +2624,7 @@ int hvm_msr_write_intercept(unsigned int
+@@ -2607,7 +2632,7 @@ int hvm_msr_write_intercept(unsigned int
break;
case MSR_IA32_CR_PAT:
@@ -69,8 +71,10 @@
goto gp_fault;
break;
---- a/xen/arch/x86/hvm/mtrr.c
-+++ b/xen/arch/x86/hvm/mtrr.c
+Index: xen-4.1.3-testing/xen/arch/x86/hvm/mtrr.c
+===================================================================
+--- xen-4.1.3-testing.orig/xen/arch/x86/hvm/mtrr.c
++++ xen-4.1.3-testing/xen/arch/x86/hvm/mtrr.c
@@ -406,26 +406,6 @@ uint32_t get_pat_flags(struct vcpu *v,
return pat_type_2_pte_flags(pat_entry_value);
}
@@ -116,8 +120,10 @@
mtrr_state->mtrr_cap = hw_mtrr.msr_mtrr_cap;
---- a/xen/arch/x86/hvm/svm/svm.c
-+++ b/xen/arch/x86/hvm/svm/svm.c
+Index: xen-4.1.3-testing/xen/arch/x86/hvm/svm/svm.c
+===================================================================
+--- xen-4.1.3-testing.orig/xen/arch/x86/hvm/svm/svm.c
++++ xen-4.1.3-testing/xen/arch/x86/hvm/svm/svm.c
@@ -585,6 +585,28 @@ static void svm_set_segment_register(str
svm_vmload(vmcb);
}
@@ -147,7 +153,7 @@
static void svm_set_tsc_offset(struct vcpu *v, u64 offset)
{
struct vmcb_struct *vmcb = v->arch.hvm_svm.vmcb;
-@@ -1507,6 +1529,8 @@ static struct hvm_function_table __read_
+@@ -1519,6 +1541,8 @@ static struct hvm_function_table __read_
.update_host_cr3 = svm_update_host_cr3,
.update_guest_cr = svm_update_guest_cr,
.update_guest_efer = svm_update_guest_efer,
@@ -156,8 +162,10 @@
.set_tsc_offset = svm_set_tsc_offset,
.inject_exception = svm_inject_exception,
.init_hypercall_page = svm_init_hypercall_page,
---- a/xen/arch/x86/hvm/vmx/vmx.c
-+++ b/xen/arch/x86/hvm/vmx/vmx.c
+Index: xen-4.1.3-testing/xen/arch/x86/hvm/vmx/vmx.c
+===================================================================
+--- xen-4.1.3-testing.orig/xen/arch/x86/hvm/vmx/vmx.c
++++ xen-4.1.3-testing/xen/arch/x86/hvm/vmx/vmx.c
@@ -921,6 +921,34 @@ static void vmx_set_segment_register(str
vmx_vmcs_exit(v);
}
@@ -202,8 +210,10 @@
.set_tsc_offset = vmx_set_tsc_offset,
.inject_exception = vmx_inject_exception,
.init_hypercall_page = vmx_init_hypercall_page,
---- a/xen/include/asm-x86/hvm/hvm.h
-+++ b/xen/include/asm-x86/hvm/hvm.h
+Index: xen-4.1.3-testing/xen/include/asm-x86/hvm/hvm.h
+===================================================================
+--- xen-4.1.3-testing.orig/xen/include/asm-x86/hvm/hvm.h
++++ xen-4.1.3-testing/xen/include/asm-x86/hvm/hvm.h
@@ -116,6 +116,9 @@ struct hvm_function_table {
void (*update_guest_cr)(struct vcpu *v, unsigned int cr);
void (*update_guest_efer)(struct vcpu *v);
++++++ 25382-x86-masked-MCE-masking-NMI.patch ++++++
# HG changeset patch
# User Jan Beulich <jbeulich(a)suse.com>
# Date 1337697011 -7200
# Node ID 6dc80df50fa8a01da0494a6413d70573aeeef7a2
# Parent d718706de1f0667c4a4ee137b9ba18e5c7d9817c
x86: don't hold off NMI delivery when MCE is masked
Likely through copy'n'paste, all three instances of guest MCE
processing jumped to the wrong place (where NMI processing code
correctly jumps to) when MCE-s are temporarily masked (due to one
currently being processed by the guest). A nested, unmasked NMI should
get delivered immediately, however.
Signed-off-by: Jan Beulich <jbeulich(a)suse.com>
Acked-by: Keir Fraser <keir(a)xen.org>
--- a/xen/arch/x86/x86_32/entry.S
+++ b/xen/arch/x86/x86_32/entry.S
@@ -215,6 +215,7 @@ test_all_events:
jnz process_softirqs
testb $1,VCPU_mce_pending(%ebx)
jnz process_mce
+.Ltest_guest_nmi:
testb $1,VCPU_nmi_pending(%ebx)
jnz process_nmi
test_guest_events:
@@ -244,7 +245,7 @@ process_softirqs:
/* %ebx: struct vcpu */
process_mce:
testb $1 << VCPU_TRAP_MCE,VCPU_async_exception_mask(%ebx)
- jnz test_guest_events
+ jnz .Ltest_guest_nmi
sti
movb $0,VCPU_mce_pending(%ebx)
call set_guest_machinecheck_trapbounce
--- a/xen/arch/x86/x86_64/compat/entry.S
+++ b/xen/arch/x86/x86_64/compat/entry.S
@@ -104,6 +104,7 @@ ENTRY(compat_test_all_events)
jnz compat_process_softirqs
testb $1,VCPU_mce_pending(%rbx)
jnz compat_process_mce
+.Lcompat_test_guest_nmi:
testb $1,VCPU_nmi_pending(%rbx)
jnz compat_process_nmi
compat_test_guest_events:
@@ -134,7 +135,7 @@ compat_process_softirqs:
/* %rbx: struct vcpu */
compat_process_mce:
testb $1 << VCPU_TRAP_MCE,VCPU_async_exception_mask(%rbx)
- jnz compat_test_guest_events
+ jnz .Lcompat_test_guest_nmi
sti
movb $0,VCPU_mce_pending(%rbx)
call set_guest_machinecheck_trapbounce
--- a/xen/arch/x86/x86_64/entry.S
+++ b/xen/arch/x86/x86_64/entry.S
@@ -204,6 +204,7 @@ test_all_events:
jnz process_softirqs
testb $1,VCPU_mce_pending(%rbx)
jnz process_mce
+.Ltest_guest_nmi:
testb $1,VCPU_nmi_pending(%rbx)
jnz process_nmi
test_guest_events:
@@ -232,7 +233,7 @@ process_softirqs:
/* %rbx: struct vcpu */
process_mce:
testb $1 << VCPU_TRAP_MCE,VCPU_async_exception_mask(%rbx)
- jnz test_guest_events
+ jnz .Ltest_guest_nmi
sti
movb $0,VCPU_mce_pending(%rbx)
call set_guest_machinecheck_trapbounce
++++++ 25387-amd-iommu-workaround-73x.patch ++++++
# HG changeset patch
# User Wei Wang <wei.wang2(a)amd.com>
# Date 1337786286 -7200
# Node ID af559b5afbecba1048ad690347455ad54098f935
# Parent 340062faf2988eeea94e37dbb3943c5a449bff10
amd iommu: Add workaround for erratum 732 & 733
Signed-off-by: Wei Wang <wei.wang2(a)amd.com>
Add missing barriers. Fix early return from parse_ppr_log_entry().
Slightly adjust comments. Strip trailing blanks.
Signed-off-by: Jan Beulich <jbeulich(a)suse.com>
Committed-by: Jan Beulich <jbeulich(a)suse.com>
--- a/xen/drivers/passthrough/amd/iommu_init.c
+++ b/xen/drivers/passthrough/amd/iommu_init.c
@@ -27,6 +27,7 @@
#include <asm/hvm/svm/amd-iommu-proto.h>
#include <asm-x86/fixmap.h>
#include <mach_apic.h>
+#include <xen/delay.h>
static struct amd_iommu **irq_to_iommu;
static int nr_amd_iommus;
@@ -467,6 +468,7 @@ static void parse_event_log_entry(u32 en
u16 domain_id, device_id, bdf, cword;
u32 code;
u64 *addr;
+ int count = 0;
char * event_str[] = {"ILLEGAL_DEV_TABLE_ENTRY",
"IO_PAGE_FAULT",
"DEV_TABLE_HW_ERROR",
@@ -479,6 +481,25 @@ static void parse_event_log_entry(u32 en
code = get_field_from_reg_u32(entry[1], IOMMU_EVENT_CODE_MASK,
IOMMU_EVENT_CODE_SHIFT);
+ /*
+ * Workaround for erratum 732:
+ * It can happen that the tail pointer is updated before the actual entry
+ * got written. As suggested by RevGuide, we initialize the event log
+ * buffer to all zeros and clear event log entries after processing them.
+ */
+ while ( code == 0 )
+ {
+ if ( unlikely(++count == IOMMU_LOG_ENTRY_TIMEOUT) )
+ {
+ AMD_IOMMU_DEBUG("AMD-Vi: No event written to log\n");
+ return;
+ }
+ udelay(1);
+ rmb();
+ code = get_field_from_reg_u32(entry[1], IOMMU_EVENT_CODE_MASK,
+ IOMMU_EVENT_CODE_SHIFT);
+ }
+
if ( (code > IOMMU_EVENT_INVALID_DEV_REQUEST) ||
(code < IOMMU_EVENT_ILLEGAL_DEV_TABLE_ENTRY) )
{
@@ -517,6 +538,8 @@ static void parse_event_log_entry(u32 en
AMD_IOMMU_DEBUG("event 0x%08x 0x%08x 0x%08x 0x%08x\n", entry[0],
entry[1], entry[2], entry[3]);
}
+
+ memset(entry, 0, IOMMU_EVENT_LOG_ENTRY_SIZE);
}
static void do_amd_iommu_irq(unsigned long data)
--- a/xen/include/asm-x86/hvm/svm/amd-iommu-defs.h
+++ b/xen/include/asm-x86/hvm/svm/amd-iommu-defs.h
@@ -269,6 +269,8 @@
#define IOMMU_EVENT_DEVICE_ID_MASK 0x0000FFFF
#define IOMMU_EVENT_DEVICE_ID_SHIFT 0
+#define IOMMU_LOG_ENTRY_TIMEOUT 1000
+
/* Control Register */
#define IOMMU_CONTROL_MMIO_OFFSET 0x18
#define IOMMU_CONTROL_TRANSLATION_ENABLE_MASK 0x00000001
++++++ 25430-x86-AMD-Fam15-reenable-topoext.patch ++++++
# HG changeset patch
# User Andreas Herrmann <andreas.herrmann3(a)amd.com>
# Date 1338452142 -7200
# Node ID d7ae665b03afb88a813c6f197612215697eaf8f6
# Parent a120d24f90fb5e94244331e530aacf5b0ea86f25
x86/amd: re-enable CPU topology extensions in case BIOS has disabled it
BIOS will switch off the corresponding feature flag on family
15h models 10h-1fh non-desktop CPUs.
The topology extension CPUID leafs are required to detect which
cores belong to the same compute unit. (thread siblings mask is
set accordingly and also correct information about L1i and L2
cache sharing depends on this).
W/o this patch we wouldn't see which cores belong to the same
compute unit and also cache sharing information for L1i and L2
would be incorrect on such systems.
Signed-off-by: Andreas Herrmann <andreas.herrmann3(a)amd.com>
Signed-off-by: Jan Beulich <jbeulich(a)suse.com>
Acked-by: Keir Fraser <keir(a)xen.org>
Committed-by: Jan Beulich <jbeulich(a)suse.com>
--- a/xen/arch/x86/cpu/amd.c
+++ b/xen/arch/x86/cpu/amd.c
@@ -612,6 +612,21 @@ static void __devinit init_amd(struct cp
}
}
+ /* re-enable TopologyExtensions if switched off by BIOS */
+ if ((c->x86 == 0x15) &&
+ (c->x86_model >= 0x10) && (c->x86_model <= 0x1f) &&
+ !cpu_has(c, X86_FEATURE_TOPOEXT) &&
+ !rdmsr_safe(MSR_K8_EXT_FEATURE_MASK, value)) {
+ value |= 1ULL << 54;
+ wrmsr_safe(MSR_K8_EXT_FEATURE_MASK, value);
+ rdmsrl(MSR_K8_EXT_FEATURE_MASK, value);
+ if (value & (1ULL << 54)) {
+ set_bit(X86_FEATURE_TOPOEXT, c->x86_capability);
+ printk(KERN_INFO "CPU: Re-enabling disabled "
+ "Topology Extensions Support\n");
+ }
+ }
+
amd_get_topology(c);
/* Pointless to use MWAIT on Family10 as it does not deep sleep. */
++++++ 25431-x86-EDD-MBR-sig-check.patch ++++++
# HG changeset patch
# User Jan Beulich <JBeulich(a)suse.com>
# Date 1338452293 -7200
# Node ID cdced279e79296f06ede71d92f5047235e4b6d55
# Parent d7ae665b03afb88a813c6f197612215697eaf8f6
x86/EDD: check MBR for BIOS magic before considering signature valid
Signed-off-by: Jan Beulich <JBeulich(a)suse.com>
Acked-by: Keir Fraser <keir(a)xen.org>
--- a/xen/arch/x86/boot/edd.S
+++ b/xen/arch/x86/boot/edd.S
@@ -53,12 +53,16 @@ edd_mbr_sig_read:
jc edd_mbr_sig_done # on failure, we're done.
cmpb $0, %ah # some BIOSes do not set CF
jne edd_mbr_sig_done # on failure, we're done.
+ cmpw $0xaa55, bootsym(boot_edd_info)+0x1fe
+ jne .Ledd_mbr_sig_next
movl bootsym(boot_edd_info)+EDD_MBR_SIG_OFFSET,%eax
movb %dl, (%bx) # store BIOS drive number
movl %eax, 4(%bx) # store signature from MBR
incb bootsym(boot_mbr_signature_nr) # note that we stored something
- incb %dl # increment to next device
addw $8, %bx # increment sig buffer ptr
+.Ledd_mbr_sig_next:
+ incb %dl # increment to next device
+ jz edd_mbr_sig_done
cmpb $EDD_MBR_SIG_MAX,bootsym(boot_mbr_signature_nr)
jb edd_mbr_sig_read
edd_mbr_sig_done:
++++++ 25459-page-list-splice.patch ++++++
# HG changeset patch
# User Jan Beulich <jbeulich(a)suse.com>
# Date 1338997025 -3600
# Node ID f6bfaf9daa508c31b2bca0e461202db2759426fc
# Parent 8ec2c428f4dad55cf6d91b893a19c2218972db5e
xen: fix page_list_splice()
Other than in __list_splice(), the first element's prev pointer
doesn't need adjustment here - it already is PAGE_LIST_NULL. Rather
than fixing the assignment (to formally match __list_splice()), simply
assert that this assignment is really unnecessary.
Reported-by: Jisoo Yang <jisooy(a)gmail.com>
Signed-off-by: Jan Beulich <jbeulich(a)suse.com>
Also assert that the prev pointers are both PAGE_LIST_NULL.
Signed-off-by: Keir Fraser <keir(a)xen.org>
Committed-by: Keir Fraser <keir(a)xen.org>
--- a/xen/include/xen/mm.h
+++ b/xen/include/xen/mm.h
@@ -268,7 +268,8 @@ page_list_splice(struct page_list_head *
last = list->tail;
at = head->next;
- first->list.prev = page_to_pdx(head->next);
+ ASSERT(first->list.prev == PAGE_LIST_NULL);
+ ASSERT(first->list.prev == at->list.prev);
head->next = first;
last->list.next = page_to_pdx(at);
++++++ 25479-x86-boot-trampoline-remove.patch ++++++
# HG changeset patch
# User Jan Beulich <jbeulich(a)novell.com>
# Date 1313744093 -3600
# Node ID dd90b59cb11c60c48e174c899190e2967341fe32
# Parent 29aeed4979a78f26519f5fde8a405f8438297ab9
x86: trampoline cleanup
To make future changes less error prone, and to slightly simplify a
possible future conversion to a relocatable trampoline even for the
multiboot path (pretty desirable given that we had to change the
trampoline base a number of times to escape collisions with firmware
placed data),
- remove final uses of bootsym_phys() from trampoline.S, allowing the
symbol to be undefined before including this file (to make sure no
new references get added)
- replace two easy to deal with uses of bootsym_phys() in head.S
- remove an easy to replace reference to BOOT_TRAMPOLINE
Signed-off-by: Jan Beulich <jbeulich(a)novell.com>
# HG changeset patch
# User Jan Beulich <jbeulich(a)suse.com>
# Date 1339424128 -3600
# Node ID 61dfb3da56b0a3ac86f81f4a8770e11e1dbc2aa9
# Parent 6d1a30dc47e8dfcb826ff14c833d694fd4e6afb2
x86: get rid of BOOT_TRAMPOLINE
We recently saw a machine that has the EBDA extending as low as
0x7c000, so that Xen fails to boot after relocating the trampoline.
To fix this, I removed BOOT_TRAMPOLINE and bootsym_phys completely.
Here are the parts:
1) the trampoline segment is set to 64k below the EBDA. head.S grows
the ability to relocate the trampoline segment
2) reloc.c is made position-independent. It allocates data below the
trampoline, whose address is passed in _eax.
3) cmdline.S is called before relocating, so all bootsym_phys there
become sym_phys.
Signed-off-by: Paolo Bonzini <pbonzini(a)redhat.com>
jb: - fall back to low memory size (instead of segment 0x7c00) if EBDA
value is out of range
- also add upper limit check on EBDA value
- fix and simplify inline assembly operands in reloc_mbi_struct()
- use lret instead of retf
- renamed early_stack to wakeup_stack, defined and used now only
in wakeup.S
- aligned reloc.bin's end of .text to 16 bytes, so that checking
__bss_start == end works reliably
Signed-off-by: Jan Beulich <jbeulich(a)suse.com>
Committed-by: Keir Fraser <keir(a)xen.org>
--- a/xen/arch/x86/boot/Makefile
+++ b/xen/arch/x86/boot/Makefile
@@ -2,8 +2,7 @@ obj-y += head.o
head.o: reloc.S
-BOOT_TRAMPOLINE := $(shell sed -n 's,^\#define[[:space:]]\{1\,\}BOOT_TRAMPOLINE[[:space:]]\{1\,\},,p' head.S)
%.S: %.c
- RELOC=$(BOOT_TRAMPOLINE) $(MAKE) -f build32.mk $@
+ $(MAKE) -f build32.mk $@
reloc.S: head.S
--- a/xen/arch/x86/boot/build32.mk
+++ b/xen/arch/x86/boot/build32.mk
@@ -15,9 +15,10 @@ CFLAGS += -Werror -fno-builtin -msoft-fl
$(OBJCOPY) -O binary $< $@
%.lnk: %.o
- $(LD) $(LDFLAGS_DIRECT) -N -Ttext $(RELOC) -o $@ $<
+ $(LD) $(LDFLAGS_DIRECT) -N -Ttext 0 -o $@ $<
%.o: %.c
- $(CC) $(CFLAGS) -c $< -o $@
+ $(CC) $(CFLAGS) -c -fpic $< -o $@
reloc.o: $(BASEDIR)/include/asm-x86/config.h
+.PRECIOUS: %.bin %.lnk
--- a/xen/arch/x86/boot/cmdline.S
+++ b/xen/arch/x86/boot/cmdline.S
@@ -164,13 +164,13 @@ cmdline_parse_early:
pushl MB_cmdline(%ebx)
call .Lfind_option
test %eax,%eax
- setnz bootsym_phys(skip_realmode)
+ setnz sym_phys(skip_realmode)
/* Check for 'tboot=' command-line option. */
movl $sym_phys(.Ltboot_opt),4(%esp)
call .Lfind_option
test %eax,%eax
- setnz bootsym_phys(skip_realmode) /* tboot= implies no-real-mode */
+ setnz sym_phys(skip_realmode) /* tboot= implies no-real-mode */
.Lparse_edd:
/* Check for 'edd=' command-line option. */
@@ -181,13 +181,13 @@ cmdline_parse_early:
cmpb $'=',3(%eax)
jne .Lparse_edid
add $4,%eax
- movb $2,bootsym_phys(opt_edd) /* opt_edd=2: edd=off */
+ movb $2,sym_phys(opt_edd) /* opt_edd=2: edd=off */
cmpw $0x666f,(%eax) /* 0x666f == "of" */
je .Lparse_edid
- decb bootsym_phys(opt_edd) /* opt_edd=1: edd=skipmbr */
+ decb sym_phys(opt_edd) /* opt_edd=1: edd=skipmbr */
cmpw $0x6b73,(%eax) /* 0x6b73 == "sk" */
je .Lparse_edid
- decb bootsym_phys(opt_edd) /* opt_edd=0: edd=on (default) */
+ decb sym_phys(opt_edd) /* opt_edd=0: edd=on (default) */
.Lparse_edid:
/* Check for 'edid=' command-line option. */
@@ -203,17 +203,17 @@ cmdline_parse_early:
pushl $sym_phys(.Ledid_force)
call .Lstr_prefix
add $8,%esp
- movb $2,bootsym_phys(opt_edid) /* opt_edid=2: edid=force */
+ movb $2,sym_phys(opt_edid) /* opt_edid=2: edid=force */
test %eax,%eax
jz .Lparse_vga
push %ebx
pushl $sym_phys(.Ledid_no)
call .Lstr_prefix
add $8,%esp
- decb bootsym_phys(opt_edid) /* opt_edid=1: edid=no */
+ decb sym_phys(opt_edid) /* opt_edid=1: edid=no */
test %eax,%eax
jz .Lparse_vga
- decb bootsym_phys(opt_edid) /* opt_edid=0: default */
+ decb sym_phys(opt_edid) /* opt_edid=0: default */
.Lparse_vga:
/* Check for 'vga=' command-line option. */
@@ -227,7 +227,7 @@ cmdline_parse_early:
add $4,%eax
/* Found the 'vga=' option. Default option is to display vga menu. */
- movw $ASK_VGA,bootsym_phys(boot_vid_mode)
+ movw $ASK_VGA,sym_phys(boot_vid_mode)
/* Check for 'vga=text-80x<rows>. */
mov %eax,%ebx
@@ -251,7 +251,7 @@ cmdline_parse_early:
cmp %ax,%bx
lodsw
jne 1b
- mov %ax,bootsym_phys(boot_vid_mode)
+ mov %ax,sym_phys(boot_vid_mode)
jmp .Lcmdline_exit
.Lparse_vga_gfx:
@@ -270,7 +270,7 @@ cmdline_parse_early:
push %ebx
call .Latoi
pop %esi
- mov %ax,bootsym_phys(vesa_size)+0
+ mov %ax,sym_phys(vesa_size)+0
/* skip 'x' */
lodsb
cmpb $'x',%al
@@ -279,7 +279,7 @@ cmdline_parse_early:
push %esi
call .Latoi
pop %esi
- mov %ax,bootsym_phys(vesa_size)+2
+ mov %ax,sym_phys(vesa_size)+2
/* skip 'x' */
lodsb
cmpb $'x',%al
@@ -288,9 +288,9 @@ cmdline_parse_early:
push %esi
call .Latoi
pop %esi
- mov %ax,bootsym_phys(vesa_size)+4
+ mov %ax,sym_phys(vesa_size)+4
/* commit to vesa mode */
- movw $VIDEO_VESA_BY_SIZE,bootsym_phys(boot_vid_mode)
+ movw $VIDEO_VESA_BY_SIZE,sym_phys(boot_vid_mode)
jmp .Lcmdline_exit
.Lparse_vga_mode:
@@ -307,7 +307,7 @@ cmdline_parse_early:
push %ebx
call .Latoi
add $4,%esp
- mov %ax,bootsym_phys(boot_vid_mode)
+ mov %ax,sym_phys(boot_vid_mode)
jmp .Lcmdline_exit
.Lparse_vga_current:
@@ -320,7 +320,7 @@ cmdline_parse_early:
jnz .Lcmdline_exit
/* We have 'vga=current'. */
- movw $VIDEO_CURRENT_MODE,bootsym_phys(boot_vid_mode)
+ movw $VIDEO_CURRENT_MODE,sym_phys(boot_vid_mode)
.Lcmdline_exit:
popa
--- a/xen/arch/x86/boot/head.S
+++ b/xen/arch/x86/boot/head.S
@@ -9,9 +9,7 @@
.text
.code32
-#define BOOT_TRAMPOLINE 0x7c000
#define sym_phys(sym) ((sym) - __XEN_VIRT_START)
-#define bootsym_phys(sym) ((sym) - trampoline_start + BOOT_TRAMPOLINE)
#define BOOT_CS32 0x0008
#define BOOT_CS64 0x0010
@@ -79,6 +77,23 @@ __start:
cmp $0x2BADB002,%eax
jne not_multiboot
+ /* Set up trampoline segment 64k below EBDA */
+ movzwl 0x40e,%eax /* EBDA segment */
+ cmp $0xa000,%eax /* sanity check (high) */
+ jae 0f
+ cmp $0x4000,%eax /* sanity check (low) */
+ jae 1f
+0:
+ movzwl 0x413,%eax /* use base memory size on failure */
+ shl $10-4,%eax
+1:
+ sub $0x1000,%eax
+
+ /* From arch/x86/smpboot.c: start_eip had better be page-aligned! */
+ xor %al, %al
+ shl $4, %eax
+ mov %eax,sym_phys(trampoline_phys)
+
/* Save the Multiboot info struct (after relocation) for later use. */
mov $sym_phys(cpu0_stack)+1024,%esp
push %ebx
@@ -190,7 +205,7 @@ __start:
#endif
/* Apply relocations to bootstrap trampoline. */
- mov $BOOT_TRAMPOLINE,%edx
+ mov sym_phys(trampoline_phys),%edx
mov $sym_phys(__trampoline_rel_start),%edi
mov %edx,sym_phys(trampoline_phys)
1:
@@ -200,17 +215,32 @@ __start:
cmp $sym_phys(__trampoline_rel_stop),%edi
jb 1b
+ /* Patch in the trampoline segment. */
+ shr $4,%edx
+ mov $sym_phys(__trampoline_seg_start),%edi
+1:
+ mov (%edi),%eax
+ mov %dx,(%edi,%eax)
+ add $4,%edi
+ cmp $sym_phys(__trampoline_seg_stop),%edi
+ jb 1b
+
+ call cmdline_parse_early
+
+ /* Switch to low-memory stack. */
+ mov sym_phys(trampoline_phys),%edi
+ lea 0x10000(%edi),%esp
+ lea trampoline_boot_cpu_entry-trampoline_start(%edi),%eax
+ pushl $BOOT_CS32
+ push %eax
+
/* Copy bootstrap trampoline to low memory, below 1MB. */
mov $sym_phys(trampoline_start),%esi
- mov $bootsym_phys(trampoline_start),%edi
mov $trampoline_end - trampoline_start,%ecx
rep movsb
- mov $bootsym_phys(early_stack),%esp
- call cmdline_parse_early
-
/* Jump into the relocated trampoline. */
- jmp $BOOT_CS32,$bootsym_phys(trampoline_boot_cpu_entry)
+ lret
#include "cmdline.S"
--- a/xen/arch/x86/boot/reloc.c
+++ b/xen/arch/x86/boot/reloc.c
@@ -10,42 +10,49 @@
* Keir Fraser <keir(a)xen.org>
*/
+/* entered with %eax = BOOT_TRAMPOLINE */
asm (
" .text \n"
" .globl _start \n"
"_start: \n"
- " mov $_start,%edi \n"
" call 1f \n"
- "1: pop %esi \n"
- " sub $1b-_start,%esi \n"
- " mov $__bss_start-_start,%ecx \n"
- " rep movsb \n"
- " xor %eax,%eax \n"
- " mov $_end,%ecx \n"
- " sub %edi,%ecx \n"
- " rep stosb \n"
- " mov $reloc,%eax \n"
- " jmp *%eax \n"
+ "1: pop %ebx \n"
+ " mov %eax,alloc-1b(%ebx) \n"
+ " mov $_end,%ecx \n" /* check that BSS is empty! */
+ " sub $__bss_start,%ecx \n"
+ " jz reloc \n"
+ "1: jmp 1b \n"
+ );
+
+/* This is our data. Because the code must be relocatable, no BSS is
+ * allowed. All data is accessed PC-relative with inline assembly.
+ */
+asm (
+ "alloc: \n"
+ " .long 0 \n"
+ " .subsection 1 \n"
+ " .p2align 4, 0xcc \n"
+ " .subsection 0 \n"
);
typedef unsigned int u32;
#include "../../../include/xen/multiboot.h"
-extern char _start[];
-
-static void *memcpy(void *dest, const void *src, unsigned int n)
-{
- char *s = (char *)src, *d = dest;
- while ( n-- )
- *d++ = *s++;
- return dest;
-}
-
static void *reloc_mbi_struct(void *old, unsigned int bytes)
{
- static void *alloc = &_start;
- alloc = (void *)(((unsigned long)alloc - bytes) & ~15ul);
- return memcpy(alloc, old, bytes);
+ void *new;
+ asm(
+ " call 1f \n"
+ "1: pop %%edx \n"
+ " mov alloc-1b(%%edx),%0 \n"
+ " sub %1,%0 \n"
+ " and $~15,%0 \n"
+ " mov %0,alloc-1b(%%edx) \n"
+ " mov %0,%%edi \n"
+ " rep movsb \n"
+ : "=&r" (new), "+c" (bytes), "+S" (old)
+ : : "edx", "edi");
+ return new;
}
static char *reloc_mbi_string(char *old)
--- a/xen/arch/x86/boot/trampoline.S
+++ b/xen/arch/x86/boot/trampoline.S
@@ -11,6 +11,13 @@
.long 111b - (off) - .; \
.popsection
+#define bootsym_segrel(sym, off) \
+ $0,$bootsym(sym); \
+111:; \
+ .pushsection .trampoline_seg, "a"; \
+ .long 111b - (off) - .; \
+ .popsection
+
.globl trampoline_realmode_entry
trampoline_realmode_entry:
mov %cs,%ax
@@ -132,7 +139,7 @@ high_start:
.code32
trampoline_boot_cpu_entry:
- cmpb $0,bootsym_phys(skip_realmode)
+ cmpb $0,bootsym_rel(skip_realmode,5)
jnz .Lskip_realmode
/* Load pseudo-real-mode segments. */
@@ -151,14 +158,14 @@ trampoline_boot_cpu_entry:
1: mov %eax,%cr0 # CR0.PE = 0 (leave protected mode)
/* Load proper real-mode values into %cs, %ds, %es and %ss. */
- ljmp $(BOOT_TRAMPOLINE>>4),$bootsym(1f)
-1: mov $(BOOT_TRAMPOLINE>>4),%ax
+ ljmp bootsym_segrel(1f,2)
+1: mov %cs,%ax
mov %ax,%ds
mov %ax,%es
mov %ax,%ss
/* Initialise stack pointer and IDT, and enable irqs. */
- mov $bootsym(early_stack),%sp
+ xor %sp,%sp
lidt bootsym(rm_idt)
sti
@@ -195,7 +202,7 @@ trampoline_boot_cpu_entry:
lmsw %ax # CR0.PE = 1 (enter protected mode)
/* Load proper protected-mode values into all segment registers. */
- ljmpl $BOOT_CS32,$bootsym_phys(1f)
+ ljmpl $BOOT_CS32,$bootsym_rel(1f,6)
.code32
1: mov $BOOT_DS,%eax
mov %eax,%ds
@@ -220,7 +227,3 @@ rm_idt: .word 256*4-1, 0, 0
#include "edd.S"
#include "video.S"
#include "wakeup.S"
-
- .align 16
- .fill PAGE_SIZE,1,0
-early_stack:
--- a/xen/arch/x86/boot/wakeup.S
+++ b/xen/arch/x86/boot/wakeup.S
@@ -11,7 +11,7 @@ ENTRY(wakeup_start)
movw %cs, %ax
movw %ax, %ds
movw %ax, %ss # A stack required for BIOS call
- movw $wakesym(early_stack), %sp
+ movw $wakesym(wakeup_stack), %sp
pushl $0 # Kill dangerous flag early
popfl
@@ -101,7 +101,7 @@ real_magic: .long 0x12345678
.globl video_mode, video_flags
video_mode: .long 0
video_flags: .long 0
-trampoline_seg: .word BOOT_TRAMPOLINE >> 4
+trampoline_seg: .word 0
.pushsection .trampoline_seg, "a"
.long trampoline_seg - .
.popsection
@@ -116,7 +116,7 @@ wakeup_32:
mov $BOOT_DS, %eax
mov %eax, %ds
mov %eax, %ss
- mov $bootsym_rel(early_stack, 4, %esp)
+ mov $bootsym_rel(wakeup_stack, 4, %esp)
# check saved magic again
mov $sym_phys(saved_magic), %eax
@@ -188,3 +188,7 @@ ret_point:
bogus_saved_magic:
movw $0x0e00 + 'S', 0xb8014
jmp bogus_saved_magic
+
+ .align 16
+ .fill PAGE_SIZE,1,0
+wakeup_stack:
++++++ 25485-x86_64-canonical-checks.patch ++++++
# HG changeset patch
# User Jan Beulich <jbeulich(a)suse.com>
# Date 1340031721 -7200
# Node ID 5b6a857411ba5212c71885a2fd39cae4c3d8231c
# Parent c272cfe25bea00375fb65c339926c83b6e830230
x86-64: don't allow non-canonical addresses to be set for any callback
Rather than deferring the detection of these to the point where they
get actually used (the fix for XSA-7, 25480:76eaf5966c05, causing a #GP
to be raised by IRET, which invokes the guest's [fragile] fail-safe
callback), don't even allow such to be set.
Signed-off-by: Jan Beulich <jbeulich(a)suse.com>
Acked-by: Keir Fraser <keir(a)xen.org>
--- a/xen/arch/x86/domain.c
+++ b/xen/arch/x86/domain.c
@@ -683,6 +683,14 @@ int arch_set_info_guest(
{
if ( !compat )
{
+#ifdef __x86_64__
+ if ( !is_canonical_address(c.nat->user_regs.eip) ||
+ !is_canonical_address(c.nat->event_callback_eip) ||
+ !is_canonical_address(c.nat->syscall_callback_eip) ||
+ !is_canonical_address(c.nat->failsafe_callback_eip) )
+ return -EINVAL;
+#endif
+
fixup_guest_stack_selector(d, c.nat->user_regs.ss);
fixup_guest_stack_selector(d, c.nat->kernel_ss);
fixup_guest_code_selector(d, c.nat->user_regs.cs);
@@ -692,7 +700,11 @@ int arch_set_info_guest(
#endif
for ( i = 0; i < 256; i++ )
+ {
+ if ( !is_canonical_address(c.nat->trap_ctxt[i].address) )
+ return -EINVAL;
fixup_guest_code_selector(d, c.nat->trap_ctxt[i].cs);
+ }
/* LDT safety checks. */
if ( ((c.nat->ldt_base & (PAGE_SIZE-1)) != 0) ||
--- a/xen/arch/x86/domctl.c
+++ b/xen/arch/x86/domctl.c
@@ -1148,6 +1148,9 @@ long arch_do_domctl(
if ( evc->size < offsetof(typeof(*evc), mcg_cap) )
goto ext_vcpucontext_out;
#ifdef __x86_64__
+ if ( !is_canonical_address(evc->sysenter_callback_eip) ||
+ !is_canonical_address(evc->syscall32_callback_eip) )
+ goto ext_vcpucontext_out;
fixup_guest_code_selector(d, evc->sysenter_callback_cs);
v->arch.sysenter_callback_cs = evc->sysenter_callback_cs;
v->arch.sysenter_callback_eip = evc->sysenter_callback_eip;
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -3544,6 +3544,9 @@ long register_guest_nmi_callback(unsigne
struct domain *d = v->domain;
struct trap_info *t = &v->arch.guest_context.trap_ctxt[TRAP_nmi];
+ if ( !is_canonical_address(address) )
+ return -EINVAL;
+
t->vector = TRAP_nmi;
t->flags = 0;
t->cs = (is_pv_32on64_domain(d) ?
@@ -3671,6 +3674,9 @@ long do_set_trap_table(XEN_GUEST_HANDLE(
if ( cur.address == 0 )
break;
+ if ( !is_canonical_address(cur.address) )
+ return -EINVAL;
+
fixup_guest_code_selector(curr->domain, cur.cs);
memcpy(&dst[cur.vector], &cur, sizeof(cur));
++++++ 25589-pygrub-size-limits.patch ++++++
# HG changeset patch
# User M A Young <m.a.young(a)durham.ac.uk>
# Date 1341413174 -3600
# Node ID 60f09d1ab1fe5dee87db1bf55c7479a5d71e85a5
# Parent 42f76d536b116d2ebad1b6705ae51ecd171d2581
pygrub: cope better with big files in the guest.
Only read the first megabyte of a configuration file (grub etc.) and read the
kernel and ramdisk files from the guest in one megabyte pieces so pygrub
doesn't use a lot of memory if the files are large. With --not-really option
check that the chosen kernel and ramdisk files exist. If there are problems
writing the copy of the kernel or ramdisk, delete the copied files and exit in
case they have filled the filesystem.
Signed-off-by: Michael Young <m.a.young(a)durham.ac.uk>
Acked-by: Matt Wilson <msw(a)amazon.com>
Acked-by: Ian Campbell <ian.campbell(a)citrix.com>
Acked-by: Ian Jackson <Ian.Jackson(a)eu.citrix.com>
Committed-by: Ian Campbell <ian.campbell(a)citrix.com>
diff -r 42f76d536b11 -r 60f09d1ab1fe tools/pygrub/src/pygrub
--- a/tools/pygrub/src/pygrub Tue Jul 03 13:39:01 2012 +0100
+++ b/tools/pygrub/src/pygrub Wed Jul 04 15:46:14 2012 +0100
@@ -28,6 +28,7 @@
import grub.ExtLinuxConf
PYGRUB_VER = 0.6
+FS_READ_MAX = 1024 * 1024
def enable_cursor(ison):
if ison:
@@ -448,7 +449,8 @@
if self.__dict__.get('cf', None) is None:
raise RuntimeError, "couldn't find bootloader config file in the image provided."
f = fs.open_file(self.cf.filename)
- buf = f.read()
+ # limit read size to avoid pathological cases
+ buf = f.read(FS_READ_MAX)
del f
self.cf.parse(buf)
@@ -697,6 +699,37 @@
def usage():
print >> sys.stderr, "Usage: %s [-q|--quiet] [-i|--interactive] [-n|--not-really] [--output=] [--kernel=] [--ramdisk=] [--args=] [--entry=] [--output-directory=] [--output-format=sxp|simple|simple0] <image>" %(sys.argv[0],)
+ def copy_from_image(fs, file_to_read, file_type, output_directory,
+ not_really):
+ if not_really:
+ if fs.file_exists(file_to_read):
+ return "<%s:%s>" % (file_type, file_to_read)
+ else:
+ sys.exit("The requested %s file does not exist" % file_type)
+ try:
+ datafile = fs.open_file(file_to_read)
+ except Exception, e:
+ print >>sys.stderr, e
+ sys.exit("Error opening %s in guest" % file_to_read)
+ (tfd, ret) = tempfile.mkstemp(prefix="boot_"+file_type+".",
+ dir=output_directory)
+ dataoff = 0
+ while True:
+ data = datafile.read(FS_READ_MAX, dataoff)
+ if len(data) == 0:
+ os.close(tfd)
+ del datafile
+ return ret
+ try:
+ os.write(tfd, data)
+ except Exception, e:
+ print >>sys.stderr, e
+ os.close(tfd)
+ os.unlink(ret)
+ del datafile
+ sys.exit("Error writing temporary copy of "+file_type)
+ dataoff += len(data)
+
try:
opts, args = getopt.gnu_getopt(sys.argv[1:], 'qinh::',
["quiet", "interactive", "not-really", "help",
@@ -821,24 +854,18 @@
if not fs:
raise RuntimeError, "Unable to find partition containing kernel"
- if not_really:
- bootcfg["kernel"] = "<kernel:%s>" % chosencfg["kernel"]
- else:
- data = fs.open_file(chosencfg["kernel"]).read()
- (tfd, bootcfg["kernel"]) = tempfile.mkstemp(prefix="boot_kernel.",
- dir=output_directory)
- os.write(tfd, data)
- os.close(tfd)
+ bootcfg["kernel"] = copy_from_image(fs, chosencfg["kernel"], "kernel",
+ output_directory, not_really)
if chosencfg["ramdisk"]:
- if not_really:
- bootcfg["ramdisk"] = "<ramdisk:%s>" % chosencfg["ramdisk"]
- else:
- data = fs.open_file(chosencfg["ramdisk"],).read()
- (tfd, bootcfg["ramdisk"]) = tempfile.mkstemp(
- prefix="boot_ramdisk.", dir=output_directory)
- os.write(tfd, data)
- os.close(tfd)
+ try:
+ bootcfg["ramdisk"] = copy_from_image(fs, chosencfg["ramdisk"],
+ "ramdisk", output_directory,
+ not_really)
+ except:
+ if not not_really:
+ os.unlink(bootcfg["kernel"])
+ raise
else:
initrd = None
++++++ 25616-x86-MCi_CTL-default.patch ++++++
# HG changeset patch
# User Liu, Jinsong <jinsong.liu(a)intel.com>
# Date 1342709122 -3600
# Node ID 8a4cda0bbdc2309c7f86445eaa14e4f75e9bd21a
# Parent 3625ff5e9f80aebb403d6efc75522eef08cd3802
Xen/MCE: stick all 1's to MCi_CTL of vMCE
This patch is a middle-work patch, prepare for future new vMCE model.
It remove mci_ctl array, and keep MCi_CTL all 1's.
Signed-off-by: Liu, Jinsong <jinsong.liu(a)intel.com>
Committed-by: Keir Fraser <keir(a)xen.org>
--- a/xen/arch/x86/cpu/mcheck/vmce.c
+++ b/xen/arch/x86/cpu/mcheck/vmce.c
@@ -25,7 +25,6 @@ uint64_t g_mcg_cap;
/* Real value in physical CTL MSR */
uint64_t h_mcg_ctl = 0UL;
-uint64_t *h_mci_ctrl;
int vmce_init_msr(struct domain *d)
{
@@ -33,15 +32,6 @@ int vmce_init_msr(struct domain *d)
if ( !dom_vmce(d) )
return -ENOMEM;
- dom_vmce(d)->mci_ctl = xmalloc_array(uint64_t, nr_mce_banks);
- if ( !dom_vmce(d)->mci_ctl )
- {
- xfree(dom_vmce(d));
- return -ENOMEM;
- }
- memset(dom_vmce(d)->mci_ctl, ~0,
- nr_mce_banks * sizeof(*dom_vmce(d)->mci_ctl));
-
dom_vmce(d)->mcg_status = 0x0;
dom_vmce(d)->mcg_ctl = ~(uint64_t)0x0;
dom_vmce(d)->nr_injection = 0;
@@ -56,7 +46,6 @@ void vmce_destroy_msr(struct domain *d)
{
if ( !dom_vmce(d) )
return;
- xfree(dom_vmce(d)->mci_ctl);
xfree(dom_vmce(d));
dom_vmce(d) = NULL;
}
@@ -93,9 +82,8 @@ static int bank_mce_rdmsr(const struct v
switch ( msr & (MSR_IA32_MC0_CTL | 3) )
{
case MSR_IA32_MC0_CTL:
- if ( bank < nr_mce_banks )
- *val = vmce->mci_ctl[bank] &
- (h_mci_ctrl ? h_mci_ctrl[bank] : ~0UL);
+ /* stick all 1's to MCi_CTL */
+ *val = ~0UL;
mce_printk(MCE_VERBOSE, "MCE: rdmsr MC%u_CTL 0x%"PRIx64"\n",
bank, *val);
break;
@@ -220,8 +208,10 @@ static int bank_mce_wrmsr(struct vcpu *v
switch ( msr & (MSR_IA32_MC0_CTL | 3) )
{
case MSR_IA32_MC0_CTL:
- if ( bank < nr_mce_banks )
- vmce->mci_ctl[bank] = val;
+ /*
+ * if guest crazy clear any bit of MCi_CTL,
+ * treat it as not implement and ignore write change it.
+ */
break;
case MSR_IA32_MC0_STATUS:
if ( entry && (entry->bank == bank) )
@@ -522,22 +512,6 @@ int vmce_domain_inject(
int vmce_init(struct cpuinfo_x86 *c)
{
u64 value;
- unsigned int i;
-
- if ( !h_mci_ctrl )
- {
- h_mci_ctrl = xmalloc_array(uint64_t, nr_mce_banks);
- if (!h_mci_ctrl)
- {
- dprintk(XENLOG_INFO, "Failed to alloc h_mci_ctrl\n");
- return -ENOMEM;
- }
- /* Don't care banks before firstbank */
- memset(h_mci_ctrl, ~0,
- min(firstbank, nr_mce_banks) * sizeof(*h_mci_ctrl));
- for (i = firstbank; i < nr_mce_banks; i++)
- rdmsrl(MSR_IA32_MCx_CTL(i), h_mci_ctrl[i]);
- }
rdmsrl(MSR_IA32_MCG_CAP, value);
/* For Guest vMCE usage */
@@ -550,18 +524,13 @@ int vmce_init(struct cpuinfo_x86 *c)
static int mca_ctl_conflict(struct mcinfo_bank *bank, struct domain *d)
{
- int bank_nr;
-
- if ( !bank || !d || !h_mci_ctrl )
+ if ( !bank || !d )
return 1;
/* Will MCE happen in host if If host mcg_ctl is 0? */
if ( ~d->arch.vmca_msrs->mcg_ctl & h_mcg_ctl )
return 1;
- bank_nr = bank->mc_bank;
- if (~d->arch.vmca_msrs->mci_ctl[bank_nr] & h_mci_ctrl[bank_nr] )
- return 1;
return 0;
}
--- a/xen/include/asm-x86/mce.h
+++ b/xen/include/asm-x86/mce.h
@@ -18,7 +18,6 @@ struct domain_mca_msrs
/* Guest should not change below values after DOM boot up */
uint64_t mcg_ctl;
uint64_t mcg_status;
- uint64_t *mci_ctl;
uint16_t nr_injection;
struct list_head impact_header;
spinlock_t lock;
++++++ disable-xl-when-using-xend.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:53.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:53.000000000 +0200
@@ -5,10 +5,10 @@
xl could be useful even when xend is running, e.g. to debug
xend itself, so add a '-f' option to override the exit.
-Index: xen-4.1.2-testing/tools/libxl/xl.c
+Index: xen-4.1.3-testing/tools/libxl/xl.c
===================================================================
---- xen-4.1.2-testing.orig/tools/libxl/xl.c
-+++ xen-4.1.2-testing/tools/libxl/xl.c
+--- xen-4.1.3-testing.orig/tools/libxl/xl.c
++++ xen-4.1.3-testing/tools/libxl/xl.c
@@ -88,12 +88,16 @@ int main(int argc, char **argv)
char *config_file;
void *config_data = 0;
@@ -46,11 +46,11 @@
logger = xtl_createlogger_stdiostream(stderr, minmsglevel, 0);
if (!logger) exit(1);
-Index: xen-4.1.2-testing/tools/libxl/xl_cmdimpl.c
+Index: xen-4.1.3-testing/tools/libxl/xl_cmdimpl.c
===================================================================
---- xen-4.1.2-testing.orig/tools/libxl/xl_cmdimpl.c
-+++ xen-4.1.2-testing/tools/libxl/xl_cmdimpl.c
-@@ -1725,7 +1725,7 @@ void help(const char *command)
+--- xen-4.1.3-testing.orig/tools/libxl/xl_cmdimpl.c
++++ xen-4.1.3-testing/tools/libxl/xl_cmdimpl.c
+@@ -1741,7 +1741,7 @@ void help(const char *command)
struct cmd_spec *cmd;
if (!command || !strcmp(command, "help")) {
@@ -59,7 +59,7 @@
printf("xl full list of subcommands:\n\n");
for (i = 0; i < cmdtable_len; i++)
printf(" %-20s%s\n",
-@@ -1733,7 +1733,7 @@ void help(const char *command)
+@@ -1749,7 +1749,7 @@ void help(const char *command)
} else {
cmd = cmdtable_lookup(command);
if (cmd) {
++++++ disable_emulated_device.diff ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:53.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:53.000000000 +0200
@@ -1,8 +1,8 @@
-Index: xen-4.1.2-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
+Index: xen-4.1.3-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
===================================================================
---- xen-4.1.2-testing.orig/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
-+++ xen-4.1.2-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
-@@ -425,6 +425,11 @@ static int __devinit platform_pci_init(s
+--- xen-4.1.3-testing.orig/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
++++ xen-4.1.3-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
+@@ -424,6 +424,11 @@ static int __devinit platform_pci_init(s
platform_mmio = mmio_addr;
platform_mmiolen = mmio_len;
++++++ init.xendomains ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:53.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:53.000000000 +0200
@@ -21,11 +21,17 @@
. /etc/rc.status
rc_reset
-LOCKFILE=/var/lock/subsys/xendomains
XENDOM_CONFIG=/etc/sysconfig/xendomains
RETCODE_FILE=/tmp/xendomains.rc.$$
xm_cmd=echo
+# See docs/misc/distro_mapping.txt
+if [ -d /var/lock/subsys ]; then
+ LOCKFILE=/var/lock/subsys/xendomains
+else
+ LOCKFILE=/var/lock/xendomains
+fi
+
. "$XENDOM_CONFIG"
shopt -s dotglob nullglob
++++++ ioemu-9868-MSI-X.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:53.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:53.000000000 +0200
@@ -24,8 +24,10 @@
committer: Ian Jackson <Ian.Jackson(a)eu.citrix.com>
---- a/tools/ioemu-qemu-xen/hw/pass-through.c
-+++ b/tools/ioemu-qemu-xen/hw/pass-through.c
+Index: xen-4.1.3-testing/tools/ioemu-qemu-xen/hw/pass-through.c
+===================================================================
+--- xen-4.1.3-testing.orig/tools/ioemu-qemu-xen/hw/pass-through.c
++++ xen-4.1.3-testing/tools/ioemu-qemu-xen/hw/pass-through.c
@@ -92,6 +92,7 @@
#include <unistd.h>
@@ -135,8 +137,10 @@
if ( old_ebase != e_phys && old_ebase != -1 )
pt_msix_update_remap(assigned_device, i);
}
---- a/tools/ioemu-qemu-xen/hw/pt-msi.c
-+++ b/tools/ioemu-qemu-xen/hw/pt-msi.c
+Index: xen-4.1.3-testing/tools/ioemu-qemu-xen/hw/pt-msi.c
+===================================================================
+--- xen-4.1.3-testing.orig/tools/ioemu-qemu-xen/hw/pt-msi.c
++++ xen-4.1.3-testing/tools/ioemu-qemu-xen/hw/pt-msi.c
@@ -284,15 +284,6 @@ void pt_disable_msi_translate(struct pt_
dev->msi_trans_en = 0;
}
@@ -225,9 +229,11 @@
fd, dev->msix->table_base + table_off - dev->msix->table_offset_adjust);
dev->msix->phys_iomem_base = (void *)((char *)dev->msix->phys_iomem_base +
dev->msix->table_offset_adjust);
---- a/tools/ioemu-qemu-xen/hw/pt-msi.h
-+++ b/tools/ioemu-qemu-xen/hw/pt-msi.h
-@@ -107,10 +107,7 @@ void
+Index: xen-4.1.3-testing/tools/ioemu-qemu-xen/hw/pt-msi.h
+===================================================================
+--- xen-4.1.3-testing.orig/tools/ioemu-qemu-xen/hw/pt-msi.h
++++ xen-4.1.3-testing/tools/ioemu-qemu-xen/hw/pt-msi.h
+@@ -109,10 +109,7 @@ void
pt_msix_disable(struct pt_dev *dev);
int
++++++ ipxe-gcc45-warnings.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:53.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:53.000000000 +0200
@@ -1,7 +1,7 @@
-Index: xen-4.1.2-testing/tools/firmware/etherboot/patches/ipxe-git-f7c5918b179b
+Index: xen-4.1.3-testing/tools/firmware/etherboot/patches/ipxe-git-f7c5918b179b
===================================================================
--- /dev/null
-+++ xen-4.1.2-testing/tools/firmware/etherboot/patches/ipxe-git-f7c5918b179b
++++ xen-4.1.3-testing/tools/firmware/etherboot/patches/ipxe-git-f7c5918b179b
@@ -0,0 +1,61 @@
+
+Subject: [drivers] Fix warnings identified by gcc 4.5
@@ -64,12 +64,12 @@
+
+ return 1;
+ }
-Index: xen-4.1.2-testing/tools/firmware/etherboot/patches/series
+Index: xen-4.1.3-testing/tools/firmware/etherboot/patches/series
===================================================================
---- xen-4.1.2-testing.orig/tools/firmware/etherboot/patches/series
-+++ xen-4.1.2-testing/tools/firmware/etherboot/patches/series
-@@ -1,3 +1,4 @@
- boot_prompt_option.patch
- gpxe-git-0edf2405b457
+--- xen-4.1.3-testing.orig/tools/firmware/etherboot/patches/series
++++ xen-4.1.3-testing/tools/firmware/etherboot/patches/series
+@@ -3,3 +3,4 @@ gpxe-git-0edf2405b457
gpxe-git-a803ef3dfeac
+ gpxe-git-b8924c1aed51
+ gpxe-git-fe61f6de0dd5
+ipxe-git-f7c5918b179b
++++++ ipxe-ipv4-fragment.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:53.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:53.000000000 +0200
@@ -1,20 +1,21 @@
-Index: xen-4.1.2-testing/tools/firmware/etherboot/patches/ipxe-git-13186b64b6c3
+Index: xen-4.1.3-testing/tools/firmware/etherboot/patches/ipxe-git-13186b64b6c3
===================================================================
---- /dev/null 2010-05-08 03:31:08.000000000 -0600
-+++ xen-4.1.2-testing/tools/firmware/etherboot/patches/ipxe-git-13186b64b6c3 2011-12-19 15:05:32.000000000 -0700
-@@ -0,0 +1,354 @@
+--- /dev/null 2010-08-26 08:28:41.000000000 -0600
++++ xen-4.1.3-testing/tools/firmware/etherboot/patches/ipxe-git-13186b64b6c3 2012-06-19 09:29:52.000000000 -0600
+@@ -0,0 +1,357 @@
+commit 13186b64b6c3d5cbe9ed13bda1532e79b1afe81d
+Author: Michael Brown <mcb30(a)ipxe.org>
+Date: Sat Jul 16 01:15:53 2011 +0100
+
+ [ipv4] Fix fragment reassembly
-+
++
+ Signed-off-by: Michael Brown <mcb30(a)ipxe.org>
+ Signed-off-by: Michal Kubecek <mkubecek(a)suse.cz>
+
-+diff -up a/src/include/gpxe/ip.h.orig-frag b/src/include/gpxe/ip.h
-+--- a/src/include/gpxe/ip.h.orig-frag 2010-02-02 17:12:44.000000000 +0100
-++++ b/src/include/gpxe/ip.h 2011-11-18 15:49:17.202660163 +0100
++Index: ipxe/src/include/gpxe/ip.h
++===================================================================
++--- ipxe.orig/src/include/gpxe/ip.h
+++++ ipxe/src/include/gpxe/ip.h
+@@ -32,9 +32,6 @@ struct net_protocol;
+ #define IP_TOS 0
+ #define IP_TTL 64
@@ -54,9 +55,10 @@
+ };
+
+ extern struct list_head ipv4_miniroutes;
-+diff -up a/src/include/gpxe/retry.h.orig-frag b/src/include/gpxe/retry.h
-+--- a/src/include/gpxe/retry.h.orig-frag 2010-02-02 17:12:44.000000000 +0100
-++++ b/src/include/gpxe/retry.h 2011-11-18 15:59:25.258837891 +0100
++Index: ipxe/src/include/gpxe/retry.h
++===================================================================
++--- ipxe.orig/src/include/gpxe/retry.h
+++++ ipxe/src/include/gpxe/retry.h
+@@ -51,6 +51,19 @@ struct retry_timer {
+ void ( * expired ) ( struct retry_timer *timer, int over );
+ };
@@ -77,9 +79,10 @@
+ extern void start_timer ( struct retry_timer *timer );
+ extern void start_timer_fixed ( struct retry_timer *timer,
+ unsigned long timeout );
-+diff -up a/src/net/ipv4.c.orig-frag b/src/net/ipv4.c
-+--- a/src/net/ipv4.c.orig-frag 2010-02-02 17:12:44.000000000 +0100
-++++ b/src/net/ipv4.c 2011-11-18 15:49:17.203660142 +0100
++Index: ipxe/src/net/ipv4.c
++===================================================================
++--- ipxe.orig/src/net/ipv4.c
+++++ ipxe/src/net/ipv4.c
+@@ -14,6 +14,7 @@
+ #include <gpxe/tcpip.h>
+ #include <gpxe/dhcp.h>
@@ -357,12 +360,12 @@
+ if ( ( rc = tcpip_rx ( iobuf, iphdr->protocol, &src.st,
+ &dest.st, pshdr_csum ) ) != 0 ) {
+ DBG ( "IPv4 received packet rejected by stack: %s\n",
-Index: xen-4.1.2-testing/tools/firmware/etherboot/patches/series
+Index: xen-4.1.3-testing/tools/firmware/etherboot/patches/series
===================================================================
---- xen-4.1.2-testing.orig/tools/firmware/etherboot/patches/series
-+++ xen-4.1.2-testing/tools/firmware/etherboot/patches/series
-@@ -2,3 +2,4 @@ boot_prompt_option.patch
- gpxe-git-0edf2405b457
- gpxe-git-a803ef3dfeac
+--- xen-4.1.3-testing.orig/tools/firmware/etherboot/patches/series
++++ xen-4.1.3-testing/tools/firmware/etherboot/patches/series
+@@ -4,3 +4,4 @@ gpxe-git-a803ef3dfeac
+ gpxe-git-b8924c1aed51
+ gpxe-git-fe61f6de0dd5
ipxe-git-f7c5918b179b
+ipxe-git-13186b64b6c3
++++++ log-guest-console.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:53.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:53.000000000 +0200
@@ -6,10 +6,10 @@
hw/xen_console.c | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 71 insertions(+), 0 deletions(-)
-Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/hw/xen_console.c
+Index: xen-4.1.3-testing/tools/ioemu-qemu-xen/hw/xen_console.c
===================================================================
---- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/hw/xen_console.c
-+++ xen-4.1.2-testing/tools/ioemu-qemu-xen/hw/xen_console.c
+--- xen-4.1.3-testing.orig/tools/ioemu-qemu-xen/hw/xen_console.c
++++ xen-4.1.3-testing/tools/ioemu-qemu-xen/hw/xen_console.c
@@ -38,6 +38,8 @@
#include "qemu-char.h"
#include "xen_backend.h"
@@ -126,7 +126,7 @@
return 0;
}
-@@ -264,6 +329,12 @@ static void con_disconnect(struct XenDev
+@@ -266,6 +331,12 @@ static void con_disconnect(struct XenDev
xc_gnttab_munmap(xendev->gnttabdev, con->sring, 1);
con->sring = NULL;
}
++++++ pvdrv-import-shared-info.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:53.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:53.000000000 +0200
@@ -1,7 +1,5 @@
-Index: xen-4.1.2-testing/unmodified_drivers/linux-2.6/platform-pci/evtchn.c
-===================================================================
---- xen-4.1.2-testing.orig/unmodified_drivers/linux-2.6/platform-pci/evtchn.c
-+++ xen-4.1.2-testing/unmodified_drivers/linux-2.6/platform-pci/evtchn.c
+--- a/unmodified_drivers/linux-2.6/platform-pci/evtchn.c
++++ b/unmodified_drivers/linux-2.6/platform-pci/evtchn.c
@@ -40,7 +40,9 @@
#include <xen/platform-compat.h>
#endif
@@ -12,10 +10,8 @@
#define is_valid_evtchn(x) ((x) != 0)
#define evtchn_from_irq(x) (irq_evtchn[irq].evtchn)
-Index: xen-4.1.2-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
-===================================================================
---- xen-4.1.2-testing.orig/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
-+++ xen-4.1.2-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
+--- a/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
++++ b/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
@@ -76,7 +76,6 @@ static uint64_t callback_via;
static int __devinit init_xen_info(void)
{
@@ -44,10 +40,8 @@
return 0;
}
-Index: xen-4.1.2-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.h
-===================================================================
---- xen-4.1.2-testing.orig/unmodified_drivers/linux-2.6/platform-pci/platform-pci.h
-+++ xen-4.1.2-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.h
+--- a/unmodified_drivers/linux-2.6/platform-pci/platform-pci.h
++++ b/unmodified_drivers/linux-2.6/platform-pci/platform-pci.h
@@ -27,6 +27,11 @@
unsigned long alloc_xen_mmio(unsigned long len);
void platform_pci_resume(void);
++++++ snapshot-xend.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:53.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:53.000000000 +0200
@@ -1,7 +1,7 @@
-Index: xen-4.1.2-testing/tools/python/xen/xend/image.py
+Index: xen-4.1.3-testing/tools/python/xen/xend/image.py
===================================================================
---- xen-4.1.2-testing.orig/tools/python/xen/xend/image.py
-+++ xen-4.1.2-testing/tools/python/xen/xend/image.py
+--- xen-4.1.3-testing.orig/tools/python/xen/xend/image.py
++++ xen-4.1.3-testing/tools/python/xen/xend/image.py
@@ -490,7 +490,7 @@ class ImageHandler:
domains.domains_lock.acquire()
@@ -43,10 +43,10 @@
def recreate(self):
if self.device_model is None:
return
-Index: xen-4.1.2-testing/tools/python/xen/xend/server/blkif.py
+Index: xen-4.1.3-testing/tools/python/xen/xend/server/blkif.py
===================================================================
---- xen-4.1.2-testing.orig/tools/python/xen/xend/server/blkif.py
-+++ xen-4.1.2-testing/tools/python/xen/xend/server/blkif.py
+--- xen-4.1.3-testing.orig/tools/python/xen/xend/server/blkif.py
++++ xen-4.1.3-testing/tools/python/xen/xend/server/blkif.py
@@ -88,6 +88,10 @@ class BlkifController(DevController):
if bootable != None:
back['bootable'] = str(bootable)
@@ -58,10 +58,10 @@
if security.on() == xsconstants.XS_POLICY_USE:
self.do_access_control(config, uname)
-Index: xen-4.1.2-testing/tools/python/xen/xend/server/SrvDomain.py
+Index: xen-4.1.3-testing/tools/python/xen/xend/server/SrvDomain.py
===================================================================
---- xen-4.1.2-testing.orig/tools/python/xen/xend/server/SrvDomain.py
-+++ xen-4.1.2-testing/tools/python/xen/xend/server/SrvDomain.py
+--- xen-4.1.3-testing.orig/tools/python/xen/xend/server/SrvDomain.py
++++ xen-4.1.3-testing/tools/python/xen/xend/server/SrvDomain.py
@@ -95,6 +95,31 @@ class SrvDomain(SrvDir):
def do_save(self, _, req):
return self.xd.domain_save(self.dom.domid, req.args['file'][0])
@@ -103,10 +103,10 @@
return self.perform(req)
#
-Index: xen-4.1.2-testing/tools/python/xen/xend/XendCheckpoint.py
+Index: xen-4.1.3-testing/tools/python/xen/xend/XendCheckpoint.py
===================================================================
---- xen-4.1.2-testing.orig/tools/python/xen/xend/XendCheckpoint.py
-+++ xen-4.1.2-testing/tools/python/xen/xend/XendCheckpoint.py
+--- xen-4.1.3-testing.orig/tools/python/xen/xend/XendCheckpoint.py
++++ xen-4.1.3-testing/tools/python/xen/xend/XendCheckpoint.py
@@ -65,7 +65,7 @@ def insert_after(list, pred, value):
return
@@ -331,10 +331,10 @@
if not paused:
dominfo.unpause()
-Index: xen-4.1.2-testing/tools/python/xen/xend/XendConfig.py
+Index: xen-4.1.3-testing/tools/python/xen/xend/XendConfig.py
===================================================================
---- xen-4.1.2-testing.orig/tools/python/xen/xend/XendConfig.py
-+++ xen-4.1.2-testing/tools/python/xen/xend/XendConfig.py
+--- xen-4.1.3-testing.orig/tools/python/xen/xend/XendConfig.py
++++ xen-4.1.3-testing/tools/python/xen/xend/XendConfig.py
@@ -244,6 +244,7 @@ XENAPI_CFG_TYPES = {
'memory_sharing': int,
'pool_name' : str,
@@ -343,10 +343,10 @@
}
# List of legacy configuration keys that have no equivalent in the
-Index: xen-4.1.2-testing/tools/python/xen/xend/XendDomain.py
+Index: xen-4.1.3-testing/tools/python/xen/xend/XendDomain.py
===================================================================
---- xen-4.1.2-testing.orig/tools/python/xen/xend/XendDomain.py
-+++ xen-4.1.2-testing/tools/python/xen/xend/XendDomain.py
+--- xen-4.1.3-testing.orig/tools/python/xen/xend/XendDomain.py
++++ xen-4.1.3-testing/tools/python/xen/xend/XendDomain.py
@@ -53,6 +53,7 @@ from xen.xend.xenstore.xstransact import
from xen.xend.xenstore.xswatch import xswatch
from xen.util import mkdir, rwlock
@@ -561,10 +561,10 @@
def domain_pincpu(self, domid, vcpu, cpumap):
"""Set which cpus vcpu can use
-Index: xen-4.1.2-testing/tools/python/xen/xm/main.py
+Index: xen-4.1.3-testing/tools/python/xen/xm/main.py
===================================================================
---- xen-4.1.2-testing.orig/tools/python/xen/xm/main.py
-+++ xen-4.1.2-testing/tools/python/xen/xm/main.py
+--- xen-4.1.3-testing.orig/tools/python/xen/xm/main.py
++++ xen-4.1.3-testing/tools/python/xen/xm/main.py
@@ -123,6 +123,14 @@ SUBCOMMAND_HELP = {
'Restore a domain from a saved state.'),
'save' : ('[-c|-f] <Domain> <CheckpointFile>',
@@ -686,10 +686,10 @@
"shutdown": xm_shutdown,
"start": xm_start,
"sysrq": xm_sysrq,
-Index: xen-4.1.2-testing/tools/python/xen/xend/XendDomainInfo.py
+Index: xen-4.1.3-testing/tools/python/xen/xend/XendDomainInfo.py
===================================================================
---- xen-4.1.2-testing.orig/tools/python/xen/xend/XendDomainInfo.py
-+++ xen-4.1.2-testing/tools/python/xen/xend/XendDomainInfo.py
+--- xen-4.1.3-testing.orig/tools/python/xen/xend/XendDomainInfo.py
++++ xen-4.1.3-testing/tools/python/xen/xend/XendDomainInfo.py
@@ -508,8 +508,6 @@ class XendDomainInfo:
self._setSchedParams()
self._storeVmDetails()
++++++ tmp-initscript-modprobe.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:53.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:53.000000000 +0200
@@ -1,10 +1,10 @@
-Index: xen-4.1.2-testing/tools/hotplug/Linux/init.d/xencommons
+Index: xen-4.1.3-testing/tools/hotplug/Linux/init.d/xencommons
===================================================================
---- xen-4.1.2-testing.orig/tools/hotplug/Linux/init.d/xencommons
-+++ xen-4.1.2-testing/tools/hotplug/Linux/init.d/xencommons
-@@ -57,6 +57,20 @@ do_start () {
- local time=0
- local timeout=30
+--- xen-4.1.3-testing.orig/tools/hotplug/Linux/init.d/xencommons
++++ xen-4.1.3-testing/tools/hotplug/Linux/init.d/xencommons
+@@ -62,6 +62,20 @@ do_start () {
+ modprobe evtchn 2>/dev/null
+ modprobe gntdev 2>/dev/null
+ # Load XEN backend modules
+ # NB: They could be loaded later, e.g. when dom0 hotplug events occur,
@@ -17,8 +17,8 @@
+ modprobe usbbk 2>/dev/null || true
+ # xenblk (frontend module) is needed in dom0, allowing it to use vbds
+ modprobe xenblk 2>/dev/null || true
-+ # support xl create pv guest with qcow/qcow2 disk image
-+ modprobe nbd max_part=8 2>/dev/null || true
++ # support xl create pv guest with qcow/qcow2 disk image
++ modprobe nbd max_part=8 2>/dev/null || true
+
if ! `xenstore-read -s / >/dev/null 2>&1`
then
++++++ tools-watchdog-support.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:53.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:53.000000000 +0200
@@ -1,7 +1,7 @@
-Index: xen-4.1.2-testing/tools/python/xen/xm/create.py
+Index: xen-4.1.3-testing/tools/python/xen/xm/create.py
===================================================================
---- xen-4.1.2-testing.orig/tools/python/xen/xm/create.py
-+++ xen-4.1.2-testing/tools/python/xen/xm/create.py
+--- xen-4.1.3-testing.orig/tools/python/xen/xm/create.py
++++ xen-4.1.3-testing/tools/python/xen/xm/create.py
@@ -535,6 +535,21 @@ gopts.var('usbdevice', val='NAME',
fn=set_value, default='',
use="Name of USB device to add?")
@@ -32,10 +32,10 @@
'xauthority', 'xen_extended_power_mgmt', 'xen_platform_pci',
'memory_sharing' ]
-Index: xen-4.1.2-testing/tools/python/xen/xm/xenapi_create.py
+Index: xen-4.1.3-testing/tools/python/xen/xm/xenapi_create.py
===================================================================
---- xen-4.1.2-testing.orig/tools/python/xen/xm/xenapi_create.py
-+++ xen-4.1.2-testing/tools/python/xen/xm/xenapi_create.py
+--- xen-4.1.3-testing.orig/tools/python/xen/xm/xenapi_create.py
++++ xen-4.1.3-testing/tools/python/xen/xm/xenapi_create.py
@@ -1113,7 +1113,9 @@ class sxp2xml:
'xen_platform_pci',
'tsc_mode'
@@ -47,10 +47,10 @@
]
platform_configs = []
-Index: xen-4.1.2-testing/tools/python/xen/xend/image.py
+Index: xen-4.1.3-testing/tools/python/xen/xend/image.py
===================================================================
---- xen-4.1.2-testing.orig/tools/python/xen/xend/image.py
-+++ xen-4.1.2-testing/tools/python/xen/xend/image.py
+--- xen-4.1.3-testing.orig/tools/python/xen/xend/image.py
++++ xen-4.1.3-testing/tools/python/xen/xend/image.py
@@ -866,7 +866,8 @@ class HVMImageHandler(ImageHandler):
dmargs = [ 'boot', 'fda', 'fdb', 'soundhw',
@@ -69,10 +69,10 @@
# Handle booleans gracefully
if a in ['localtime', 'std-vga', 'isa', 'usb', 'acpi']:
-Index: xen-4.1.2-testing/tools/python/xen/xend/XendConfig.py
+Index: xen-4.1.3-testing/tools/python/xen/xend/XendConfig.py
===================================================================
---- xen-4.1.2-testing.orig/tools/python/xen/xend/XendConfig.py
-+++ xen-4.1.2-testing/tools/python/xen/xend/XendConfig.py
+--- xen-4.1.3-testing.orig/tools/python/xen/xend/XendConfig.py
++++ xen-4.1.3-testing/tools/python/xen/xend/XendConfig.py
@@ -191,6 +191,8 @@ XENAPI_PLATFORM_CFG_TYPES = {
'xen_platform_pci': int,
"gfx_passthru": int,
@@ -82,10 +82,10 @@
}
# Xen API console 'other_config' keys.
-Index: xen-4.1.2-testing/tools/libxl/libxl_dm.c
+Index: xen-4.1.3-testing/tools/libxl/libxl_dm.c
===================================================================
---- xen-4.1.2-testing.orig/tools/libxl/libxl_dm.c
-+++ xen-4.1.2-testing/tools/libxl/libxl_dm.c
+--- xen-4.1.3-testing.orig/tools/libxl/libxl_dm.c
++++ xen-4.1.3-testing/tools/libxl/libxl_dm.c
@@ -117,6 +117,12 @@ static char ** libxl_build_device_model_
flexarray_vappend(dm_args, "-usbdevice", info->usbdevice, NULL);
}
@@ -112,11 +112,11 @@
if (info->soundhw) {
flexarray_vappend(dm_args, "-soundhw", info->soundhw, NULL);
}
-Index: xen-4.1.2-testing/tools/libxl/libxl.idl
+Index: xen-4.1.3-testing/tools/libxl/libxl.idl
===================================================================
---- xen-4.1.2-testing.orig/tools/libxl/libxl.idl
-+++ xen-4.1.2-testing/tools/libxl/libxl.idl
-@@ -164,6 +164,8 @@ libxl_device_model_info = Struct("device
+--- xen-4.1.3-testing.orig/tools/libxl/libxl.idl
++++ xen-4.1.3-testing/tools/libxl/libxl.idl
+@@ -166,6 +166,8 @@ libxl_device_model_info = Struct("device
("vcpu_avail", integer, False, "vcpus actually available"),
("xen_platform_pci", integer, False, "enable/disable the xen platform pci device"),
("extra", libxl_string_list, False, "extra parameters pass directly to qemu, NULL terminated"),
@@ -125,10 +125,10 @@
],
comment=
"""Device Model information.
-Index: xen-4.1.2-testing/tools/libxl/xl_cmdimpl.c
+Index: xen-4.1.3-testing/tools/libxl/xl_cmdimpl.c
===================================================================
---- xen-4.1.2-testing.orig/tools/libxl/xl_cmdimpl.c
-+++ xen-4.1.2-testing/tools/libxl/xl_cmdimpl.c
+--- xen-4.1.3-testing.orig/tools/libxl/xl_cmdimpl.c
++++ xen-4.1.3-testing/tools/libxl/xl_cmdimpl.c
@@ -365,6 +365,8 @@ static void printf_info(int domid,
printf("\t\t\t(usb %d)\n", dm_info->usb);
printf("\t\t\t(usbdevice %s)\n", dm_info->usbdevice);
@@ -138,7 +138,7 @@
printf("\t\t)\n");
} else {
printf("\t\t(linux %d)\n", b_info->hvm);
-@@ -1142,6 +1144,8 @@ skip_vfb:
+@@ -1158,6 +1160,8 @@ skip_vfb:
xlu_cfg_replace_string (config, "soundhw", &dm_info->soundhw);
if (!xlu_cfg_get_long (config, "xen_platform_pci", &l))
dm_info->xen_platform_pci = l;
++++++ x86-extra-trap-info.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:53.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:53.000000000 +0200
@@ -1,8 +1,6 @@
-Index: xen-4.1.2-testing/xen/arch/x86/x86_32/entry.S
-===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/x86_32/entry.S
-+++ xen-4.1.2-testing/xen/arch/x86/x86_32/entry.S
-@@ -389,29 +389,41 @@ UNLIKELY_END(bounce_vm86_3)
+--- a/xen/arch/x86/x86_32/entry.S
++++ b/xen/arch/x86/x86_32/entry.S
+@@ -390,29 +390,41 @@ UNLIKELY_END(bounce_vm86_3)
movl %eax,UREGS_eip+4(%esp)
ret
_ASM_EXTABLE(.Lft6, domain_crash_synchronous)
@@ -62,11 +60,9 @@
domain_crash_synchronous:
pushl $domain_crash_synchronous_string
call printk
-Index: xen-4.1.2-testing/xen/arch/x86/x86_64/entry.S
-===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/x86_64/entry.S
-+++ xen-4.1.2-testing/xen/arch/x86/x86_64/entry.S
-@@ -418,22 +418,35 @@ UNLIKELY_END(bounce_failsafe)
+--- a/xen/arch/x86/x86_64/entry.S
++++ b/xen/arch/x86/x86_64/entry.S
+@@ -430,22 +430,35 @@ UNLIKELY_END(bounce_failsafe)
jz domain_crash_synchronous
movq %rax,UREGS_rip+8(%rsp)
ret
++++++ x86-ioapic-ack-default.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:53.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:53.000000000 +0200
@@ -1,8 +1,10 @@
Change default IO-APIC ack mode for single IO-APIC systems to old-style.
---- a/xen/arch/x86/io_apic.c
-+++ b/xen/arch/x86/io_apic.c
-@@ -1679,7 +1679,7 @@ static unsigned int startup_level_ioapic
+Index: xen-4.1.3-testing/xen/arch/x86/io_apic.c
+===================================================================
+--- xen-4.1.3-testing.orig/xen/arch/x86/io_apic.c
++++ xen-4.1.3-testing/xen/arch/x86/io_apic.c
+@@ -1680,7 +1680,7 @@ static unsigned int startup_level_ioapic
return 0; /* don't check for pending */
}
@@ -11,7 +13,7 @@
static void setup_ioapic_ack(char *s)
{
if ( !strcmp(s, "old") )
-@@ -2180,6 +2180,8 @@ void __init setup_IO_APIC(void)
+@@ -2187,6 +2187,8 @@ void __init setup_IO_APIC(void)
else
io_apic_irqs = ~PIC_IRQS;
++++++ x86_64-allow-unsafe-adjust.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:53.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:53.000000000 +0200
@@ -21,7 +21,7 @@
static inline void wrmsr_amd(unsigned int index, unsigned int lo,
unsigned int hi)
-@@ -623,10 +626,19 @@ static void __devinit init_amd(struct cp
+@@ -638,10 +641,19 @@ static void __devinit init_amd(struct cp
clear_bit(X86_FEATURE_MCE, c->x86_capability);
#ifdef __x86_64__
++++++ xen-4.1.2-testing-src.tar.bz2 -> xen-4.1.3-testing-src.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/xen/xen-4.1.2-testing-src.tar.bz2 /work/SRC/openSUSE:Factory/.xen.new/xen-4.1.3-testing-src.tar.bz2 differ: char 11, line 1
++++++ xen-config.diff ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:53.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:53.000000000 +0200
@@ -1,5 +1,7 @@
---- a/Config.mk
-+++ b/Config.mk
+Index: xen-4.1.3-testing/Config.mk
+===================================================================
+--- xen-4.1.3-testing.orig/Config.mk
++++ xen-4.1.3-testing/Config.mk
@@ -178,7 +178,7 @@ endif
# Specify which qemu-dm to use. This may be `ioemu' to use the old
# Mercurial in-tree version, or a local directory, or a git URL.
@@ -7,9 +9,9 @@
-CONFIG_QEMU ?= $(QEMU_REMOTE)
+CONFIG_QEMU ?= ioemu-qemu-xen
- QEMU_TAG := xen-4.1.2
- #QEMU_TAG ?= e073e69457b4d99b6da0b6536296e3498f7f6599
-@@ -188,7 +188,7 @@ QEMU_TAG := xen-4.1.2
+ QEMU_TAG ?= xen-4.1.3
+ # Mon Apr 2 17:55:05 2012 +0100
+@@ -187,7 +187,7 @@ QEMU_TAG ?= xen-4.1.3
# Optional components
XENSTAT_XENTOP ?= y
VTPM_TOOLS ?= n
@@ -18,8 +20,10 @@
PYTHON_TOOLS ?= y
OCAML_TOOLS ?= y
CONFIG_MINITERM ?= n
---- a/tools/Makefile
-+++ b/tools/Makefile
+Index: xen-4.1.3-testing/tools/Makefile
+===================================================================
+--- xen-4.1.3-testing.orig/tools/Makefile
++++ xen-4.1.3-testing/tools/Makefile
@@ -79,14 +79,16 @@ IOEMU_CONFIGURE_CROSS ?= --cpu=$(XEN_TAR
--interp-prefix=$(CROSS_SYS_ROOT)
endif
@@ -50,8 +54,10 @@
.PHONY: ioemu-dir-force-update
ioemu-dir-force-update:
---- a/tools/libxc/Makefile
-+++ b/tools/libxc/Makefile
+Index: xen-4.1.3-testing/tools/libxc/Makefile
+===================================================================
+--- xen-4.1.3-testing.orig/tools/libxc/Makefile
++++ xen-4.1.3-testing/tools/libxc/Makefile
@@ -195,7 +195,7 @@ xc_dom_bzimageloader.opic: CFLAGS += $(c
libxenguest.so.$(MAJOR).$(MINOR): COMPRESSION_LIBS = $(call zlib-options,l)
@@ -61,8 +67,10 @@
xenctrl_osdep_ENOSYS.so: $(OSDEP_PIC_OBJS) libxenctrl.so
$(CC) -g $(CFLAGS) $(LDFLAGS) $(SHLIB_LDFLAGS) -o $@ $(OSDEP_PIC_OBJS) -lxenctrl
---- a/tools/firmware/etherboot/Makefile
-+++ b/tools/firmware/etherboot/Makefile
+Index: xen-4.1.3-testing/tools/firmware/etherboot/Makefile
+===================================================================
+--- xen-4.1.3-testing.orig/tools/firmware/etherboot/Makefile
++++ xen-4.1.3-testing/tools/firmware/etherboot/Makefile
@@ -35,11 +35,13 @@ eb-roms.h: Config
mv -f $@.new $@
++++++ xen-warnings-unused.diff ++++++
++++ 621 lines (skipped)
++++ between /work/SRC/openSUSE:Factory/xen/xen-warnings-unused.diff
++++ and /work/SRC/openSUSE:Factory/.xen.new/xen-warnings-unused.diff
++++++ xen.sles11sp1.fate311487.xen_platform_pci.dmistring.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:53.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:53.000000000 +0200
@@ -9,10 +9,10 @@
unmodified_drivers/linux-2.6/platform-pci/platform-pci.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
-Index: xen-4.1.2-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
+Index: xen-4.1.3-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
===================================================================
---- xen-4.1.2-testing.orig/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
-+++ xen-4.1.2-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
+--- xen-4.1.3-testing.orig/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
++++ xen-4.1.3-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
@@ -27,6 +27,7 @@
#include <linux/pci.h>
#include <linux/init.h>
@@ -21,7 +21,7 @@
#include <linux/interrupt.h>
#include <linux/vmalloc.h>
#include <linux/mm.h>
-@@ -479,6 +480,18 @@ static struct pci_device_id platform_pci
+@@ -477,6 +478,18 @@ static struct pci_device_id platform_pci
MODULE_DEVICE_TABLE(pci, platform_pci_tbl);
++++++ xen_pvdrivers.conf ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:53.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:53.000000000 +0200
@@ -1,5 +1,6 @@
# Install the paravirtualized drivers
install libata /sbin/modprobe xen-vbd 2>&1 |:; /sbin/modprobe --ignore-install libata
+install ata_piix /sbin/modprobe xen-vbd 2>&1 |:; /sbin/modprobe --ignore-install ata_piix
install 8139cp /sbin/modprobe xen-vnif 2>&1 |:; /sbin/modprobe --ignore-install 8139cp
++++++ xencommons-proc-xen.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:53.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:53.000000000 +0200
@@ -15,41 +15,47 @@
tools/hotplug/Linux/init.d/xencommons | 20 ++++++++++++++++----
1 file changed, 16 insertions(+), 4 deletions(-)
-Index: xen-4.1.2-testing/tools/hotplug/Linux/init.d/xencommons
+Index: xen-4.1.3-testing/tools/hotplug/Linux/init.d/xencommons
===================================================================
---- xen-4.1.2-testing.orig/tools/hotplug/Linux/init.d/xencommons
-+++ xen-4.1.2-testing/tools/hotplug/Linux/init.d/xencommons
-@@ -27,17 +27,29 @@ fi
+--- xen-4.1.3-testing.orig/tools/hotplug/Linux/init.d/xencommons
++++ xen-4.1.3-testing/tools/hotplug/Linux/init.d/xencommons
+@@ -27,27 +27,30 @@ fi
test -f $xencommons_config/xencommons && . $xencommons_config/xencommons
XENCONSOLED_PIDFILE=/var/run/xenconsoled.pid
+XEN_CAPABILITIES=/proc/xen/capabilities
shopt -s extglob
-+# not running in Xen dom0 or domU
-+if ! test -d /proc/xen ; then
-+ exit 0
-+fi
-+
-+# mount xenfs in dom0 or domU with a pv_ops kernel
+ # not running in Xen dom0 or domU
+ if ! test -d /proc/xen ; then
+- exit 0
++ exit 0
+ fi
+
+ # mount xenfs in dom0 or domU with a pv_ops kernel
if test "x$1" = xstart && \
-- test -d /proc/xen && \
- ! test -f /proc/xen/capabilities && \
- ! grep '^xenfs ' /proc/mounts >/dev/null;
+ ! test -f $XEN_CAPABILITIES && \
+ ! grep -q '^xenfs ' /proc/mounts ;
then
- mount -t xenfs xenfs /proc/xen
+- mount -t xenfs xenfs /proc/xen
++ mount -t xenfs xenfs /proc/xen
fi
--if ! grep -q "control_d" /proc/xen/capabilities ; then
-+# run this script only in dom0:
+ # run this script only in dom0:
+-# no capabilities file in xenlinux domU kernel
+-# empty capabilities file in pv_ops domU kernel
+-if test -f /proc/xen/capabilities && \
+- ! grep -q "control_d" /proc/xen/capabilities ; then
+- exit 0
+# no capabilities file in xenlinux kernel
+if ! test -f $XEN_CAPABILITIES ; then
-+ exit 0
++ exit 0
+fi
+# empty capabilities file in pv_ops kernel
+if ! grep -q "control_d" $XEN_CAPABILITIES ; then
- exit 0
++ exit 0
fi
+ do_start () {
++++++ xenpaging.error-handling.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:53.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:53.000000000 +0200
@@ -20,10 +20,10 @@
xen/include/public/mem_event.h | 2 -
3 files changed, 33 insertions(+), 23 deletions(-)
-Index: xen-4.1.2-testing/tools/xenpaging/xenpaging.c
+Index: xen-4.1.3-testing/tools/xenpaging/xenpaging.c
===================================================================
---- xen-4.1.2-testing.orig/tools/xenpaging/xenpaging.c
-+++ xen-4.1.2-testing/tools/xenpaging/xenpaging.c
+--- xen-4.1.3-testing.orig/tools/xenpaging/xenpaging.c
++++ xen-4.1.3-testing/tools/xenpaging/xenpaging.c
@@ -569,29 +569,35 @@ static int xenpaging_evict_page(xenpagin
xc_interface *xch = paging->xc_handle;
void *page;
@@ -132,11 +132,11 @@
}
}
while ( ret );
-Index: xen-4.1.2-testing/xen/arch/x86/mm/p2m.c
+Index: xen-4.1.3-testing/xen/arch/x86/mm/p2m.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/mm/p2m.c
-+++ xen-4.1.2-testing/xen/arch/x86/mm/p2m.c
-@@ -2863,19 +2863,17 @@ int p2m_mem_paging_nominate(struct p2m_d
+--- xen-4.1.3-testing.orig/xen/arch/x86/mm/p2m.c
++++ xen-4.1.3-testing/xen/arch/x86/mm/p2m.c
+@@ -2865,19 +2865,17 @@ int p2m_mem_paging_nominate(struct p2m_d
p2m_type_t p2mt;
p2m_access_t a;
mfn_t mfn;
@@ -157,7 +157,7 @@
if ( !p2m_is_pageable(p2mt) )
goto out;
-@@ -2928,7 +2926,7 @@ int p2m_mem_paging_evict(struct p2m_doma
+@@ -2930,7 +2928,7 @@ int p2m_mem_paging_evict(struct p2m_doma
p2m_access_t a;
mfn_t mfn;
struct domain *d = p2m->domain;
@@ -166,7 +166,7 @@
p2m_lock(p2m);
-@@ -2941,7 +2939,6 @@ int p2m_mem_paging_evict(struct p2m_doma
+@@ -2943,7 +2941,6 @@ int p2m_mem_paging_evict(struct p2m_doma
if ( p2mt != p2m_ram_paging_out )
goto out;
@@ -174,10 +174,10 @@
/* Get the page so it doesn't get modified under Xen's feet */
page = mfn_to_page(mfn);
if ( unlikely(!get_page(page, d)) )
-Index: xen-4.1.2-testing/xen/include/public/mem_event.h
+Index: xen-4.1.3-testing/xen/include/public/mem_event.h
===================================================================
---- xen-4.1.2-testing.orig/xen/include/public/mem_event.h
-+++ xen-4.1.2-testing/xen/include/public/mem_event.h
+--- xen-4.1.3-testing.orig/xen/include/public/mem_event.h
++++ xen-4.1.3-testing/xen/include/public/mem_event.h
@@ -49,7 +49,7 @@
#define MEM_EVENT_REASON_INT3 5 /* int3 was hit: gla/gfn are RIP */
#define MEM_EVENT_REASON_SINGLESTEP 6 /* single step was invoked: gla/gfn are RIP */
++++++ xenpaging.evict_fail_fast_forward.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:53.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:53.000000000 +0200
@@ -12,11 +12,11 @@
xen/arch/x86/mm/p2m.c | 18 +++++++++++-------
1 file changed, 11 insertions(+), 7 deletions(-)
-Index: xen-4.1.2-testing/xen/arch/x86/mm/p2m.c
+Index: xen-4.1.3-testing/xen/arch/x86/mm/p2m.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/mm/p2m.c
-+++ xen-4.1.2-testing/xen/arch/x86/mm/p2m.c
-@@ -3036,6 +3036,7 @@ void p2m_mem_paging_populate(struct p2m_
+--- xen-4.1.3-testing.orig/xen/arch/x86/mm/p2m.c
++++ xen-4.1.3-testing/xen/arch/x86/mm/p2m.c
+@@ -3038,6 +3038,7 @@ void p2m_mem_paging_populate(struct p2m_
p2m_type_t p2mt;
p2m_access_t a;
mfn_t mfn;
@@ -24,7 +24,7 @@
struct domain *d = p2m->domain;
/* Check that there's space on the ring for this request */
-@@ -3051,23 +3052,25 @@ void p2m_mem_paging_populate(struct p2m_
+@@ -3053,23 +3054,25 @@ void p2m_mem_paging_populate(struct p2m_
/* Allow only nominated or evicted pages to enter page-in path */
if ( p2m_do_populate(p2mt) )
{
++++++ xenpaging.evict_mmap_readonly.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:53.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:53.000000000 +0200
@@ -6,10 +6,8 @@
tools/xenpaging/xenpaging.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
-Index: xen-4.1.2-testing/tools/xenpaging/xenpaging.c
-===================================================================
---- xen-4.1.2-testing.orig/tools/xenpaging/xenpaging.c
-+++ xen-4.1.2-testing/tools/xenpaging/xenpaging.c
+--- a/tools/xenpaging/xenpaging.c
++++ b/tools/xenpaging/xenpaging.c
@@ -575,8 +575,7 @@ static int xenpaging_evict_page(xenpagin
/* Map page to get a handle */
++++++ xenpaging.mem_event-use-wait_queue.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:53.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:53.000000000 +0200
@@ -53,11 +53,11 @@
xen/include/xen/sched.h | 17 +++-
6 files changed, 179 insertions(+), 81 deletions(-)
-Index: xen-4.1.2-testing/xen/arch/x86/hvm/hvm.c
+Index: xen-4.1.3-testing/xen/arch/x86/hvm/hvm.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/hvm/hvm.c
-+++ xen-4.1.2-testing/xen/arch/x86/hvm/hvm.c
-@@ -4038,8 +4038,8 @@ static int hvm_memory_event_traps(long p
+--- xen-4.1.3-testing.orig/xen/arch/x86/hvm/hvm.c
++++ xen-4.1.3-testing/xen/arch/x86/hvm/hvm.c
+@@ -4049,8 +4049,8 @@ static int hvm_memory_event_traps(long p
if ( (p & HVMPME_onchangeonly) && (value == old) )
return 1;
@@ -68,10 +68,10 @@
return rc;
memset(&req, 0, sizeof(req));
-Index: xen-4.1.2-testing/xen/arch/x86/mm/mem_event.c
+Index: xen-4.1.3-testing/xen/arch/x86/mm/mem_event.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/mm/mem_event.c
-+++ xen-4.1.2-testing/xen/arch/x86/mm/mem_event.c
+--- xen-4.1.3-testing.orig/xen/arch/x86/mm/mem_event.c
++++ xen-4.1.3-testing/xen/arch/x86/mm/mem_event.c
@@ -23,6 +23,7 @@
#include <asm/domain.h>
@@ -324,10 +324,10 @@
}
break;
-Index: xen-4.1.2-testing/xen/arch/x86/mm/mem_sharing.c
+Index: xen-4.1.3-testing/xen/arch/x86/mm/mem_sharing.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/mm/mem_sharing.c
-+++ xen-4.1.2-testing/xen/arch/x86/mm/mem_sharing.c
+--- xen-4.1.3-testing.orig/xen/arch/x86/mm/mem_sharing.c
++++ xen-4.1.3-testing/xen/arch/x86/mm/mem_sharing.c
@@ -292,44 +292,32 @@ static void mem_sharing_audit(void)
#endif
@@ -405,11 +405,11 @@
return -ENOMEM;
}
-Index: xen-4.1.2-testing/xen/arch/x86/mm/p2m.c
+Index: xen-4.1.3-testing/xen/arch/x86/mm/p2m.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/mm/p2m.c
-+++ xen-4.1.2-testing/xen/arch/x86/mm/p2m.c
-@@ -2988,21 +2988,13 @@ int p2m_mem_paging_evict(struct p2m_doma
+--- xen-4.1.3-testing.orig/xen/arch/x86/mm/p2m.c
++++ xen-4.1.3-testing/xen/arch/x86/mm/p2m.c
+@@ -2990,21 +2990,13 @@ int p2m_mem_paging_evict(struct p2m_doma
*/
void p2m_mem_paging_drop_page(struct p2m_domain *p2m, unsigned long gfn)
{
@@ -435,7 +435,7 @@
}
/**
-@@ -3037,7 +3029,7 @@ void p2m_mem_paging_populate(struct p2m_
+@@ -3039,7 +3031,7 @@ void p2m_mem_paging_populate(struct p2m_
struct domain *d = p2m->domain;
/* Check that there's space on the ring for this request */
@@ -444,7 +444,7 @@
return;
memset(&req, 0, sizeof(req));
-@@ -3070,7 +3062,7 @@ void p2m_mem_paging_populate(struct p2m_
+@@ -3072,7 +3064,7 @@ void p2m_mem_paging_populate(struct p2m_
else if ( restored || !p2m_do_populate(p2mt) )
{
/* gfn is already on its way back and vcpu is not paused */
@@ -453,7 +453,7 @@
return;
}
-@@ -3210,8 +3202,8 @@ void p2m_mem_paging_resume(struct p2m_do
+@@ -3212,8 +3204,8 @@ void p2m_mem_paging_resume(struct p2m_do
if ( rsp.flags & MEM_EVENT_FLAG_VCPU_PAUSED )
vcpu_unpause(d->vcpu[rsp.vcpu_id]);
@@ -463,8 +463,8 @@
+ mem_event_wake_requesters(&d->mem_event->paging);
}
- void p2m_mem_access_check(unsigned long gpa, bool_t gla_valid, unsigned long gla,
-@@ -3240,7 +3232,7 @@ void p2m_mem_access_check(unsigned long
+ void p2m_mem_access_check(paddr_t gpa, bool_t gla_valid, unsigned long gla,
+@@ -3242,7 +3234,7 @@ void p2m_mem_access_check(paddr_t gpa, b
p2m_unlock(p2m);
/* Otherwise, check if there is a memory event listener, and send the message along */
@@ -473,7 +473,7 @@
if ( res < 0 )
{
/* No listener */
-@@ -3250,7 +3242,7 @@ void p2m_mem_access_check(unsigned long
+@@ -3252,7 +3244,7 @@ void p2m_mem_access_check(paddr_t gpa, b
"Memory access permissions failure, no mem_event listener: pausing VCPU %d, dom %d\n",
v->vcpu_id, d->domain_id);
@@ -482,7 +482,7 @@
}
else
{
-@@ -3300,9 +3292,11 @@ void p2m_mem_access_resume(struct p2m_do
+@@ -3302,9 +3294,11 @@ void p2m_mem_access_resume(struct p2m_do
if ( rsp.flags & MEM_EVENT_FLAG_VCPU_PAUSED )
vcpu_unpause(d->vcpu[rsp.vcpu_id]);
@@ -497,10 +497,10 @@
}
#endif /* __x86_64__ */
-Index: xen-4.1.2-testing/xen/include/asm-x86/mem_event.h
+Index: xen-4.1.3-testing/xen/include/asm-x86/mem_event.h
===================================================================
---- xen-4.1.2-testing.orig/xen/include/asm-x86/mem_event.h
-+++ xen-4.1.2-testing/xen/include/asm-x86/mem_event.h
+--- xen-4.1.3-testing.orig/xen/include/asm-x86/mem_event.h
++++ xen-4.1.3-testing/xen/include/asm-x86/mem_event.h
@@ -24,13 +24,13 @@
#ifndef __MEM_EVENT_H__
#define __MEM_EVENT_H__
@@ -520,10 +520,10 @@
int mem_event_domctl(struct domain *d, xen_domctl_mem_event_op_t *mec,
XEN_GUEST_HANDLE(void) u_domctl);
-Index: xen-4.1.2-testing/xen/include/xen/sched.h
+Index: xen-4.1.3-testing/xen/include/xen/sched.h
===================================================================
---- xen-4.1.2-testing.orig/xen/include/xen/sched.h
-+++ xen-4.1.2-testing/xen/include/xen/sched.h
+--- xen-4.1.3-testing.orig/xen/include/xen/sched.h
++++ xen-4.1.3-testing/xen/include/xen/sched.h
@@ -26,6 +26,7 @@
#include <xen/cpumask.h>
#include <xen/nodemask.h>
++++++ xenpaging.mmap-before-nominate.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:53.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:53.000000000 +0200
@@ -10,8 +10,10 @@
Signed-off-by: Olaf Hering <olaf(a)aepfle.de>
---- a/tools/xenpaging/xenpaging.c
-+++ b/tools/xenpaging/xenpaging.c
+Index: xen-4.1.3-testing/tools/xenpaging/xenpaging.c
+===================================================================
+--- xen-4.1.3-testing.orig/tools/xenpaging/xenpaging.c
++++ xen-4.1.3-testing/tools/xenpaging/xenpaging.c
@@ -573,7 +573,7 @@ static int xenpaging_evict_page(xenpagin
DECLARE_DOMCTL;
@@ -72,9 +74,11 @@
}
}
while ( ret );
---- a/xen/arch/x86/mm/p2m.c
-+++ b/xen/arch/x86/mm/p2m.c
-@@ -2852,7 +2852,7 @@ set_shared_p2m_entry(struct p2m_domain *
+Index: xen-4.1.3-testing/xen/arch/x86/mm/p2m.c
+===================================================================
+--- xen-4.1.3-testing.orig/xen/arch/x86/mm/p2m.c
++++ xen-4.1.3-testing/xen/arch/x86/mm/p2m.c
+@@ -2854,7 +2854,7 @@ set_shared_p2m_entry(struct p2m_domain *
* - the gfn is backed by a mfn
* - the p2mt of the gfn is pageable
* - the mfn is not used for IO
@@ -83,7 +87,7 @@
*
* Once the p2mt is changed the page is readonly for the guest. On success the
* pager can write the page contents to disk and later evict the page.
-@@ -2886,7 +2886,7 @@ int p2m_mem_paging_nominate(struct p2m_d
+@@ -2888,7 +2888,7 @@ int p2m_mem_paging_nominate(struct p2m_d
/* Check page count and type */
page = mfn_to_page(mfn);
if ( (page->count_info & (PGC_count_mask | PGC_allocated)) !=
@@ -92,7 +96,7 @@
goto out;
if ( (page->u.inuse.type_info & PGT_type_mask) != PGT_none )
-@@ -2914,7 +2914,7 @@ int p2m_mem_paging_nominate(struct p2m_d
+@@ -2916,7 +2916,7 @@ int p2m_mem_paging_nominate(struct p2m_d
* freed:
* - the gfn is backed by a mfn
* - the gfn was nominated
@@ -101,8 +105,10 @@
*
* After successful nomination some other process could have mapped the page. In
* this case eviction can not be done. If the gfn was populated before the pager
---- a/xen/include/public/mem_event.h
-+++ b/xen/include/public/mem_event.h
+Index: xen-4.1.3-testing/xen/include/public/mem_event.h
+===================================================================
+--- xen-4.1.3-testing.orig/xen/include/public/mem_event.h
++++ xen-4.1.3-testing/xen/include/public/mem_event.h
@@ -49,7 +49,7 @@
#define MEM_EVENT_REASON_INT3 5 /* int3 was hit: gla/gfn are RIP */
#define MEM_EVENT_REASON_SINGLESTEP 6 /* single step was invoked: gla/gfn are RIP */
++++++ xenpaging.p2m_is_paged.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:53.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:53.000000000 +0200
@@ -30,10 +30,10 @@
xen/include/asm-x86/p2m.h | 9 ++++-
9 files changed, 51 insertions(+), 60 deletions(-)
-Index: xen-4.1.2-testing/xen/arch/x86/hvm/emulate.c
+Index: xen-4.1.3-testing/xen/arch/x86/hvm/emulate.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/hvm/emulate.c
-+++ xen-4.1.2-testing/xen/arch/x86/hvm/emulate.c
+--- xen-4.1.3-testing.orig/xen/arch/x86/hvm/emulate.c
++++ xen-4.1.3-testing/xen/arch/x86/hvm/emulate.c
@@ -66,7 +66,8 @@ static int hvmemul_do_io(
ram_mfn = gfn_to_mfn_unshare(p2m, ram_gfn, &p2mt, 0);
if ( p2m_is_paging(p2mt) )
@@ -44,11 +44,11 @@
return X86EMUL_RETRY;
}
if ( p2m_is_shared(p2mt) )
-Index: xen-4.1.2-testing/xen/arch/x86/hvm/hvm.c
+Index: xen-4.1.3-testing/xen/arch/x86/hvm/hvm.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/hvm/hvm.c
-+++ xen-4.1.2-testing/xen/arch/x86/hvm/hvm.c
-@@ -385,7 +385,8 @@ static int hvm_set_ioreq_page(
+--- xen-4.1.3-testing.orig/xen/arch/x86/hvm/hvm.c
++++ xen-4.1.3-testing/xen/arch/x86/hvm/hvm.c
+@@ -393,7 +393,8 @@ static int hvm_set_ioreq_page(
return -EINVAL;
if ( p2m_is_paging(p2mt) )
{
@@ -58,7 +58,7 @@
return -ENOENT;
}
if ( p2m_is_shared(p2mt) )
-@@ -1199,7 +1200,7 @@ bool_t hvm_hap_nested_page_fault(unsigne
+@@ -1207,7 +1208,7 @@ bool_t hvm_hap_nested_page_fault(unsigne
#ifdef __x86_64__
/* Check if the page has been paged out */
@@ -67,7 +67,7 @@
p2m_mem_paging_populate(p2m, gfn);
/* Mem sharing: unshare the page and try again */
-@@ -1687,7 +1688,8 @@ static void *__hvm_map_guest_frame(unsig
+@@ -1695,7 +1696,8 @@ static void *__hvm_map_guest_frame(unsig
return NULL;
if ( p2m_is_paging(p2mt) )
{
@@ -77,7 +77,7 @@
return NULL;
}
-@@ -2145,7 +2147,8 @@ static enum hvm_copy_result __hvm_copy(
+@@ -2153,7 +2155,8 @@ static enum hvm_copy_result __hvm_copy(
if ( p2m_is_paging(p2mt) )
{
@@ -87,7 +87,7 @@
return HVMCOPY_gfn_paged_out;
}
if ( p2m_is_shared(p2mt) )
-@@ -2233,7 +2236,8 @@ static enum hvm_copy_result __hvm_clear(
+@@ -2241,7 +2244,8 @@ static enum hvm_copy_result __hvm_clear(
if ( p2m_is_paging(p2mt) )
{
@@ -97,7 +97,7 @@
return HVMCOPY_gfn_paged_out;
}
if ( p2m_is_shared(p2mt) )
-@@ -3619,7 +3623,8 @@ long do_hvm_op(unsigned long op, XEN_GUE
+@@ -3630,7 +3634,8 @@ long do_hvm_op(unsigned long op, XEN_GUE
mfn_t mfn = gfn_to_mfn(p2m, pfn, &t);
if ( p2m_is_paging(t) )
{
@@ -107,7 +107,7 @@
rc = -EINVAL;
goto param_fail3;
-@@ -3716,7 +3721,8 @@ long do_hvm_op(unsigned long op, XEN_GUE
+@@ -3727,7 +3732,8 @@ long do_hvm_op(unsigned long op, XEN_GUE
mfn = gfn_to_mfn_unshare(p2m, pfn, &t, 0);
if ( p2m_is_paging(t) )
{
@@ -117,11 +117,11 @@
rc = -EINVAL;
goto param_fail4;
-Index: xen-4.1.2-testing/xen/arch/x86/mm.c
+Index: xen-4.1.3-testing/xen/arch/x86/mm.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/mm.c
-+++ xen-4.1.2-testing/xen/arch/x86/mm.c
-@@ -3465,9 +3465,10 @@ int do_mmu_update(
+--- xen-4.1.3-testing.orig/xen/arch/x86/mm.c
++++ xen-4.1.3-testing/xen/arch/x86/mm.c
+@@ -3467,9 +3467,10 @@ int do_mmu_update(
if ( !p2m_is_valid(p2mt) )
mfn = INVALID_MFN;
@@ -134,7 +134,7 @@
rc = -ENOENT;
break;
-@@ -3492,24 +3493,18 @@ int do_mmu_update(
+@@ -3494,24 +3495,18 @@ int do_mmu_update(
{
l1_pgentry_t l1e = l1e_from_intpte(req.val);
p2m_type_t l1e_p2mt;
@@ -154,7 +154,7 @@
rc = -ENOENT;
break;
}
-- else if ( p2m_ram_paging_in_start == l1e_p2mt &&
+- else if ( p2m_ram_paging_in_start == l1e_p2mt &&
- !mfn_valid(l1emfn) )
- {
- rc = -ENOENT;
@@ -164,7 +164,7 @@
/* XXX: Ugly: pull all the checks into a separate function.
* Don't want to do it now, not to interfere with mem_paging
* patches */
-@@ -3536,22 +3531,16 @@ int do_mmu_update(
+@@ -3538,22 +3533,16 @@ int do_mmu_update(
{
l2_pgentry_t l2e = l2e_from_intpte(req.val);
p2m_type_t l2e_p2mt;
@@ -182,7 +182,7 @@
rc = -ENOENT;
break;
}
-- else if ( p2m_ram_paging_in_start == l2e_p2mt &&
+- else if ( p2m_ram_paging_in_start == l2e_p2mt &&
- !mfn_valid(l2emfn) )
- {
- rc = -ENOENT;
@@ -191,7 +191,7 @@
else if ( p2m_ram_shared == l2e_p2mt )
{
MEM_LOG("Unexpected attempt to map shared page.\n");
-@@ -3567,22 +3556,16 @@ int do_mmu_update(
+@@ -3569,22 +3558,16 @@ int do_mmu_update(
{
l3_pgentry_t l3e = l3e_from_intpte(req.val);
p2m_type_t l3e_p2mt;
@@ -209,7 +209,7 @@
rc = -ENOENT;
break;
}
-- else if ( p2m_ram_paging_in_start == l3e_p2mt &&
+- else if ( p2m_ram_paging_in_start == l3e_p2mt &&
- !mfn_valid(l3emfn) )
- {
- rc = -ENOENT;
@@ -218,7 +218,7 @@
else if ( p2m_ram_shared == l3e_p2mt )
{
MEM_LOG("Unexpected attempt to map shared page.\n");
-@@ -3598,23 +3581,17 @@ int do_mmu_update(
+@@ -3600,23 +3583,17 @@ int do_mmu_update(
{
l4_pgentry_t l4e = l4e_from_intpte(req.val);
p2m_type_t l4e_p2mt;
@@ -237,7 +237,7 @@
rc = -ENOENT;
break;
}
-- else if ( p2m_ram_paging_in_start == l4e_p2mt &&
+- else if ( p2m_ram_paging_in_start == l4e_p2mt &&
- !mfn_valid(l4emfn) )
- {
- rc = -ENOENT;
@@ -246,10 +246,10 @@
else if ( p2m_ram_shared == l4e_p2mt )
{
MEM_LOG("Unexpected attempt to map shared page.\n");
-Index: xen-4.1.2-testing/xen/arch/x86/mm/guest_walk.c
+Index: xen-4.1.3-testing/xen/arch/x86/mm/guest_walk.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/mm/guest_walk.c
-+++ xen-4.1.2-testing/xen/arch/x86/mm/guest_walk.c
+--- xen-4.1.3-testing.orig/xen/arch/x86/mm/guest_walk.c
++++ xen-4.1.3-testing/xen/arch/x86/mm/guest_walk.c
@@ -96,7 +96,8 @@ static inline void *map_domain_gfn(struc
*mfn = gfn_to_mfn_unshare(p2m, gfn_x(gfn), p2mt, 0);
if ( p2m_is_paging(*p2mt) )
@@ -260,10 +260,10 @@
*rc = _PAGE_PAGED;
return NULL;
-Index: xen-4.1.2-testing/xen/arch/x86/mm/hap/guest_walk.c
+Index: xen-4.1.3-testing/xen/arch/x86/mm/hap/guest_walk.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/mm/hap/guest_walk.c
-+++ xen-4.1.2-testing/xen/arch/x86/mm/hap/guest_walk.c
+--- xen-4.1.3-testing.orig/xen/arch/x86/mm/hap/guest_walk.c
++++ xen-4.1.3-testing/xen/arch/x86/mm/hap/guest_walk.c
@@ -50,7 +50,8 @@ unsigned long hap_gva_to_gfn(GUEST_PAGIN
top_mfn = gfn_to_mfn_unshare(p2m, cr3 >> PAGE_SHIFT, &p2mt, 0);
if ( p2m_is_paging(p2mt) )
@@ -284,10 +284,10 @@
pfec[0] = PFEC_page_paged;
return INVALID_GFN;
-Index: xen-4.1.2-testing/xen/arch/x86/mm/hap/p2m-ept.c
+Index: xen-4.1.3-testing/xen/arch/x86/mm/hap/p2m-ept.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/mm/hap/p2m-ept.c
-+++ xen-4.1.2-testing/xen/arch/x86/mm/hap/p2m-ept.c
+--- xen-4.1.3-testing.orig/xen/arch/x86/mm/hap/p2m-ept.c
++++ xen-4.1.3-testing/xen/arch/x86/mm/hap/p2m-ept.c
@@ -377,8 +377,7 @@ ept_set_entry(struct p2m_domain *p2m, un
* the intermediate tables will be freed below after the ept flush */
old_entry = *ept_entry;
@@ -298,11 +298,11 @@
{
/* Construct the new entry, and then write it once */
new_entry.emt = epte_get_entry_emt(p2m->domain, gfn, mfn, &ipat,
-Index: xen-4.1.2-testing/xen/arch/x86/mm/p2m.c
+Index: xen-4.1.3-testing/xen/arch/x86/mm/p2m.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/mm/p2m.c
-+++ xen-4.1.2-testing/xen/arch/x86/mm/p2m.c
-@@ -3049,7 +3049,7 @@ void p2m_mem_paging_populate(struct p2m_
+--- xen-4.1.3-testing.orig/xen/arch/x86/mm/p2m.c
++++ xen-4.1.3-testing/xen/arch/x86/mm/p2m.c
+@@ -3051,7 +3051,7 @@ void p2m_mem_paging_populate(struct p2m_
p2m_lock(p2m);
mfn = p2m->get_entry(p2m, gfn, &p2mt, &a, p2m_query);
/* Allow only nominated or evicted pages to enter page-in path */
@@ -311,7 +311,7 @@
{
/* Evict will fail now, tag this request for pager */
if ( p2mt == p2m_ram_paging_out )
-@@ -3067,7 +3067,7 @@ void p2m_mem_paging_populate(struct p2m_
+@@ -3069,7 +3069,7 @@ void p2m_mem_paging_populate(struct p2m_
req.flags |= MEM_EVENT_FLAG_VCPU_PAUSED;
}
/* No need to inform pager if the gfn is not in the page-out path */
@@ -320,10 +320,10 @@
{
/* gfn is already on its way back and vcpu is not paused */
mem_event_put_req_producers(&d->mem_event->paging);
-Index: xen-4.1.2-testing/xen/common/grant_table.c
+Index: xen-4.1.3-testing/xen/common/grant_table.c
===================================================================
---- xen-4.1.2-testing.orig/xen/common/grant_table.c
-+++ xen-4.1.2-testing/xen/common/grant_table.c
+--- xen-4.1.3-testing.orig/xen/common/grant_table.c
++++ xen-4.1.3-testing/xen/common/grant_table.c
@@ -158,7 +158,8 @@ static int __get_paged_frame(unsigned lo
*frame = mfn_x(mfn);
if ( p2m_is_paging(p2mt) )
@@ -334,11 +334,11 @@
rc = GNTST_eagain;
}
} else {
-Index: xen-4.1.2-testing/xen/include/asm-x86/p2m.h
+Index: xen-4.1.3-testing/xen/include/asm-x86/p2m.h
===================================================================
---- xen-4.1.2-testing.orig/xen/include/asm-x86/p2m.h
-+++ xen-4.1.2-testing/xen/include/asm-x86/p2m.h
-@@ -157,7 +157,11 @@ typedef enum {
+--- xen-4.1.3-testing.orig/xen/include/asm-x86/p2m.h
++++ xen-4.1.3-testing/xen/include/asm-x86/p2m.h
+@@ -159,7 +159,11 @@ typedef enum {
| p2m_to_mask(p2m_ram_paging_in_start) \
| p2m_to_mask(p2m_ram_paging_in))
@@ -351,7 +351,7 @@
/* Shared types */
/* XXX: Sharable types could include p2m_ram_ro too, but we would need to
-@@ -179,7 +183,8 @@ typedef enum {
+@@ -181,7 +185,8 @@ typedef enum {
#define p2m_has_emt(_t) (p2m_to_mask(_t) & (P2M_RAM_TYPES | p2m_to_mask(p2m_mmio_direct)))
#define p2m_is_pageable(_t) (p2m_to_mask(_t) & P2M_PAGEABLE_TYPES)
#define p2m_is_paging(_t) (p2m_to_mask(_t) & P2M_PAGING_TYPES)
++++++ xenpaging.waitqueue-paging.patch ++++++
--- /var/tmp/diff_new_pack.Bzijvh/_old 2012-08-26 11:35:53.000000000 +0200
+++ /var/tmp/diff_new_pack.Bzijvh/_new 2012-08-26 11:35:53.000000000 +0200
@@ -34,11 +34,11 @@
xen/include/asm-x86/p2m.h | 7 +
5 files changed, 205 insertions(+), 30 deletions(-)
-Index: xen-4.1.2-testing/xen/arch/x86/hvm/hvm.c
+Index: xen-4.1.3-testing/xen/arch/x86/hvm/hvm.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/hvm/hvm.c
-+++ xen-4.1.2-testing/xen/arch/x86/hvm/hvm.c
-@@ -467,6 +467,8 @@ int hvm_domain_initialise(struct domain
+--- xen-4.1.3-testing.orig/xen/arch/x86/hvm/hvm.c
++++ xen-4.1.3-testing/xen/arch/x86/hvm/hvm.c
+@@ -475,6 +475,8 @@ int hvm_domain_initialise(struct domain
spin_lock_init(&d->arch.hvm_domain.irq_lock);
spin_lock_init(&d->arch.hvm_domain.uc_lock);
@@ -47,10 +47,10 @@
INIT_LIST_HEAD(&d->arch.hvm_domain.msixtbl_list);
spin_lock_init(&d->arch.hvm_domain.msixtbl_list_lock);
-Index: xen-4.1.2-testing/xen/arch/x86/mm/p2m.c
+Index: xen-4.1.3-testing/xen/arch/x86/mm/p2m.c
===================================================================
---- xen-4.1.2-testing.orig/xen/arch/x86/mm/p2m.c
-+++ xen-4.1.2-testing/xen/arch/x86/mm/p2m.c
+--- xen-4.1.3-testing.orig/xen/arch/x86/mm/p2m.c
++++ xen-4.1.3-testing/xen/arch/x86/mm/p2m.c
@@ -30,6 +30,7 @@
#include <asm/p2m.h>
#include <asm/hvm/vmx/vmx.h> /* ept_p2m_init() */
@@ -59,7 +59,7 @@
#include <asm/mem_event.h>
#include <public/mem_event.h>
#include <asm/mem_sharing.h>
-@@ -2839,6 +2840,182 @@ set_shared_p2m_entry(struct p2m_domain *
+@@ -2841,6 +2842,182 @@ set_shared_p2m_entry(struct p2m_domain *
}
#ifdef __x86_64__
@@ -242,7 +242,7 @@
/**
* p2m_mem_paging_nominate - Mark a guest page as to-be-paged-out
* @d: guest domain
-@@ -3020,21 +3197,17 @@ void p2m_mem_paging_drop_page(struct p2m
+@@ -3022,21 +3199,17 @@ void p2m_mem_paging_drop_page(struct p2m
*/
void p2m_mem_paging_populate(struct p2m_domain *p2m, unsigned long gfn)
{
@@ -266,7 +266,7 @@
/* Fix p2m mapping */
p2m_lock(p2m);
mfn = p2m->get_entry(p2m, gfn, &p2mt, &a, p2m_query);
-@@ -3043,35 +3216,23 @@ void p2m_mem_paging_populate(struct p2m_
+@@ -3045,35 +3218,23 @@ void p2m_mem_paging_populate(struct p2m_
{
/* Restore page state if gfn was requested before evict */
if ( p2mt == p2m_ram_paging_out && mfn_valid(mfn) ) {
@@ -310,7 +310,7 @@
}
/**
-@@ -3198,12 +3359,11 @@ void p2m_mem_paging_resume(struct p2m_do
+@@ -3200,12 +3361,11 @@ void p2m_mem_paging_resume(struct p2m_do
p2m_unlock(p2m);
}
@@ -325,11 +325,11 @@
+ p2m_mem_paging_wake_queue(d, rsp.gfn);
}
- void p2m_mem_access_check(unsigned long gpa, bool_t gla_valid, unsigned long gla,
-Index: xen-4.1.2-testing/xen/common/domctl.c
+ void p2m_mem_access_check(paddr_t gpa, bool_t gla_valid, unsigned long gla,
+Index: xen-4.1.3-testing/xen/common/domctl.c
===================================================================
---- xen-4.1.2-testing.orig/xen/common/domctl.c
-+++ xen-4.1.2-testing/xen/common/domctl.c
+--- xen-4.1.3-testing.orig/xen/common/domctl.c
++++ xen-4.1.3-testing/xen/common/domctl.c
@@ -536,6 +536,9 @@ long do_domctl(XEN_GUEST_HANDLE(xen_domc
goto maxvcpu_out;
}
@@ -340,10 +340,10 @@
ret = 0;
maxvcpu_out:
-Index: xen-4.1.2-testing/xen/include/asm-x86/hvm/domain.h
+Index: xen-4.1.3-testing/xen/include/asm-x86/hvm/domain.h
===================================================================
---- xen-4.1.2-testing.orig/xen/include/asm-x86/hvm/domain.h
-+++ xen-4.1.2-testing/xen/include/asm-x86/hvm/domain.h
+--- xen-4.1.3-testing.orig/xen/include/asm-x86/hvm/domain.h
++++ xen-4.1.3-testing/xen/include/asm-x86/hvm/domain.h
@@ -87,6 +87,9 @@ struct hvm_domain {
struct viridian_domain viridian;
@@ -354,11 +354,11 @@
bool_t hap_enabled;
bool_t mem_sharing_enabled;
bool_t qemu_mapcache_invalidate;
-Index: xen-4.1.2-testing/xen/include/asm-x86/p2m.h
+Index: xen-4.1.3-testing/xen/include/asm-x86/p2m.h
===================================================================
---- xen-4.1.2-testing.orig/xen/include/asm-x86/p2m.h
-+++ xen-4.1.2-testing/xen/include/asm-x86/p2m.h
-@@ -343,6 +343,8 @@ gfn_to_mfn_type_p2m(struct p2m_domain *p
+--- xen-4.1.3-testing.orig/xen/include/asm-x86/p2m.h
++++ xen-4.1.3-testing/xen/include/asm-x86/p2m.h
+@@ -345,6 +345,8 @@ gfn_to_mfn_type_p2m(struct p2m_domain *p
}
@@ -367,7 +367,7 @@
/* General conversion function from gfn to mfn */
static inline mfn_t _gfn_to_mfn_type(struct p2m_domain *p2m,
unsigned long gfn, p2m_type_t *t,
-@@ -364,6 +366,9 @@ static inline mfn_t _gfn_to_mfn_type(str
+@@ -366,6 +368,9 @@ static inline mfn_t _gfn_to_mfn_type(str
mfn = gfn_to_mfn_type_p2m(p2m, gfn, t, q);
#ifdef __x86_64__
@@ -377,7 +377,7 @@
if (unlikely((p2m_is_broken(*t))))
{
/* Return invalid_mfn to avoid caller's access */
-@@ -520,6 +525,8 @@ int clear_mmio_p2m_entry(struct p2m_doma
+@@ -522,6 +527,8 @@ int clear_mmio_p2m_entry(struct p2m_doma
/* Modify p2m table for shared gfn */
int set_shared_p2m_entry(struct p2m_domain *p2m, unsigned long gfn, mfn_t mfn);
@@ -386,7 +386,7 @@
/* Check if a nominated gfn is valid to be paged out */
int p2m_mem_paging_nominate(struct p2m_domain *p2m, unsigned long gfn);
/* Evict a frame */
-@@ -533,6 +540,8 @@ int p2m_mem_paging_prep(struct p2m_domai
+@@ -535,6 +542,8 @@ int p2m_mem_paging_prep(struct p2m_domai
/* Resume normal operation (in case a domain was paused) */
void p2m_mem_paging_resume(struct p2m_domain *p2m);
#else
--
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 timezone for openSUSE:Factory checked in at 2012-08-26 11:35:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/timezone (Old)
and /work/SRC/openSUSE:Factory/.timezone.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "timezone", Maintainer is "DMueller(a)suse.com"
Changes:
--------
--- /work/SRC/openSUSE:Factory/timezone/timezone.changes 2012-08-13 14:46:19.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.timezone.new/timezone.changes 2012-08-26 11:35:35.000000000 +0200
@@ -1,0 +2,7 @@
+Mon Aug 20 15:47:57 UTC 2012 - fcrozat(a)suse.com
+
+- Add tzcode-symlink.patch: use a symlink to create /etc/localtime
+ (bnc#773491)
+- Do not apply tzcode-link.diff on openSUSE >= 12.2 (bnc#773491).
+
+-------------------------------------------------------------------
New:
----
tzcode-symlink.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ timezone.spec ++++++
--- /var/tmp/diff_new_pack.yj2pOH/_old 2012-08-26 11:35:36.000000000 +0200
+++ /var/tmp/diff_new_pack.yj2pOH/_new 2012-08-26 11:35:36.000000000 +0200
@@ -32,6 +32,7 @@
Patch2: tzcode-ksh.diff
Patch3: iso3166-uk.diff
Patch4: tzcode-link.diff
+Patch5: tzcode-symlink.patch
# COMMON-END
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%global AREA Etc
@@ -50,7 +51,11 @@
%patch1
%patch2
%patch3
+%if 0%{?suse_version} < 1220
%patch4
+%else
+%patch5 -p1
+%endif
# COMMON-PREP-END
%build
++++++ tzcode-symlink.patch ++++++
Index: timezone-2012e/zic.c
===================================================================
--- timezone-2012e.orig/zic.c
+++ timezone-2012e/zic.c
@@ -113,7 +113,7 @@ static void associate(void);
static int ciequal(const char * ap, const char * bp);
static void convert(long val, char * buf);
static void convert64(zic_t val, char * buf);
-static void dolink(const char * fromfield, const char * tofield);
+static void dolink(const char * fromfield, const char * tofield, int defaultsymlink);
static void doabbr(char * abbr, const char * format,
const char * letters, int isdst, int doquotes);
static void eat(const char * name, int num);
@@ -595,7 +595,7 @@ _("%s: More than one -L option specified
*/
for (i = 0; i < nlinks; ++i) {
eat(links[i].l_filename, links[i].l_linenum);
- dolink(links[i].l_from, links[i].l_to);
+ dolink(links[i].l_from, links[i].l_to, FALSE);
if (noise)
for (j = 0; j < nlinks; ++j)
if (strcmp(links[i].l_to,
@@ -604,19 +604,20 @@ _("%s: More than one -L option specified
}
if (lcltime != NULL) {
eat("command line", 1);
- dolink(lcltime, TZDEFAULT);
+ dolink(lcltime, TZDEFAULT,TRUE);
}
if (psxrules != NULL) {
eat("command line", 1);
- dolink(psxrules, TZDEFRULES);
+ dolink(psxrules, TZDEFRULES,FALSE);
}
return (errors == 0) ? EXIT_SUCCESS : EXIT_FAILURE;
}
static void
-dolink(fromfield, tofield)
+dolink(fromfield, tofield, defaultsymlink)
const char * const fromfield;
const char * const tofield;
+const int defaultsymlink;
{
register char * fromname;
register char * toname;
@@ -641,15 +642,16 @@ const char * const tofield;
*/
if (!itsdir(toname))
(void) remove(toname);
- if (link(fromname, toname) != 0) {
+ if (defaultsymlink || link(fromname, toname) != 0) {
int result;
if (mkdirs(toname) != 0)
exit(EXIT_FAILURE);
- result = link(fromname, toname);
+ if (!defaultsymlink)
+ result = link(fromname, toname);
#if HAVE_SYMLINK
- if (result != 0 &&
+ if ((defaultsymlink || (!defaultsymlink && result != 0)) &&
access(fromname, F_OK) == 0 &&
!itsdir(fromname)) {
const char *s = tofield;
--
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 t38modem for openSUSE:Factory checked in at 2012-08-26 11:35:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/t38modem (Old)
and /work/SRC/openSUSE:Factory/.t38modem.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "t38modem", Maintainer is "kkeil(a)novell.com"
Changes:
--------
--- /work/SRC/openSUSE:Factory/t38modem/t38modem.changes 2011-09-23 12:47:24.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.t38modem.new/t38modem.changes 2012-08-26 11:35:27.000000000 +0200
@@ -1,0 +2,5 @@
+Tue Aug 14 11:18:54 UTC 2012 - dmueller(a)suse.com
+
+- fix build on armv7hl
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ t38modem.spec ++++++
--- /var/tmp/diff_new_pack.aCyQgx/_old 2012-08-26 11:35:28.000000000 +0200
+++ /var/tmp/diff_new_pack.aCyQgx/_new 2012-08-26 11:35:28.000000000 +0200
@@ -1,7 +1,7 @@
#
-# spec file for package t38modem (Version 0.7.0)
+# spec file for package t38modem
#
-# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -15,18 +15,21 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
-# norootforbuild
-
Name: t38modem
-BuildRequires: SDL-devel gcc-c++ libdv openh323-devel openldap2-devel pwlib-devel speex-devel
+BuildRequires: SDL-devel
+BuildRequires: gcc-c++
+BuildRequires: libdv
+BuildRequires: openh323-devel
+BuildRequires: openldap2-devel
+BuildRequires: pwlib-devel
+BuildRequires: speex-devel
Url: http://www.openh323.org
+Summary: T.38 for OpenH323 (modem-compatible interface for IP telephony)
License: MPL-1.1
-AutoReqProv: on
Group: Productivity/Telephony/H323/Servers
-Summary: T.38 for OpenH323 (modem-compatible interface for IP telephony)
Version: 0.7.0
-Release: 246
+Release: 0
Source0: t38modem-%{version}.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -48,6 +51,7 @@
export M=`uname -m`
case $M in
*86) M="x86" ;;
+ armv7l) M="armv7hl" ;;
esac
export M
mkdir -p $RPM_BUILD_ROOT/usr/sbin
--
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 systemd for openSUSE:Factory checked in at 2012-08-26 11:35:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/systemd (Old)
and /work/SRC/openSUSE:Factory/.systemd.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "systemd", Maintainer is ""
Changes:
--------
--- /work/SRC/openSUSE:Factory/systemd/systemd.changes 2012-07-30 20:41:00.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.systemd.new/systemd.changes 2012-08-26 11:35:21.000000000 +0200
@@ -1,0 +2,14 @@
+Thu Aug 23 11:11:25 CEST 2012 - fcrozat(a)suse.com
+
+- Add use_localtime.patch: use /etc/localtime instead of
+ /etc/timezone (bnc#773491)
+- Add support-suse-clock-sysconfig.patch: read SUSE
+ /etc/sysconfig/clock file.
+- Add drop-timezone.patch: drop support for /etc/timezone, never
+ supported on openSUSE.
+- Add journalctl-pager-improvement.patch: better handle output when
+ using pager.
+- Add fix-enable-disable-boot-initscript.patch: support boot.*
+ initscripts for systemctl enable /disable (bnc#746506).
+
+-------------------------------------------------------------------
New:
----
drop-timezone.patch
fix-enable-disable-boot-initscript.patch
journalctl-pager-improvement.patch
support-suse-clock-sysconfig.patch
use_localtime.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ systemd.spec ++++++
--- /var/tmp/diff_new_pack.i1abQK/_old 2012-08-26 11:35:23.000000000 +0200
+++ /var/tmp/diff_new_pack.i1abQK/_new 2012-08-26 11:35:23.000000000 +0200
@@ -81,6 +81,9 @@
Patch38: dm-lvm-after-local-fs-pre-target.patch
Patch41: 0001-add-sparse-support-to-detect-endianness-bug.patch
Patch53: fastboot-forcefsck.patch
+Patch56: support-suse-clock-sysconfig.patch
+Patch57: drop-timezone.patch
+Patch59: fix-enable-disable-boot-initscript.patch
# Upstream First - Policy:
# Never add any patches to this package without the upstream commit id
@@ -99,6 +102,8 @@
Patch51: fix-tty-startup.patch
Patch52: fix-write-user-state-file.patch
Patch54: fix-analyze-exception.patch
+Patch55: use_localtime.patch
+Patch58: journalctl-pager-improvement.patch
%description
Systemd is a system and service manager, compatible with SysV and LSB
@@ -179,6 +184,11 @@
%patch52 -p1
%patch53 -p1
%patch54 -p1
+%patch55 -p1
+%patch56 -p1
+%patch57 -p1
+%patch58 -p1
+%patch59 -p1
#needed by patch49
rm man/systemd.conf.5
++++++ drop-timezone.patch ++++++
Index: systemd-44/src/timedate/timedated.c
===================================================================
--- systemd-44.orig/src/timedate/timedated.c
+++ systemd-44/src/timedate/timedated.c
@@ -203,24 +203,18 @@ static int read_data(void) {
free(t);
- r = read_one_line_file("/etc/timezone", &tz.zone);
- if (r < 0) {
- if (r != -ENOENT)
- log_warning("Failed to read /etc/timezone: %s", strerror(-r));
-
#if defined(TARGET_FEDORA) || defined(TARGET_SUSE)
- r = parse_env_file("/etc/sysconfig/clock", NEWLINE,
+ r = parse_env_file("/etc/sysconfig/clock", NEWLINE,
#ifdef TARGET_FEDORA
- "ZONE", &tz.zone,
+ "ZONE", &tz.zone,
#else /* TARGET_SUSE */
- "TIMEZONE", &tz.zone,
+ "TIMEZONE", &tz.zone,
#endif
- NULL);
+ NULL);
- if (r < 0 && r != -ENOENT)
- log_warning("Failed to read /etc/sysconfig/clock: %s", strerror(-r));
+ if (r < 0 && r != -ENOENT)
+ log_warning("Failed to read /etc/sysconfig/clock: %s", strerror(-r));
#endif
- }
have_timezone:
if (isempty(tz.zone)) {
@@ -263,12 +257,6 @@ static int write_data_timezone(void) {
if (r < 0)
return -errno;
- if (stat("/etc/timezone", &st) == 0 && S_ISREG(st.st_mode)) {
- r = write_one_line_file_atomic("/etc/timezone", tz.zone);
- if (r < 0)
- return r;
- }
-
return 0;
}
++++++ fix-enable-disable-boot-initscript.patch ++++++
>From f9d333f8d202fd853f2553ee6c3196b041ccfba5 Mon Sep 17 00:00:00 2001
From: Frederic Crozat <fcrozat(a)suse.com>
Date: Thu, 23 Aug 2012 11:08:25 +0200
Subject: [PATCH] fix support for boot prefixed initscript (bnc#746506)
---
src/systemctl.c | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/src/systemctl.c b/src/systemctl.c
index e94e024..1a98599 100644
--- a/src/systemctl.c
+++ b/src/systemctl.c
@@ -3669,7 +3669,27 @@ static int enable_sysv_units(char **args) {
if (!found_sysv) {
free(p);
+#if defined(TARGET_SUSE)
+ p = NULL;
+ if (!isempty(arg_root))
+ asprintf(&p, "%s/" SYSTEM_SYSVINIT_PATH "/boot.%s", arg_root, name);
+ else
+ asprintf(&p, SYSTEM_SYSVINIT_PATH "/boot.%s", name);
+ if (!p) {
+ log_error("No memory");
+ r = -ENOMEM;
+ goto finish;
+ }
+ p[strlen(p) - sizeof(".service") + 1] = 0;
+ found_sysv = access(p, F_OK) >= 0;
+
+ if (!found_sysv) {
+ free(p);
+ continue;
+ }
+#else
continue;
+#endif
}
/* Mark this entry, so that we don't try enabling it as native unit */
--
1.7.10.4
++++++ journalctl-pager-improvement.patch ++++++
>From 1682c4bf5b993b956b0367aedc9f0638055540f4 Mon Sep 17 00:00:00 2001
From: Eelco Dolstra <eelco.dolstra(a)logicblox.com>
Date: Thu, 19 Jul 2012 21:12:16 +0000
Subject: [PATCH 1/3] journalctl: fix assertion failure in ellipsize_mem()
When showing the journal through "journalctl --no-pager", if the
prefix of the log message (i.e. the date and syslog identifier) is
less than 3 characters shorter than the width of the terminal, you
get:
Assertion 'new_length >= 3' failed at src/shared/util.c:3859, function ellipsize_mem(). Aborting.
because there is not enough space for the "...". This patch add the
necessary check.
---
src/logs-show.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/logs-show.c b/src/logs-show.c
index eb9a902..72367f2 100644
--- a/src/logs-show.c
+++ b/src/logs-show.c
@@ -230,7 +230,7 @@ static int output_short(sd_journal *j, unsigned line, unsigned n_columns, bool s
printf(": [%s blob data]\n", format_bytes(bytes, sizeof(bytes), message_len));
} else if (message_len + n < n_columns)
printf(": %.*s\n", (int) message_len, message);
- else if (n < n_columns) {
+ else if (n < n_columns && n_columns - n - 2 >= 3) {
char *e;
e = ellipsize_mem(message, message_len, n_columns - n - 2, 90);
--
1.7.10.4
>From ee385756e10862a8bcc0e5c7a3776135af84c750 Mon Sep 17 00:00:00 2001
From: Zbigniew Jedrzejewski-Szmek <zbyszek(a)in.waw.pl>
Date: Fri, 20 Jul 2012 09:06:26 +0200
Subject: [PATCH 2/3] journalctl: fix ellipsization with PAGER=cat
There are other reasons for not opening the pager then the --no-pager
or --follow options (described below). If the pager is not used,
messages must be ellipsized.
On Fri, Jul 20, 2012 at 05:42:44AM +0000, Shawn Landen wrote:
> "Pager to use when --no-pager is not given; overrides $PAGER.
> Setting this to an empty string or the value cat is equivalent to passing --no-pager."
Conflicts:
src/journal/journalctl.c
---
src/journal/journalctl.c | 5 +----
src/pager.c | 17 ++++++++++-------
src/pager.h | 4 +++-
3 files changed, 14 insertions(+), 12 deletions(-)
diff --git a/src/journal/journalctl.c b/src/journal/journalctl.c
index f90b2dd..3a3b043 100644
--- a/src/journal/journalctl.c
+++ b/src/journal/journalctl.c
@@ -259,10 +259,7 @@ int main(int argc, char *argv[]) {
goto finish;
}
- if (!arg_no_pager && !arg_follow) {
- columns();
- pager_open();
- }
+ have_pager = !arg_no_pager && !arg_follow && pager_open();
if (arg_output == OUTPUT_JSON) {
fputc('[', stdout);
diff --git a/src/pager.c b/src/pager.c
index 3fc8182..8065841 100644
--- a/src/pager.c
+++ b/src/pager.c
@@ -44,20 +44,20 @@ _noreturn_ static void pager_fallback(void) {
_exit(EXIT_SUCCESS);
}
-void pager_open(void) {
+bool pager_open(void) {
int fd[2];
const char *pager;
pid_t parent_pid;
if (pager_pid > 0)
- return;
+ return false;
if ((pager = getenv("SYSTEMD_PAGER")) || (pager = getenv("PAGER")))
if (!*pager || streq(pager, "cat"))
- return;
+ return false;
if (isatty(STDOUT_FILENO) <= 0)
- return;
+ return false;
/* Determine and cache number of columns before we spawn the
* pager so that we get the value from the actual tty */
@@ -65,7 +65,7 @@ void pager_open(void) {
if (pipe(fd) < 0) {
log_error("Failed to create pager pipe: %m");
- return;
+ return false;
}
parent_pid = getpid();
@@ -74,7 +74,7 @@ void pager_open(void) {
if (pager_pid < 0) {
log_error("Failed to fork pager: %m");
close_pipe(fd);
- return;
+ return false;
}
/* In the child start the pager */
@@ -115,10 +115,13 @@ void pager_open(void) {
}
/* Return in the parent */
- if (dup2(fd[1], STDOUT_FILENO) < 0)
+ if (dup2(fd[1], STDOUT_FILENO) < 0) {
log_error("Failed to duplicate pager pipe: %m");
+ return false;
+ }
close_pipe(fd);
+ return true;
}
void pager_close(void) {
diff --git a/src/pager.h b/src/pager.h
index b5b4998..bd1a983 100644
--- a/src/pager.h
+++ b/src/pager.h
@@ -22,7 +22,9 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/
-void pager_open(void);
+#include <stdbool.h>
+
+bool pager_open(void);
void pager_close(void);
#endif
--
1.7.10.4
>From ae88e07aec6280e90582703f7950468604182a4b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek(a)in.waw.pl>
Date: Tue, 17 Jul 2012 07:35:08 +0200
Subject: [PATCH 3/3] journalctl: do not ellipsize when using pager
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
If a pager is used, ellipsization is redundant — the pager does
that better by hiding the part that cannot be shown. Pager's advantage
is that the user can press → to view the hidden part of a message,
and then ← to return.
cherry-picked from 92a1fd9e95954a557d6fe27b56f5ef1b89fc2f5e and 25277cd7fbd77e4c8b20572570aa77c7da9abcc2
---
src/journal/journalctl.c | 7 ++++-
src/logs-show.c | 66 ++++++++++++++++++++++++++++------------------
src/logs-show.h | 14 +++++++---
src/systemctl.c | 8 +++++-
4 files changed, 64 insertions(+), 31 deletions(-)
diff --git a/src/journal/journalctl.c b/src/journal/journalctl.c
index 3a3b043..197af71 100644
--- a/src/journal/journalctl.c
+++ b/src/journal/journalctl.c
@@ -198,6 +198,7 @@ int main(int argc, char *argv[]) {
sd_journal *j = NULL;
unsigned line = 0;
bool need_seek = false;
+ bool have_pager;
log_parse_environment();
log_open();
@@ -268,6 +269,10 @@ int main(int argc, char *argv[]) {
for (;;) {
for (;;) {
+ int flags =
+ arg_show_all * OUTPUT_SHOW_ALL |
+ have_pager * OUTPUT_FULL_WIDTH;
+
if (need_seek) {
r = sd_journal_next(j);
if (r < 0) {
@@ -281,7 +286,7 @@ int main(int argc, char *argv[]) {
line ++;
- r = output_journal(j, arg_output, line, 0, arg_show_all);
+ r = output_journal(j, arg_output, line, 0, flags);
if (r < 0)
goto finish;
diff --git a/src/logs-show.c b/src/logs-show.c
index 72367f2..06ba569 100644
--- a/src/logs-show.c
+++ b/src/logs-show.c
@@ -86,7 +86,8 @@ static bool shall_print(bool show_all, char *p, size_t l) {
return true;
}
-static int output_short(sd_journal *j, unsigned line, unsigned n_columns, bool show_all, bool monotonic_mode) {
+static int output_short(sd_journal *j, unsigned line, unsigned n_columns,
+ OutputFlags flags) {
int r;
const void *data;
size_t length;
@@ -150,7 +151,7 @@ static int output_short(sd_journal *j, unsigned line, unsigned n_columns, bool s
goto finish;
}
- if (monotonic_mode) {
+ if (flags & OUTPUT_MONOTONIC_MODE) {
uint64_t t;
sd_id128_t boot_id;
@@ -202,33 +203,39 @@ static int output_short(sd_journal *j, unsigned line, unsigned n_columns, bool s
n += strlen(buf);
}
- if (hostname && shall_print(show_all, hostname, hostname_len)) {
+ if (hostname && shall_print(flags & OUTPUT_SHOW_ALL,
+ hostname, hostname_len)) {
printf(" %.*s", (int) hostname_len, hostname);
n += hostname_len + 1;
}
- if (identifier && shall_print(show_all, identifier, identifier_len)) {
+ if (identifier && shall_print(flags & OUTPUT_SHOW_ALL,
+ identifier, identifier_len)) {
printf(" %.*s", (int) identifier_len, identifier);
n += identifier_len + 1;
- } else if (comm && shall_print(show_all, comm, comm_len)) {
+ } else if (comm && shall_print(flags & OUTPUT_SHOW_ALL,
+ comm, comm_len)) {
printf(" %.*s", (int) comm_len, comm);
n += comm_len + 1;
- }
+ } else
+ putchar(' ');
- if (pid && shall_print(show_all, pid, pid_len)) {
+ if (pid && shall_print(flags & OUTPUT_SHOW_ALL, pid, pid_len)) {
printf("[%.*s]", (int) pid_len, pid);
n += pid_len + 2;
- } else if (fake_pid && shall_print(show_all, fake_pid, fake_pid_len)) {
+ } else if (fake_pid && shall_print(flags & OUTPUT_SHOW_ALL,
+ fake_pid, fake_pid_len)) {
printf("[%.*s]", (int) fake_pid_len, fake_pid);
n += fake_pid_len + 2;
}
- if (show_all)
+ if (flags & OUTPUT_SHOW_ALL)
printf(": %.*s\n", (int) message_len, message);
else if (contains_unprintable(message, message_len)) {
char bytes[FORMAT_BYTES_MAX];
printf(": [%s blob data]\n", format_bytes(bytes, sizeof(bytes), message_len));
- } else if (message_len + n < n_columns)
+ } else if ((flags & OUTPUT_FULL_WIDTH) ||
+ (message_len + n + 1 < n_columns))
printf(": %.*s\n", (int) message_len, message);
else if (n < n_columns && n_columns - n - 2 >= 3) {
char *e;
@@ -259,15 +266,18 @@ finish:
return r;
}
-static int output_short_realtime(sd_journal *j, unsigned line, unsigned n_columns, bool show_all) {
- return output_short(j, line, n_columns, show_all, false);
+static int output_short_realtime(sd_journal *j, unsigned line,
+ unsigned n_columns, OutputFlags flags) {
+ return output_short(j, line, n_columns, flags & ~OUTPUT_MONOTONIC_MODE);
}
-static int output_short_monotonic(sd_journal *j, unsigned line, unsigned n_columns, bool show_all) {
- return output_short(j, line, n_columns, show_all, true);
+static int output_short_monotonic(sd_journal *j, unsigned line,
+ unsigned n_columns, OutputFlags flags) {
+ return output_short(j, line, n_columns, flags | OUTPUT_MONOTONIC_MODE);
}
-static int output_verbose(sd_journal *j, unsigned line, unsigned n_columns, bool show_all) {
+static int output_verbose(sd_journal *j, unsigned line,
+ unsigned n_columns, OutputFlags flags) {
const void *data;
size_t length;
char *cursor;
@@ -296,7 +306,7 @@ static int output_verbose(sd_journal *j, unsigned line, unsigned n_columns, bool
free(cursor);
SD_JOURNAL_FOREACH_DATA(j, data, length) {
- if (!show_all && (length > PRINT_THRESHOLD ||
+ if (!(flags & OUTPUT_SHOW_ALL) && (length > PRINT_THRESHOLD ||
contains_unprintable(data, length))) {
const char *c;
char bytes[FORMAT_BYTES_MAX];
@@ -318,7 +328,8 @@ static int output_verbose(sd_journal *j, unsigned line, unsigned n_columns, bool
return 0;
}
-static int output_export(sd_journal *j, unsigned line, unsigned n_columns, bool show_all) {
+static int output_export(sd_journal *j, unsigned line,
+ unsigned n_columns, OutputFlags flags) {
sd_id128_t boot_id;
char sid[33];
int r;
@@ -424,7 +435,8 @@ static void json_escape(const char* p, size_t l) {
}
}
-static int output_json(sd_journal *j, unsigned line, unsigned n_columns, bool show_all) {
+static int output_json(sd_journal *j, unsigned line,
+ unsigned n_columns, OutputFlags flags) {
uint64_t realtime, monotonic;
char *cursor;
const void *data;
@@ -491,7 +503,8 @@ static int output_json(sd_journal *j, unsigned line, unsigned n_columns, bool sh
return 0;
}
-static int output_cat(sd_journal *j, unsigned line, unsigned n_columns, bool show_all) {
+static int output_cat(sd_journal *j, unsigned line,
+ unsigned n_columns, OutputFlags flags) {
const void *data;
size_t l;
int r;
@@ -512,7 +525,8 @@ static int output_cat(sd_journal *j, unsigned line, unsigned n_columns, bool sho
return 0;
}
-static int (*output_funcs[_OUTPUT_MODE_MAX])(sd_journal*j, unsigned line, unsigned n_columns, bool show_all) = {
+static int (*output_funcs[_OUTPUT_MODE_MAX])(sd_journal*j, unsigned line,
+ unsigned n_columns, OutputFlags flags) = {
[OUTPUT_SHORT] = output_short_realtime,
[OUTPUT_SHORT_MONOTONIC] = output_short_monotonic,
[OUTPUT_VERBOSE] = output_verbose,
@@ -521,14 +535,15 @@ static int (*output_funcs[_OUTPUT_MODE_MAX])(sd_journal*j, unsigned line, unsign
[OUTPUT_CAT] = output_cat
};
-int output_journal(sd_journal *j, OutputMode mode, unsigned line, unsigned n_columns, bool show_all) {
+int output_journal(sd_journal *j, OutputMode mode, unsigned line,
+ unsigned n_columns, OutputFlags flags) {
assert(mode >= 0);
assert(mode < _OUTPUT_MODE_MAX);
if (n_columns <= 0)
n_columns = columns();
- return output_funcs[mode](j, line, n_columns, show_all);
+ return output_funcs[mode](j, line, n_columns, flags);
}
int show_journal_by_unit(
@@ -537,8 +552,7 @@ int show_journal_by_unit(
unsigned n_columns,
usec_t not_before,
unsigned how_many,
- bool show_all,
- bool follow) {
+ OutputFlags flags) {
char *m = NULL;
sd_journal *j = NULL;
@@ -621,12 +635,12 @@ int show_journal_by_unit(
line ++;
- r = output_journal(j, mode, line, n_columns, show_all);
+ r = output_journal(j, mode, line, n_columns, flags);
if (r < 0)
goto finish;
}
- if (!follow)
+ if (!(flags & OUTPUT_FOLLOW))
break;
r = fd_wait_for_event(fd, POLLIN, (usec_t) -1);
diff --git a/src/logs-show.h b/src/logs-show.h
index db9c7e3..e8c6b03 100644
--- a/src/logs-show.h
+++ b/src/logs-show.h
@@ -39,7 +39,16 @@ typedef enum OutputMode {
_OUTPUT_MODE_INVALID = -1
} OutputMode;
-int output_journal(sd_journal *j, OutputMode mode, unsigned line, unsigned n_columns, bool show_all);
+typedef enum OutputFlags {
+ OUTPUT_SHOW_ALL = 1 << 0,
+ OUTPUT_MONOTONIC_MODE = 1 << 1,
+ OUTPUT_FOLLOW = 1 << 2,
+ OUTPUT_WARN_CUTOFF = 1 << 3,
+ OUTPUT_FULL_WIDTH = 1 << 4,
+} OutputFlags;
+
+int output_journal(sd_journal *j, OutputMode mode, unsigned line,
+ unsigned n_columns, OutputFlags flags);
int show_journal_by_unit(
const char *unit,
@@ -47,8 +56,7 @@ int show_journal_by_unit(
unsigned n_columns,
usec_t not_before,
unsigned how_many,
- bool show_all,
- bool follow);
+ OutputFlags flags);
const char* output_mode_to_string(OutputMode m);
OutputMode output_mode_from_string(const char *s);
diff --git a/src/systemctl.c b/src/systemctl.c
index f51085f..e94e024 100644
--- a/src/systemctl.c
+++ b/src/systemctl.c
@@ -2374,8 +2374,14 @@ static void print_status_info(UnitStatusInfo *i) {
}
if (i->id && arg_transport != TRANSPORT_SSH) {
+ int flags =
+ arg_lines * OUTPUT_SHOW_ALL |
+ arg_follow * OUTPUT_FOLLOW;
+
printf("\n");
- show_journal_by_unit(i->id, arg_output, 0, i->inactive_exit_timestamp_monotonic, arg_lines, arg_all, arg_follow);
+ show_journal_by_unit(i->id, arg_output, 0,
+ i->inactive_exit_timestamp_monotonic,
+ arg_lines, flags);
}
if (i->need_daemon_reload)
--
1.7.10.4
++++++ support-suse-clock-sysconfig.patch ++++++
>From 64ddc0bfa995041196fd0b9c61756d64578f925c Mon Sep 17 00:00:00 2001
From: Frederic Crozat <fcrozat(a)suse.com>
Date: Tue, 14 Aug 2012 14:26:16 +0200
Subject: [PATCH] timedate: add support for openSUSE version of
/etc/sysconfig/clock
---
src/timedate/timedated.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/timedate/timedated.c b/src/timedate/timedated.c
index 6a7d980..fbebc1d 100644
--- a/src/timedate/timedated.c
+++ b/src/timedate/timedated.c
@@ -180,9 +180,13 @@ static int read_data(void) {
if (r != -ENOENT)
log_warning("Failed to read /etc/timezone: %s", strerror(-r));
-#ifdef TARGET_FEDORA
+#if defined(TARGET_FEDORA) || defined(TARGET_SUSE)
r = parse_env_file("/etc/sysconfig/clock", NEWLINE,
+#ifdef TARGET_FEDORA
"ZONE", &tz.zone,
+#else /* TARGET_SUSE */
+ "TIMEZONE", &tz.zone,
+#endif
NULL);
if (r < 0 && r != -ENOENT)
--
1.7.10.4
++++++ use_localtime.patch ++++++
unlike symlink_or_copy_atomic(), this function creates a symlink even if the
oldname and newname (from and to) are on differn't devices. (stat.st_dev)
---
src/shared/util.c | 19 +++++++++++++++++--
src/shared/util.h | 1 +
2 files changed, 18 insertions(+), 2 deletions(-)
Index: systemd-44/src/util.c
===================================================================
--- systemd-44.orig/src/util.c
+++ systemd-44/src/util.c
@@ -5352,7 +5352,7 @@ finish:
return r;
}
-int symlink_or_copy_atomic(const char *from, const char *to) {
+static int symlink_atomic_raw(const char *from, const char *to, bool allow_copy) {
char *t, *x;
const char *fn;
size_t k;
@@ -5381,7 +5381,14 @@ int symlink_or_copy_atomic(const char *f
*x = 0;
- r = symlink_or_copy(from, t);
+ if (allow_copy)
+ r = symlink_or_copy(from, t);
+ else {
+ r = symlink(from, t);
+ if (r < 0)
+ r = -errno;
+ }
+
if (r < 0) {
unlink(t);
free(t);
@@ -5482,6 +5489,14 @@ int audit_loginuid_from_pid(pid_t pid, u
return 0;
}
+int symlink_or_copy_atomic(const char *from, const char *to) {
+ return symlink_atomic_raw(from, to, true);
+}
+
+int symlink_atomic(const char *from, const char *to) {
+ return symlink_atomic_raw(from, to, false);
+}
+
bool display_is_local(const char *display) {
assert(display);
Index: systemd-44/src/util.h
===================================================================
--- systemd-44.orig/src/util.h
+++ systemd-44/src/util.h
@@ -448,6 +448,7 @@ int vt_disallocate(const char *name);
int copy_file(const char *from, const char *to);
int symlink_or_copy(const char *from, const char *to);
int symlink_or_copy_atomic(const char *from, const char *to);
+int symlink_atomic(const char *from, const char *to);
int fchmod_umask(int fd, mode_t mode);
Index: systemd-44/Makefile.am
===================================================================
--- systemd-44.orig/Makefile.am
+++ systemd-44/Makefile.am
@@ -690,7 +690,7 @@ MANPAGES = \
man/systemd.conf.5 \
man/tmpfiles.d.5 \
man/hostname.5 \
- man/timezone.5 \
+ man/localtime.5 \
man/machine-id.5 \
man/locale.conf.5 \
man/os-release.5 \
Index: systemd-44/man/timezone.xml
===================================================================
--- systemd-44.orig/man/timezone.xml
+++ /dev/null
@@ -1,90 +0,0 @@
-<?xml version='1.0'?> <!--*-nxml-*-->
-<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl"?>
-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
- "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
-
-<!--
- This file is part of systemd.
-
- Copyright 2010 Lennart Poettering
-
- systemd is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- systemd is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with systemd; If not, see <http://www.gnu.org/licenses/>.
--->
-
-<refentry id="timezone">
- <refentryinfo>
- <title>/etc/timezone</title>
- <productname>systemd</productname>
-
- <authorgroup>
- <author>
- <contrib>Developer</contrib>
- <firstname>Lennart</firstname>
- <surname>Poettering</surname>
- <email>lennart(a)poettering.net</email>
- </author>
- </authorgroup>
- </refentryinfo>
-
- <refmeta>
- <refentrytitle>timezone</refentrytitle>
- <manvolnum>5</manvolnum>
- </refmeta>
-
- <refnamediv>
- <refname>timezone</refname>
- <refpurpose>Local time zone configuration file</refpurpose>
- </refnamediv>
-
- <refsynopsisdiv>
- <para><filename>/etc/timezone</filename></para>
- </refsynopsisdiv>
-
- <refsect1>
- <title>Description</title>
-
- <para>The <filename>/etc/timezone</filename> file
- configures the system-wide time zone of the local
- system that is used by applications for presentation
- to the user. It should contain a single
- newline-terminated line consisting of a time zone
- identifier such as
- <literal>Europe/Berlin</literal>. The file
- <filename>/etc/localtime</filename> corresponds with
- <filename>/etc/timezone</filename> and contains the
- binary time zone data for the time zone. These files
- should always be changed simultaneously and kept in
- sync.</para>
-
- <para>The time zone may be overridden for individual
- programs by using the TZ environment variable. See
- <citerefentry><refentrytitle>environ</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>
- </refsect1>
-
- <refsect1>
- <title>History</title>
-
- <para>The simple configuration file format of
- <filename>/etc/timezone</filename> originates from
- Debian GNU/Linux.</para>
- </refsect1>
-
- <refsect1>
- <title>See Also</title>
- <para>
- <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>
- </para>
- </refsect1>
-
-</refentry>
Index: systemd-44/man/localtime.xml
===================================================================
--- /dev/null
+++ systemd-44/man/localtime.xml
@@ -0,0 +1,93 @@
+<?xml version='1.0'?> <!--*-nxml-*-->
+<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
+
+<!--
+ This file is part of systemd.
+
+ Copyright 2010 Lennart Poettering
+ Copyright 2012 Shawn Landden
+
+ systemd is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ systemd is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
+-->
+
+<refentry id="localtime">
+ <refentryinfo>
+ <title>/etc/localtime</title>
+ <productname>systemd</productname>
+
+ <authorgroup>
+ <author>
+ <contrib>Developer</contrib>
+ <firstname>Lennart</firstname>
+ <surname>Poettering</surname>
+ <email>lennart(a)poettering.net</email>
+ </author>
+ <author>
+ <contrib>Developer</contrib>
+ <firstname>Shawn</firstname>
+ <surname>Landden</surname>
+ <email>shawnlandden(a)gmail.com</email>
+ </author>
+ </authorgroup>
+ </refentryinfo>
+
+ <refmeta>
+ <refentrytitle>localtime</refentrytitle>
+ <manvolnum>5</manvolnum>
+ </refmeta>
+
+ <refnamediv>
+ <refname>localtime</refname>
+ <refpurpose>Local time zone configuration file</refpurpose>
+ </refnamediv>
+
+ <refsynopsisdiv>
+ <para><filename>/etc/localtime</filename> -> <filename>/usr/share/zoneinfo/…</filename></para>
+ </refsynopsisdiv>
+
+ <refsect1>
+ <title>Description</title>
+
+ <para>The <filename>/etc/localtime</filename> file
+ configures the system-wide time zone of the local
+ system that is used by applications for presentation
+ to the user. It should be an absolute symbolic link
+ with a destination of <filename>/usr/share/zoneinfo/</filename>,
+ fallowed by a time zone identifier such as
+ <literal>Europe/Berlin</literal> or <literal>Etc/UTC</literal>.
+ The resulting link should point to the corresponding binary
+ <citerefentry><refentrytitle>tzfile</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+ time zone data for the configured time zone.</para>
+
+ <para>As the time zone identifier is extracted from the name of
+ the target of <filename>/etc/localtime</filename> this file may
+ not be a normal file or hardlink.</para>
+
+ <para>The time zone may be overridden for individual
+ programs by using the TZ environment variable. See
+ <citerefentry><refentrytitle>environ</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>
+ </refsect1>
+
+ <refsect1>
+ <title>See Also</title>
+ <para>
+ <citerefentry><refentrytitle>tzset</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>localtime</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+ </para>
+ </refsect1>
+
+</refentry>
Index: systemd-44/src/timedate/timedated.c
===================================================================
--- systemd-44.orig/src/timedate/timedated.c
+++ systemd-44/src/timedate/timedated.c
@@ -72,6 +72,9 @@
BUS_GENERIC_INTERFACES_LIST \
"org.freedesktop.timedate1\0"
+/* Must start and end with '/' */
+#define ZONEINFO_PATH "/usr/share/zoneinfo/"
+
const char timedate_interface[] _introspect_("timedate1") = INTERFACE;
typedef struct TZ {
@@ -125,7 +128,7 @@ static bool valid_timezone(const char *n
if (slash)
return false;
- t = strappend("/usr/share/zoneinfo/", name);
+ t = strappend(ZONEINFO_PATH, name);
if (!t)
return false;
@@ -149,17 +152,17 @@ static void verify_timezone(void) {
if (!tz.zone)
return;
- p = strappend("/usr/share/zoneinfo/", tz.zone);
+ p = strappend(ZONEINFO_PATH, tz.zone);
if (!p) {
log_error("Out of memory");
return;
}
- j = read_full_file("/etc/localtime", &a, &l);
k = read_full_file(p, &b, &q);
-
free(p);
+ j = read_full_file("/etc/localtime", &a, &l);
+
if (j < 0 || k < 0 || l != q || memcmp(a, b, l)) {
log_warning("/etc/localtime and /etc/timezone out of sync.");
free(tz.zone);
@@ -172,9 +175,36 @@ static void verify_timezone(void) {
static int read_data(void) {
int r;
+ char *t = NULL;
free_data();
+ r = readlink_malloc("/etc/localtime", &t);
+ if (r < 0) {
+ if (r == -EINVAL)
+ log_warning("/etc/localtime should be a symbolic link to a timezone data file in " ZONEINFO_PATH);
+ else
+ log_warning("Failed to get target of %s: %s", "/etc/localtime", strerror(-r));
+ } else {
+ /* we only support the trivial relative link of (/etc/)..$ABSOLUTE */
+ int rel_link_offset = startswith(t, "..") ? strlen("..") : 0;
+
+ if (!startswith(t + rel_link_offset, ZONEINFO_PATH))
+ log_warning("/etc/localtime should be a symbolic link to a timezone data file in " ZONEINFO_PATH);
+ else {
+ tz.zone = strdup(t + rel_link_offset + strlen(ZONEINFO_PATH));
+ free(t);
+ if (!tz.zone) {
+ log_error("Out of memory");
+ return -ENOMEM;
+ }
+
+ goto have_timezone;
+ }
+ }
+
+ free(t);
+
r = read_one_line_file("/etc/timezone", &tz.zone);
if (r < 0) {
if (r != -ENOENT)
@@ -190,6 +220,7 @@ static int read_data(void) {
#endif
}
+have_timezone:
if (isempty(tz.zone)) {
free(tz.zone);
tz.zone = NULL;
@@ -205,6 +236,7 @@ static int read_data(void) {
static int write_data_timezone(void) {
int r = 0;
char *p;
+ struct stat st;
if (!tz.zone) {
if (unlink("/etc/timezone") < 0 && errno != ENOENT)
@@ -216,21 +248,24 @@ static int write_data_timezone(void) {
return r;
}
- p = strappend("/usr/share/zoneinfo/", tz.zone);
+ p = strappend(ZONEINFO_PATH, tz.zone);
if (!p) {
log_error("Out of memory");
return -ENOMEM;
}
- r = symlink_or_copy_atomic(p, "/etc/localtime");
+ r = symlink_atomic(p, "/etc/localtime");
+
free(p);
if (r < 0)
- return r;
+ return -errno;
- r = write_one_line_file_atomic("/etc/timezone", tz.zone);
- if (r < 0)
- return r;
+ if (stat("/etc/timezone", &st) == 0 && S_ISREG(st.st_mode)) {
+ r = write_one_line_file_atomic("/etc/timezone", tz.zone);
+ if (r < 0)
+ return r;
+ }
return 0;
}
--
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 suitesparse for openSUSE:Factory checked in at 2012-08-26 11:35:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/suitesparse (Old)
and /work/SRC/openSUSE:Factory/.suitesparse.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "suitesparse", Maintainer is ""
Changes:
--------
--- /work/SRC/openSUSE:Factory/suitesparse/suitesparse.changes 2012-08-04 13:32:04.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.suitesparse.new/suitesparse.changes 2012-08-26 11:35:19.000000000 +0200
@@ -1,0 +2,23 @@
+Thu Aug 16 19:33:14 UTC 2012 - i(a)marguerite.su
+
+- also re-fix bnc#746867:
+ * cholmod from suitesparse should be GPL-2.0 and/or LGPL-2.0 licensed
+
+-------------------------------------------------------------------
+Wed Aug 15 02:51:27 UTC 2012 - i(a)marguerite.su
+
+- fix bnc#775418: SuiteSparse does not ship library which contains
+the symbol SuiteSparse_time
+ * it's because latest SuiteSparse prefers NTIMER.(try to depreciate)
+ so when there's NTIMER avaiable, tic/toc will not be enabled.
+ * easy solution is to use "-lSuiteSparse" in the UMFPACK_LIBS
+ variable in the affected packages like Octave.
+ * but this seems to affect many packages in science repo, so I
+ just add a patch comment #IF NTIMER off.
+ * http://comments.gmane.org/gmane.comp.gnu.octave.general/42837
+- add sub-package libsuitesparse_config which is formly known as UFconfig.
+ * also add provides/obsoltes of UFconfig.
+ * add patch0 to prevent removal of .o after .a is built.
+ we still need .o to make shared libsuitesparseconfig.so
+
+-------------------------------------------------------------------
New:
----
bnc775418-enable-SuiteSparse_time-symbol.patch
no-removal-of-suitesparse_config-output.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ suitesparse.spec ++++++
--- /var/tmp/diff_new_pack.YdsS9s/_old 2012-08-26 11:35:20.000000000 +0200
+++ /var/tmp/diff_new_pack.YdsS9s/_new 2012-08-26 11:35:20.000000000 +0200
@@ -15,15 +15,18 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
+
Name: suitesparse
Summary: A collection of sparse matrix libraries
+License: GPL-2.0+ and LGPL-2.1+
+Group: Development/Libraries/Parallel
Version: 4.0.2
Release: 0
-Group: Development/Libraries/Parallel
-License: GPL-2.0+ and LGPL-2.1+
Url: http://www.cise.ufl.edu/research/sparse/SuiteSparse
Source: SuiteSparse-%{version}.tar.gz
Source2: %{name}-rpmlintrc
+Patch0: no-removal-of-suitesparse_config-output.patch
+Patch775418: bnc775418-enable-SuiteSparse_time-symbol.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: blas-devel
BuildRequires: gcc-c++
@@ -55,6 +58,10 @@
%define spqrso 1_3_1
%define umfpackver 5.6.1
%define umfpackso 5_6_1
+# Your need define even it's just the same as main package
+# or the %build loop will override %version with umfpack's version.
+%define configver 4.0.2
+%define configso 4_0_2
%define amdlib libamd-%{amdso}
%define btflib libbtf-%{btfso}
%define camdlib libcamd-%{camdso}
@@ -68,6 +75,7 @@
%define rbiolib librbio-%{rbioso}
%define spqrlib libspqr-%{spqrso}
%define umfpacklib libumfpack-%{umfpackso}
+%define configlib libsuitesparseconfig-%{configver}
%description
suitesparse is a collection of libraries for computations involving sparse
@@ -75,6 +83,7 @@
%package devel
Summary: Development headers for SuiteSparse
+License: GPL-2.0+ and LGPL-2.1+
Group: Development/Libraries/Parallel
Requires: %{amdlib} = %{amdver}
Requires: %{btflib} = %{btfver}
@@ -82,6 +91,8 @@
Requires: %{ccolamdlib} = %{ccolamdver}
Requires: %{cholmodlib} = %{cholmodver}
Requires: %{colamdlib} = %{colamdver}
+Requires: %{configlib} = %{configver}
+Requires: %{configlib} = %{version}
Requires: %{csparselib} = %{csparsever}
Requires: %{cxsparselib} = %{cxsparsever}
Requires: %{klulib} = %{kluver}
@@ -124,6 +135,10 @@
Obsoletes: libspqr-devel < %{spqrver}
Provides: libumfpack-devel = %{umfpackver}
Obsoletes: libumfpack-devel < %{umfpackver}
+Provides: libsuitesparseconfig-devel = %{configver}
+Obsoletes: libsuitesparseconfig-devel < %{configver}
+Provides: UFconfig-devel = %{configver}
+Obsoletes: UFconfig-devel < %{configver}
%description devel
suitesparse is a collection of libraries for computations involving
@@ -148,6 +163,7 @@
%package devel-static
Summary: Static version of SuiteSparse libraries
+License: GPL-2.0+ and LGPL-2.1+
Group: Development/Libraries/Parallel
Requires: %{name}-devel = %{version}
@@ -157,9 +173,10 @@
%package -n %{amdlib}
Version: %{amdver}
+Release: 0
Summary: Symmetric Approximate Minimum Degree
-Group: Development/Libraries/Parallel
License: LGPL-2.1+
+Group: Development/Libraries/Parallel
%description -n %{amdlib}
AMD is a set of routines for ordering a sparse matrix prior to
@@ -173,9 +190,10 @@
%package -n %{btflib}
Version: %{btfver}
+Release: 0
Summary: Permutation to Block Triangular Form
-Group: Development/Libraries/Parallel
License: LGPL-2.1+
+Group: Development/Libraries/Parallel
%description -n %{btflib}
BTF permutes an unsymmetric matrix (square or rectangular) into its
@@ -186,9 +204,10 @@
%package -n %{camdlib}
Version: %{camdver}
+Release: 0
Summary: Symmetric Approximate Minimum Degree
-Group: Development/Libraries/Parallel
License: LGPL-2.1+
+Group: Development/Libraries/Parallel
%description -n %{camdlib}
CAMD is a set of routines for ordering a sparse matrix prior to
@@ -200,9 +219,10 @@
%package -n %{ccolamdlib}
Version: %{ccolamdver}
+Release: 0
Summary: Constrained Column Approximate Minimum Degree
-Group: Development/Libraries/Parallel
License: LGPL-2.1+
+Group: Development/Libraries/Parallel
%description -n %{ccolamdlib}
CCOLAMD computes an column approximate minimum degree ordering
@@ -213,9 +233,11 @@
%package -n %{cholmodlib}
Version: %{cholmodver}
+Release: 0
Summary: Supernodal Sparse Cholesky Factorization and Update/Downdate
+#bnc746867 cholmod from suitesparse should be GPL-2.0 and/or LGPL-2.0 licensed
+License: GPL-2.0 and LGPL-2.1
Group: Development/Libraries/Parallel
-License: GPL-2.0+ and LGPL-2.1+
%description -n %{cholmodlib}
CHOLMOD is a set of ANSI C routines for sparse Cholesky factorization
@@ -238,9 +260,10 @@
%package -n %{colamdlib}
Version: %{colamdver}
+Release: 0
Summary: Column Approximate Minimum Degree
-Group: Development/Libraries/Parallel
License: LGPL-2.1+
+Group: Development/Libraries/Parallel
%description -n %{colamdlib}
The COLAMD column approximate minimum degree ordering algorithm
@@ -258,9 +281,10 @@
%package -n %{csparselib}
Version: %{csparsever}
+Release: 0
Summary: Instructional Sparse Matrix Package
-Group: Development/Libraries/Parallel
License: LGPL-2.1+
+Group: Development/Libraries/Parallel
%description -n %{csparselib}
CSparse is a small yet feature-rich sparse matrix package written
@@ -283,9 +307,10 @@
%package -n %{cxsparselib}
Version: %{cxsparsever}
+Release: 0
Summary: An extended version of CSparse
-Group: Development/Libraries/Parallel
License: LGPL-2.1+
+Group: Development/Libraries/Parallel
%description -n %{cxsparselib}
CXSparse is an extended version of CSparse, with support for double
@@ -295,9 +320,10 @@
%package -n %{klulib}
Version: %{kluver}
+Release: 0
Summary: Sparse LU Factorization, for Circuit Simulation
-Group: Development/Libraries/Parallel
License: LGPL-2.1+
+Group: Development/Libraries/Parallel
%description -n %{klulib}
KLU is a sparse LU factorization algorithm well-suited for use in
@@ -309,9 +335,10 @@
%package -n %{ldllib}
Version: %{ldlver}
+Release: 0
Summary: A Simple LDL^T Factorization
-Group: Development/Libraries/Parallel
License: LGPL-2.1+
+Group: Development/Libraries/Parallel
%description -n %{ldllib}
LDL is a set of concise routines for factorizing symmetric positive-
@@ -328,9 +355,10 @@
%package -n %{rbiolib}
Version: %{rbiover}
+Release: 0
Summary: MATLAB Toolbox for Reading/Writing Sparse Matrices
-Group: Development/Libraries/Parallel
License: GPL-2.0+
+Group: Development/Libraries/Parallel
%description -n %{rbiolib}
RBio is a MATLAB toolbox for reading/writing sparse matrices in the
@@ -342,9 +370,10 @@
%package -n %{spqrlib}
Version: %{spqrver}
+Release: 0
Summary: Multifrontal Sparse QR
-Group: Development/Libraries/Parallel
License: GPL-2.0+
+Group: Development/Libraries/Parallel
%description -n %{spqrlib}
SuiteSparseQR is an implementation of the multifrontal sparse QR
@@ -359,9 +388,10 @@
%package -n %{umfpacklib}
Version: %{umfpackver}
+Release: 0
Summary: Sparse Multifrontal LU Factorization
-Group: Development/Libraries/Parallel
License: GPL-2.0+
+Group: Development/Libraries/Parallel
%description -n %{umfpacklib}
UMFPACK is a set of routines for solving unsymmetric sparse linear
@@ -374,6 +404,23 @@
UMFPACK is part of the SuiteSparse sparse matrix suite.
+%package -n %{configlib}
+Version: %{configver}
+Release: 0
+Summary: Common configurations for all packages in SuiteSparse
+License: GPL-2.0+
+Group: Development/Libraries/Parallel
+Provides: libufconfig = %{configver}
+Obsoletes: libufconfig < %{configver}
+Provides: libUFconfig = %{configver}
+Obsoletes: libUFconfig < %{configver}
+
+%description -n %{configlib}
+SuiteSparse_config is required by nearly all sparse matrix packages that I author or co-author. These include SuiteSparseQR, AMD, COLAMD, CCOLAMD, CHOLMOD, KLU, BTF, LDL, CXSparse, RBio, and UMFPACK. It is not required by CSparse, which is a stand-alone package. SuiteSparse_config (prior to version 4.0.0) was named UFconfig.
+SuiteSparse_config contains a configuration file for "make" (SuiteSparse_config.mk) and an include file (SuiteSparse_config.h). Also included in SuiteSparse_config is a replacement for the BLAS/LAPACK xerbla routine that does not print a warning message (helpful if you don't want to link the entire Fortran I/O library into a C application).
+
+SuiteSparse_config is part of the SuiteSparse sparse matrix suite.
+
%prep
%setup -q -n SuiteSparse
sed 's/^CHOLMOD_CONFIG =.*/CHOLMOD_CONFIG = -DNPARTITION/' -i SuiteSparse_config/SuiteSparse_config.mk
@@ -383,6 +430,9 @@
rm -rf MATLAB_Tools/Factorize/Doc/factorize_article.pdf
rm -rf SPQR/Doc/algo_spqr.pdf
rm -rf SPQR/Doc/spqr.pdf
+# bnc#775418
+%patch0 -p1
+%patch775418 -p1
%build
for dir in AMD BTF CAMD CCOLAMD CHOLMOD COLAMD CSparse CXSparse KLU LDL RBio SPQR UMFPACK; do
@@ -406,6 +456,13 @@
cp Supernodal/License.txt Doc/Supernodal_License.txt
popd
+#bnc775418 provides SuiteSparse_time symbol in SuiteSparse_config
+pushd SuiteSparse_config
+ make CFLAGS="%{optflags} -fPIC"
+ gcc -shared -Wl,-soname -Wl,"libsuitesparseconfig-%{configver}.so" -o "libsuitesparseconfig-%{configver}.so" *.o -lm
+ ln -s "libsuitesparseconfig-%{version}.so" "libsuitesparseconfig.so"
+popd
+
%install
mkdir -p %{buildroot}%{_includedir}/%{name}
mkdir -p %{buildroot}%{_libdir}
@@ -425,6 +482,10 @@
popd
done
+cp -r SuiteSparse_config/*.so* SuiteSparse_config/*.a %{buildroot}%{_libdir}
+mkdir %{buildroot}%{_docdir}/%{name}/SuiteSparse_config-%{configver}/
+cp -r SuiteSparse_config/README.txt %{buildroot}%{_docdir}/%{name}/SuiteSparse_config-%{configver}/
+
%post -n %{amdlib} -p /sbin/ldconfig
%postun -n %{amdlib} -p /sbin/ldconfig
@@ -464,6 +525,9 @@
%post -n %{umfpacklib} -p /sbin/ldconfig
%postun -n %{umfpacklib} -p /sbin/ldconfig
+%post -n %{configlib} -p /sbin/ldconfig
+%postun -n %{configlib} -p /sbin/ldconfig
+
%files devel
%defattr(-,root,root)
%{_includedir}/%{name}
@@ -555,4 +619,10 @@
%dir %{_docdir}/%{name}
%{_docdir}/%{name}/UMFPACK-%{umfpackver}
+%files -n %{configlib}
+%defattr(-,root,root)
+%{_libdir}/libsuitesparseconfig-%{configver}.so
+%dir %{_docdir}/%{name}
+%{_docdir}/%{name}/SuiteSparse_config-%{configver}
+
%changelog
++++++ bnc775418-enable-SuiteSparse_time-symbol.patch ++++++
diff -urN SuiteSparse.orig/SuiteSparse_config/SuiteSparse_config.h SuiteSparse/SuiteSparse_config/SuiteSparse_config.h
--- SuiteSparse.orig/SuiteSparse_config/SuiteSparse_config.h 2012-08-15 10:44:18.240183158 +0800
+++ SuiteSparse/SuiteSparse_config/SuiteSparse_config.h 2012-08-15 10:48:37.033947737 +0800
@@ -121,13 +121,13 @@
) ;
/* determine which timer to use, if any */
-#ifndef NTIMER
+/*#ifndef NTIMER*/
#ifdef _POSIX_C_SOURCE
#if _POSIX_C_SOURCE >= 199309L
#define SUITESPARSE_TIMER_ENABLED
#endif
#endif
-#endif
+/*#endif*/
/* ========================================================================== */
/* === SuiteSparse version ================================================== */
++++++ no-removal-of-suitesparse_config-output.patch ++++++
diff -urN SuiteSparse.orig/SuiteSparse_config/Makefile SuiteSparse/SuiteSparse_config/Makefile
--- SuiteSparse.orig/SuiteSparse_config/Makefile 2012-08-15 10:44:18.241183146 +0800
+++ SuiteSparse/SuiteSparse_config/Makefile 2012-08-16 01:00:40.966163200 +0800
@@ -18,7 +18,7 @@
$(CC) $(CF) -c SuiteSparse_config.c
$(ARCHIVE) libsuitesparseconfig.a SuiteSparse_config.o
$(RANLIB) libsuitesparseconfig.a
- - $(RM) SuiteSparse_config.o
+# - $(RM) SuiteSparse_config.o
distclean: purge
--
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 subversion for openSUSE:Factory checked in at 2012-08-26 11:34:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/subversion (Old)
and /work/SRC/openSUSE:Factory/.subversion.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "subversion", Maintainer is "DMueller(a)suse.com"
Changes:
--------
--- /work/SRC/openSUSE:Factory/subversion/subversion.changes 2012-06-18 14:54:13.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.subversion.new/subversion.changes 2012-08-26 11:35:01.000000000 +0200
@@ -1,0 +2,46 @@
+Wed Aug 15 00:00:00 UTC 2012 - andreas.stieger(a)gmx.de
+
+- update to upstream 1.7.6:
+
+ User-visible changes:
+ - Client-side bugfixes:
+ * Fix "svn status -u --depth empty FILE"
+ * Fix example output of 'svn help status'
+ * svn propset of svn:eol-style might not notice related text changes
+ * sort output of 'svn propget -R'
+ * sort output of 'svn proplist'
+ * sort output of 'svn status'
+ * avoid a filestat per working copy find operation
+ * optimize 'svn upgrade' performance on large working copies
+ * allow 'file:///C:\repos' style arguments on Windows, like 1.6
+ * fix ra_serf against Subversion 1.2 servers
+ * fix 'svn upgrade' on working copies with certain tree conflicts
+ * avoid workqueue references to system temp dir
+ * allow non-existant canonical paths
+ * fix 'svn revert --depth files' to operate on files
+ * fix ra_serf XML namespace handling against malicious server
+ * fix relocate with server-relative externals
+ * change two asserts into errors for TortoiseSVN
+ * don't attempt to anchor an operation outside a wc root
+
+ - Server-side bugfixes:
+ * partial sync drops properties when converting to adds
+ * replaying a copy and delete of an unreadable child fails
+ * allow svnlook to operate on r0
+ * make FSFS revision files independent of APR hash order
+
+ - Other tool improvements and bugfixes:
+ * move mod_dontdothat to install-tools
+
+ Developer-visible changes:
+ - General:
+ * fix running tests against httpd 2.4
+ * use constant struct initialisers for C89 compatibility
+
+ - Bindings:
+ * JavaHL: Don't assert on some invalid input
+ * JavaHL: Add missing new in 1.7 notifications
+
+- refresh subversion-no-build-date.patch
+
+-------------------------------------------------------------------
Old:
----
subversion-1.7.5.tar.bz2
New:
----
subversion-1.7.6.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ subversion.spec ++++++
--- /var/tmp/diff_new_pack.fwFy7Y/_old 2012-08-26 11:35:04.000000000 +0200
+++ /var/tmp/diff_new_pack.fwFy7Y/_new 2012-08-26 11:35:04.000000000 +0200
@@ -46,7 +46,7 @@
%endif
Name: subversion
-Version: 1.7.5
+Version: 1.7.6
Release: 0
# in-tree SWIG version to use for the build:
%define swig_version 1.3.36
++++++ subversion-1.7.5.tar.bz2 -> subversion-1.7.6.tar.bz2 ++++++
++++ 2572 lines of diff (skipped)
++++++ subversion-no-build-date.patch ++++++
--- /var/tmp/diff_new_pack.fwFy7Y/_old 2012-08-26 11:35:06.000000000 +0200
+++ /var/tmp/diff_new_pack.fwFy7Y/_new 2012-08-26 11:35:06.000000000 +0200
@@ -1,8 +1,8 @@
Index: subversion/libsvn_subr/opt.c
===================================================================
---- subversion/libsvn_subr/opt.c.orig 2012-01-25 17:16:44.000000000 +0000
-+++ subversion/libsvn_subr/opt.c 2012-02-13 20:48:43.000000000 +0000
-@@ -1070,9 +1070,8 @@ svn_opt__print_version_info(const char *
+--- subversion/libsvn_subr/opt.c.orig 2012-06-13 13:59:03.000000000 +0100
++++ subversion/libsvn_subr/opt.c 2012-08-08 19:36:46.000000000 +0100
+@@ -1084,9 +1084,8 @@ svn_opt__print_version_info(const char *
if (quiet)
return svn_cmdline_printf(pool, "%s\n", SVN_VER_NUMBER);
--
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 ssdeep for openSUSE:Factory checked in at 2012-08-26 11:34:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ssdeep (Old)
and /work/SRC/openSUSE:Factory/.ssdeep.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ssdeep", Maintainer is ""
Changes:
--------
--- /work/SRC/openSUSE:Factory/ssdeep/ssdeep.changes 2012-08-10 19:03:18.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.ssdeep.new/ssdeep.changes 2012-08-26 11:34:52.000000000 +0200
@@ -1,0 +2,14 @@
+Fri Aug 17 20:44:27 UTC 2012 - dimstar(a)opensuse.org
+
+- Add ssdeep-dynamic.patch: Link ssdeep dynamically to libfuzzy.
+ As a side-effect, we can actually now also use configure
+ --disable-static.
+- Add libtool BuildRequires and call autoreconf, as above patch
+ touches the build system.
+
+-------------------------------------------------------------------
+Thu Aug 9 19:21:11 UTC 2012 - aj(a)suse.de
+
+- Run through spec-cleaner, remove obsolete comments.
+
+-------------------------------------------------------------------
@@ -6 +20,2 @@
-Recursive computing and matching of Context Triggered Piecewise Hashing (aka Fuzzy Hashing). Supports Windows, *nix, BSD, OS X, etc.
+Recursive computing and matching of Context Triggered Piecewise
+Hashing (aka Fuzzy Hashing). Supports Windows, *nix, BSD, OS X, etc.
New:
----
ssdeep-dynamic.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ssdeep.spec ++++++
--- /var/tmp/diff_new_pack.oMPDrC/_old 2012-08-26 11:34:53.000000000 +0200
+++ /var/tmp/diff_new_pack.oMPDrC/_new 2012-08-26 11:34:53.000000000 +0200
@@ -1,27 +1,33 @@
#
-# spec file for package ssdeep (Version 2.0)
+# spec file for package ssdeep
#
-# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
-# This file and all modifications and additions to the pristine
-# package are under the same license as the package itself.
+# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
-# norootforbuild
Name: ssdeep
Version: 2.7
Release: 0
-Url: http://www.forensicswiki.org/wiki/Ssdeep
-# BuildRequires: fftw3-devel gtk2-devel
-# Requires: fftw3 gtk2
+Summary: Context Triggered Piecewise Hashing values
License: GPL-2.0
Group: Productivity/Multimedia/Sound/Editors and Convertors
-PreReq: %install_info_prereq
-AutoReqProv: on
-Summary: Context Triggered Piecewise Hashing values
+Url: http://www.forensicswiki.org/wiki/Ssdeep
Source: %{name}-%{version}.tar.gz
+# PATCH-FIX-OPENSUSE ssdeep-dynamic.patch dimstar(a)opensuse.org -- Link ssdeep dynamically
+Patch0: ssdeep-dynamic.patch
+BuildRequires: libtool
+Requires(pre): %install_info_prereq
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
@@ -29,45 +35,39 @@
Hashing values. It is based on a spam detector called spamsum by Andrews
Trigdell
-Authors:
---------
- Jesse Kornblum
-
-
%package -n libfuzzy2
+Summary: API for ssdeep
License: GPL-2.0+
Group: Development/Libraries/C and C++
-Summary: API for ssdeep
%description -n libfuzzy2
Libraries for ssdeep, the primary library is libfuzzy.*
%package -n libfuzzy-devel
+Summary: API for ssdeep
License: GPL-2.0+
Group: Development/Libraries/C and C++
-Summary: API for ssdeep
-Requires: libfuzzy2 = %{version}-%{release}
+Requires: libfuzzy2 = %{version}
%description -n libfuzzy-devel
Devel API for ssdeep, the primary library is libfuzzy.*
%prep
-%setup
+%setup -q
+%patch0 -p1
%build
-# for unknown reason --disable-static causes a rpm packaging error. Just delete the static lib after build/install.
-# %%configure --disable-static
-%configure
-%{__make} %{?_smp_mflags}
+autoreconf -fi
+%configure --disable-static
+make %{?_smp_mflags}
%post -n libfuzzy2 -p /sbin/ldconfig
%postun -n libfuzzy2 -p /sbin/ldconfig
%install
-%makeinstall
+%make_install
# Clean up *.a and *.la files
-find %{buildroot}%{_libdir} -name '*.a' -type f -delete -print
find %{buildroot}%{_libdir} -name '*.la' -type f -delete -print
%files
++++++ ssdeep-dynamic.patch ++++++
Index: ssdeep-2.7/Makefile.am
===================================================================
--- ssdeep-2.7.orig/Makefile.am
+++ ssdeep-2.7/Makefile.am
@@ -2,7 +2,6 @@
bin_PROGRAMS=ssdeep
ssdeep_LDADD=libfuzzy.la
-ssdeep_LDFLAGS=-static
ACLOCAL_AMFLAGS = -I m4
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org
1
0