From xen-changelog-bounces@lists.xen.org Sat Aug 03 04:11:19 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 03 Aug 2013 04:11:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V5TBN-0002Z5-9K; Sat, 03 Aug 2013 04:11:09 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V5TBM-0002Yv-2l
	for xen-changelog@lists.xensource.com; Sat, 03 Aug 2013 04:11:08 +0000
Received: from [85.158.136.67:12430] by server-15.bemta-5.messagelabs.com id
	47/0F-01226-BD28CF15; Sat, 03 Aug 2013 04:11:07 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-207.messagelabs.com!1375503065!19840588!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13105 invoked from network); 3 Aug 2013 04:11:06 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-8.tower-207.messagelabs.com with AES256-SHA encrypted SMTP;
	3 Aug 2013 04:11:06 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V5TBH-00039q-Fz
	for xen-changelog@lists.xensource.com; Sat, 03 Aug 2013 04:11:05 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V5TBH-00079I-9a
	for xen-changelog@lists.xensource.com; Sat, 03 Aug 2013 04:11:03 +0000
Date: Sat, 03 Aug 2013 04:11:03 +0000
Message-Id: <E1V5TBH-00079I-9a@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] stubdom: Fix stubdom undeclared
	function build warnings
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============3846679949278757818=="
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

--===============3846679949278757818==
Content-Type: text/plain

commit 10f6b65545579fcac65d783156db7a70eeca2550
Author:     Samuel Thibault <samuel.thibault@ens-lyon.org>
AuthorDate: Mon Jul 29 11:18:10 2013 +0200
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Fri Aug 2 15:37:26 2013 +0100

    stubdom: Fix stubdom undeclared function build warnings
    
    This includes a few headers to fix some missing function declarations.
    
    ../grub-upstream/stage2/builtins.c:1728:3: warning: implicit declaration of function ‘do_exit’ [-Wimplicit-function-declaration]
    stubdom/include/xen/libelf/libelf.h:453:5: warning: implicit declaration of function ‘memcpy’ [-Wimplicit-function-declaration]
    
    Reported-by: IAN DELANEY <della5@iinet.com.au>
    Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 stubdom/grub/config.h    |    1 +
 xen/include/xen/libelf.h |    2 ++
 2 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/stubdom/grub/config.h b/stubdom/grub/config.h
index 1649d51..15a6583 100644
--- a/stubdom/grub/config.h
+++ b/stubdom/grub/config.h
@@ -2,6 +2,7 @@
 #undef putchar
 #include <ctype.h>
 #include <string.h>
+#include <kernel.h>
 #define debug _debug
 #define grub_halt(a) do_exit()
 #define printf grub_printf
diff --git a/xen/include/xen/libelf.h b/xen/include/xen/libelf.h
index 2a6fa54..e65db6d 100644
--- a/xen/include/xen/libelf.h
+++ b/xen/include/xen/libelf.h
@@ -39,11 +39,13 @@ typedef int elf_negerrnoval; /* 0: ok; -EFOO: error */
 #ifdef __XEN__
 #include <public/elfnote.h>
 #include <public/features.h>
+#include <xen/string.h>
 #else
 #include <xen/elfnote.h>
 #include <xen/features.h>
 
 #include <stdarg.h>
+#include <string.h>
 
 struct elf_binary;
 typedef void elf_log_callback(struct elf_binary*, void *caller_data,
--
generated by git-patchbot for /home/xen/git/xen.git#master


--===============3846679949278757818==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog
--===============3846679949278757818==--

From xen-changelog-bounces@lists.xen.org Sat Aug 03 04:11:19 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 03 Aug 2013 04:11:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V5TBN-0002Z5-9K; Sat, 03 Aug 2013 04:11:09 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V5TBM-0002Yv-2l
	for xen-changelog@lists.xensource.com; Sat, 03 Aug 2013 04:11:08 +0000
Received: from [85.158.136.67:12430] by server-15.bemta-5.messagelabs.com id
	47/0F-01226-BD28CF15; Sat, 03 Aug 2013 04:11:07 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-207.messagelabs.com!1375503065!19840588!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13105 invoked from network); 3 Aug 2013 04:11:06 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-8.tower-207.messagelabs.com with AES256-SHA encrypted SMTP;
	3 Aug 2013 04:11:06 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V5TBH-00039q-Fz
	for xen-changelog@lists.xensource.com; Sat, 03 Aug 2013 04:11:05 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V5TBH-00079I-9a
	for xen-changelog@lists.xensource.com; Sat, 03 Aug 2013 04:11:03 +0000
Date: Sat, 03 Aug 2013 04:11:03 +0000
Message-Id: <E1V5TBH-00079I-9a@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] stubdom: Fix stubdom undeclared
	function build warnings
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============3846679949278757818=="
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

--===============3846679949278757818==
Content-Type: text/plain

commit 10f6b65545579fcac65d783156db7a70eeca2550
Author:     Samuel Thibault <samuel.thibault@ens-lyon.org>
AuthorDate: Mon Jul 29 11:18:10 2013 +0200
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Fri Aug 2 15:37:26 2013 +0100

    stubdom: Fix stubdom undeclared function build warnings
    
    This includes a few headers to fix some missing function declarations.
    
    ../grub-upstream/stage2/builtins.c:1728:3: warning: implicit declaration of function ‘do_exit’ [-Wimplicit-function-declaration]
    stubdom/include/xen/libelf/libelf.h:453:5: warning: implicit declaration of function ‘memcpy’ [-Wimplicit-function-declaration]
    
    Reported-by: IAN DELANEY <della5@iinet.com.au>
    Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 stubdom/grub/config.h    |    1 +
 xen/include/xen/libelf.h |    2 ++
 2 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/stubdom/grub/config.h b/stubdom/grub/config.h
index 1649d51..15a6583 100644
--- a/stubdom/grub/config.h
+++ b/stubdom/grub/config.h
@@ -2,6 +2,7 @@
 #undef putchar
 #include <ctype.h>
 #include <string.h>
+#include <kernel.h>
 #define debug _debug
 #define grub_halt(a) do_exit()
 #define printf grub_printf
diff --git a/xen/include/xen/libelf.h b/xen/include/xen/libelf.h
index 2a6fa54..e65db6d 100644
--- a/xen/include/xen/libelf.h
+++ b/xen/include/xen/libelf.h
@@ -39,11 +39,13 @@ typedef int elf_negerrnoval; /* 0: ok; -EFOO: error */
 #ifdef __XEN__
 #include <public/elfnote.h>
 #include <public/features.h>
+#include <xen/string.h>
 #else
 #include <xen/elfnote.h>
 #include <xen/features.h>
 
 #include <stdarg.h>
+#include <string.h>
 
 struct elf_binary;
 typedef void elf_log_callback(struct elf_binary*, void *caller_data,
--
generated by git-patchbot for /home/xen/git/xen.git#master


--===============3846679949278757818==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog
--===============3846679949278757818==--

From xen-changelog-bounces@lists.xen.org Sat Aug 03 04:11:24 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 03 Aug 2013 04:11:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V5TBX-0002ZV-CQ; Sat, 03 Aug 2013 04:11:19 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V5TBW-0002ZO-Kk
	for xen-changelog@lists.xensource.com; Sat, 03 Aug 2013 04:11:18 +0000
Received: from [85.158.137.99:2265] by server-17.bemta-3.messagelabs.com id
	F9/88-16117-5E28CF15; Sat, 03 Aug 2013 04:11:17 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-217.messagelabs.com!1375503075!18110387!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1730 invoked from network); 3 Aug 2013 04:11:17 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-11.tower-217.messagelabs.com with AES256-SHA encrypted SMTP;
	3 Aug 2013 04:11:17 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V5TBT-00039t-Ph
	for xen-changelog@lists.xensource.com; Sat, 03 Aug 2013 04:11:15 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V5TBT-00079h-Kw
	for xen-changelog@lists.xensource.com; Sat, 03 Aug 2013 04:11:15 +0000
Date: Sat, 03 Aug 2013 04:11:15 +0000
Message-Id: <E1V5TBT-00079h-Kw@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] flask: avoid installing policy file as
	'/boot'
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 8bff3edead4318bfebc487f929f833d11922c238
Author:     Vadim A. Misbakh-Soloviov <mva@mva.name>
AuthorDate: Tue Jul 30 16:34:38 2013 +0400
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Fri Aug 2 15:42:37 2013 +0100

    flask: avoid installing policy file as '/boot'
    
    Signed-off-by: Vadim A. Misbakh-Soloviov <mva@mva.name>
    Acked-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>
---
 tools/flask/policy/Makefile |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/tools/flask/policy/Makefile b/tools/flask/policy/Makefile
index e666f3e..df1e8f3 100644
--- a/tools/flask/policy/Makefile
+++ b/tools/flask/policy/Makefile
@@ -103,6 +103,7 @@ POLICY_SECTIONS += $(USERS) $(CONSTRAINTS) $(ISID_DEFS)
 all: $(POLICY_FILENAME)
 
 install: $(POLICY_FILENAME)
+	$(INSTALL_DIR) $(POLICY_LOADPATH)
 	$(INSTALL_DATA) $^ $(POLICY_LOADPATH)
 
 $(POLICY_FILENAME): policy.conf
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sat Aug 03 04:11:24 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 03 Aug 2013 04:11:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V5TBX-0002ZV-CQ; Sat, 03 Aug 2013 04:11:19 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V5TBW-0002ZO-Kk
	for xen-changelog@lists.xensource.com; Sat, 03 Aug 2013 04:11:18 +0000
Received: from [85.158.137.99:2265] by server-17.bemta-3.messagelabs.com id
	F9/88-16117-5E28CF15; Sat, 03 Aug 2013 04:11:17 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-217.messagelabs.com!1375503075!18110387!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1730 invoked from network); 3 Aug 2013 04:11:17 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-11.tower-217.messagelabs.com with AES256-SHA encrypted SMTP;
	3 Aug 2013 04:11:17 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V5TBT-00039t-Ph
	for xen-changelog@lists.xensource.com; Sat, 03 Aug 2013 04:11:15 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V5TBT-00079h-Kw
	for xen-changelog@lists.xensource.com; Sat, 03 Aug 2013 04:11:15 +0000
Date: Sat, 03 Aug 2013 04:11:15 +0000
Message-Id: <E1V5TBT-00079h-Kw@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] flask: avoid installing policy file as
	'/boot'
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 8bff3edead4318bfebc487f929f833d11922c238
Author:     Vadim A. Misbakh-Soloviov <mva@mva.name>
AuthorDate: Tue Jul 30 16:34:38 2013 +0400
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Fri Aug 2 15:42:37 2013 +0100

    flask: avoid installing policy file as '/boot'
    
    Signed-off-by: Vadim A. Misbakh-Soloviov <mva@mva.name>
    Acked-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>
---
 tools/flask/policy/Makefile |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/tools/flask/policy/Makefile b/tools/flask/policy/Makefile
index e666f3e..df1e8f3 100644
--- a/tools/flask/policy/Makefile
+++ b/tools/flask/policy/Makefile
@@ -103,6 +103,7 @@ POLICY_SECTIONS += $(USERS) $(CONSTRAINTS) $(ISID_DEFS)
 all: $(POLICY_FILENAME)
 
 install: $(POLICY_FILENAME)
+	$(INSTALL_DIR) $(POLICY_LOADPATH)
 	$(INSTALL_DATA) $^ $(POLICY_LOADPATH)
 
 $(POLICY_FILENAME): policy.conf
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sat Aug 03 04:11:36 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 03 Aug 2013 04:11:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V5TBh-0002ak-FR; Sat, 03 Aug 2013 04:11:29 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V5TBg-0002ab-Uq
	for xen-changelog@lists.xensource.com; Sat, 03 Aug 2013 04:11:29 +0000
Received: from [85.158.139.211:43708] by server-8.bemta-5.messagelabs.com id
	3B/9A-15847-0F28CF15; Sat, 03 Aug 2013 04:11:28 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-206.messagelabs.com!1375503086!794829!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4115 invoked from network); 3 Aug 2013 04:11:27 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-15.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	3 Aug 2013 04:11:27 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V5TBe-00039z-71
	for xen-changelog@lists.xensource.com; Sat, 03 Aug 2013 04:11:26 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V5TBd-0007Ab-VB
	for xen-changelog@lists.xensource.com; Sat, 03 Aug 2013 04:11:26 +0000
Date: Sat, 03 Aug 2013 04:11:25 +0000
Message-Id: <E1V5TBd-0007Ab-VB@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] tools: build flask-tools and flask
	policy only if flask enabled
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 4328e21d5d210ba2e8ef2e9ba4fc1289d10e294c
Author:     Vadim A. Misbakh-Soloviov <mva@mva.name>
AuthorDate: Tue Jul 30 16:34:39 2013 +0400
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Fri Aug 2 15:42:59 2013 +0100

    tools: build flask-tools and flask policy only if flask enabled
    
    Signed-off-by: Vadim A. Misbakh-Soloviov <mva@mva.name>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/Makefile |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/tools/Makefile b/tools/Makefile
index e44a3e9..6791829 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -8,7 +8,7 @@ endif
 SUBDIRS-y :=
 SUBDIRS-y += include
 SUBDIRS-y += libxc
-SUBDIRS-y += flask
+SUBDIRS-$(FLASK_ENABLE) += flask
 SUBDIRS-y += xenstore
 SUBDIRS-y += misc
 SUBDIRS-y += examples
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sat Aug 03 04:11:36 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 03 Aug 2013 04:11:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V5TBh-0002ak-FR; Sat, 03 Aug 2013 04:11:29 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V5TBg-0002ab-Uq
	for xen-changelog@lists.xensource.com; Sat, 03 Aug 2013 04:11:29 +0000
Received: from [85.158.139.211:43708] by server-8.bemta-5.messagelabs.com id
	3B/9A-15847-0F28CF15; Sat, 03 Aug 2013 04:11:28 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-206.messagelabs.com!1375503086!794829!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4115 invoked from network); 3 Aug 2013 04:11:27 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-15.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	3 Aug 2013 04:11:27 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V5TBe-00039z-71
	for xen-changelog@lists.xensource.com; Sat, 03 Aug 2013 04:11:26 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V5TBd-0007Ab-VB
	for xen-changelog@lists.xensource.com; Sat, 03 Aug 2013 04:11:26 +0000
Date: Sat, 03 Aug 2013 04:11:25 +0000
Message-Id: <E1V5TBd-0007Ab-VB@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] tools: build flask-tools and flask
	policy only if flask enabled
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 4328e21d5d210ba2e8ef2e9ba4fc1289d10e294c
Author:     Vadim A. Misbakh-Soloviov <mva@mva.name>
AuthorDate: Tue Jul 30 16:34:39 2013 +0400
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Fri Aug 2 15:42:59 2013 +0100

    tools: build flask-tools and flask policy only if flask enabled
    
    Signed-off-by: Vadim A. Misbakh-Soloviov <mva@mva.name>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/Makefile |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/tools/Makefile b/tools/Makefile
index e44a3e9..6791829 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -8,7 +8,7 @@ endif
 SUBDIRS-y :=
 SUBDIRS-y += include
 SUBDIRS-y += libxc
-SUBDIRS-y += flask
+SUBDIRS-$(FLASK_ENABLE) += flask
 SUBDIRS-y += xenstore
 SUBDIRS-y += misc
 SUBDIRS-y += examples
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sat Aug 03 04:11:43 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 03 Aug 2013 04:11:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V5TBs-0002c7-IY; Sat, 03 Aug 2013 04:11:40 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V5TBr-0002bn-1o
	for xen-changelog@lists.xensource.com; Sat, 03 Aug 2013 04:11:39 +0000
Received: from [85.158.139.211:50041] by server-13.bemta-5.messagelabs.com id
	C1/C5-11519-AF28CF15; Sat, 03 Aug 2013 04:11:38 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-206.messagelabs.com!1375503096!791072!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=UPPERCASE_25_50
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16964 invoked from network); 3 Aug 2013 04:11:37 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-14.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	3 Aug 2013 04:11:37 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V5TBo-0003AE-Cj
	for xen-changelog@lists.xensource.com; Sat, 03 Aug 2013 04:11:36 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V5TBo-0007B2-BY
	for xen-changelog@lists.xensource.com; Sat, 03 Aug 2013 04:11:36 +0000
Date: Sat, 03 Aug 2013 04:11:36 +0000
Message-Id: <E1V5TBo-0007B2-BY@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] flask: use DESTDIR directly in install
	target rules
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 8f34f515673c46a0a3453e249f67bfd3bf09a5f6
Author:     Vadim A. Misbakh-Soloviov <mva@mva.name>
AuthorDate: Tue Jul 30 16:34:40 2013 +0400
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Fri Aug 2 15:43:15 2013 +0100

    flask: use DESTDIR directly in install target rules
    
    30.07.2013 13:51, Ian Campbell wrote:
    > I think it would be a bit less surprising for drive by patchers etc to
    > remove the DESTDIR from POLICY_LOADPATH and add it to the install
    > target, which is the usual way to do things. Up to you/Vadim though.
    
    Signed-off-by: Vadim A. Misbakh-Soloviov <mva@mva.name>
    Acked-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>
---
 tools/flask/policy/Makefile |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/tools/flask/policy/Makefile b/tools/flask/policy/Makefile
index df1e8f3..a1c0f11 100644
--- a/tools/flask/policy/Makefile
+++ b/tools/flask/policy/Makefile
@@ -33,7 +33,7 @@ M4 ?= m4
 OUTPUT_POLICY = 24
 
 POLICY_FILENAME = xenpolicy.$(OUTPUT_POLICY)
-POLICY_LOADPATH = $(DESTDIR)/boot
+POLICY_LOADPATH = /boot
 
 # policy source layout
 POLDIR := policy
@@ -103,8 +103,8 @@ POLICY_SECTIONS += $(USERS) $(CONSTRAINTS) $(ISID_DEFS)
 all: $(POLICY_FILENAME)
 
 install: $(POLICY_FILENAME)
-	$(INSTALL_DIR) $(POLICY_LOADPATH)
-	$(INSTALL_DATA) $^ $(POLICY_LOADPATH)
+	$(INSTALL_DIR) $(DESTDIR)/$(POLICY_LOADPATH)
+	$(INSTALL_DATA) $^ $(DESTDIR)/$(POLICY_LOADPATH)
 
 $(POLICY_FILENAME): policy.conf
 	$(CHECKPOLICY) $(CHECKPOLICY_PARAM) $^ -o $@
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sat Aug 03 04:11:43 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 03 Aug 2013 04:11:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V5TBs-0002c7-IY; Sat, 03 Aug 2013 04:11:40 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V5TBr-0002bn-1o
	for xen-changelog@lists.xensource.com; Sat, 03 Aug 2013 04:11:39 +0000
Received: from [85.158.139.211:50041] by server-13.bemta-5.messagelabs.com id
	C1/C5-11519-AF28CF15; Sat, 03 Aug 2013 04:11:38 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-206.messagelabs.com!1375503096!791072!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=UPPERCASE_25_50
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16964 invoked from network); 3 Aug 2013 04:11:37 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-14.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	3 Aug 2013 04:11:37 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V5TBo-0003AE-Cj
	for xen-changelog@lists.xensource.com; Sat, 03 Aug 2013 04:11:36 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V5TBo-0007B2-BY
	for xen-changelog@lists.xensource.com; Sat, 03 Aug 2013 04:11:36 +0000
Date: Sat, 03 Aug 2013 04:11:36 +0000
Message-Id: <E1V5TBo-0007B2-BY@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] flask: use DESTDIR directly in install
	target rules
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 8f34f515673c46a0a3453e249f67bfd3bf09a5f6
Author:     Vadim A. Misbakh-Soloviov <mva@mva.name>
AuthorDate: Tue Jul 30 16:34:40 2013 +0400
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Fri Aug 2 15:43:15 2013 +0100

    flask: use DESTDIR directly in install target rules
    
    30.07.2013 13:51, Ian Campbell wrote:
    > I think it would be a bit less surprising for drive by patchers etc to
    > remove the DESTDIR from POLICY_LOADPATH and add it to the install
    > target, which is the usual way to do things. Up to you/Vadim though.
    
    Signed-off-by: Vadim A. Misbakh-Soloviov <mva@mva.name>
    Acked-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>
---
 tools/flask/policy/Makefile |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/tools/flask/policy/Makefile b/tools/flask/policy/Makefile
index df1e8f3..a1c0f11 100644
--- a/tools/flask/policy/Makefile
+++ b/tools/flask/policy/Makefile
@@ -33,7 +33,7 @@ M4 ?= m4
 OUTPUT_POLICY = 24
 
 POLICY_FILENAME = xenpolicy.$(OUTPUT_POLICY)
-POLICY_LOADPATH = $(DESTDIR)/boot
+POLICY_LOADPATH = /boot
 
 # policy source layout
 POLDIR := policy
@@ -103,8 +103,8 @@ POLICY_SECTIONS += $(USERS) $(CONSTRAINTS) $(ISID_DEFS)
 all: $(POLICY_FILENAME)
 
 install: $(POLICY_FILENAME)
-	$(INSTALL_DIR) $(POLICY_LOADPATH)
-	$(INSTALL_DATA) $^ $(POLICY_LOADPATH)
+	$(INSTALL_DIR) $(DESTDIR)/$(POLICY_LOADPATH)
+	$(INSTALL_DATA) $^ $(DESTDIR)/$(POLICY_LOADPATH)
 
 $(POLICY_FILENAME): policy.conf
 	$(CHECKPOLICY) $(CHECKPOLICY_PARAM) $^ -o $@
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sat Aug 03 04:11:53 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 03 Aug 2013 04:11:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V5TC2-0002dS-LR; Sat, 03 Aug 2013 04:11:50 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V5TC1-0002d7-AR
	for xen-changelog@lists.xensource.com; Sat, 03 Aug 2013 04:11:49 +0000
Received: from [85.158.137.99:2741] by server-4.bemta-3.messagelabs.com id
	8D/83-24959-4038CF15; Sat, 03 Aug 2013 04:11:48 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-217.messagelabs.com!1375503106!14198588!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4077 invoked from network); 3 Aug 2013 04:11:47 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-7.tower-217.messagelabs.com with AES256-SHA encrypted SMTP;
	3 Aug 2013 04:11:47 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V5TBy-0003Am-J1
	for xen-changelog@lists.xensource.com; Sat, 03 Aug 2013 04:11:46 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V5TBy-0007BQ-HJ
	for xen-changelog@lists.xensource.com; Sat, 03 Aug 2013 04:11:46 +0000
Date: Sat, 03 Aug 2013 04:11:46 +0000
Message-Id: <E1V5TBy-0007BQ-HJ@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen: arm: do not pretend to be a
	Cortex-A15 when running 32-bit guests
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit e7cf6219b48eaa38d91fb46513a951158e87c3aa
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Tue Jul 30 09:42:06 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Fri Aug 2 15:49:27 2013 +0100

    xen: arm: do not pretend to be a Cortex-A15 when running 32-bit guests
    
    It is definitely wrong to do this when running on non-Cortex-A15 32-bit
    hardware but even when running on 64-bit hardware it's not really necessary
    and may cause more harm than good if the underlying processor is not all that
    similar to an A15.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Julien Grall <julien.grall@linaro.org>
---
 xen/arch/arm/domain_build.c |    3 ---
 1 files changed, 0 insertions(+), 3 deletions(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 69b4b1d..01492bb 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -599,9 +599,6 @@ int construct_dom0(struct domain *d)
     {
         regs->cpsr = PSR_GUEST32_INIT;
 
-        /* Pretend to be a Cortex A15 */
-        d->arch.vpidr = 0x410fc0f0;
-
         /* FROM LINUX head.S
          *
          * Kernel startup entry point.
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sat Aug 03 04:11:53 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 03 Aug 2013 04:11:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V5TC2-0002dS-LR; Sat, 03 Aug 2013 04:11:50 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V5TC1-0002d7-AR
	for xen-changelog@lists.xensource.com; Sat, 03 Aug 2013 04:11:49 +0000
Received: from [85.158.137.99:2741] by server-4.bemta-3.messagelabs.com id
	8D/83-24959-4038CF15; Sat, 03 Aug 2013 04:11:48 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-217.messagelabs.com!1375503106!14198588!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4077 invoked from network); 3 Aug 2013 04:11:47 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-7.tower-217.messagelabs.com with AES256-SHA encrypted SMTP;
	3 Aug 2013 04:11:47 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V5TBy-0003Am-J1
	for xen-changelog@lists.xensource.com; Sat, 03 Aug 2013 04:11:46 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V5TBy-0007BQ-HJ
	for xen-changelog@lists.xensource.com; Sat, 03 Aug 2013 04:11:46 +0000
Date: Sat, 03 Aug 2013 04:11:46 +0000
Message-Id: <E1V5TBy-0007BQ-HJ@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen: arm: do not pretend to be a
	Cortex-A15 when running 32-bit guests
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit e7cf6219b48eaa38d91fb46513a951158e87c3aa
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Tue Jul 30 09:42:06 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Fri Aug 2 15:49:27 2013 +0100

    xen: arm: do not pretend to be a Cortex-A15 when running 32-bit guests
    
    It is definitely wrong to do this when running on non-Cortex-A15 32-bit
    hardware but even when running on 64-bit hardware it's not really necessary
    and may cause more harm than good if the underlying processor is not all that
    similar to an A15.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Julien Grall <julien.grall@linaro.org>
---
 xen/arch/arm/domain_build.c |    3 ---
 1 files changed, 0 insertions(+), 3 deletions(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 69b4b1d..01492bb 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -599,9 +599,6 @@ int construct_dom0(struct domain *d)
     {
         regs->cpsr = PSR_GUEST32_INIT;
 
-        /* Pretend to be a Cortex A15 */
-        d->arch.vpidr = 0x410fc0f0;
-
         /* FROM LINUX head.S
          *
          * Kernel startup entry point.
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sat Aug 03 04:12:06 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 03 Aug 2013 04:12:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V5TCF-0002fZ-Oi; Sat, 03 Aug 2013 04:12:03 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V5TCC-0002f7-2b
	for xen-changelog@lists.xensource.com; Sat, 03 Aug 2013 04:12:00 +0000
Received: from [193.109.254.147:36836] by server-2.bemta-14.messagelabs.com id
	61/E1-18376-F038CF15; Sat, 03 Aug 2013 04:11:59 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1375503117!2471380!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5831 invoked from network); 3 Aug 2013 04:11:57 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-6.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	3 Aug 2013 04:11:57 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V5TC8-0003Av-PU
	for xen-changelog@lists.xensource.com; Sat, 03 Aug 2013 04:11:56 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V5TC8-0007Bn-Ma
	for xen-changelog@lists.xensource.com; Sat, 03 Aug 2013 04:11:56 +0000
Date: Sat, 03 Aug 2013 04:11:56 +0000
Message-Id: <E1V5TC8-0007Bn-Ma@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen: arm: handle traps of conditional
	instructions.
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 173b9f1958fe01a3df61cfee009831d0c21217c5
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Mon Jul 29 17:08:57 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Fri Aug 2 16:28:15 2013 +0100

    xen: arm: handle traps of conditional instructions.
    
    This means handling the HSR.ccvalid field as well as correctly processing the
    Thumb If-Then state block in the CPSR correctly which is rather tricky. KVM
    provided a useful reference for all this.
    
    I suspect we aren't actually hitting these paths very often since the sorts of
    traps we take will not often be conditional so my limited testing may not
    actually be exercising these paths very much.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Julien Grall <julien.linaro.org>
---
 xen/arch/arm/traps.c            |  160 +++++++++++++++++++++++++++++++++------
 xen/include/asm-arm/processor.h |    9 ++
 2 files changed, 145 insertions(+), 24 deletions(-)

diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
index 1b9209d..6b5fa51 100644
--- a/xen/arch/arm/traps.c
+++ b/xen/arch/arm/traps.c
@@ -1007,6 +1007,116 @@ void do_multicall_call(struct multicall_entry *multi)
                         multi->args[4]);
 }
 
+/*
+ * stolen from arch/arm/kernel/opcodes.c
+ *
+ * condition code lookup table
+ * index into the table is test code: EQ, NE, ... LT, GT, AL, NV
+ *
+ * bit position in short is condition code: NZCV
+ */
+static const unsigned short cc_map[16] = {
+        0xF0F0,                 /* EQ == Z set            */
+        0x0F0F,                 /* NE                     */
+        0xCCCC,                 /* CS == C set            */
+        0x3333,                 /* CC                     */
+        0xFF00,                 /* MI == N set            */
+        0x00FF,                 /* PL                     */
+        0xAAAA,                 /* VS == V set            */
+        0x5555,                 /* VC                     */
+        0x0C0C,                 /* HI == C set && Z clear */
+        0xF3F3,                 /* LS == C clear || Z set */
+        0xAA55,                 /* GE == (N==V)           */
+        0x55AA,                 /* LT == (N!=V)           */
+        0x0A05,                 /* GT == (!Z && (N==V))   */
+        0xF5FA,                 /* LE == (Z || (N!=V))    */
+        0xFFFF,                 /* AL always              */
+        0                       /* NV                     */
+};
+
+static int check_conditional_instr(struct cpu_user_regs *regs, union hsr hsr)
+{
+    unsigned long cpsr, cpsr_cond;
+    int cond;
+
+    /* Unconditional Exception classes */
+    if ( hsr.ec >= 0x10 )
+        return 1;
+
+    /* Check for valid condition in hsr */
+    cond = hsr.cond.ccvalid ? hsr.cond.cc : -1;
+
+    /* Unconditional instruction */
+    if ( cond == 0xe )
+        return 1;
+
+    cpsr = regs->cpsr;
+
+    /* If cc is not valid then we need to examine the IT state */
+    if ( cond < 0 )
+    {
+        unsigned long it;
+
+        BUG_ON( !is_pv32_domain(current->domain) || !(cpsr&PSR_THUMB) );
+
+        it = ( (cpsr >> (10-2)) & 0xfc) | ((cpsr >> 25) & 0x3 );
+
+        /* it == 0 => unconditional. */
+        if ( it == 0 )
+            return 1;
+
+        /* The cond for this instruction works out as the top 4 bits. */
+        cond =  ( it >> 4 );
+    }
+
+    cpsr_cond = cpsr >> 28;
+
+    if ( !((cc_map[cond] >> cpsr_cond) & 1) )
+        return 0;
+
+    return 1;
+}
+
+static void advance_pc(struct cpu_user_regs *regs, union hsr hsr)
+{
+    unsigned long itbits, cond, cpsr = regs->cpsr;
+
+    /* PSR_IT_MASK bits can only be set for 32-bit processors in Thumb mode. */
+    BUG_ON( (!is_pv32_domain(current->domain)||!(cpsr&PSR_THUMB))
+            && (cpsr&PSR_IT_MASK) );
+
+    if ( is_pv32_domain(current->domain) && (cpsr&PSR_IT_MASK) )
+    {
+        /* The ITSTATE[7:0] block is contained in CPSR[15:10],CPSR[26:25]
+         *
+         * ITSTATE[7:5] are the condition code
+         * ITSTATE[4:0] are the IT bits
+         *
+         * If the condition is non-zero then the IT state machine is
+         * advanced by shifting the IT bits left.
+         *
+         * See A2-51 and B1-1148 of DDI 0406C.b.
+         */
+        cond = (cpsr & 0xe000) >> 13;
+        itbits = (cpsr & 0x1c00) >> (10 - 2);
+        itbits |= (cpsr & (0x3 << 25)) >> 25;
+
+        if ( (itbits & 0x7) == 0 )
+            itbits = cond = 0;
+        else
+            itbits = (itbits << 1) & 0x1f;
+
+        cpsr &= ~PSR_IT_MASK;
+        cpsr |= cond << 13;
+        cpsr |= (itbits & 0x1c) << (10 - 2);
+        cpsr |= (itbits & 0x3) << 25;
+
+        regs->cpsr = cpsr;
+    }
+
+    regs->pc += hsr.len ? 4 : 2;
+}
+
 static void do_cp15_32(struct cpu_user_regs *regs,
                        union hsr hsr)
 {
@@ -1014,14 +1124,10 @@ static void do_cp15_32(struct cpu_user_regs *regs,
     uint32_t *r = (uint32_t*)select_user_reg(regs, cp32.reg);
     struct vcpu *v = current;
 
-    if ( !cp32.ccvalid ) {
-        dprintk(XENLOG_ERR, "cp_15(32): need to handle invalid condition codes\n");
-        domain_crash_synchronous();
-    }
-    if ( cp32.cc != 0xe ) {
-        dprintk(XENLOG_ERR, "cp_15(32): need to handle condition codes %x\n",
-                cp32.cc);
-        domain_crash_synchronous();
+    if ( !check_conditional_instr(regs, hsr) )
+    {
+        advance_pc(regs, hsr);
+        return;
     }
 
     switch ( hsr.bits & HSR_CP32_REGS_MASK )
@@ -1076,8 +1182,7 @@ static void do_cp15_32(struct cpu_user_regs *regs,
                cp32.op1, cp32.reg, cp32.crn, cp32.crm, cp32.op2, regs->pc);
         panic("unhandled 32-bit CP15 access %#x\n", hsr.bits & HSR_CP32_REGS_MASK);
     }
-    regs->pc += cp32.len ? 4 : 2;
-
+    advance_pc(regs, hsr);
 }
 
 static void do_cp15_64(struct cpu_user_regs *regs,
@@ -1085,14 +1190,10 @@ static void do_cp15_64(struct cpu_user_regs *regs,
 {
     struct hsr_cp64 cp64 = hsr.cp64;
 
-    if ( !cp64.ccvalid ) {
-        dprintk(XENLOG_ERR, "cp_15(64): need to handle invalid condition codes\n");
-        domain_crash_synchronous();
-    }
-    if ( cp64.cc != 0xe ) {
-        dprintk(XENLOG_ERR, "cp_15(64): need to handle condition codes %x\n",
-                cp64.cc);
-        domain_crash_synchronous();
+    if ( !check_conditional_instr(regs, hsr) )
+    {
+        advance_pc(regs, hsr);
+        return;
     }
 
     switch ( hsr.bits & HSR_CP64_REGS_MASK )
@@ -1111,8 +1212,7 @@ static void do_cp15_64(struct cpu_user_regs *regs,
                cp64.op1, cp64.reg1, cp64.reg2, cp64.crm, regs->pc);
         panic("unhandled 64-bit CP15 access %#x\n", hsr.bits & HSR_CP64_REGS_MASK);
     }
-    regs->pc += cp64.len ? 4 : 2;
-
+    advance_pc(regs, hsr);
 }
 
 #ifdef CONFIG_ARM_64
@@ -1205,12 +1305,19 @@ done:
 }
 
 static void do_trap_data_abort_guest(struct cpu_user_regs *regs,
-                                     struct hsr_dabt dabt)
+                                     union hsr hsr)
 {
+    struct hsr_dabt dabt = hsr.dabt;
     const char *msg;
     int rc, level = -1;
     mmio_info_t info;
 
+    if ( !check_conditional_instr(regs, hsr) )
+    {
+        advance_pc(regs, hsr);
+        return;
+    }
+
     info.dabt = dabt;
 #ifdef CONFIG_ARM_32
     info.gva = READ_CP32(HDFAR);
@@ -1231,7 +1338,7 @@ static void do_trap_data_abort_guest(struct cpu_user_regs *regs,
 
     if (handle_mmio(&info))
     {
-        regs->pc += dabt.len ? 4 : 2;
+        advance_pc(regs, hsr);
         return;
     }
 
@@ -1268,6 +1375,11 @@ asmlinkage void do_trap_hypervisor(struct cpu_user_regs *regs)
 
     switch (hsr.ec) {
     case HSR_EC_WFI_WFE:
+        if ( !check_conditional_instr(regs, hsr) )
+        {
+            advance_pc(regs, hsr);
+            return;
+        }
         /* at the moment we only trap WFI */
         vcpu_block();
         /* The ARM spec declares that even if local irqs are masked in
@@ -1278,7 +1390,7 @@ asmlinkage void do_trap_hypervisor(struct cpu_user_regs *regs)
          */
         if ( local_events_need_delivery_nomask() )
             vcpu_unblock(current);
-        regs->pc += hsr.len ? 4 : 2;
+        advance_pc(regs, hsr);
         break;
     case HSR_EC_CP15_32:
         if ( ! is_pv32_domain(current->domain) )
@@ -1323,7 +1435,7 @@ asmlinkage void do_trap_hypervisor(struct cpu_user_regs *regs)
 #endif
 
     case HSR_EC_DATA_ABORT_GUEST:
-        do_trap_data_abort_guest(regs, hsr.dabt);
+        do_trap_data_abort_guest(regs, hsr);
         break;
     default:
  bad_trap:
diff --git a/xen/include/asm-arm/processor.h b/xen/include/asm-arm/processor.h
index 06b0b25..1a4f8d1 100644
--- a/xen/include/asm-arm/processor.h
+++ b/xen/include/asm-arm/processor.h
@@ -237,6 +237,15 @@ union hsr {
         unsigned long ec:6;    /* Exception Class */
     };
 
+    /* Common to all conditional exception classes (0x0N, except 0x00). */
+    struct hsr_cond {
+        unsigned long iss:20;  /* Instruction Specific Syndrome */
+        unsigned long cc:4;    /* Condition Code */
+        unsigned long ccvalid:1;/* CC Valid */
+        unsigned long len:1;   /* Instruction length */
+        unsigned long ec:6;    /* Exception Class */
+    } cond;
+
     /* reg, reg0, reg1 are 4 bits on AArch32, the fifth bit is sbzp. */
     struct hsr_cp32 {
         unsigned long read:1;  /* Direction */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sat Aug 03 04:12:06 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 03 Aug 2013 04:12:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V5TCF-0002fZ-Oi; Sat, 03 Aug 2013 04:12:03 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V5TCC-0002f7-2b
	for xen-changelog@lists.xensource.com; Sat, 03 Aug 2013 04:12:00 +0000
Received: from [193.109.254.147:36836] by server-2.bemta-14.messagelabs.com id
	61/E1-18376-F038CF15; Sat, 03 Aug 2013 04:11:59 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1375503117!2471380!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5831 invoked from network); 3 Aug 2013 04:11:57 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-6.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	3 Aug 2013 04:11:57 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V5TC8-0003Av-PU
	for xen-changelog@lists.xensource.com; Sat, 03 Aug 2013 04:11:56 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V5TC8-0007Bn-Ma
	for xen-changelog@lists.xensource.com; Sat, 03 Aug 2013 04:11:56 +0000
Date: Sat, 03 Aug 2013 04:11:56 +0000
Message-Id: <E1V5TC8-0007Bn-Ma@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen: arm: handle traps of conditional
	instructions.
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 173b9f1958fe01a3df61cfee009831d0c21217c5
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Mon Jul 29 17:08:57 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Fri Aug 2 16:28:15 2013 +0100

    xen: arm: handle traps of conditional instructions.
    
    This means handling the HSR.ccvalid field as well as correctly processing the
    Thumb If-Then state block in the CPSR correctly which is rather tricky. KVM
    provided a useful reference for all this.
    
    I suspect we aren't actually hitting these paths very often since the sorts of
    traps we take will not often be conditional so my limited testing may not
    actually be exercising these paths very much.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Julien Grall <julien.linaro.org>
---
 xen/arch/arm/traps.c            |  160 +++++++++++++++++++++++++++++++++------
 xen/include/asm-arm/processor.h |    9 ++
 2 files changed, 145 insertions(+), 24 deletions(-)

diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
index 1b9209d..6b5fa51 100644
--- a/xen/arch/arm/traps.c
+++ b/xen/arch/arm/traps.c
@@ -1007,6 +1007,116 @@ void do_multicall_call(struct multicall_entry *multi)
                         multi->args[4]);
 }
 
+/*
+ * stolen from arch/arm/kernel/opcodes.c
+ *
+ * condition code lookup table
+ * index into the table is test code: EQ, NE, ... LT, GT, AL, NV
+ *
+ * bit position in short is condition code: NZCV
+ */
+static const unsigned short cc_map[16] = {
+        0xF0F0,                 /* EQ == Z set            */
+        0x0F0F,                 /* NE                     */
+        0xCCCC,                 /* CS == C set            */
+        0x3333,                 /* CC                     */
+        0xFF00,                 /* MI == N set            */
+        0x00FF,                 /* PL                     */
+        0xAAAA,                 /* VS == V set            */
+        0x5555,                 /* VC                     */
+        0x0C0C,                 /* HI == C set && Z clear */
+        0xF3F3,                 /* LS == C clear || Z set */
+        0xAA55,                 /* GE == (N==V)           */
+        0x55AA,                 /* LT == (N!=V)           */
+        0x0A05,                 /* GT == (!Z && (N==V))   */
+        0xF5FA,                 /* LE == (Z || (N!=V))    */
+        0xFFFF,                 /* AL always              */
+        0                       /* NV                     */
+};
+
+static int check_conditional_instr(struct cpu_user_regs *regs, union hsr hsr)
+{
+    unsigned long cpsr, cpsr_cond;
+    int cond;
+
+    /* Unconditional Exception classes */
+    if ( hsr.ec >= 0x10 )
+        return 1;
+
+    /* Check for valid condition in hsr */
+    cond = hsr.cond.ccvalid ? hsr.cond.cc : -1;
+
+    /* Unconditional instruction */
+    if ( cond == 0xe )
+        return 1;
+
+    cpsr = regs->cpsr;
+
+    /* If cc is not valid then we need to examine the IT state */
+    if ( cond < 0 )
+    {
+        unsigned long it;
+
+        BUG_ON( !is_pv32_domain(current->domain) || !(cpsr&PSR_THUMB) );
+
+        it = ( (cpsr >> (10-2)) & 0xfc) | ((cpsr >> 25) & 0x3 );
+
+        /* it == 0 => unconditional. */
+        if ( it == 0 )
+            return 1;
+
+        /* The cond for this instruction works out as the top 4 bits. */
+        cond =  ( it >> 4 );
+    }
+
+    cpsr_cond = cpsr >> 28;
+
+    if ( !((cc_map[cond] >> cpsr_cond) & 1) )
+        return 0;
+
+    return 1;
+}
+
+static void advance_pc(struct cpu_user_regs *regs, union hsr hsr)
+{
+    unsigned long itbits, cond, cpsr = regs->cpsr;
+
+    /* PSR_IT_MASK bits can only be set for 32-bit processors in Thumb mode. */
+    BUG_ON( (!is_pv32_domain(current->domain)||!(cpsr&PSR_THUMB))
+            && (cpsr&PSR_IT_MASK) );
+
+    if ( is_pv32_domain(current->domain) && (cpsr&PSR_IT_MASK) )
+    {
+        /* The ITSTATE[7:0] block is contained in CPSR[15:10],CPSR[26:25]
+         *
+         * ITSTATE[7:5] are the condition code
+         * ITSTATE[4:0] are the IT bits
+         *
+         * If the condition is non-zero then the IT state machine is
+         * advanced by shifting the IT bits left.
+         *
+         * See A2-51 and B1-1148 of DDI 0406C.b.
+         */
+        cond = (cpsr & 0xe000) >> 13;
+        itbits = (cpsr & 0x1c00) >> (10 - 2);
+        itbits |= (cpsr & (0x3 << 25)) >> 25;
+
+        if ( (itbits & 0x7) == 0 )
+            itbits = cond = 0;
+        else
+            itbits = (itbits << 1) & 0x1f;
+
+        cpsr &= ~PSR_IT_MASK;
+        cpsr |= cond << 13;
+        cpsr |= (itbits & 0x1c) << (10 - 2);
+        cpsr |= (itbits & 0x3) << 25;
+
+        regs->cpsr = cpsr;
+    }
+
+    regs->pc += hsr.len ? 4 : 2;
+}
+
 static void do_cp15_32(struct cpu_user_regs *regs,
                        union hsr hsr)
 {
@@ -1014,14 +1124,10 @@ static void do_cp15_32(struct cpu_user_regs *regs,
     uint32_t *r = (uint32_t*)select_user_reg(regs, cp32.reg);
     struct vcpu *v = current;
 
-    if ( !cp32.ccvalid ) {
-        dprintk(XENLOG_ERR, "cp_15(32): need to handle invalid condition codes\n");
-        domain_crash_synchronous();
-    }
-    if ( cp32.cc != 0xe ) {
-        dprintk(XENLOG_ERR, "cp_15(32): need to handle condition codes %x\n",
-                cp32.cc);
-        domain_crash_synchronous();
+    if ( !check_conditional_instr(regs, hsr) )
+    {
+        advance_pc(regs, hsr);
+        return;
     }
 
     switch ( hsr.bits & HSR_CP32_REGS_MASK )
@@ -1076,8 +1182,7 @@ static void do_cp15_32(struct cpu_user_regs *regs,
                cp32.op1, cp32.reg, cp32.crn, cp32.crm, cp32.op2, regs->pc);
         panic("unhandled 32-bit CP15 access %#x\n", hsr.bits & HSR_CP32_REGS_MASK);
     }
-    regs->pc += cp32.len ? 4 : 2;
-
+    advance_pc(regs, hsr);
 }
 
 static void do_cp15_64(struct cpu_user_regs *regs,
@@ -1085,14 +1190,10 @@ static void do_cp15_64(struct cpu_user_regs *regs,
 {
     struct hsr_cp64 cp64 = hsr.cp64;
 
-    if ( !cp64.ccvalid ) {
-        dprintk(XENLOG_ERR, "cp_15(64): need to handle invalid condition codes\n");
-        domain_crash_synchronous();
-    }
-    if ( cp64.cc != 0xe ) {
-        dprintk(XENLOG_ERR, "cp_15(64): need to handle condition codes %x\n",
-                cp64.cc);
-        domain_crash_synchronous();
+    if ( !check_conditional_instr(regs, hsr) )
+    {
+        advance_pc(regs, hsr);
+        return;
     }
 
     switch ( hsr.bits & HSR_CP64_REGS_MASK )
@@ -1111,8 +1212,7 @@ static void do_cp15_64(struct cpu_user_regs *regs,
                cp64.op1, cp64.reg1, cp64.reg2, cp64.crm, regs->pc);
         panic("unhandled 64-bit CP15 access %#x\n", hsr.bits & HSR_CP64_REGS_MASK);
     }
-    regs->pc += cp64.len ? 4 : 2;
-
+    advance_pc(regs, hsr);
 }
 
 #ifdef CONFIG_ARM_64
@@ -1205,12 +1305,19 @@ done:
 }
 
 static void do_trap_data_abort_guest(struct cpu_user_regs *regs,
-                                     struct hsr_dabt dabt)
+                                     union hsr hsr)
 {
+    struct hsr_dabt dabt = hsr.dabt;
     const char *msg;
     int rc, level = -1;
     mmio_info_t info;
 
+    if ( !check_conditional_instr(regs, hsr) )
+    {
+        advance_pc(regs, hsr);
+        return;
+    }
+
     info.dabt = dabt;
 #ifdef CONFIG_ARM_32
     info.gva = READ_CP32(HDFAR);
@@ -1231,7 +1338,7 @@ static void do_trap_data_abort_guest(struct cpu_user_regs *regs,
 
     if (handle_mmio(&info))
     {
-        regs->pc += dabt.len ? 4 : 2;
+        advance_pc(regs, hsr);
         return;
     }
 
@@ -1268,6 +1375,11 @@ asmlinkage void do_trap_hypervisor(struct cpu_user_regs *regs)
 
     switch (hsr.ec) {
     case HSR_EC_WFI_WFE:
+        if ( !check_conditional_instr(regs, hsr) )
+        {
+            advance_pc(regs, hsr);
+            return;
+        }
         /* at the moment we only trap WFI */
         vcpu_block();
         /* The ARM spec declares that even if local irqs are masked in
@@ -1278,7 +1390,7 @@ asmlinkage void do_trap_hypervisor(struct cpu_user_regs *regs)
          */
         if ( local_events_need_delivery_nomask() )
             vcpu_unblock(current);
-        regs->pc += hsr.len ? 4 : 2;
+        advance_pc(regs, hsr);
         break;
     case HSR_EC_CP15_32:
         if ( ! is_pv32_domain(current->domain) )
@@ -1323,7 +1435,7 @@ asmlinkage void do_trap_hypervisor(struct cpu_user_regs *regs)
 #endif
 
     case HSR_EC_DATA_ABORT_GUEST:
-        do_trap_data_abort_guest(regs, hsr.dabt);
+        do_trap_data_abort_guest(regs, hsr);
         break;
     default:
  bad_trap:
diff --git a/xen/include/asm-arm/processor.h b/xen/include/asm-arm/processor.h
index 06b0b25..1a4f8d1 100644
--- a/xen/include/asm-arm/processor.h
+++ b/xen/include/asm-arm/processor.h
@@ -237,6 +237,15 @@ union hsr {
         unsigned long ec:6;    /* Exception Class */
     };
 
+    /* Common to all conditional exception classes (0x0N, except 0x00). */
+    struct hsr_cond {
+        unsigned long iss:20;  /* Instruction Specific Syndrome */
+        unsigned long cc:4;    /* Condition Code */
+        unsigned long ccvalid:1;/* CC Valid */
+        unsigned long len:1;   /* Instruction length */
+        unsigned long ec:6;    /* Exception Class */
+    } cond;
+
     /* reg, reg0, reg1 are 4 bits on AArch32, the fifth bit is sbzp. */
     struct hsr_cp32 {
         unsigned long read:1;  /* Direction */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sat Aug 03 04:12:14 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 03 Aug 2013 04:12:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V5TCM-0002h4-S1; Sat, 03 Aug 2013 04:12:10 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V5TCL-0002gk-OO
	for xen-changelog@lists.xensource.com; Sat, 03 Aug 2013 04:12:09 +0000
Received: from [85.158.137.99:54383] by server-10.bemta-3.messagelabs.com id
	77/CE-02530-8138CF15; Sat, 03 Aug 2013 04:12:08 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-217.messagelabs.com!1375503127!18110427!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2746 invoked from network); 3 Aug 2013 04:12:08 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-11.tower-217.messagelabs.com with AES256-SHA encrypted SMTP;
	3 Aug 2013 04:12:08 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V5TCJ-0003BU-0q
	for xen-changelog@lists.xensource.com; Sat, 03 Aug 2013 04:12:07 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V5TCI-0007CN-Ua
	for xen-changelog@lists.xensource.com; Sat, 03 Aug 2013 04:12:06 +0000
Date: Sat, 03 Aug 2013 04:12:06 +0000
Message-Id: <E1V5TCI-0007CN-Ua@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] libxl: Fix function
	libxl__domain_resume_device_model
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 666893cd73da7276d0e5e585642732bd336a0881
Author:     rwxybh <rwxybh@126.com>
AuthorDate: Fri Aug 2 15:33:19 2013 +0800
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Fri Aug 2 16:29:08 2013 +0100

    libxl: Fix function libxl__domain_resume_device_model
    
    Add a break line in function libxl__domain_resume_device_model
    
    Signed-off-by: Bingheng Yan <rwxybh@126.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/libxl/libxl_dom.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/tools/libxl/libxl_dom.c b/tools/libxl/libxl_dom.c
index b38d0a7..6e2252a 100644
--- a/tools/libxl/libxl_dom.c
+++ b/tools/libxl/libxl_dom.c
@@ -985,6 +985,7 @@ int libxl__domain_resume_device_model(libxl__gc *gc, uint32_t domid)
     case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN:
         if (libxl__qmp_resume(gc, domid))
             return ERROR_FAIL;
+        break;
     default:
         return ERROR_INVAL;
     }
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sat Aug 03 04:12:14 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 03 Aug 2013 04:12:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V5TCM-0002h4-S1; Sat, 03 Aug 2013 04:12:10 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V5TCL-0002gk-OO
	for xen-changelog@lists.xensource.com; Sat, 03 Aug 2013 04:12:09 +0000
Received: from [85.158.137.99:54383] by server-10.bemta-3.messagelabs.com id
	77/CE-02530-8138CF15; Sat, 03 Aug 2013 04:12:08 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-217.messagelabs.com!1375503127!18110427!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2746 invoked from network); 3 Aug 2013 04:12:08 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-11.tower-217.messagelabs.com with AES256-SHA encrypted SMTP;
	3 Aug 2013 04:12:08 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V5TCJ-0003BU-0q
	for xen-changelog@lists.xensource.com; Sat, 03 Aug 2013 04:12:07 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V5TCI-0007CN-Ua
	for xen-changelog@lists.xensource.com; Sat, 03 Aug 2013 04:12:06 +0000
Date: Sat, 03 Aug 2013 04:12:06 +0000
Message-Id: <E1V5TCI-0007CN-Ua@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] libxl: Fix function
	libxl__domain_resume_device_model
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 666893cd73da7276d0e5e585642732bd336a0881
Author:     rwxybh <rwxybh@126.com>
AuthorDate: Fri Aug 2 15:33:19 2013 +0800
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Fri Aug 2 16:29:08 2013 +0100

    libxl: Fix function libxl__domain_resume_device_model
    
    Add a break line in function libxl__domain_resume_device_model
    
    Signed-off-by: Bingheng Yan <rwxybh@126.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/libxl/libxl_dom.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/tools/libxl/libxl_dom.c b/tools/libxl/libxl_dom.c
index b38d0a7..6e2252a 100644
--- a/tools/libxl/libxl_dom.c
+++ b/tools/libxl/libxl_dom.c
@@ -985,6 +985,7 @@ int libxl__domain_resume_device_model(libxl__gc *gc, uint32_t domid)
     case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN:
         if (libxl__qmp_resume(gc, domid))
             return ERROR_FAIL;
+        break;
     default:
         return ERROR_INVAL;
     }
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sat Aug 03 04:12:22 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 03 Aug 2013 04:12:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V5TCX-0002j3-0y; Sat, 03 Aug 2013 04:12:21 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V5TCV-0002ii-Pn
	for xen-changelog@lists.xensource.com; Sat, 03 Aug 2013 04:12:19 +0000
Received: from [85.158.143.35:57141] by server-2.bemta-4.messagelabs.com id
	E9/84-09492-3238CF15; Sat, 03 Aug 2013 04:12:19 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1375503137!2540016!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=SUBJECT_RANDOMQ
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15670 invoked from network); 3 Aug 2013 04:12:18 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-5.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	3 Aug 2013 04:12:18 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V5TCT-0003Bd-80
	for xen-changelog@lists.xensource.com; Sat, 03 Aug 2013 04:12:17 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V5TCT-0007Cn-5l
	for xen-changelog@lists.xensource.com; Sat, 03 Aug 2013 04:12:17 +0000
Date: Sat, 03 Aug 2013 04:12:17 +0000
Message-Id: <E1V5TCT-0007Cn-5l@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] docs: Correct docs for
	extra_guest_irqs command line option
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit d7dacecaa3fc843758e8c81a60c006d949094b78
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Wed Jul 31 14:48:11 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Fri Aug 2 16:30:48 2013 +0100

    docs: Correct docs for extra_guest_irqs command line option
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Ian Campbell <Ian.Campbell@citrix.com>
---
 docs/misc/xen-command-line.markdown |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/docs/misc/xen-command-line.markdown b/docs/misc/xen-command-line.markdown
index 708ffc2..202d800 100644
--- a/docs/misc/xen-command-line.markdown
+++ b/docs/misc/xen-command-line.markdown
@@ -485,9 +485,15 @@ disable it (edid=no). This option should not normally be required
 except for debugging purposes.
 
 ### extra\_guest\_irqs
-> `= <number>`
+> `= [<domU number>][,<dom0 number>]`
 
-Increase the number of PIRQs available for the guest. The default is 32. 
+> Default: `32,256`
+
+Change the number of PIRQs available for guests.  The optional first number is
+common for all domUs, while the optional second number (preceded by a comma)
+is for dom0.  Changing the setting for domU has no impact on dom0 and vice
+versa.  For example to change dom0 without changing domU, use
+`extra_guest_irqs=,512`
 
 ### flask\_enabled
 > `= <integer>`
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sat Aug 03 04:12:22 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 03 Aug 2013 04:12:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V5TCX-0002j3-0y; Sat, 03 Aug 2013 04:12:21 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V5TCV-0002ii-Pn
	for xen-changelog@lists.xensource.com; Sat, 03 Aug 2013 04:12:19 +0000
Received: from [85.158.143.35:57141] by server-2.bemta-4.messagelabs.com id
	E9/84-09492-3238CF15; Sat, 03 Aug 2013 04:12:19 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1375503137!2540016!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=SUBJECT_RANDOMQ
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15670 invoked from network); 3 Aug 2013 04:12:18 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-5.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	3 Aug 2013 04:12:18 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V5TCT-0003Bd-80
	for xen-changelog@lists.xensource.com; Sat, 03 Aug 2013 04:12:17 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V5TCT-0007Cn-5l
	for xen-changelog@lists.xensource.com; Sat, 03 Aug 2013 04:12:17 +0000
Date: Sat, 03 Aug 2013 04:12:17 +0000
Message-Id: <E1V5TCT-0007Cn-5l@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] docs: Correct docs for
	extra_guest_irqs command line option
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit d7dacecaa3fc843758e8c81a60c006d949094b78
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Wed Jul 31 14:48:11 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Fri Aug 2 16:30:48 2013 +0100

    docs: Correct docs for extra_guest_irqs command line option
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Ian Campbell <Ian.Campbell@citrix.com>
---
 docs/misc/xen-command-line.markdown |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/docs/misc/xen-command-line.markdown b/docs/misc/xen-command-line.markdown
index 708ffc2..202d800 100644
--- a/docs/misc/xen-command-line.markdown
+++ b/docs/misc/xen-command-line.markdown
@@ -485,9 +485,15 @@ disable it (edid=no). This option should not normally be required
 except for debugging purposes.
 
 ### extra\_guest\_irqs
-> `= <number>`
+> `= [<domU number>][,<dom0 number>]`
 
-Increase the number of PIRQs available for the guest. The default is 32. 
+> Default: `32,256`
+
+Change the number of PIRQs available for guests.  The optional first number is
+common for all domUs, while the optional second number (preceded by a comma)
+is for dom0.  Changing the setting for domU has no impact on dom0 and vice
+versa.  For example to change dom0 without changing domU, use
+`extra_guest_irqs=,512`
 
 ### flask\_enabled
 > `= <integer>`
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sat Aug 03 04:12:32 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 03 Aug 2013 04:12:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V5TCh-0002lK-3t; Sat, 03 Aug 2013 04:12:31 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V5TCf-0002ku-QS
	for xen-changelog@lists.xensource.com; Sat, 03 Aug 2013 04:12:30 +0000
Received: from [85.158.143.99:15600] by server-3.bemta-4.messagelabs.com id
	F1/68-29480-D238CF15; Sat, 03 Aug 2013 04:12:29 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-216.messagelabs.com!1375503147!22822132!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7038 invoked from network); 3 Aug 2013 04:12:28 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-6.tower-216.messagelabs.com with AES256-SHA encrypted SMTP;
	3 Aug 2013 04:12:28 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V5TCd-0003Bj-EO
	for xen-changelog@lists.xensource.com; Sat, 03 Aug 2013 04:12:27 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V5TCd-0007Dt-DD
	for xen-changelog@lists.xensource.com; Sat, 03 Aug 2013 04:12:27 +0000
Date: Sat, 03 Aug 2013 04:12:27 +0000
Message-Id: <E1V5TCd-0007Dt-DD@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] scmversion: 'Improve' svn interaction.
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 8f55cb0e360f977dc790adc393a6fd32b9933351
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Fri Aug 2 16:52:55 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Fri Aug 2 17:09:26 2013 +0100

    scmversion: 'Improve' svn interaction.
    
    Xen has never been in an svn tree, and the current code will unconditionally
    create a .svn directory when run from a tarball.
    
    Therefore, simply discard the svn support.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
---
 xen/tools/scmversion |   11 +----------
 1 files changed, 1 insertions(+), 10 deletions(-)

diff --git a/xen/tools/scmversion b/xen/tools/scmversion
index b0c3b95..b6ce049 100755
--- a/xen/tools/scmversion
+++ b/xen/tools/scmversion
@@ -1,7 +1,7 @@
 #!/bin/sh
 #
 # This scripts adds local version information from the version
-# control systems git, mercurial (hg) and subversion (svn).
+# control systems git and mercurial (hg).
 #
 # If something goes wrong, send a mail the kernel build mailinglist
 # (see MAINTAINERS) and CC Nico Schottelius
@@ -75,15 +75,6 @@ scm_version()
 		# All done with mercurial
 		return
 	fi
-
-	# Check for svn and a svn repo.
-	if rev=`LANG= LC_ALL= LC_MESSAGES=C svn info 2>/dev/null | grep '^Last Changed Rev'`; then
-		rev=`echo $rev | awk '{print $NF}'`
-		printf -- 'svn:%s' "$rev"
-
-		# All done with svn
-		return
-	fi
 }
 
 cd $srctree
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Sat Aug 03 04:12:32 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 03 Aug 2013 04:12:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V5TCh-0002lK-3t; Sat, 03 Aug 2013 04:12:31 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V5TCf-0002ku-QS
	for xen-changelog@lists.xensource.com; Sat, 03 Aug 2013 04:12:30 +0000
Received: from [85.158.143.99:15600] by server-3.bemta-4.messagelabs.com id
	F1/68-29480-D238CF15; Sat, 03 Aug 2013 04:12:29 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-216.messagelabs.com!1375503147!22822132!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7038 invoked from network); 3 Aug 2013 04:12:28 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-6.tower-216.messagelabs.com with AES256-SHA encrypted SMTP;
	3 Aug 2013 04:12:28 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V5TCd-0003Bj-EO
	for xen-changelog@lists.xensource.com; Sat, 03 Aug 2013 04:12:27 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V5TCd-0007Dt-DD
	for xen-changelog@lists.xensource.com; Sat, 03 Aug 2013 04:12:27 +0000
Date: Sat, 03 Aug 2013 04:12:27 +0000
Message-Id: <E1V5TCd-0007Dt-DD@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] scmversion: 'Improve' svn interaction.
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 8f55cb0e360f977dc790adc393a6fd32b9933351
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Fri Aug 2 16:52:55 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Fri Aug 2 17:09:26 2013 +0100

    scmversion: 'Improve' svn interaction.
    
    Xen has never been in an svn tree, and the current code will unconditionally
    create a .svn directory when run from a tarball.
    
    Therefore, simply discard the svn support.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
---
 xen/tools/scmversion |   11 +----------
 1 files changed, 1 insertions(+), 10 deletions(-)

diff --git a/xen/tools/scmversion b/xen/tools/scmversion
index b0c3b95..b6ce049 100755
--- a/xen/tools/scmversion
+++ b/xen/tools/scmversion
@@ -1,7 +1,7 @@
 #!/bin/sh
 #
 # This scripts adds local version information from the version
-# control systems git, mercurial (hg) and subversion (svn).
+# control systems git and mercurial (hg).
 #
 # If something goes wrong, send a mail the kernel build mailinglist
 # (see MAINTAINERS) and CC Nico Schottelius
@@ -75,15 +75,6 @@ scm_version()
 		# All done with mercurial
 		return
 	fi
-
-	# Check for svn and a svn repo.
-	if rev=`LANG= LC_ALL= LC_MESSAGES=C svn info 2>/dev/null | grep '^Last Changed Rev'`; then
-		rev=`echo $rev | awk '{print $NF}'`
-		printf -- 'svn:%s' "$rev"
-
-		# All done with svn
-		return
-	fi
 }
 
 cd $srctree
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Mon Aug 05 15:55:18 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Aug 2013 15:55:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V6N7p-0001RY-OJ; Mon, 05 Aug 2013 15:55:13 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6N7i-0001RH-JH
	for xen-changelog@lists.xensource.com; Mon, 05 Aug 2013 15:55:12 +0000
Received: from [85.158.136.67:47153] by server-2.bemta-5.messagelabs.com id
	1A/1A-23285-9DACFF15; Mon, 05 Aug 2013 15:55:05 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-207.messagelabs.com!1375718103!27009598!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12018 invoked from network); 5 Aug 2013 15:55:04 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-7.tower-207.messagelabs.com with AES256-SHA encrypted SMTP;
	5 Aug 2013 15:55:04 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6N7f-0007q6-8n
	for xen-changelog@lists.xensource.com; Mon, 05 Aug 2013 15:55:03 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6N7e-0003JD-TT
	for xen-changelog@lists.xensource.com; Mon, 05 Aug 2013 15:55:02 +0000
Date: Mon, 05 Aug 2013 15:55:02 +0000
Message-Id: <E1V6N7e-0003JD-TT@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [qemu-xen-unstable] passthrough: Correctly expose
	PCH ISA bridge for IGD passthrough
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 73c4ad5a3d065267b878c8ae31ff0b4833f093e4
Author:     G.R <firemeteor.guo@gmail.com>
AuthorDate: Thu Jul 25 08:11:55 2013 +0000
Commit:     Ian Jackson <Ian.Jackson@eu.citrix.com>
CommitDate: Mon Aug 5 16:50:12 2013 +0100

    passthrough: Correctly expose PCH ISA bridge for IGD passthrough
    
    The i915 driver probes chip version through PCH ISA bridge device / vendor ID.
    Previously, the PCH ISA bridge is exposed as PCI-PCI bridge in qemu-xen-trad,
    which breaks the assumption of the driver. This change fixes the issue by
    correctly exposing the ISA bridge to domU.
    
    Signed-off-by: Rui Guo <firemeteor@users.sourceforge.net>
    Tested-by: Rui Guo <firemeteor@users.sourceforge.net>
    Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
    Acked-by: Jan Beulich <JBeulich@suse.com>
---
 hw/pci.c         |   10 ++++++++++
 hw/pci.h         |    3 +++
 hw/pt-graphics.c |    9 ++++++---
 3 files changed, 19 insertions(+), 3 deletions(-)

diff --git a/hw/pci.c b/hw/pci.c
index f051de1..c423285 100644
--- a/hw/pci.c
+++ b/hw/pci.c
@@ -938,6 +938,16 @@ PCIBus *pci_bridge_init(PCIBus *bus, int devfn, uint16_t vid, uint16_t did,
     return s->bus;
 }
 
+PCIBus *pci_isa_bridge_init(PCIBus *bus, int devfn, uint16_t vid, uint16_t did,
+                            uint8_t rid, pci_map_irq_fn map_irq, const char *name)
+{
+    PCIBus *s = pci_bridge_init(bus, devfn, vid, did, rid, map_irq, name);
+
+    pci_config_set_class(s->parent_dev->config, PCI_CLASS_BRIDGE_ISA);
+    s->parent_dev->config[PCI_HEADER_TYPE] = 0x80;
+    return s;
+}
+
 int pt_chk_bar_overlap(PCIBus *bus, int devfn, uint32_t addr,
                         uint32_t size, uint8_t type)
 {
diff --git a/hw/pci.h b/hw/pci.h
index edc58b6..cacbdd2 100644
--- a/hw/pci.h
+++ b/hw/pci.h
@@ -271,6 +271,9 @@ void pci_info(void);
 PCIBus *pci_bridge_init(PCIBus *bus, int devfn, uint16_t vid, uint16_t did,
                         uint8_t rid, pci_map_irq_fn map_irq, const char *name);
 
+PCIBus *pci_isa_bridge_init(PCIBus *bus, int devfn, uint16_t vid, uint16_t did,
+                            uint8_t rid, pci_map_irq_fn map_irq, const char *name);
+
 #define NR_PCI_FUNC          8
 #define NR_PCI_DEV           32
 #define NR_PCI_DEVFN         (NR_PCI_FUNC * NR_PCI_DEV)
diff --git a/hw/pt-graphics.c b/hw/pt-graphics.c
index c6f8869..7302b25 100644
--- a/hw/pt-graphics.c
+++ b/hw/pt-graphics.c
@@ -3,6 +3,7 @@
  */
 
 #include "pass-through.h"
+#include "pci.h"
 #include "pci/header.h"
 #include "pci/pci.h"
 
@@ -40,9 +41,11 @@ void intel_pch_init(PCIBus *bus)
     did = pt_pci_host_read(pci_dev_1f, PCI_DEVICE_ID, 2);
     rid = pt_pci_host_read(pci_dev_1f, PCI_REVISION, 1);
 
-    if ( vid == PCI_VENDOR_ID_INTEL )
-        pci_bridge_init(bus, PCI_DEVFN(0x1f, 0), vid, did, rid,
-                        pch_map_irq, "intel_bridge_1f");
+    if (vid == PCI_VENDOR_ID_INTEL) {
+        pci_isa_bridge_init(bus, PCI_DEVFN(0x1f, 0), vid, did, rid,
+                            pch_map_irq, "intel_bridge_1f");
+
+    }
 }
 
 uint32_t igd_read_opregion(struct pt_dev *pci_dev)
--
generated by git-patchbot for /home/xen/git/qemu-xen-unstable.git

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Mon Aug 05 15:55:18 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Aug 2013 15:55:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V6N7p-0001RY-OJ; Mon, 05 Aug 2013 15:55:13 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6N7i-0001RH-JH
	for xen-changelog@lists.xensource.com; Mon, 05 Aug 2013 15:55:12 +0000
Received: from [85.158.136.67:47153] by server-2.bemta-5.messagelabs.com id
	1A/1A-23285-9DACFF15; Mon, 05 Aug 2013 15:55:05 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-207.messagelabs.com!1375718103!27009598!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12018 invoked from network); 5 Aug 2013 15:55:04 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-7.tower-207.messagelabs.com with AES256-SHA encrypted SMTP;
	5 Aug 2013 15:55:04 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6N7f-0007q6-8n
	for xen-changelog@lists.xensource.com; Mon, 05 Aug 2013 15:55:03 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6N7e-0003JD-TT
	for xen-changelog@lists.xensource.com; Mon, 05 Aug 2013 15:55:02 +0000
Date: Mon, 05 Aug 2013 15:55:02 +0000
Message-Id: <E1V6N7e-0003JD-TT@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [qemu-xen-unstable] passthrough: Correctly expose
	PCH ISA bridge for IGD passthrough
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 73c4ad5a3d065267b878c8ae31ff0b4833f093e4
Author:     G.R <firemeteor.guo@gmail.com>
AuthorDate: Thu Jul 25 08:11:55 2013 +0000
Commit:     Ian Jackson <Ian.Jackson@eu.citrix.com>
CommitDate: Mon Aug 5 16:50:12 2013 +0100

    passthrough: Correctly expose PCH ISA bridge for IGD passthrough
    
    The i915 driver probes chip version through PCH ISA bridge device / vendor ID.
    Previously, the PCH ISA bridge is exposed as PCI-PCI bridge in qemu-xen-trad,
    which breaks the assumption of the driver. This change fixes the issue by
    correctly exposing the ISA bridge to domU.
    
    Signed-off-by: Rui Guo <firemeteor@users.sourceforge.net>
    Tested-by: Rui Guo <firemeteor@users.sourceforge.net>
    Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
    Acked-by: Jan Beulich <JBeulich@suse.com>
---
 hw/pci.c         |   10 ++++++++++
 hw/pci.h         |    3 +++
 hw/pt-graphics.c |    9 ++++++---
 3 files changed, 19 insertions(+), 3 deletions(-)

diff --git a/hw/pci.c b/hw/pci.c
index f051de1..c423285 100644
--- a/hw/pci.c
+++ b/hw/pci.c
@@ -938,6 +938,16 @@ PCIBus *pci_bridge_init(PCIBus *bus, int devfn, uint16_t vid, uint16_t did,
     return s->bus;
 }
 
+PCIBus *pci_isa_bridge_init(PCIBus *bus, int devfn, uint16_t vid, uint16_t did,
+                            uint8_t rid, pci_map_irq_fn map_irq, const char *name)
+{
+    PCIBus *s = pci_bridge_init(bus, devfn, vid, did, rid, map_irq, name);
+
+    pci_config_set_class(s->parent_dev->config, PCI_CLASS_BRIDGE_ISA);
+    s->parent_dev->config[PCI_HEADER_TYPE] = 0x80;
+    return s;
+}
+
 int pt_chk_bar_overlap(PCIBus *bus, int devfn, uint32_t addr,
                         uint32_t size, uint8_t type)
 {
diff --git a/hw/pci.h b/hw/pci.h
index edc58b6..cacbdd2 100644
--- a/hw/pci.h
+++ b/hw/pci.h
@@ -271,6 +271,9 @@ void pci_info(void);
 PCIBus *pci_bridge_init(PCIBus *bus, int devfn, uint16_t vid, uint16_t did,
                         uint8_t rid, pci_map_irq_fn map_irq, const char *name);
 
+PCIBus *pci_isa_bridge_init(PCIBus *bus, int devfn, uint16_t vid, uint16_t did,
+                            uint8_t rid, pci_map_irq_fn map_irq, const char *name);
+
 #define NR_PCI_FUNC          8
 #define NR_PCI_DEV           32
 #define NR_PCI_DEVFN         (NR_PCI_FUNC * NR_PCI_DEV)
diff --git a/hw/pt-graphics.c b/hw/pt-graphics.c
index c6f8869..7302b25 100644
--- a/hw/pt-graphics.c
+++ b/hw/pt-graphics.c
@@ -3,6 +3,7 @@
  */
 
 #include "pass-through.h"
+#include "pci.h"
 #include "pci/header.h"
 #include "pci/pci.h"
 
@@ -40,9 +41,11 @@ void intel_pch_init(PCIBus *bus)
     did = pt_pci_host_read(pci_dev_1f, PCI_DEVICE_ID, 2);
     rid = pt_pci_host_read(pci_dev_1f, PCI_REVISION, 1);
 
-    if ( vid == PCI_VENDOR_ID_INTEL )
-        pci_bridge_init(bus, PCI_DEVFN(0x1f, 0), vid, did, rid,
-                        pch_map_irq, "intel_bridge_1f");
+    if (vid == PCI_VENDOR_ID_INTEL) {
+        pci_isa_bridge_init(bus, PCI_DEVFN(0x1f, 0), vid, did, rid,
+                            pch_map_irq, "intel_bridge_1f");
+
+    }
 }
 
 uint32_t igd_read_opregion(struct pt_dev *pci_dev)
--
generated by git-patchbot for /home/xen/git/qemu-xen-unstable.git

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Mon Aug 05 19:33:27 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Aug 2013 19:33:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V6QWs-0008VI-Hf; Mon, 05 Aug 2013 19:33:18 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6QWq-0008VD-HT
	for xen-changelog@lists.xensource.com; Mon, 05 Aug 2013 19:33:16 +0000
Received: from [85.158.139.211:33098] by server-2.bemta-5.messagelabs.com id
	6F/CB-23285-BFDFFF15; Mon, 05 Aug 2013 19:33:15 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-206.messagelabs.com!1375731193!1014298!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11648 invoked from network); 5 Aug 2013 19:33:14 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-9.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	5 Aug 2013 19:33:14 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6QWn-0002AD-G9
	for xen-changelog@lists.xensource.com; Mon, 05 Aug 2013 19:33:13 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6QWn-0000te-EN
	for xen-changelog@lists.xensource.com; Mon, 05 Aug 2013 19:33:13 +0000
Date: Mon, 05 Aug 2013 19:33:13 +0000
Message-Id: <E1V6QWn-0000te-EN@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] pl011: Move registers' definition in a
	separate file
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 33440c3f60b8922d39ff1bc64ba92f5f8d355e37
Author:     Julien Grall <julien.grall@linaro.org>
AuthorDate: Thu Aug 1 17:09:26 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Mon Aug 5 10:23:15 2013 +0100

    pl011: Move registers' definition in a separate file
    
    Signed-off-by: Julien Grall <julien.grall@linaro.org>
    Reviewed-by: Tim Deegan <tim@xen.org>
---
 xen/drivers/char/pl011.c         |   48 +----------------------
 xen/include/asm-arm/pl011-uart.h |   80 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 81 insertions(+), 47 deletions(-)

diff --git a/xen/drivers/char/pl011.c b/xen/drivers/char/pl011.c
index 9456f20..fd87e68 100644
--- a/xen/drivers/char/pl011.c
+++ b/xen/drivers/char/pl011.c
@@ -28,6 +28,7 @@
 #include <asm/device.h>
 #include <xen/mm.h>
 #include <xen/vmap.h>
+#include <asm/pl011-uart.h>
 
 static struct pl011 {
     unsigned int baud, clock_hz, data_bits, parity, stop_bits;
@@ -41,53 +42,6 @@ static struct pl011 {
     /* bool_t probing, intr_works; */
 } pl011_com = {0};
 
-/* PL011 register addresses */
-#define DR     (0x00)
-#define RSR    (0x04)
-#define FR     (0x18)
-#define ILPR   (0x20)
-#define IBRD   (0x24)
-#define FBRD   (0x28)
-#define LCR_H  (0x2c)
-#define CR     (0x30)
-#define IFLS   (0x34)
-#define IMSC   (0x38)
-#define RIS    (0x3c)
-#define MIS    (0x40)
-#define ICR    (0x44)
-#define DMACR  (0x48)
-
-/* CR bits */
-#define RXE    (1<<9) /* Receive enable */
-#define TXE    (1<<8) /* Transmit enable */
-#define UARTEN (1<<0) /* UART enable */
-
-/* FR bits */
-#define TXFE   (1<<7) /* TX FIFO empty */
-#define RXFE   (1<<4) /* RX FIFO empty */
-
-/* LCR_H bits */
-#define SPS    (1<<7) /* Stick parity select */
-#define FEN    (1<<4) /* FIFO enable */
-#define STP2   (1<<3) /* Two stop bits select */
-#define EPS    (1<<2) /* Even parity select */
-#define PEN    (1<<1) /* Parity enable */
-#define BRK    (1<<0) /* Send break */
-
-/* Interrupt bits (IMSC, MIS, ICR) */
-#define OEI   (1<<10) /* Overrun Error interrupt mask */
-#define BEI   (1<<9)  /* Break Error interrupt mask */
-#define PEI   (1<<8)  /* Parity Error interrupt mask */
-#define FEI   (1<<7)  /* Framing Error interrupt mask */
-#define RTI   (1<<6)  /* Receive Timeout interrupt mask */
-#define TXI   (1<<5)  /* Transmit interrupt mask */
-#define RXI   (1<<4)  /* Receive interrupt mask */
-#define DSRMI (1<<3)  /* nUARTDSR Modem interrupt mask */
-#define DCDMI (1<<2)  /* nUARTDCD Modem interrupt mask */
-#define CTSMI (1<<1)  /* nUARTCTS Modem interrupt mask */
-#define RIMI  (1<<0)  /* nUARTRI Modem interrupt mask */
-#define ALLI  OEI|BEI|PEI|FEI|RTI|TXI|RXI|DSRMI|DCDMI|CTSMI|RIMI
-
 /* These parity settings can be ORed directly into the LCR. */
 #define PARITY_NONE  (0)
 #define PARITY_ODD   (PEN)
diff --git a/xen/include/asm-arm/pl011-uart.h b/xen/include/asm-arm/pl011-uart.h
new file mode 100644
index 0000000..8c4edd4
--- /dev/null
+++ b/xen/include/asm-arm/pl011-uart.h
@@ -0,0 +1,80 @@
+/*
+ * xen/include/asm-arm/pl011-uart.h
+ *
+ * Common constant definition between early printk and the UART driver
+ * for the pl011 UART
+ *
+ * Tim Deegan <tim@xen.org>
+ * Copyright (c) 2011 Citrix Systems.
+ *
+ * This program 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.
+ *
+ * This program 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.
+ */
+
+#ifndef __ASM_ARM_PL011_H
+#define __ASM_ARM_PL011_H
+
+/* PL011 register addresses */
+#define DR     (0x00)
+#define RSR    (0x04)
+#define FR     (0x18)
+#define ILPR   (0x20)
+#define IBRD   (0x24)
+#define FBRD   (0x28)
+#define LCR_H  (0x2c)
+#define CR     (0x30)
+#define IFLS   (0x34)
+#define IMSC   (0x38)
+#define RIS    (0x3c)
+#define MIS    (0x40)
+#define ICR    (0x44)
+#define DMACR  (0x48)
+
+/* CR bits */
+#define RXE    (1<<9) /* Receive enable */
+#define TXE    (1<<8) /* Transmit enable */
+#define UARTEN (1<<0) /* UART enable */
+
+/* FR bits */
+#define TXFE   (1<<7) /* TX FIFO empty */
+#define RXFE   (1<<4) /* RX FIFO empty */
+
+/* LCR_H bits */
+#define SPS    (1<<7) /* Stick parity select */
+#define FEN    (1<<4) /* FIFO enable */
+#define STP2   (1<<3) /* Two stop bits select */
+#define EPS    (1<<2) /* Even parity select */
+#define PEN    (1<<1) /* Parity enable */
+#define BRK    (1<<0) /* Send break */
+
+/* Interrupt bits (IMSC, MIS, ICR) */
+#define OEI   (1<<10) /* Overrun Error interrupt mask */
+#define BEI   (1<<9)  /* Break Error interrupt mask */
+#define PEI   (1<<8)  /* Parity Error interrupt mask */
+#define FEI   (1<<7)  /* Framing Error interrupt mask */
+#define RTI   (1<<6)  /* Receive Timeout interrupt mask */
+#define TXI   (1<<5)  /* Transmit interrupt mask */
+#define RXI   (1<<4)  /* Receive interrupt mask */
+#define DSRMI (1<<3)  /* nUARTDSR Modem interrupt mask */
+#define DCDMI (1<<2)  /* nUARTDCD Modem interrupt mask */
+#define CTSMI (1<<1)  /* nUARTCTS Modem interrupt mask */
+#define RIMI  (1<<0)  /* nUARTRI Modem interrupt mask */
+#define ALLI  OEI|BEI|PEI|FEI|RTI|TXI|RXI|DSRMI|DCDMI|CTSMI|RIMI
+
+#endif /* __ASM_ARM_PL011_H */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Mon Aug 05 19:33:27 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Aug 2013 19:33:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V6QWs-0008VI-Hf; Mon, 05 Aug 2013 19:33:18 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6QWq-0008VD-HT
	for xen-changelog@lists.xensource.com; Mon, 05 Aug 2013 19:33:16 +0000
Received: from [85.158.139.211:33098] by server-2.bemta-5.messagelabs.com id
	6F/CB-23285-BFDFFF15; Mon, 05 Aug 2013 19:33:15 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-206.messagelabs.com!1375731193!1014298!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11648 invoked from network); 5 Aug 2013 19:33:14 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-9.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	5 Aug 2013 19:33:14 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6QWn-0002AD-G9
	for xen-changelog@lists.xensource.com; Mon, 05 Aug 2013 19:33:13 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6QWn-0000te-EN
	for xen-changelog@lists.xensource.com; Mon, 05 Aug 2013 19:33:13 +0000
Date: Mon, 05 Aug 2013 19:33:13 +0000
Message-Id: <E1V6QWn-0000te-EN@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] pl011: Move registers' definition in a
	separate file
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 33440c3f60b8922d39ff1bc64ba92f5f8d355e37
Author:     Julien Grall <julien.grall@linaro.org>
AuthorDate: Thu Aug 1 17:09:26 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Mon Aug 5 10:23:15 2013 +0100

    pl011: Move registers' definition in a separate file
    
    Signed-off-by: Julien Grall <julien.grall@linaro.org>
    Reviewed-by: Tim Deegan <tim@xen.org>
---
 xen/drivers/char/pl011.c         |   48 +----------------------
 xen/include/asm-arm/pl011-uart.h |   80 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 81 insertions(+), 47 deletions(-)

diff --git a/xen/drivers/char/pl011.c b/xen/drivers/char/pl011.c
index 9456f20..fd87e68 100644
--- a/xen/drivers/char/pl011.c
+++ b/xen/drivers/char/pl011.c
@@ -28,6 +28,7 @@
 #include <asm/device.h>
 #include <xen/mm.h>
 #include <xen/vmap.h>
+#include <asm/pl011-uart.h>
 
 static struct pl011 {
     unsigned int baud, clock_hz, data_bits, parity, stop_bits;
@@ -41,53 +42,6 @@ static struct pl011 {
     /* bool_t probing, intr_works; */
 } pl011_com = {0};
 
-/* PL011 register addresses */
-#define DR     (0x00)
-#define RSR    (0x04)
-#define FR     (0x18)
-#define ILPR   (0x20)
-#define IBRD   (0x24)
-#define FBRD   (0x28)
-#define LCR_H  (0x2c)
-#define CR     (0x30)
-#define IFLS   (0x34)
-#define IMSC   (0x38)
-#define RIS    (0x3c)
-#define MIS    (0x40)
-#define ICR    (0x44)
-#define DMACR  (0x48)
-
-/* CR bits */
-#define RXE    (1<<9) /* Receive enable */
-#define TXE    (1<<8) /* Transmit enable */
-#define UARTEN (1<<0) /* UART enable */
-
-/* FR bits */
-#define TXFE   (1<<7) /* TX FIFO empty */
-#define RXFE   (1<<4) /* RX FIFO empty */
-
-/* LCR_H bits */
-#define SPS    (1<<7) /* Stick parity select */
-#define FEN    (1<<4) /* FIFO enable */
-#define STP2   (1<<3) /* Two stop bits select */
-#define EPS    (1<<2) /* Even parity select */
-#define PEN    (1<<1) /* Parity enable */
-#define BRK    (1<<0) /* Send break */
-
-/* Interrupt bits (IMSC, MIS, ICR) */
-#define OEI   (1<<10) /* Overrun Error interrupt mask */
-#define BEI   (1<<9)  /* Break Error interrupt mask */
-#define PEI   (1<<8)  /* Parity Error interrupt mask */
-#define FEI   (1<<7)  /* Framing Error interrupt mask */
-#define RTI   (1<<6)  /* Receive Timeout interrupt mask */
-#define TXI   (1<<5)  /* Transmit interrupt mask */
-#define RXI   (1<<4)  /* Receive interrupt mask */
-#define DSRMI (1<<3)  /* nUARTDSR Modem interrupt mask */
-#define DCDMI (1<<2)  /* nUARTDCD Modem interrupt mask */
-#define CTSMI (1<<1)  /* nUARTCTS Modem interrupt mask */
-#define RIMI  (1<<0)  /* nUARTRI Modem interrupt mask */
-#define ALLI  OEI|BEI|PEI|FEI|RTI|TXI|RXI|DSRMI|DCDMI|CTSMI|RIMI
-
 /* These parity settings can be ORed directly into the LCR. */
 #define PARITY_NONE  (0)
 #define PARITY_ODD   (PEN)
diff --git a/xen/include/asm-arm/pl011-uart.h b/xen/include/asm-arm/pl011-uart.h
new file mode 100644
index 0000000..8c4edd4
--- /dev/null
+++ b/xen/include/asm-arm/pl011-uart.h
@@ -0,0 +1,80 @@
+/*
+ * xen/include/asm-arm/pl011-uart.h
+ *
+ * Common constant definition between early printk and the UART driver
+ * for the pl011 UART
+ *
+ * Tim Deegan <tim@xen.org>
+ * Copyright (c) 2011 Citrix Systems.
+ *
+ * This program 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.
+ *
+ * This program 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.
+ */
+
+#ifndef __ASM_ARM_PL011_H
+#define __ASM_ARM_PL011_H
+
+/* PL011 register addresses */
+#define DR     (0x00)
+#define RSR    (0x04)
+#define FR     (0x18)
+#define ILPR   (0x20)
+#define IBRD   (0x24)
+#define FBRD   (0x28)
+#define LCR_H  (0x2c)
+#define CR     (0x30)
+#define IFLS   (0x34)
+#define IMSC   (0x38)
+#define RIS    (0x3c)
+#define MIS    (0x40)
+#define ICR    (0x44)
+#define DMACR  (0x48)
+
+/* CR bits */
+#define RXE    (1<<9) /* Receive enable */
+#define TXE    (1<<8) /* Transmit enable */
+#define UARTEN (1<<0) /* UART enable */
+
+/* FR bits */
+#define TXFE   (1<<7) /* TX FIFO empty */
+#define RXFE   (1<<4) /* RX FIFO empty */
+
+/* LCR_H bits */
+#define SPS    (1<<7) /* Stick parity select */
+#define FEN    (1<<4) /* FIFO enable */
+#define STP2   (1<<3) /* Two stop bits select */
+#define EPS    (1<<2) /* Even parity select */
+#define PEN    (1<<1) /* Parity enable */
+#define BRK    (1<<0) /* Send break */
+
+/* Interrupt bits (IMSC, MIS, ICR) */
+#define OEI   (1<<10) /* Overrun Error interrupt mask */
+#define BEI   (1<<9)  /* Break Error interrupt mask */
+#define PEI   (1<<8)  /* Parity Error interrupt mask */
+#define FEI   (1<<7)  /* Framing Error interrupt mask */
+#define RTI   (1<<6)  /* Receive Timeout interrupt mask */
+#define TXI   (1<<5)  /* Transmit interrupt mask */
+#define RXI   (1<<4)  /* Receive interrupt mask */
+#define DSRMI (1<<3)  /* nUARTDSR Modem interrupt mask */
+#define DCDMI (1<<2)  /* nUARTDCD Modem interrupt mask */
+#define CTSMI (1<<1)  /* nUARTCTS Modem interrupt mask */
+#define RIMI  (1<<0)  /* nUARTRI Modem interrupt mask */
+#define ALLI  OEI|BEI|PEI|FEI|RTI|TXI|RXI|DSRMI|DCDMI|CTSMI|RIMI
+
+#endif /* __ASM_ARM_PL011_H */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Mon Aug 05 19:33:34 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Aug 2013 19:33:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V6QX2-0008Vn-KZ; Mon, 05 Aug 2013 19:33:28 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6QX0-0008VV-FU
	for xen-changelog@lists.xensource.com; Mon, 05 Aug 2013 19:33:26 +0000
Received: from [85.158.137.99:58745] by server-8.bemta-3.messagelabs.com id
	48/89-18692-50EFFF15; Mon, 05 Aug 2013 19:33:25 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-217.messagelabs.com!1375731203!14095518!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9835 invoked from network); 5 Aug 2013 19:33:24 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-6.tower-217.messagelabs.com with AES256-SHA encrypted SMTP;
	5 Aug 2013 19:33:24 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6QWx-0002AG-MU
	for xen-changelog@lists.xensource.com; Mon, 05 Aug 2013 19:33:23 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6QWx-0000u2-KT
	for xen-changelog@lists.xensource.com; Mon, 05 Aug 2013 19:33:23 +0000
Date: Mon, 05 Aug 2013 19:33:23 +0000
Message-Id: <E1V6QWx-0000u2-KT@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen/arm: Use define instead of
	hardcoded value in debug-pl011
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit c10b492064ad83d6db8d576014cdcbe73f028e50
Author:     Julien Grall <julien.grall@linaro.org>
AuthorDate: Thu Aug 1 17:09:27 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Mon Aug 5 10:23:15 2013 +0100

    xen/arm: Use define instead of hardcoded value in debug-pl011
    
    Signed-off-by: Julien Grall <julien.grall@linaro.org>
    Reviewed-by: Tim Deegan <tim@xen.org>
---
 xen/arch/arm/arm32/debug-pl011.inc |   18 ++++++++++--------
 xen/include/asm-arm/pl011-uart.h   |    1 +
 2 files changed, 11 insertions(+), 8 deletions(-)

diff --git a/xen/arch/arm/arm32/debug-pl011.inc b/xen/arch/arm/arm32/debug-pl011.inc
index 8b085b8..6a64dbf 100644
--- a/xen/arch/arm/arm32/debug-pl011.inc
+++ b/xen/arch/arm/arm32/debug-pl011.inc
@@ -16,19 +16,21 @@
  * GNU General Public License for more details.
  */
 
+#include <asm/pl011-uart.h>
+
 /* PL011 UART initialization
  * rb: register which contains the UART base address
  * rc: scratch register 1
  * rd: scratch register 2 (unused here) */
 .macro early_uart_init rb, rc, rd
         mov   \rc, #(7372800 / EARLY_PRINTK_BAUD % 16)
-        str   \rc, [\rb, #0x28]     /* -> UARTFBRD (Baud divisor fraction) */
+        str   \rc, [\rb, #FBRD]     /* -> UARTFBRD (Baud divisor fraction) */
         mov   \rc, #(7372800 / EARLY_PRINTK_BAUD / 16)
-        str   \rc, [\rb, #0x24]     /* -> UARTIBRD (Baud divisor integer) */
+        str   \rc, [\rb, #IBRD]     /* -> UARTIBRD (Baud divisor integer) */
         mov   \rc, #0x60            /* 8n1 */
-        str   \rc, [\rb, #0x2C]     /* -> UARTLCR_H (Line control) */
-        ldr   \rc, =0x00000301      /* RXE | TXE | UARTEN */
-        str   \rc, [\rb, #0x30]     /* -> UARTCR (Control Register) */
+        str   \rc, [\rb, #LCR_H]     /* -> UARTLCR_H (Line control) */
+        ldr   \rc, =(RXE | TXE | UARTEN)      /* RXE | TXE | UARTEN */
+        str   \rc, [\rb, #CR]     /* -> UARTCR (Control Register) */
 .endm
 
 /* PL011 UART wait UART to be ready to transmit
@@ -36,8 +38,8 @@
  * rc: scratch register */
 .macro early_uart_ready rb, rc
 1:
-        ldr   \rc, [\rb, #0x18]     /* <- UARTFR (Flag register) */
-        tst   \rc, #0x8             /* Check BUSY bit */
+        ldr   \rc, [\rb, #FR]       /* <- UARTFR (Flag register) */
+        tst   \rc, #BUSY             /* Check BUSY bit */
         bne   1b                    /* Wait for the UART to be ready */
 .endm
 
@@ -45,7 +47,7 @@
  * rb: register which contains the UART base address
  * rt: register which contains the character to transmit */
 .macro early_uart_transmit rb, rt
-        str   \rt, [\rb]            /* -> UARTDR (Data Register) */
+        str   \rt, [\rb, #DR]            /* -> UARTDR (Data Register) */
 .endm
 
 /*
diff --git a/xen/include/asm-arm/pl011-uart.h b/xen/include/asm-arm/pl011-uart.h
index 8c4edd4..3332c51 100644
--- a/xen/include/asm-arm/pl011-uart.h
+++ b/xen/include/asm-arm/pl011-uart.h
@@ -45,6 +45,7 @@
 /* FR bits */
 #define TXFE   (1<<7) /* TX FIFO empty */
 #define RXFE   (1<<4) /* RX FIFO empty */
+#define BUSY   (1<<3) /* Transmit is not complete */
 
 /* LCR_H bits */
 #define SPS    (1<<7) /* Stick parity select */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Mon Aug 05 19:33:34 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Aug 2013 19:33:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V6QX2-0008Vn-KZ; Mon, 05 Aug 2013 19:33:28 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6QX0-0008VV-FU
	for xen-changelog@lists.xensource.com; Mon, 05 Aug 2013 19:33:26 +0000
Received: from [85.158.137.99:58745] by server-8.bemta-3.messagelabs.com id
	48/89-18692-50EFFF15; Mon, 05 Aug 2013 19:33:25 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-217.messagelabs.com!1375731203!14095518!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9835 invoked from network); 5 Aug 2013 19:33:24 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-6.tower-217.messagelabs.com with AES256-SHA encrypted SMTP;
	5 Aug 2013 19:33:24 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6QWx-0002AG-MU
	for xen-changelog@lists.xensource.com; Mon, 05 Aug 2013 19:33:23 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6QWx-0000u2-KT
	for xen-changelog@lists.xensource.com; Mon, 05 Aug 2013 19:33:23 +0000
Date: Mon, 05 Aug 2013 19:33:23 +0000
Message-Id: <E1V6QWx-0000u2-KT@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen/arm: Use define instead of
	hardcoded value in debug-pl011
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit c10b492064ad83d6db8d576014cdcbe73f028e50
Author:     Julien Grall <julien.grall@linaro.org>
AuthorDate: Thu Aug 1 17:09:27 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Mon Aug 5 10:23:15 2013 +0100

    xen/arm: Use define instead of hardcoded value in debug-pl011
    
    Signed-off-by: Julien Grall <julien.grall@linaro.org>
    Reviewed-by: Tim Deegan <tim@xen.org>
---
 xen/arch/arm/arm32/debug-pl011.inc |   18 ++++++++++--------
 xen/include/asm-arm/pl011-uart.h   |    1 +
 2 files changed, 11 insertions(+), 8 deletions(-)

diff --git a/xen/arch/arm/arm32/debug-pl011.inc b/xen/arch/arm/arm32/debug-pl011.inc
index 8b085b8..6a64dbf 100644
--- a/xen/arch/arm/arm32/debug-pl011.inc
+++ b/xen/arch/arm/arm32/debug-pl011.inc
@@ -16,19 +16,21 @@
  * GNU General Public License for more details.
  */
 
+#include <asm/pl011-uart.h>
+
 /* PL011 UART initialization
  * rb: register which contains the UART base address
  * rc: scratch register 1
  * rd: scratch register 2 (unused here) */
 .macro early_uart_init rb, rc, rd
         mov   \rc, #(7372800 / EARLY_PRINTK_BAUD % 16)
-        str   \rc, [\rb, #0x28]     /* -> UARTFBRD (Baud divisor fraction) */
+        str   \rc, [\rb, #FBRD]     /* -> UARTFBRD (Baud divisor fraction) */
         mov   \rc, #(7372800 / EARLY_PRINTK_BAUD / 16)
-        str   \rc, [\rb, #0x24]     /* -> UARTIBRD (Baud divisor integer) */
+        str   \rc, [\rb, #IBRD]     /* -> UARTIBRD (Baud divisor integer) */
         mov   \rc, #0x60            /* 8n1 */
-        str   \rc, [\rb, #0x2C]     /* -> UARTLCR_H (Line control) */
-        ldr   \rc, =0x00000301      /* RXE | TXE | UARTEN */
-        str   \rc, [\rb, #0x30]     /* -> UARTCR (Control Register) */
+        str   \rc, [\rb, #LCR_H]     /* -> UARTLCR_H (Line control) */
+        ldr   \rc, =(RXE | TXE | UARTEN)      /* RXE | TXE | UARTEN */
+        str   \rc, [\rb, #CR]     /* -> UARTCR (Control Register) */
 .endm
 
 /* PL011 UART wait UART to be ready to transmit
@@ -36,8 +38,8 @@
  * rc: scratch register */
 .macro early_uart_ready rb, rc
 1:
-        ldr   \rc, [\rb, #0x18]     /* <- UARTFR (Flag register) */
-        tst   \rc, #0x8             /* Check BUSY bit */
+        ldr   \rc, [\rb, #FR]       /* <- UARTFR (Flag register) */
+        tst   \rc, #BUSY             /* Check BUSY bit */
         bne   1b                    /* Wait for the UART to be ready */
 .endm
 
@@ -45,7 +47,7 @@
  * rb: register which contains the UART base address
  * rt: register which contains the character to transmit */
 .macro early_uart_transmit rb, rt
-        str   \rt, [\rb]            /* -> UARTDR (Data Register) */
+        str   \rt, [\rb, #DR]            /* -> UARTDR (Data Register) */
 .endm
 
 /*
diff --git a/xen/include/asm-arm/pl011-uart.h b/xen/include/asm-arm/pl011-uart.h
index 8c4edd4..3332c51 100644
--- a/xen/include/asm-arm/pl011-uart.h
+++ b/xen/include/asm-arm/pl011-uart.h
@@ -45,6 +45,7 @@
 /* FR bits */
 #define TXFE   (1<<7) /* TX FIFO empty */
 #define RXFE   (1<<4) /* RX FIFO empty */
+#define BUSY   (1<<3) /* Transmit is not complete */
 
 /* LCR_H bits */
 #define SPS    (1<<7) /* Stick parity select */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Mon Aug 05 19:33:41 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Aug 2013 19:33:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V6QXC-00005F-3l; Mon, 05 Aug 2013 19:33:38 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6QXA-00004w-HV
	for xen-changelog@lists.xensource.com; Mon, 05 Aug 2013 19:33:36 +0000
Received: from [85.158.143.99:6171] by server-2.bemta-4.messagelabs.com id
	8B/7D-09492-F0EFFF15; Mon, 05 Aug 2013 19:33:35 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1375731214!29197996!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31284 invoked from network); 5 Aug 2013 19:33:35 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-13.tower-216.messagelabs.com with AES256-SHA encrypted SMTP;
	5 Aug 2013 19:33:35 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6QX7-0002AO-TC
	for xen-changelog@lists.xensource.com; Mon, 05 Aug 2013 19:33:33 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6QX7-0000uU-Rt
	for xen-changelog@lists.xensource.com; Mon, 05 Aug 2013 19:33:33 +0000
Date: Mon, 05 Aug 2013 19:33:33 +0000
Message-Id: <E1V6QX7-0000uU-Rt@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] Add vendor_device parameter for HVM
	guests
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 066e134fb33b7fe0a0a496b459bbd675b146403c
Author:     Paul Durrant <paul.durrant@citrix.com>
AuthorDate: Fri Aug 2 17:45:31 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Mon Aug 5 10:25:21 2013 +0100

    Add vendor_device parameter for HVM guests
    
    The parameter determines which, if any, xen-pvdevice is specified on the
    QEMU command line. The default value is 'none' which means no argument will
    be passed. A value of 'xenserver' specifies a xen-pvdevice with device-id
    0xc000 (the initial value in the xenserver namespace - see
    docs/misc/pci-device-reservations.txt).
    
    Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
    [ ijc -- s/BUILD_INFO/BUILDINFO for consistency in LIBXL_HAVE define ]
---
 docs/man/xl.cfg.pod.5       |   23 +++++++++++++++++++++++
 tools/libxl/libxl.h         |    8 ++++++++
 tools/libxl/libxl_dm.c      |    9 +++++++++
 tools/libxl/libxl_types.idl |    5 +++++
 tools/libxl/xl_cmdimpl.c    |   14 ++++++++++++++
 5 files changed, 59 insertions(+), 0 deletions(-)

diff --git a/docs/man/xl.cfg.pod.5 b/docs/man/xl.cfg.pod.5
index 069b73f..08d6cc4 100644
--- a/docs/man/xl.cfg.pod.5
+++ b/docs/man/xl.cfg.pod.5
@@ -1176,6 +1176,29 @@ documentation.
 
 =back
 
+=item B<vendor_device="VENDOR_DEVICE">
+
+Selects which variant of the QEMU xen-pvdevice should be used for this
+guest. Valid values are:
+
+=over 4
+
+=item B<none>
+
+The xen-pvdevice should be omitted. This is the default.
+
+=item B<xenserver>
+
+The xenserver variant of the xen-pvdevice (device-id=C000) will be
+specified, enabling the use of XenServer PV drivers in the guest.
+
+=back
+
+This parameter only takes effect when device_model_version=qemu-xen.
+See F<docs/misc/pci-device-reservations.txt> for more information.
+
+=back
+
 =head2 Device-Model Options
 
 The following options control the selection of the device-model.  This
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index 37e4d82..be19bf5 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -82,6 +82,14 @@
 #define LIBXL_HAVE_DOMAIN_NODEAFFINITY 1
 
 /*
+ * LIBXL_HAVE_BUILDINFO_HVM_VENDOR_DEVICE indicates that the
+ * libxl_vendor_device field is present in the hvm sections of
+ * libxl_domain_build_info. This field tells libxl which
+ * flavour of xen-pvdevice to enable in QEMU.
+ */
+#define LIBXL_HAVE_BUILDINFO_HVM_VENDOR_DEVICE 1
+
+/*
  * libxl ABI compatibility
  *
  * The only guarantee which libxl makes regarding ABI compatibility
diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index 7e54c02..615dcf3 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -647,6 +647,15 @@ static char ** libxl__build_device_model_args_new(libxl__gc *gc,
             flexarray_append(dm_args, "-drive");
             flexarray_append(dm_args, drive);
         }
+
+        switch (b_info->u.hvm.vendor_device) {
+        case LIBXL_VENDOR_DEVICE_XENSERVER:
+            flexarray_append(dm_args, "-device");
+            flexarray_append(dm_args, "xen-pvdevice,device-id=0xc000");
+            break;
+        default:
+            break;
+        }
     }
     flexarray_append(dm_args, NULL);
     return (char **) flexarray_contents(dm_args);
diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl
index d218a2d..85341a0 100644
--- a/tools/libxl/libxl_types.idl
+++ b/tools/libxl/libxl_types.idl
@@ -132,6 +132,10 @@ libxl_vga_interface_type = Enumeration("vga_interface_type", [
     (2, "STD"),
     ], init_val = 0)
 
+libxl_vendor_device = Enumeration("vendor_device", [
+    (0, "NONE"),
+    (1, "XENSERVER"),
+    ])
 #
 # Complex libxl types
 #
@@ -332,6 +336,7 @@ libxl_domain_build_info = Struct("domain_build_info",[
                                        ("soundhw",          string),
                                        ("xen_platform_pci", libxl_defbool),
                                        ("usbdevice_list",   libxl_string_list),
+                                       ("vendor_device",    libxl_vendor_device),
                                        ])),
                  ("pv", Struct(None, [("kernel", string),
                                       ("slack_memkb", MemKB),
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 5bef969..884f050 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -1532,6 +1532,20 @@ skip_vfb:
             exit (1);
 
         }
+
+        if (!xlu_cfg_get_string (config, "vendor_device", &buf, 0)) {
+            libxl_vendor_device d;
+
+            e = libxl_vendor_device_from_string(buf, &d);
+            if (e) {
+                fprintf(stderr,
+                        "xl: unknown vendor_device '%s'\n",
+                        buf);
+                exit(-ERROR_FAIL);
+            }
+
+            b_info->u.hvm.vendor_device = d;
+        }
     }
 
     xlu_cfg_destroy(config);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Mon Aug 05 19:33:41 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Aug 2013 19:33:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V6QXC-00005F-3l; Mon, 05 Aug 2013 19:33:38 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6QXA-00004w-HV
	for xen-changelog@lists.xensource.com; Mon, 05 Aug 2013 19:33:36 +0000
Received: from [85.158.143.99:6171] by server-2.bemta-4.messagelabs.com id
	8B/7D-09492-F0EFFF15; Mon, 05 Aug 2013 19:33:35 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-216.messagelabs.com!1375731214!29197996!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31284 invoked from network); 5 Aug 2013 19:33:35 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-13.tower-216.messagelabs.com with AES256-SHA encrypted SMTP;
	5 Aug 2013 19:33:35 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6QX7-0002AO-TC
	for xen-changelog@lists.xensource.com; Mon, 05 Aug 2013 19:33:33 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6QX7-0000uU-Rt
	for xen-changelog@lists.xensource.com; Mon, 05 Aug 2013 19:33:33 +0000
Date: Mon, 05 Aug 2013 19:33:33 +0000
Message-Id: <E1V6QX7-0000uU-Rt@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] Add vendor_device parameter for HVM
	guests
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 066e134fb33b7fe0a0a496b459bbd675b146403c
Author:     Paul Durrant <paul.durrant@citrix.com>
AuthorDate: Fri Aug 2 17:45:31 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Mon Aug 5 10:25:21 2013 +0100

    Add vendor_device parameter for HVM guests
    
    The parameter determines which, if any, xen-pvdevice is specified on the
    QEMU command line. The default value is 'none' which means no argument will
    be passed. A value of 'xenserver' specifies a xen-pvdevice with device-id
    0xc000 (the initial value in the xenserver namespace - see
    docs/misc/pci-device-reservations.txt).
    
    Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
    [ ijc -- s/BUILD_INFO/BUILDINFO for consistency in LIBXL_HAVE define ]
---
 docs/man/xl.cfg.pod.5       |   23 +++++++++++++++++++++++
 tools/libxl/libxl.h         |    8 ++++++++
 tools/libxl/libxl_dm.c      |    9 +++++++++
 tools/libxl/libxl_types.idl |    5 +++++
 tools/libxl/xl_cmdimpl.c    |   14 ++++++++++++++
 5 files changed, 59 insertions(+), 0 deletions(-)

diff --git a/docs/man/xl.cfg.pod.5 b/docs/man/xl.cfg.pod.5
index 069b73f..08d6cc4 100644
--- a/docs/man/xl.cfg.pod.5
+++ b/docs/man/xl.cfg.pod.5
@@ -1176,6 +1176,29 @@ documentation.
 
 =back
 
+=item B<vendor_device="VENDOR_DEVICE">
+
+Selects which variant of the QEMU xen-pvdevice should be used for this
+guest. Valid values are:
+
+=over 4
+
+=item B<none>
+
+The xen-pvdevice should be omitted. This is the default.
+
+=item B<xenserver>
+
+The xenserver variant of the xen-pvdevice (device-id=C000) will be
+specified, enabling the use of XenServer PV drivers in the guest.
+
+=back
+
+This parameter only takes effect when device_model_version=qemu-xen.
+See F<docs/misc/pci-device-reservations.txt> for more information.
+
+=back
+
 =head2 Device-Model Options
 
 The following options control the selection of the device-model.  This
diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h
index 37e4d82..be19bf5 100644
--- a/tools/libxl/libxl.h
+++ b/tools/libxl/libxl.h
@@ -82,6 +82,14 @@
 #define LIBXL_HAVE_DOMAIN_NODEAFFINITY 1
 
 /*
+ * LIBXL_HAVE_BUILDINFO_HVM_VENDOR_DEVICE indicates that the
+ * libxl_vendor_device field is present in the hvm sections of
+ * libxl_domain_build_info. This field tells libxl which
+ * flavour of xen-pvdevice to enable in QEMU.
+ */
+#define LIBXL_HAVE_BUILDINFO_HVM_VENDOR_DEVICE 1
+
+/*
  * libxl ABI compatibility
  *
  * The only guarantee which libxl makes regarding ABI compatibility
diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index 7e54c02..615dcf3 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -647,6 +647,15 @@ static char ** libxl__build_device_model_args_new(libxl__gc *gc,
             flexarray_append(dm_args, "-drive");
             flexarray_append(dm_args, drive);
         }
+
+        switch (b_info->u.hvm.vendor_device) {
+        case LIBXL_VENDOR_DEVICE_XENSERVER:
+            flexarray_append(dm_args, "-device");
+            flexarray_append(dm_args, "xen-pvdevice,device-id=0xc000");
+            break;
+        default:
+            break;
+        }
     }
     flexarray_append(dm_args, NULL);
     return (char **) flexarray_contents(dm_args);
diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl
index d218a2d..85341a0 100644
--- a/tools/libxl/libxl_types.idl
+++ b/tools/libxl/libxl_types.idl
@@ -132,6 +132,10 @@ libxl_vga_interface_type = Enumeration("vga_interface_type", [
     (2, "STD"),
     ], init_val = 0)
 
+libxl_vendor_device = Enumeration("vendor_device", [
+    (0, "NONE"),
+    (1, "XENSERVER"),
+    ])
 #
 # Complex libxl types
 #
@@ -332,6 +336,7 @@ libxl_domain_build_info = Struct("domain_build_info",[
                                        ("soundhw",          string),
                                        ("xen_platform_pci", libxl_defbool),
                                        ("usbdevice_list",   libxl_string_list),
+                                       ("vendor_device",    libxl_vendor_device),
                                        ])),
                  ("pv", Struct(None, [("kernel", string),
                                       ("slack_memkb", MemKB),
diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 5bef969..884f050 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -1532,6 +1532,20 @@ skip_vfb:
             exit (1);
 
         }
+
+        if (!xlu_cfg_get_string (config, "vendor_device", &buf, 0)) {
+            libxl_vendor_device d;
+
+            e = libxl_vendor_device_from_string(buf, &d);
+            if (e) {
+                fprintf(stderr,
+                        "xl: unknown vendor_device '%s'\n",
+                        buf);
+                exit(-ERROR_FAIL);
+            }
+
+            b_info->u.hvm.vendor_device = d;
+        }
     }
 
     xlu_cfg_destroy(config);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 06 00:55:16 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Aug 2013 00:55:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V6VYL-0003d6-Iw; Tue, 06 Aug 2013 00:55:09 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6VYI-0003cy-W9
	for xen-changelog@lists.xensource.com; Tue, 06 Aug 2013 00:55:08 +0000
Received: from [85.158.138.51:52115] by server-6.bemta-3.messagelabs.com id
	6F/50-00484-A6940025; Tue, 06 Aug 2013 00:55:06 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1375750504!22133496!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23214 invoked from network); 6 Aug 2013 00:55:05 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-6.tower-174.messagelabs.com with AES256-SHA encrypted SMTP;
	6 Aug 2013 00:55:05 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6VYG-00066b-0d
	for xen-changelog@lists.xensource.com; Tue, 06 Aug 2013 00:55:04 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6VYF-0002Hg-8d
	for xen-changelog@lists.xensource.com; Tue, 06 Aug 2013 00:55:03 +0000
Date: Tue, 06 Aug 2013 00:55:03 +0000
Message-Id: <E1V6VYF-0002Hg-8d@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] QEMU_TAG update
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit db3320281dd99dfad21052f11e4de74059d033fb
Author:     Ian Jackson <ian.jackson@eu.citrix.com>
AuthorDate: Mon Aug 5 16:53:08 2013 +0100
Commit:     Ian Jackson <Ian.Jackson@eu.citrix.com>
CommitDate: Mon Aug 5 16:53:08 2013 +0100

    QEMU_TAG update
---
 Config.mk |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/Config.mk b/Config.mk
index 4f819f3..36567c6 100644
--- a/Config.mk
+++ b/Config.mk
@@ -224,9 +224,9 @@ ETHERBOOT_NICS ?= rtl8139 8086100e
 # CONFIG_QEMU ?= `pwd`/$(XEN_ROOT)/../qemu-xen.git
 CONFIG_QEMU ?= $(QEMU_REMOTE)
 
-QEMU_TAG ?= 13c144d96e825f145e5b37f97e5f6210c2c645e9
-# Mon Jun 17 17:39:51 2013 +0100
-# qemu-xen-traditional: disable docs
+QEMU_TAG ?= 73c4ad5a3d065267b878c8ae31ff0b4833f093e4
+# Thu Jul 25 08:11:55 2013 +0000
+# passthrough: Correctly expose PCH ISA bridge for IGD passthrough
 
 # Short answer -- do not enable this unless you know what you are
 # doing and are prepared for some pain.
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 06 00:55:16 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Aug 2013 00:55:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V6VYL-0003d6-Iw; Tue, 06 Aug 2013 00:55:09 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6VYI-0003cy-W9
	for xen-changelog@lists.xensource.com; Tue, 06 Aug 2013 00:55:08 +0000
Received: from [85.158.138.51:52115] by server-6.bemta-3.messagelabs.com id
	6F/50-00484-A6940025; Tue, 06 Aug 2013 00:55:06 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1375750504!22133496!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23214 invoked from network); 6 Aug 2013 00:55:05 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-6.tower-174.messagelabs.com with AES256-SHA encrypted SMTP;
	6 Aug 2013 00:55:05 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6VYG-00066b-0d
	for xen-changelog@lists.xensource.com; Tue, 06 Aug 2013 00:55:04 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6VYF-0002Hg-8d
	for xen-changelog@lists.xensource.com; Tue, 06 Aug 2013 00:55:03 +0000
Date: Tue, 06 Aug 2013 00:55:03 +0000
Message-Id: <E1V6VYF-0002Hg-8d@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] QEMU_TAG update
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit db3320281dd99dfad21052f11e4de74059d033fb
Author:     Ian Jackson <ian.jackson@eu.citrix.com>
AuthorDate: Mon Aug 5 16:53:08 2013 +0100
Commit:     Ian Jackson <Ian.Jackson@eu.citrix.com>
CommitDate: Mon Aug 5 16:53:08 2013 +0100

    QEMU_TAG update
---
 Config.mk |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/Config.mk b/Config.mk
index 4f819f3..36567c6 100644
--- a/Config.mk
+++ b/Config.mk
@@ -224,9 +224,9 @@ ETHERBOOT_NICS ?= rtl8139 8086100e
 # CONFIG_QEMU ?= `pwd`/$(XEN_ROOT)/../qemu-xen.git
 CONFIG_QEMU ?= $(QEMU_REMOTE)
 
-QEMU_TAG ?= 13c144d96e825f145e5b37f97e5f6210c2c645e9
-# Mon Jun 17 17:39:51 2013 +0100
-# qemu-xen-traditional: disable docs
+QEMU_TAG ?= 73c4ad5a3d065267b878c8ae31ff0b4833f093e4
+# Thu Jul 25 08:11:55 2013 +0000
+# passthrough: Correctly expose PCH ISA bridge for IGD passthrough
 
 # Short answer -- do not enable this unless you know what you are
 # doing and are prepared for some pain.
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 06 00:55:24 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Aug 2013 00:55:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V6VYU-0003dc-MA; Tue, 06 Aug 2013 00:55:18 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6VYT-0003dW-Gp
	for xen-changelog@lists.xensource.com; Tue, 06 Aug 2013 00:55:17 +0000
Received: from [85.158.136.67:19590] by server-7.bemta-5.messagelabs.com id
	C3/3A-21002-47940025; Tue, 06 Aug 2013 00:55:16 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-207.messagelabs.com!1375750514!18866955!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30515 invoked from network); 6 Aug 2013 00:55:15 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-13.tower-207.messagelabs.com with AES256-SHA encrypted SMTP;
	6 Aug 2013 00:55:15 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6VYQ-00066e-8T
	for xen-changelog@lists.xensource.com; Tue, 06 Aug 2013 00:55:14 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6VYQ-0002I4-4g
	for xen-changelog@lists.xensource.com; Tue, 06 Aug 2013 00:55:14 +0000
Date: Tue, 06 Aug 2013 00:55:14 +0000
Message-Id: <E1V6VYQ-0002I4-4g@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] fix off-by-one mistakes in vm_alloc()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit b0e55bd49725c7c0183eb18670997b9e5930adac
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Mon Aug 5 18:40:23 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Aug 5 18:40:23 2013 +0200

    fix off-by-one mistakes in vm_alloc()
    
    Also add another pair of assertions to catch eventual further cases of
    incorrect accounting, and remove the temporary debuggin messages again
    which commit 68caac7f ("x86: don't use destroy_xen_mappings() for
    vunmap()") added.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
---
 xen/common/vmap.c |   28 ++++++++++++++++++----------
 1 files changed, 18 insertions(+), 10 deletions(-)

diff --git a/xen/common/vmap.c b/xen/common/vmap.c
index e959a17..783cea3 100644
--- a/xen/common/vmap.c
+++ b/xen/common/vmap.c
@@ -57,8 +57,8 @@ void *vm_alloc(unsigned int nr, unsigned int align)
     {
         struct page_info *pg;
 
-        ASSERT(!test_bit(vm_low, vm_bitmap));
-        for ( start = vm_low; ; )
+        ASSERT(vm_low == vm_top || !test_bit(vm_low, vm_bitmap));
+        for ( start = vm_low; start < vm_top; )
         {
             bit = find_next_bit(vm_bitmap, vm_top, start + 1);
             if ( bit > vm_top )
@@ -68,12 +68,18 @@ void *vm_alloc(unsigned int nr, unsigned int align)
              * corresponding page a guard one.
              */
             start = (start + align) & ~(align - 1);
-            if ( start + nr <= bit )
-                break;
-            start = bit < vm_top ?
-                    find_next_zero_bit(vm_bitmap, vm_top, bit + 1) : bit;
-            if ( start >= vm_top )
-                break;
+            if ( bit < vm_top )
+            {
+                if ( start + nr < bit )
+                    break;
+                start = find_next_zero_bit(vm_bitmap, vm_top, bit + 1);
+            }
+            else
+            {
+                if ( start + nr <= bit )
+                    break;
+                start = bit;
+            }
         }
 
         if ( start < vm_top )
@@ -115,6 +121,10 @@ void *vm_alloc(unsigned int nr, unsigned int align)
 
     for ( bit = start; bit < start + nr; ++bit )
         __set_bit(bit, vm_bitmap);
+    if ( bit < vm_top )
+        ASSERT(!test_bit(bit, vm_bitmap));
+    else
+        ASSERT(bit == vm_top);
     if ( start <= vm_low + 2 )
         vm_low = bit;
     spin_unlock(&vm_lock);
@@ -177,7 +187,6 @@ void *__vmap(const unsigned long *mfn, unsigned int granularity,
     void *va = vm_alloc(nr * granularity, align);
     unsigned long cur = (unsigned long)va;
 
-printk("vmap(%p:%#x)\n", va, nr * granularity);//temp
     for ( ; va && nr--; ++mfn, cur += PAGE_SIZE * granularity )
     {
         if ( map_pages_to_xen(cur, *mfn, granularity, flags) )
@@ -202,7 +211,6 @@ void vunmap(const void *va)
 
     destroy_xen_mappings(addr, addr + PAGE_SIZE * vm_size(va));
 #else /* Avoid tearing down intermediate page tables. */
-printk("vunmap(%p:%#x)\n", va, vm_size(va));//temp
     map_pages_to_xen((unsigned long)va, 0, vm_size(va), _PAGE_NONE);
 #endif
     vm_free(va);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 06 00:55:24 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Aug 2013 00:55:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V6VYU-0003dc-MA; Tue, 06 Aug 2013 00:55:18 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6VYT-0003dW-Gp
	for xen-changelog@lists.xensource.com; Tue, 06 Aug 2013 00:55:17 +0000
Received: from [85.158.136.67:19590] by server-7.bemta-5.messagelabs.com id
	C3/3A-21002-47940025; Tue, 06 Aug 2013 00:55:16 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-207.messagelabs.com!1375750514!18866955!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30515 invoked from network); 6 Aug 2013 00:55:15 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-13.tower-207.messagelabs.com with AES256-SHA encrypted SMTP;
	6 Aug 2013 00:55:15 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6VYQ-00066e-8T
	for xen-changelog@lists.xensource.com; Tue, 06 Aug 2013 00:55:14 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6VYQ-0002I4-4g
	for xen-changelog@lists.xensource.com; Tue, 06 Aug 2013 00:55:14 +0000
Date: Tue, 06 Aug 2013 00:55:14 +0000
Message-Id: <E1V6VYQ-0002I4-4g@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] fix off-by-one mistakes in vm_alloc()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit b0e55bd49725c7c0183eb18670997b9e5930adac
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Mon Aug 5 18:40:23 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Aug 5 18:40:23 2013 +0200

    fix off-by-one mistakes in vm_alloc()
    
    Also add another pair of assertions to catch eventual further cases of
    incorrect accounting, and remove the temporary debuggin messages again
    which commit 68caac7f ("x86: don't use destroy_xen_mappings() for
    vunmap()") added.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
---
 xen/common/vmap.c |   28 ++++++++++++++++++----------
 1 files changed, 18 insertions(+), 10 deletions(-)

diff --git a/xen/common/vmap.c b/xen/common/vmap.c
index e959a17..783cea3 100644
--- a/xen/common/vmap.c
+++ b/xen/common/vmap.c
@@ -57,8 +57,8 @@ void *vm_alloc(unsigned int nr, unsigned int align)
     {
         struct page_info *pg;
 
-        ASSERT(!test_bit(vm_low, vm_bitmap));
-        for ( start = vm_low; ; )
+        ASSERT(vm_low == vm_top || !test_bit(vm_low, vm_bitmap));
+        for ( start = vm_low; start < vm_top; )
         {
             bit = find_next_bit(vm_bitmap, vm_top, start + 1);
             if ( bit > vm_top )
@@ -68,12 +68,18 @@ void *vm_alloc(unsigned int nr, unsigned int align)
              * corresponding page a guard one.
              */
             start = (start + align) & ~(align - 1);
-            if ( start + nr <= bit )
-                break;
-            start = bit < vm_top ?
-                    find_next_zero_bit(vm_bitmap, vm_top, bit + 1) : bit;
-            if ( start >= vm_top )
-                break;
+            if ( bit < vm_top )
+            {
+                if ( start + nr < bit )
+                    break;
+                start = find_next_zero_bit(vm_bitmap, vm_top, bit + 1);
+            }
+            else
+            {
+                if ( start + nr <= bit )
+                    break;
+                start = bit;
+            }
         }
 
         if ( start < vm_top )
@@ -115,6 +121,10 @@ void *vm_alloc(unsigned int nr, unsigned int align)
 
     for ( bit = start; bit < start + nr; ++bit )
         __set_bit(bit, vm_bitmap);
+    if ( bit < vm_top )
+        ASSERT(!test_bit(bit, vm_bitmap));
+    else
+        ASSERT(bit == vm_top);
     if ( start <= vm_low + 2 )
         vm_low = bit;
     spin_unlock(&vm_lock);
@@ -177,7 +187,6 @@ void *__vmap(const unsigned long *mfn, unsigned int granularity,
     void *va = vm_alloc(nr * granularity, align);
     unsigned long cur = (unsigned long)va;
 
-printk("vmap(%p:%#x)\n", va, nr * granularity);//temp
     for ( ; va && nr--; ++mfn, cur += PAGE_SIZE * granularity )
     {
         if ( map_pages_to_xen(cur, *mfn, granularity, flags) )
@@ -202,7 +211,6 @@ void vunmap(const void *va)
 
     destroy_xen_mappings(addr, addr + PAGE_SIZE * vm_size(va));
 #else /* Avoid tearing down intermediate page tables. */
-printk("vunmap(%p:%#x)\n", va, vm_size(va));//temp
     map_pages_to_xen((unsigned long)va, 0, vm_size(va), _PAGE_NONE);
 #endif
     vm_free(va);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 06 00:55:35 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Aug 2013 00:55:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V6VYe-0003ee-Qz; Tue, 06 Aug 2013 00:55:28 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6VYd-0003eR-Mv
	for xen-changelog@lists.xensource.com; Tue, 06 Aug 2013 00:55:27 +0000
Received: from [85.158.138.51:52515] by server-5.bemta-3.messagelabs.com id
	F7/43-15398-E7940025; Tue, 06 Aug 2013 00:55:26 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1375750524!22133509!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23356 invoked from network); 6 Aug 2013 00:55:25 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-6.tower-174.messagelabs.com with AES256-SHA encrypted SMTP;
	6 Aug 2013 00:55:25 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6VYa-00066k-F8
	for xen-changelog@lists.xensource.com; Tue, 06 Aug 2013 00:55:24 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6VYa-0002IQ-Cq
	for xen-changelog@lists.xensource.com; Tue, 06 Aug 2013 00:55:24 +0000
Date: Tue, 06 Aug 2013 00:55:24 +0000
Message-Id: <E1V6VYa-0002IQ-Cq@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] x86: refine FPU selector handling code
	for XSAVEOPT
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit c58d9f2f4844c2ce8859a8d0f26a54cd058eb51f
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Mon Aug 5 18:42:37 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Aug 5 18:42:37 2013 +0200

    x86: refine FPU selector handling code for XSAVEOPT
    
    Some extra tweaks are necessary to deal with the situation of XSAVEOPT
    not writing the FPU portion of the save image (due to it detecting that
    the register state did not get modified since the last XRSTOR).
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Tested-by: Ben Guthro <ben.guthro@gmail.com>
    Acked-by: Keir Fraser <keir@xen.org>
---
 xen/arch/x86/xstate.c |   25 +++++++++++++++++++++++++
 1 files changed, 25 insertions(+), 0 deletions(-)

diff --git a/xen/arch/x86/xstate.c b/xen/arch/x86/xstate.c
index 608accf..2c00706 100644
--- a/xen/arch/x86/xstate.c
+++ b/xen/arch/x86/xstate.c
@@ -71,10 +71,28 @@ void xsave(struct vcpu *v, uint64_t mask)
 
     if ( word_size <= 0 || !is_pv_32bit_vcpu(v) )
     {
+        typeof(ptr->fpu_sse.fip.sel) fcs = ptr->fpu_sse.fip.sel;
+        typeof(ptr->fpu_sse.fdp.sel) fds = ptr->fpu_sse.fdp.sel;
+
         if ( cpu_has_xsaveopt )
+        {
+            /*
+             * xsaveopt may not write the FPU portion even when the respective
+             * mask bit is set. For the check further down to work we hence
+             * need to put the save image back into the state that it was in
+             * right after the previous xsaveopt.
+             */
+            if ( word_size > 0 &&
+                 (ptr->fpu_sse.x[FPU_WORD_SIZE_OFFSET] == 4 ||
+                  ptr->fpu_sse.x[FPU_WORD_SIZE_OFFSET] == 2) )
+            {
+                ptr->fpu_sse.fip.sel = 0;
+                ptr->fpu_sse.fdp.sel = 0;
+            }
             asm volatile ( ".byte 0x48,0x0f,0xae,0x37"
                            : "=m" (*ptr)
                            : "a" (lmask), "d" (hmask), "D" (ptr) );
+        }
         else
             asm volatile ( ".byte 0x48,0x0f,0xae,0x27"
                            : "=m" (*ptr)
@@ -87,7 +105,14 @@ void xsave(struct vcpu *v, uint64_t mask)
               */
              (!(ptr->fpu_sse.fsw & 0x0080) &&
               boot_cpu_data.x86_vendor == X86_VENDOR_AMD) )
+        {
+            if ( cpu_has_xsaveopt && word_size > 0 )
+            {
+                ptr->fpu_sse.fip.sel = fcs;
+                ptr->fpu_sse.fdp.sel = fds;
+            }
             return;
+        }
 
         if ( word_size > 0 &&
              !((ptr->fpu_sse.fip.addr | ptr->fpu_sse.fdp.addr) >> 32) )
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 06 00:55:35 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Aug 2013 00:55:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V6VYe-0003ee-Qz; Tue, 06 Aug 2013 00:55:28 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6VYd-0003eR-Mv
	for xen-changelog@lists.xensource.com; Tue, 06 Aug 2013 00:55:27 +0000
Received: from [85.158.138.51:52515] by server-5.bemta-3.messagelabs.com id
	F7/43-15398-E7940025; Tue, 06 Aug 2013 00:55:26 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-174.messagelabs.com!1375750524!22133509!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23356 invoked from network); 6 Aug 2013 00:55:25 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-6.tower-174.messagelabs.com with AES256-SHA encrypted SMTP;
	6 Aug 2013 00:55:25 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6VYa-00066k-F8
	for xen-changelog@lists.xensource.com; Tue, 06 Aug 2013 00:55:24 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6VYa-0002IQ-Cq
	for xen-changelog@lists.xensource.com; Tue, 06 Aug 2013 00:55:24 +0000
Date: Tue, 06 Aug 2013 00:55:24 +0000
Message-Id: <E1V6VYa-0002IQ-Cq@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] x86: refine FPU selector handling code
	for XSAVEOPT
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit c58d9f2f4844c2ce8859a8d0f26a54cd058eb51f
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Mon Aug 5 18:42:37 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Aug 5 18:42:37 2013 +0200

    x86: refine FPU selector handling code for XSAVEOPT
    
    Some extra tweaks are necessary to deal with the situation of XSAVEOPT
    not writing the FPU portion of the save image (due to it detecting that
    the register state did not get modified since the last XRSTOR).
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Tested-by: Ben Guthro <ben.guthro@gmail.com>
    Acked-by: Keir Fraser <keir@xen.org>
---
 xen/arch/x86/xstate.c |   25 +++++++++++++++++++++++++
 1 files changed, 25 insertions(+), 0 deletions(-)

diff --git a/xen/arch/x86/xstate.c b/xen/arch/x86/xstate.c
index 608accf..2c00706 100644
--- a/xen/arch/x86/xstate.c
+++ b/xen/arch/x86/xstate.c
@@ -71,10 +71,28 @@ void xsave(struct vcpu *v, uint64_t mask)
 
     if ( word_size <= 0 || !is_pv_32bit_vcpu(v) )
     {
+        typeof(ptr->fpu_sse.fip.sel) fcs = ptr->fpu_sse.fip.sel;
+        typeof(ptr->fpu_sse.fdp.sel) fds = ptr->fpu_sse.fdp.sel;
+
         if ( cpu_has_xsaveopt )
+        {
+            /*
+             * xsaveopt may not write the FPU portion even when the respective
+             * mask bit is set. For the check further down to work we hence
+             * need to put the save image back into the state that it was in
+             * right after the previous xsaveopt.
+             */
+            if ( word_size > 0 &&
+                 (ptr->fpu_sse.x[FPU_WORD_SIZE_OFFSET] == 4 ||
+                  ptr->fpu_sse.x[FPU_WORD_SIZE_OFFSET] == 2) )
+            {
+                ptr->fpu_sse.fip.sel = 0;
+                ptr->fpu_sse.fdp.sel = 0;
+            }
             asm volatile ( ".byte 0x48,0x0f,0xae,0x37"
                            : "=m" (*ptr)
                            : "a" (lmask), "d" (hmask), "D" (ptr) );
+        }
         else
             asm volatile ( ".byte 0x48,0x0f,0xae,0x27"
                            : "=m" (*ptr)
@@ -87,7 +105,14 @@ void xsave(struct vcpu *v, uint64_t mask)
               */
              (!(ptr->fpu_sse.fsw & 0x0080) &&
               boot_cpu_data.x86_vendor == X86_VENDOR_AMD) )
+        {
+            if ( cpu_has_xsaveopt && word_size > 0 )
+            {
+                ptr->fpu_sse.fip.sel = fcs;
+                ptr->fpu_sse.fdp.sel = fds;
+            }
             return;
+        }
 
         if ( word_size > 0 &&
              !((ptr->fpu_sse.fip.addr | ptr->fpu_sse.fdp.addr) >> 32) )
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 07 04:44:16 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Aug 2013 04:44:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V6vbT-0004K7-Om; Wed, 07 Aug 2013 04:44:07 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6vbS-0004Jy-Hv
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 04:44:06 +0000
Received: from [85.158.138.51:16914] by server-8.bemta-3.messagelabs.com id
	94/1A-18692-590D1025; Wed, 07 Aug 2013 04:44:05 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1375850643!30380014!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29585 invoked from network); 7 Aug 2013 04:44:04 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-5.tower-174.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Aug 2013 04:44:04 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6vbP-0005Sj-8H
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 04:44:03 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6vbP-0006ti-1C
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 04:44:03 +0000
Date: Wed, 07 Aug 2013 04:44:03 +0000
Message-Id: <E1V6vbP-0006ti-1C@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] Nested VMX: Flush TLBs and Caches if
	paging mode changed
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit e1ab5c77b44b7bd835a2c032fa4963b36545fdb3
Author:     Yang Zhang <yang.z.zhang@Intel.com>
AuthorDate: Tue Aug 6 17:22:35 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 6 17:22:35 2013 +0200

    Nested VMX: Flush TLBs and Caches if paging mode changed
    
    According to SDM, if paging mode is changed, then whole TLBs and caches will
    be flushed. This is missed in nested handle logic. Also this fixed the issue
    that 64 bits windows cannot boot up on top of L1 kvm.
    
    Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com>
    Acked-by: Keir Fraser <keir@xen.org>
---
 xen/arch/x86/mm/paging.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/xen/arch/x86/mm/paging.c b/xen/arch/x86/mm/paging.c
index cd08b2a..4ba7669 100644
--- a/xen/arch/x86/mm/paging.c
+++ b/xen/arch/x86/mm/paging.c
@@ -709,6 +709,7 @@ void paging_update_nestedmode(struct vcpu *v)
     else
         /* TODO: shadow-on-shadow */
         v->arch.paging.nestedmode = NULL;
+    hvm_asid_flush_vcpu(v);
 }
 
 void paging_write_p2m_entry(struct p2m_domain *p2m, unsigned long gfn,
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 07 04:44:16 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Aug 2013 04:44:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V6vbT-0004K7-Om; Wed, 07 Aug 2013 04:44:07 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6vbS-0004Jy-Hv
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 04:44:06 +0000
Received: from [85.158.138.51:16914] by server-8.bemta-3.messagelabs.com id
	94/1A-18692-590D1025; Wed, 07 Aug 2013 04:44:05 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-174.messagelabs.com!1375850643!30380014!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29585 invoked from network); 7 Aug 2013 04:44:04 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-5.tower-174.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Aug 2013 04:44:04 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6vbP-0005Sj-8H
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 04:44:03 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6vbP-0006ti-1C
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 04:44:03 +0000
Date: Wed, 07 Aug 2013 04:44:03 +0000
Message-Id: <E1V6vbP-0006ti-1C@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] Nested VMX: Flush TLBs and Caches if
	paging mode changed
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit e1ab5c77b44b7bd835a2c032fa4963b36545fdb3
Author:     Yang Zhang <yang.z.zhang@Intel.com>
AuthorDate: Tue Aug 6 17:22:35 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 6 17:22:35 2013 +0200

    Nested VMX: Flush TLBs and Caches if paging mode changed
    
    According to SDM, if paging mode is changed, then whole TLBs and caches will
    be flushed. This is missed in nested handle logic. Also this fixed the issue
    that 64 bits windows cannot boot up on top of L1 kvm.
    
    Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com>
    Acked-by: Keir Fraser <keir@xen.org>
---
 xen/arch/x86/mm/paging.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/xen/arch/x86/mm/paging.c b/xen/arch/x86/mm/paging.c
index cd08b2a..4ba7669 100644
--- a/xen/arch/x86/mm/paging.c
+++ b/xen/arch/x86/mm/paging.c
@@ -709,6 +709,7 @@ void paging_update_nestedmode(struct vcpu *v)
     else
         /* TODO: shadow-on-shadow */
         v->arch.paging.nestedmode = NULL;
+    hvm_asid_flush_vcpu(v);
 }
 
 void paging_write_p2m_entry(struct p2m_domain *p2m, unsigned long gfn,
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 07 04:44:21 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Aug 2013 04:44:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V6vbd-0004LD-VD; Wed, 07 Aug 2013 04:44:17 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6vbc-0004Kr-ET
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 04:44:16 +0000
Received: from [85.158.139.83:48567] by server-15.bemta-5.messagelabs.com id
	3D/AF-01226-F90D1025; Wed, 07 Aug 2013 04:44:15 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1375850653!19294919!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4173 invoked from network); 7 Aug 2013 04:44:14 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-8.tower-182.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Aug 2013 04:44:14 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6vbZ-0005Sm-MD
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 04:44:13 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6vbZ-0006u8-E2
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 04:44:13 +0000
Date: Wed, 07 Aug 2013 04:44:13 +0000
Message-Id: <E1V6vbZ-0006u8-E2@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen/conring: Clean up writing to the
	console ring
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit cc90bf1894daf9f97791495e2256e7e342e25704
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Aug 6 17:44:31 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 6 17:44:31 2013 +0200

    xen/conring: Clean up writing to the console ring
    
    Refactor putchar_console_ring() to conring_puts().  This allows for
    consistency with {sercon,vga}_puts(), prevents needless recalculation of
    the conring consumer index, and slight cleanup at the two callsites.
    
    There is no functional change.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Matt Wilson <msw@amazon.com>
    Acked-by: Keir Fraser <keir@xen.org>
---
 xen/drivers/char/console.c |   19 ++++++++++---------
 1 files changed, 10 insertions(+), 9 deletions(-)

diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index b696b3e..45b81b3 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -175,10 +175,15 @@ static char * __init loglvl_str(int lvl)
  * ********************************************************
  */
 
-static void putchar_console_ring(int c)
+static void conring_puts(const char *str)
 {
+    char c;
+
     ASSERT(spin_is_locked(&console_lock));
-    conring[CONRING_IDX_MASK(conringp++)] = c;
+
+    while ( (c = *str++) != '\0' )
+        conring[CONRING_IDX_MASK(conringp++)] = c;
+
     if ( (uint32_t)(conringp - conringc) > conring_size )
         conringc = conringp - conring_size;
 }
@@ -368,7 +373,7 @@ static DECLARE_SOFTIRQ_TASKLET(notify_dom0_con_ring_tasklet,
 
 static long guest_console_write(XEN_GUEST_HANDLE_PARAM(char) buffer, int count)
 {
-    char kbuf[128], *kptr;
+    char kbuf[128];
     int kcount;
 
     while ( count > 0 )
@@ -390,8 +395,7 @@ static long guest_console_write(XEN_GUEST_HANDLE_PARAM(char) buffer, int count)
 
         if ( opt_console_to_ring )
         {
-            for ( kptr = kbuf; *kptr != '\0'; kptr++ )
-                putchar_console_ring(*kptr);
+            conring_puts(kbuf);
             tasklet_schedule(&notify_dom0_con_ring_tasklet);
         }
 
@@ -456,8 +460,6 @@ static bool_t console_locks_busted;
 
 static void __putstr(const char *str)
 {
-    int c;
-
     ASSERT(spin_is_locked(&console_lock));
 
     sercon_puts(str);
@@ -465,8 +467,7 @@ static void __putstr(const char *str)
 
     if ( !console_locks_busted )
     {
-        while ( (c = *str++) != '\0' )
-            putchar_console_ring(c);
+        conring_puts(str);
         tasklet_schedule(&notify_dom0_con_ring_tasklet);
     }
 }
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 07 04:44:21 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Aug 2013 04:44:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V6vbd-0004LD-VD; Wed, 07 Aug 2013 04:44:17 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6vbc-0004Kr-ET
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 04:44:16 +0000
Received: from [85.158.139.83:48567] by server-15.bemta-5.messagelabs.com id
	3D/AF-01226-F90D1025; Wed, 07 Aug 2013 04:44:15 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-182.messagelabs.com!1375850653!19294919!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4173 invoked from network); 7 Aug 2013 04:44:14 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-8.tower-182.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Aug 2013 04:44:14 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6vbZ-0005Sm-MD
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 04:44:13 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6vbZ-0006u8-E2
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 04:44:13 +0000
Date: Wed, 07 Aug 2013 04:44:13 +0000
Message-Id: <E1V6vbZ-0006u8-E2@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen/conring: Clean up writing to the
	console ring
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit cc90bf1894daf9f97791495e2256e7e342e25704
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Aug 6 17:44:31 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 6 17:44:31 2013 +0200

    xen/conring: Clean up writing to the console ring
    
    Refactor putchar_console_ring() to conring_puts().  This allows for
    consistency with {sercon,vga}_puts(), prevents needless recalculation of
    the conring consumer index, and slight cleanup at the two callsites.
    
    There is no functional change.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Matt Wilson <msw@amazon.com>
    Acked-by: Keir Fraser <keir@xen.org>
---
 xen/drivers/char/console.c |   19 ++++++++++---------
 1 files changed, 10 insertions(+), 9 deletions(-)

diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index b696b3e..45b81b3 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -175,10 +175,15 @@ static char * __init loglvl_str(int lvl)
  * ********************************************************
  */
 
-static void putchar_console_ring(int c)
+static void conring_puts(const char *str)
 {
+    char c;
+
     ASSERT(spin_is_locked(&console_lock));
-    conring[CONRING_IDX_MASK(conringp++)] = c;
+
+    while ( (c = *str++) != '\0' )
+        conring[CONRING_IDX_MASK(conringp++)] = c;
+
     if ( (uint32_t)(conringp - conringc) > conring_size )
         conringc = conringp - conring_size;
 }
@@ -368,7 +373,7 @@ static DECLARE_SOFTIRQ_TASKLET(notify_dom0_con_ring_tasklet,
 
 static long guest_console_write(XEN_GUEST_HANDLE_PARAM(char) buffer, int count)
 {
-    char kbuf[128], *kptr;
+    char kbuf[128];
     int kcount;
 
     while ( count > 0 )
@@ -390,8 +395,7 @@ static long guest_console_write(XEN_GUEST_HANDLE_PARAM(char) buffer, int count)
 
         if ( opt_console_to_ring )
         {
-            for ( kptr = kbuf; *kptr != '\0'; kptr++ )
-                putchar_console_ring(*kptr);
+            conring_puts(kbuf);
             tasklet_schedule(&notify_dom0_con_ring_tasklet);
         }
 
@@ -456,8 +460,6 @@ static bool_t console_locks_busted;
 
 static void __putstr(const char *str)
 {
-    int c;
-
     ASSERT(spin_is_locked(&console_lock));
 
     sercon_puts(str);
@@ -465,8 +467,7 @@ static void __putstr(const char *str)
 
     if ( !console_locks_busted )
     {
-        while ( (c = *str++) != '\0' )
-            putchar_console_ring(c);
+        conring_puts(str);
         tasklet_schedule(&notify_dom0_con_ring_tasklet);
     }
 }
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 07 04:44:30 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Aug 2013 04:44:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V6vbo-0004MV-1r; Wed, 07 Aug 2013 04:44:28 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6vbm-0004MH-Er
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 04:44:26 +0000
Received: from [85.158.139.83:44575] by server-17.bemta-5.messagelabs.com id
	22/32-26639-9A0D1025; Wed, 07 Aug 2013 04:44:25 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-182.messagelabs.com!1375850664!23333580!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30302 invoked from network); 7 Aug 2013 04:44:25 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-11.tower-182.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Aug 2013 04:44:25 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6vbj-0005Sz-UY
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 04:44:23 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6vbj-0006uW-PY
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 04:44:23 +0000
Date: Wed, 07 Aug 2013 04:44:23 +0000
Message-Id: <E1V6vbj-0006uW-PY@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen/conring: Write to console ring
	even if console lock is busted
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 66450c1d1ab3c4480bbba949113b95d1ab6a943a
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Aug 6 17:45:00 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 6 17:45:00 2013 +0200

    xen/conring: Write to console ring even if console lock is busted
    
    console_lock_busted gets set when an NMI/MCE/Double Fault handler decides to
    bring Xen down in an emergency.  conring_puts() cannot block and does
    not have problematic interactions with the console_lock.
    
    Therefore, choosing to not put the string into the console ring simply means
    that the kexec environment cant find any panic() message caused by an IST
    interrupt, which is unhelpful for debugging purposes.
    
    In the case that two pcpus fight with console_force_unlock(), having slightly
    garbled strings in the console ring is far more useful than having nothing at
    all.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Matt Wilson <msw@amazon.com>
    Acked-by: Keir Fraser <keir@xen.org>
---
 xen/drivers/char/console.c |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index 45b81b3..8ac32e4 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -465,11 +465,10 @@ static void __putstr(const char *str)
     sercon_puts(str);
     video_puts(str);
 
+    conring_puts(str);
+
     if ( !console_locks_busted )
-    {
-        conring_puts(str);
         tasklet_schedule(&notify_dom0_con_ring_tasklet);
-    }
 }
 
 static int printk_prefix_check(char *p, char **pp)
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 07 04:44:30 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Aug 2013 04:44:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V6vbo-0004MV-1r; Wed, 07 Aug 2013 04:44:28 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6vbm-0004MH-Er
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 04:44:26 +0000
Received: from [85.158.139.83:44575] by server-17.bemta-5.messagelabs.com id
	22/32-26639-9A0D1025; Wed, 07 Aug 2013 04:44:25 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-182.messagelabs.com!1375850664!23333580!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30302 invoked from network); 7 Aug 2013 04:44:25 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-11.tower-182.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Aug 2013 04:44:25 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6vbj-0005Sz-UY
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 04:44:23 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V6vbj-0006uW-PY
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 04:44:23 +0000
Date: Wed, 07 Aug 2013 04:44:23 +0000
Message-Id: <E1V6vbj-0006uW-PY@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen/conring: Write to console ring
	even if console lock is busted
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 66450c1d1ab3c4480bbba949113b95d1ab6a943a
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Aug 6 17:45:00 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 6 17:45:00 2013 +0200

    xen/conring: Write to console ring even if console lock is busted
    
    console_lock_busted gets set when an NMI/MCE/Double Fault handler decides to
    bring Xen down in an emergency.  conring_puts() cannot block and does
    not have problematic interactions with the console_lock.
    
    Therefore, choosing to not put the string into the console ring simply means
    that the kexec environment cant find any panic() message caused by an IST
    interrupt, which is unhelpful for debugging purposes.
    
    In the case that two pcpus fight with console_force_unlock(), having slightly
    garbled strings in the console ring is far more useful than having nothing at
    all.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Matt Wilson <msw@amazon.com>
    Acked-by: Keir Fraser <keir@xen.org>
---
 xen/drivers/char/console.c |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index 45b81b3..8ac32e4 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -465,11 +465,10 @@ static void __putstr(const char *str)
     sercon_puts(str);
     video_puts(str);
 
+    conring_puts(str);
+
     if ( !console_locks_busted )
-    {
-        conring_puts(str);
         tasklet_schedule(&notify_dom0_con_ring_tasklet);
-    }
 }
 
 static int printk_prefix_check(char *p, char **pp)
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 07 15:26:11 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Aug 2013 15:26:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V75cl-0007Aw-Sm; Wed, 07 Aug 2013 15:26:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V75ck-0007Ag-3w
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 15:26:06 +0000
Received: from [85.158.143.35:41588] by server-2.bemta-4.messagelabs.com id
	7A/AD-09492-C0762025; Wed, 07 Aug 2013 15:26:04 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1375888922!2779888!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20797 invoked from network); 7 Aug 2013 15:22:03 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-9.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Aug 2013 15:22:03 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V75Yo-0004jz-GX
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 15:22:02 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V75Yo-0008In-Ay
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 15:22:02 +0000
Date: Wed, 07 Aug 2013 15:22:02 +0000
Message-Id: <E1V75Yo-0008In-Ay@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [qemu-xen-unstable] qemu-xen-traditional: allow
	build without blktap1
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 84411871262363200e70fa087d7b21647091a450
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed Jul 31 16:16:16 2013 +0100
Commit:     Ian Jackson <Ian.Jackson@eu.citrix.com>
CommitDate: Wed Aug 7 16:11:09 2013 +0100

    qemu-xen-traditional: allow build without blktap1
    
    I intend this to become optional at the xen build level so it needs to become
    optional here. Until the matching Xen patch is applied and exports
    CONFIG_BLKTAP1=y|n there should be no change.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 hw/xen_machine_pv.c |    4 ++--
 xen-config-host.h   |    2 +-
 xen-hooks.mak       |    4 +++-
 3 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/hw/xen_machine_pv.c b/hw/xen_machine_pv.c
index c09adbb..e7283b0 100644
--- a/hw/xen_machine_pv.c
+++ b/hw/xen_machine_pv.c
@@ -29,7 +29,7 @@
 #include "xen_backend.h"
 #include "qemu-xen.h"
 
-#ifndef CONFIG_STUBDOM
+#if defined(CONFIG_BLKTAP1) && !defined(CONFIG_STUBDOM)
 #include <hw/xen_blktap.h>
 #endif
 
@@ -47,7 +47,7 @@ static void xen_init_pv(ram_addr_t ram_size, int vga_ram_size,
     CPUState *env;
     uint32_t domid_target;
 
-#if !defined(CONFIG_STUBDOM) && !defined(__NetBSD__)
+#if defined(CONFIG_BLKTAP1) && !defined(CONFIG_STUBDOM) && !defined(__NetBSD__)
     /* Initialize tapdisk client */
     init_blktap();
 #endif
diff --git a/xen-config-host.h b/xen-config-host.h
index 647f6be..3a02021 100644
--- a/xen-config-host.h
+++ b/xen-config-host.h
@@ -18,7 +18,7 @@ extern int domid, domid_backend;
 
 #include "xenctrl.h"
 #include "xenstore.h"
-#if !defined(CONFIG_STUBDOM) && !defined(__NetBSD__)
+#if defined(CONFIG_BLKTAP1) && !defined(CONFIG_STUBDOM) && !defined(__NetBSD__)
 #include "blktaplib.h"
 #endif
 
diff --git a/xen-hooks.mak b/xen-hooks.mak
index 58d61c9..b91400e 100644
--- a/xen-hooks.mak
+++ b/xen-hooks.mak
@@ -47,9 +47,11 @@ CONFIG_AUDIO=
 OBJS += xenfbfront.o
 else
 ifndef CONFIG_NetBSD
-CPPFLAGS+= -I$(XEN_ROOT)/tools/blktap/lib
+ifneq ($(CONFIG_BLKTAP1),n)
+CPPFLAGS+= -DCONFIG_BLKTAP1 -I$(XEN_ROOT)/tools/blktap/lib
 LIBS += -L$(XEN_ROOT)/tools/blktap/lib -lblktap
 OBJS += xen_blktap.o
+endif
 OBJS += tpm_tis.o
 endif
 endif
--
generated by git-patchbot for /home/xen/git/qemu-xen-unstable.git

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 07 15:26:11 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Aug 2013 15:26:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V75cl-0007Aw-Sm; Wed, 07 Aug 2013 15:26:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V75ck-0007Ag-3w
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 15:26:06 +0000
Received: from [85.158.143.35:41588] by server-2.bemta-4.messagelabs.com id
	7A/AD-09492-C0762025; Wed, 07 Aug 2013 15:26:04 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1375888922!2779888!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20797 invoked from network); 7 Aug 2013 15:22:03 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-9.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Aug 2013 15:22:03 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V75Yo-0004jz-GX
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 15:22:02 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V75Yo-0008In-Ay
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 15:22:02 +0000
Date: Wed, 07 Aug 2013 15:22:02 +0000
Message-Id: <E1V75Yo-0008In-Ay@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [qemu-xen-unstable] qemu-xen-traditional: allow
	build without blktap1
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 84411871262363200e70fa087d7b21647091a450
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed Jul 31 16:16:16 2013 +0100
Commit:     Ian Jackson <Ian.Jackson@eu.citrix.com>
CommitDate: Wed Aug 7 16:11:09 2013 +0100

    qemu-xen-traditional: allow build without blktap1
    
    I intend this to become optional at the xen build level so it needs to become
    optional here. Until the matching Xen patch is applied and exports
    CONFIG_BLKTAP1=y|n there should be no change.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 hw/xen_machine_pv.c |    4 ++--
 xen-config-host.h   |    2 +-
 xen-hooks.mak       |    4 +++-
 3 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/hw/xen_machine_pv.c b/hw/xen_machine_pv.c
index c09adbb..e7283b0 100644
--- a/hw/xen_machine_pv.c
+++ b/hw/xen_machine_pv.c
@@ -29,7 +29,7 @@
 #include "xen_backend.h"
 #include "qemu-xen.h"
 
-#ifndef CONFIG_STUBDOM
+#if defined(CONFIG_BLKTAP1) && !defined(CONFIG_STUBDOM)
 #include <hw/xen_blktap.h>
 #endif
 
@@ -47,7 +47,7 @@ static void xen_init_pv(ram_addr_t ram_size, int vga_ram_size,
     CPUState *env;
     uint32_t domid_target;
 
-#if !defined(CONFIG_STUBDOM) && !defined(__NetBSD__)
+#if defined(CONFIG_BLKTAP1) && !defined(CONFIG_STUBDOM) && !defined(__NetBSD__)
     /* Initialize tapdisk client */
     init_blktap();
 #endif
diff --git a/xen-config-host.h b/xen-config-host.h
index 647f6be..3a02021 100644
--- a/xen-config-host.h
+++ b/xen-config-host.h
@@ -18,7 +18,7 @@ extern int domid, domid_backend;
 
 #include "xenctrl.h"
 #include "xenstore.h"
-#if !defined(CONFIG_STUBDOM) && !defined(__NetBSD__)
+#if defined(CONFIG_BLKTAP1) && !defined(CONFIG_STUBDOM) && !defined(__NetBSD__)
 #include "blktaplib.h"
 #endif
 
diff --git a/xen-hooks.mak b/xen-hooks.mak
index 58d61c9..b91400e 100644
--- a/xen-hooks.mak
+++ b/xen-hooks.mak
@@ -47,9 +47,11 @@ CONFIG_AUDIO=
 OBJS += xenfbfront.o
 else
 ifndef CONFIG_NetBSD
-CPPFLAGS+= -I$(XEN_ROOT)/tools/blktap/lib
+ifneq ($(CONFIG_BLKTAP1),n)
+CPPFLAGS+= -DCONFIG_BLKTAP1 -I$(XEN_ROOT)/tools/blktap/lib
 LIBS += -L$(XEN_ROOT)/tools/blktap/lib -lblktap
 OBJS += xen_blktap.o
+endif
 OBJS += tpm_tis.o
 endif
 endif
--
generated by git-patchbot for /home/xen/git/qemu-xen-unstable.git

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 07 20:44:19 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Aug 2013 20:44:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7AaY-00067R-GK; Wed, 07 Aug 2013 20:44:10 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7AaW-00067H-Hv
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 20:44:08 +0000
Received: from [85.158.137.68:11749] by server-6.bemta-3.messagelabs.com id
	EE/88-00484-691B2025; Wed, 07 Aug 2013 20:44:06 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-31.messagelabs.com!1375908245!568452!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17304 invoked from network); 7 Aug 2013 20:44:06 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-7.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Aug 2013 20:44:06 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7AaR-0000Gb-Tx
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 20:44:04 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7AaR-0000vm-Qh
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 20:44:03 +0000
Date: Wed, 07 Aug 2013 20:44:03 +0000
Message-Id: <E1V7AaR-0000vm-Qh@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.3] x86/mm: Ensure useful progress in
	alloc_l2_table()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit b20db11e11897d0a65f07d299ab185c984d93ba3
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Wed Aug 7 16:48:56 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Aug 7 16:48:56 2013 +0200

    x86/mm: Ensure useful progress in alloc_l2_table()
    
    While debugging the issue which turned out to be XSA-58, a printk in this loop
    showed that it was quite easy to never make useful progress, because of
    consistently failing the preemption check.
    
    One single l2 entry is a reasonable amount of work to do, even if an action is
    pending, and also assures forwards progress across repeat continuations.
    
    Tweak the continuation criteria to fail on the first iteration of the loop.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
    master commit: d3a55d7d9bb518efe08143d050deff9f4ee80ec1
    master date: 2013-07-04 10:33:18 +0200
---
 xen/arch/x86/mm.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index 77dcafc..f151dec 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -1278,7 +1278,8 @@ static int alloc_l2_table(struct page_info *page, unsigned long type,
 
     for ( i = page->nr_validated_ptes; i < L2_PAGETABLE_ENTRIES; i++ )
     {
-        if ( preemptible && i && hypercall_preempt_check() )
+        if ( preemptible && i > page->nr_validated_ptes
+             && hypercall_preempt_check() )
         {
             page->nr_validated_ptes = i;
             rc = -EAGAIN;
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 07 20:44:19 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Aug 2013 20:44:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7AaY-00067R-GK; Wed, 07 Aug 2013 20:44:10 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7AaW-00067H-Hv
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 20:44:08 +0000
Received: from [85.158.137.68:11749] by server-6.bemta-3.messagelabs.com id
	EE/88-00484-691B2025; Wed, 07 Aug 2013 20:44:06 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-31.messagelabs.com!1375908245!568452!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17304 invoked from network); 7 Aug 2013 20:44:06 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-7.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Aug 2013 20:44:06 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7AaR-0000Gb-Tx
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 20:44:04 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7AaR-0000vm-Qh
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 20:44:03 +0000
Date: Wed, 07 Aug 2013 20:44:03 +0000
Message-Id: <E1V7AaR-0000vm-Qh@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.3] x86/mm: Ensure useful progress in
	alloc_l2_table()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit b20db11e11897d0a65f07d299ab185c984d93ba3
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Wed Aug 7 16:48:56 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Aug 7 16:48:56 2013 +0200

    x86/mm: Ensure useful progress in alloc_l2_table()
    
    While debugging the issue which turned out to be XSA-58, a printk in this loop
    showed that it was quite easy to never make useful progress, because of
    consistently failing the preemption check.
    
    One single l2 entry is a reasonable amount of work to do, even if an action is
    pending, and also assures forwards progress across repeat continuations.
    
    Tweak the continuation criteria to fail on the first iteration of the loop.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
    master commit: d3a55d7d9bb518efe08143d050deff9f4ee80ec1
    master date: 2013-07-04 10:33:18 +0200
---
 xen/arch/x86/mm.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index 77dcafc..f151dec 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -1278,7 +1278,8 @@ static int alloc_l2_table(struct page_info *page, unsigned long type,
 
     for ( i = page->nr_validated_ptes; i < L2_PAGETABLE_ENTRIES; i++ )
     {
-        if ( preemptible && i && hypercall_preempt_check() )
+        if ( preemptible && i > page->nr_validated_ptes
+             && hypercall_preempt_check() )
         {
             page->nr_validated_ptes = i;
             rc = -EAGAIN;
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 07 20:44:26 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Aug 2013 20:44:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7Aag-00067m-JK; Wed, 07 Aug 2013 20:44:18 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7Aaf-00067g-Hg
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 20:44:17 +0000
Received: from [85.158.139.211:18605] by server-9.bemta-5.messagelabs.com id
	58/AC-26025-0A1B2025; Wed, 07 Aug 2013 20:44:16 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-206.messagelabs.com!1375908255!1315098!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25515 invoked from network); 7 Aug 2013 20:44:16 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-13.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Aug 2013 20:44:16 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7Aac-0000Ge-UX
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 20:44:14 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7Aac-0000wA-Sl
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 20:44:14 +0000
Date: Wed, 07 Aug 2013 20:44:14 +0000
Message-Id: <E1V7Aac-0000wA-Sl@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.3] adjust x86 EFI build
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit d6f846985f4edf2d341f6daa70becc918a555048
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Aug 7 16:49:39 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Aug 7 16:49:39 2013 +0200

    adjust x86 EFI build
    
    While the rule to generate .init.o files from .o ones already correctly
    included $(extra-y), the setting of the necessary compiler flag didn't
    have the same. With some yet to be posted patch this resulted in build
    breakage because of the compiler deciding not to inline a few functions
    (which then results in .text not being empty as required for these
    object files).
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Keir Fraser <keir@xen.org>
    master commit: 5656b93d215d7c5160790ea87758625ba1de16b1
    master date: 2013-07-10 10:03:40 +0200
---
 xen/Rules.mk |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/xen/Rules.mk b/xen/Rules.mk
index 3f0b262..4d182b9 100644
--- a/xen/Rules.mk
+++ b/xen/Rules.mk
@@ -101,7 +101,7 @@ obj-y    := $(patsubst %/,%/built-in.o,$(obj-y))
 
 subdir-all := $(subdir-y) $(subdir-n)
 
-$(filter %.init.o,$(obj-y) $(obj-bin-y)): CFLAGS += -DINIT_SECTIONS_ONLY
+$(filter %.init.o,$(obj-y) $(obj-bin-y) $(extra-y)): CFLAGS += -DINIT_SECTIONS_ONLY
 
 $(obj-$(coverage)): CFLAGS += -fprofile-arcs -ftest-coverage -DTEST_COVERAGE
 
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 07 20:44:26 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Aug 2013 20:44:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7Aag-00067m-JK; Wed, 07 Aug 2013 20:44:18 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7Aaf-00067g-Hg
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 20:44:17 +0000
Received: from [85.158.139.211:18605] by server-9.bemta-5.messagelabs.com id
	58/AC-26025-0A1B2025; Wed, 07 Aug 2013 20:44:16 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-206.messagelabs.com!1375908255!1315098!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25515 invoked from network); 7 Aug 2013 20:44:16 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-13.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Aug 2013 20:44:16 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7Aac-0000Ge-UX
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 20:44:14 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7Aac-0000wA-Sl
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 20:44:14 +0000
Date: Wed, 07 Aug 2013 20:44:14 +0000
Message-Id: <E1V7Aac-0000wA-Sl@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.3] adjust x86 EFI build
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit d6f846985f4edf2d341f6daa70becc918a555048
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Aug 7 16:49:39 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Aug 7 16:49:39 2013 +0200

    adjust x86 EFI build
    
    While the rule to generate .init.o files from .o ones already correctly
    included $(extra-y), the setting of the necessary compiler flag didn't
    have the same. With some yet to be posted patch this resulted in build
    breakage because of the compiler deciding not to inline a few functions
    (which then results in .text not being empty as required for these
    object files).
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Keir Fraser <keir@xen.org>
    master commit: 5656b93d215d7c5160790ea87758625ba1de16b1
    master date: 2013-07-10 10:03:40 +0200
---
 xen/Rules.mk |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/xen/Rules.mk b/xen/Rules.mk
index 3f0b262..4d182b9 100644
--- a/xen/Rules.mk
+++ b/xen/Rules.mk
@@ -101,7 +101,7 @@ obj-y    := $(patsubst %/,%/built-in.o,$(obj-y))
 
 subdir-all := $(subdir-y) $(subdir-n)
 
-$(filter %.init.o,$(obj-y) $(obj-bin-y)): CFLAGS += -DINIT_SECTIONS_ONLY
+$(filter %.init.o,$(obj-y) $(obj-bin-y) $(extra-y)): CFLAGS += -DINIT_SECTIONS_ONLY
 
 $(obj-$(coverage)): CFLAGS += -fprofile-arcs -ftest-coverage -DTEST_COVERAGE
 
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 07 20:44:33 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Aug 2013 20:44:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7Aas-000691-MR; Wed, 07 Aug 2013 20:44:30 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7Aar-00068m-94
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 20:44:29 +0000
Received: from [193.109.254.147:55719] by server-16.bemta-14.messagelabs.com
	id 07/D6-31186-CA1B2025; Wed, 07 Aug 2013 20:44:28 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1375908265!3001681!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12159 invoked from network); 7 Aug 2013 20:44:26 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-8.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Aug 2013 20:44:26 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7Aan-0000Gk-3a
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 20:44:25 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7Aan-0000wW-1q
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 20:44:25 +0000
Date: Wed, 07 Aug 2013 20:44:25 +0000
Message-Id: <E1V7Aan-0000wW-1q@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.3] x86/cpuidle: Change logging for
	unknown APIC IDs
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit f3e6e2a9db06448aa3cef2c407b751a60595528e
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Wed Aug 7 16:51:56 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Aug 7 16:51:56 2013 +0200

    x86/cpuidle: Change logging for unknown APIC IDs
    
    Dom0 uses this hypercall to pass ACPI information to Xen.  It is not very
    uncommon for more cpus to be listed in the ACPI tables than are present on the
    system, particularly on systems with a common BIOS for a 2 and 4 socket server
    varients.
    
    As Dom0 does not control the number of entries in the ACPI tables, and is
    required to pass everything it finds to Xen, change the logging.
    
    There is now an single unconditional warning for the first unknown ID, and
    further warnings if "cpuinfo" is requested by the user on the command line.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: 85047d9e4f4afeb73bca1e98f705a2f4f1d51c03
    master date: 2013-07-17 08:45:20 +0200
---
 xen/arch/x86/acpi/cpu_idle.c |    5 ++++-
 xen/arch/x86/cpu/common.c    |    2 +-
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/acpi/cpu_idle.c b/xen/arch/x86/acpi/cpu_idle.c
index 8cb1514..dfc38f3 100644
--- a/xen/arch/x86/acpi/cpu_idle.c
+++ b/xen/arch/x86/acpi/cpu_idle.c
@@ -1031,7 +1031,10 @@ long set_cx_pminfo(uint32_t cpu, struct xen_processor_power *power)
     cpu_id = get_cpu_id(cpu);
     if ( cpu_id == -1 )
     {
-        printk(XENLOG_ERR "no cpu_id for acpi_id %d\n", cpu);
+        static bool_t warn_once = 1;
+        if ( warn_once || opt_cpu_info )
+            printk(XENLOG_WARNING "No CPU ID for APIC ID %#x\n", cpu);
+        warn_once = 0;
         return -EINVAL;
     }
 
diff --git a/xen/arch/x86/cpu/common.c b/xen/arch/x86/cpu/common.c
index 5e8a758..24c3dd8 100644
--- a/xen/arch/x86/cpu/common.c
+++ b/xen/arch/x86/cpu/common.c
@@ -63,7 +63,7 @@ static struct cpu_dev default_cpu = {
 };
 static struct cpu_dev * this_cpu = &default_cpu;
 
-bool_t __cpuinitdata opt_cpu_info;
+bool_t opt_cpu_info;
 boolean_param("cpuinfo", opt_cpu_info);
 
 int __cpuinit get_model_name(struct cpuinfo_x86 *c)
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 07 20:44:33 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Aug 2013 20:44:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7Aas-000691-MR; Wed, 07 Aug 2013 20:44:30 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7Aar-00068m-94
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 20:44:29 +0000
Received: from [193.109.254.147:55719] by server-16.bemta-14.messagelabs.com
	id 07/D6-31186-CA1B2025; Wed, 07 Aug 2013 20:44:28 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1375908265!3001681!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12159 invoked from network); 7 Aug 2013 20:44:26 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-8.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Aug 2013 20:44:26 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7Aan-0000Gk-3a
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 20:44:25 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7Aan-0000wW-1q
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 20:44:25 +0000
Date: Wed, 07 Aug 2013 20:44:25 +0000
Message-Id: <E1V7Aan-0000wW-1q@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.3] x86/cpuidle: Change logging for
	unknown APIC IDs
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit f3e6e2a9db06448aa3cef2c407b751a60595528e
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Wed Aug 7 16:51:56 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Aug 7 16:51:56 2013 +0200

    x86/cpuidle: Change logging for unknown APIC IDs
    
    Dom0 uses this hypercall to pass ACPI information to Xen.  It is not very
    uncommon for more cpus to be listed in the ACPI tables than are present on the
    system, particularly on systems with a common BIOS for a 2 and 4 socket server
    varients.
    
    As Dom0 does not control the number of entries in the ACPI tables, and is
    required to pass everything it finds to Xen, change the logging.
    
    There is now an single unconditional warning for the first unknown ID, and
    further warnings if "cpuinfo" is requested by the user on the command line.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: 85047d9e4f4afeb73bca1e98f705a2f4f1d51c03
    master date: 2013-07-17 08:45:20 +0200
---
 xen/arch/x86/acpi/cpu_idle.c |    5 ++++-
 xen/arch/x86/cpu/common.c    |    2 +-
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/acpi/cpu_idle.c b/xen/arch/x86/acpi/cpu_idle.c
index 8cb1514..dfc38f3 100644
--- a/xen/arch/x86/acpi/cpu_idle.c
+++ b/xen/arch/x86/acpi/cpu_idle.c
@@ -1031,7 +1031,10 @@ long set_cx_pminfo(uint32_t cpu, struct xen_processor_power *power)
     cpu_id = get_cpu_id(cpu);
     if ( cpu_id == -1 )
     {
-        printk(XENLOG_ERR "no cpu_id for acpi_id %d\n", cpu);
+        static bool_t warn_once = 1;
+        if ( warn_once || opt_cpu_info )
+            printk(XENLOG_WARNING "No CPU ID for APIC ID %#x\n", cpu);
+        warn_once = 0;
         return -EINVAL;
     }
 
diff --git a/xen/arch/x86/cpu/common.c b/xen/arch/x86/cpu/common.c
index 5e8a758..24c3dd8 100644
--- a/xen/arch/x86/cpu/common.c
+++ b/xen/arch/x86/cpu/common.c
@@ -63,7 +63,7 @@ static struct cpu_dev default_cpu = {
 };
 static struct cpu_dev * this_cpu = &default_cpu;
 
-bool_t __cpuinitdata opt_cpu_info;
+bool_t opt_cpu_info;
 boolean_param("cpuinfo", opt_cpu_info);
 
 int __cpuinit get_model_name(struct cpuinfo_x86 *c)
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 07 20:44:42 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Aug 2013 20:44:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7Ab1-0006AC-PB; Wed, 07 Aug 2013 20:44:39 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7Aaz-00069s-N0
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 20:44:37 +0000
Received: from [85.158.143.35:43068] by server-1.bemta-4.messagelabs.com id
	65/8C-28540-5B1B2025; Wed, 07 Aug 2013 20:44:37 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1375908275!3114946!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11484 invoked from network); 7 Aug 2013 20:44:36 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-11.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Aug 2013 20:44:36 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7Aax-0000Gs-7d
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 20:44:35 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7Aax-0000ww-6e
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 20:44:35 +0000
Date: Wed, 07 Aug 2013 20:44:35 +0000
Message-Id: <E1V7Aax-0000ww-6e@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.3] x86: don't use
	destroy_xen_mappings() for vunmap()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit bce93fa13f7ff778820e3ef511c4a117075cdd3b
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Aug 7 16:52:34 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Aug 7 16:52:34 2013 +0200

    x86: don't use destroy_xen_mappings() for vunmap()
    
    Its attempt to tear down intermediate page table levels may race with
    map_pages_to_xen() establishing them, and now that
    map_domain_page_global() is backed by vmap() this teardown is also
    wasteful (as it's very likely to need the same address space populated
    again within foreseeable time).
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Keir Fraser <keir@xen.org>
    master commit: 68caac7f6f4687241a24e804a9fca19aa26fe183
    master date: 2013-07-17 10:21:33 +0200
---
 xen/common/vmap.c          |    4 ++++
 xen/include/asm-x86/page.h |    1 +
 2 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/xen/common/vmap.c b/xen/common/vmap.c
index c2d8a8c..5f92be4 100644
--- a/xen/common/vmap.c
+++ b/xen/common/vmap.c
@@ -196,9 +196,13 @@ void *vmap(const unsigned long *mfn, unsigned int nr)
 
 void vunmap(const void *va)
 {
+#ifndef _PAGE_NONE
     unsigned long addr = (unsigned long)va;
 
     destroy_xen_mappings(addr, addr + PAGE_SIZE * vm_size(va));
+#else /* Avoid tearing down intermediate page tables. */
+    map_pages_to_xen((unsigned long)va, 0, vm_size(va), _PAGE_NONE);
+#endif
     vm_free(va);
 }
 #endif
diff --git a/xen/include/asm-x86/page.h b/xen/include/asm-x86/page.h
index 998a0c7..2c3cc2d 100644
--- a/xen/include/asm-x86/page.h
+++ b/xen/include/asm-x86/page.h
@@ -288,6 +288,7 @@ extern l1_pgentry_t l1_identmap[L1_PAGETABLE_ENTRIES],
 void paging_init(void);
 #endif /* !defined(__ASSEMBLY__) */
 
+#define _PAGE_NONE     _AC(0x000,U)
 #define _PAGE_PRESENT  _AC(0x001,U)
 #define _PAGE_RW       _AC(0x002,U)
 #define _PAGE_USER     _AC(0x004,U)
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 07 20:44:42 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Aug 2013 20:44:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7Ab1-0006AC-PB; Wed, 07 Aug 2013 20:44:39 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7Aaz-00069s-N0
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 20:44:37 +0000
Received: from [85.158.143.35:43068] by server-1.bemta-4.messagelabs.com id
	65/8C-28540-5B1B2025; Wed, 07 Aug 2013 20:44:37 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1375908275!3114946!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11484 invoked from network); 7 Aug 2013 20:44:36 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-11.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Aug 2013 20:44:36 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7Aax-0000Gs-7d
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 20:44:35 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7Aax-0000ww-6e
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 20:44:35 +0000
Date: Wed, 07 Aug 2013 20:44:35 +0000
Message-Id: <E1V7Aax-0000ww-6e@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.3] x86: don't use
	destroy_xen_mappings() for vunmap()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit bce93fa13f7ff778820e3ef511c4a117075cdd3b
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Aug 7 16:52:34 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Aug 7 16:52:34 2013 +0200

    x86: don't use destroy_xen_mappings() for vunmap()
    
    Its attempt to tear down intermediate page table levels may race with
    map_pages_to_xen() establishing them, and now that
    map_domain_page_global() is backed by vmap() this teardown is also
    wasteful (as it's very likely to need the same address space populated
    again within foreseeable time).
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Keir Fraser <keir@xen.org>
    master commit: 68caac7f6f4687241a24e804a9fca19aa26fe183
    master date: 2013-07-17 10:21:33 +0200
---
 xen/common/vmap.c          |    4 ++++
 xen/include/asm-x86/page.h |    1 +
 2 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/xen/common/vmap.c b/xen/common/vmap.c
index c2d8a8c..5f92be4 100644
--- a/xen/common/vmap.c
+++ b/xen/common/vmap.c
@@ -196,9 +196,13 @@ void *vmap(const unsigned long *mfn, unsigned int nr)
 
 void vunmap(const void *va)
 {
+#ifndef _PAGE_NONE
     unsigned long addr = (unsigned long)va;
 
     destroy_xen_mappings(addr, addr + PAGE_SIZE * vm_size(va));
+#else /* Avoid tearing down intermediate page tables. */
+    map_pages_to_xen((unsigned long)va, 0, vm_size(va), _PAGE_NONE);
+#endif
     vm_free(va);
 }
 #endif
diff --git a/xen/include/asm-x86/page.h b/xen/include/asm-x86/page.h
index 998a0c7..2c3cc2d 100644
--- a/xen/include/asm-x86/page.h
+++ b/xen/include/asm-x86/page.h
@@ -288,6 +288,7 @@ extern l1_pgentry_t l1_identmap[L1_PAGETABLE_ENTRIES],
 void paging_init(void);
 #endif /* !defined(__ASSEMBLY__) */
 
+#define _PAGE_NONE     _AC(0x000,U)
 #define _PAGE_PRESENT  _AC(0x001,U)
 #define _PAGE_RW       _AC(0x002,U)
 #define _PAGE_USER     _AC(0x004,U)
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 07 20:44:54 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Aug 2013 20:44:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7AbB-0006Bw-SM; Wed, 07 Aug 2013 20:44:49 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7AbA-0006BW-Ar
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 20:44:48 +0000
Received: from [85.158.137.68:15060] by server-16.bemta-3.messagelabs.com id
	A9/F8-15362-FB1B2025; Wed, 07 Aug 2013 20:44:47 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-31.messagelabs.com!1375908285!567103!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19272 invoked from network); 7 Aug 2013 20:44:46 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-4.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Aug 2013 20:44:46 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7Ab7-0000H1-FT
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 20:44:45 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7Ab7-0000y1-DC
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 20:44:45 +0000
Date: Wed, 07 Aug 2013 20:44:45 +0000
Message-Id: <E1V7Ab7-0000y1-DC@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.3] x86/time: Update wallclock in
	shared info when altering domain time offset
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit d8668381627899ce46b25582425a5760478c5b51
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Wed Aug 7 16:53:32 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Aug 7 16:53:32 2013 +0200

    x86/time: Update wallclock in shared info when altering domain time offset
    
    domain_set_time_offset() udpates d->time_offset_seconds, but does not correct
    the wallclock in the shared info, meaning that it is incorrect until the next
    XENPF_settime hypercall from dom0 which resynchronises the wallclock for all
    domains.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
    master commit: 915a59f25c5eddd86bc2cae6389d0ed2ab87e69e
    master date: 2013-07-18 09:16:15 +0200
---
 xen/arch/x86/time.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
index cf8bc78..f047cb3 100644
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -931,6 +931,7 @@ void domain_set_time_offset(struct domain *d, int32_t time_offset_seconds)
     d->time_offset_seconds = time_offset_seconds;
     if ( is_hvm_domain(d) )
         rtc_update_clock(d);
+    update_domain_wallclock_time(d);
 }
 
 int cpu_frequency_change(u64 freq)
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 07 20:44:54 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Aug 2013 20:44:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7AbB-0006Bw-SM; Wed, 07 Aug 2013 20:44:49 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7AbA-0006BW-Ar
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 20:44:48 +0000
Received: from [85.158.137.68:15060] by server-16.bemta-3.messagelabs.com id
	A9/F8-15362-FB1B2025; Wed, 07 Aug 2013 20:44:47 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-31.messagelabs.com!1375908285!567103!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19272 invoked from network); 7 Aug 2013 20:44:46 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-4.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Aug 2013 20:44:46 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7Ab7-0000H1-FT
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 20:44:45 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7Ab7-0000y1-DC
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 20:44:45 +0000
Date: Wed, 07 Aug 2013 20:44:45 +0000
Message-Id: <E1V7Ab7-0000y1-DC@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.3] x86/time: Update wallclock in
	shared info when altering domain time offset
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit d8668381627899ce46b25582425a5760478c5b51
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Wed Aug 7 16:53:32 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Aug 7 16:53:32 2013 +0200

    x86/time: Update wallclock in shared info when altering domain time offset
    
    domain_set_time_offset() udpates d->time_offset_seconds, but does not correct
    the wallclock in the shared info, meaning that it is incorrect until the next
    XENPF_settime hypercall from dom0 which resynchronises the wallclock for all
    domains.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
    master commit: 915a59f25c5eddd86bc2cae6389d0ed2ab87e69e
    master date: 2013-07-18 09:16:15 +0200
---
 xen/arch/x86/time.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
index cf8bc78..f047cb3 100644
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -931,6 +931,7 @@ void domain_set_time_offset(struct domain *d, int32_t time_offset_seconds)
     d->time_offset_seconds = time_offset_seconds;
     if ( is_hvm_domain(d) )
         rtc_update_clock(d);
+    update_domain_wallclock_time(d);
 }
 
 int cpu_frequency_change(u64 freq)
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 07 20:45:07 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Aug 2013 20:45:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7AbK-0006Dh-Vb; Wed, 07 Aug 2013 20:44:58 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7AbK-0006DQ-6F
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 20:44:58 +0000
Received: from [85.158.139.211:19721] by server-6.bemta-5.messagelabs.com id
	BC/78-23980-9C1B2025; Wed, 07 Aug 2013 20:44:57 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-206.messagelabs.com!1375908295!1315146!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26347 invoked from network); 7 Aug 2013 20:44:56 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-13.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Aug 2013 20:44:56 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7AbH-0000H7-L3
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 20:44:55 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7AbH-0000yN-JT
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 20:44:55 +0000
Date: Wed, 07 Aug 2013 20:44:55 +0000
Message-Id: <E1V7AbH-0000yN-JT@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.3] fix off-by-one mistakes in
	vm_alloc()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 5a9f5c558e5636f6c613f8f31b0911656e6af27f
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Aug 7 16:54:14 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Aug 7 16:54:14 2013 +0200

    fix off-by-one mistakes in vm_alloc()
    
    Also add another pair of assertions to catch eventual further cases of
    incorrect accounting.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
    master commit: b0e55bd49725c7c0183eb18670997b9e5930adac
    master date: 2013-08-05 18:40:23 +0200
---
 xen/common/vmap.c |   26 ++++++++++++++++++--------
 1 files changed, 18 insertions(+), 8 deletions(-)

diff --git a/xen/common/vmap.c b/xen/common/vmap.c
index 5f92be4..783cea3 100644
--- a/xen/common/vmap.c
+++ b/xen/common/vmap.c
@@ -57,8 +57,8 @@ void *vm_alloc(unsigned int nr, unsigned int align)
     {
         struct page_info *pg;
 
-        ASSERT(!test_bit(vm_low, vm_bitmap));
-        for ( start = vm_low; ; )
+        ASSERT(vm_low == vm_top || !test_bit(vm_low, vm_bitmap));
+        for ( start = vm_low; start < vm_top; )
         {
             bit = find_next_bit(vm_bitmap, vm_top, start + 1);
             if ( bit > vm_top )
@@ -68,12 +68,18 @@ void *vm_alloc(unsigned int nr, unsigned int align)
              * corresponding page a guard one.
              */
             start = (start + align) & ~(align - 1);
-            if ( start + nr <= bit )
-                break;
-            start = bit < vm_top ?
-                    find_next_zero_bit(vm_bitmap, vm_top, bit + 1) : bit;
-            if ( start >= vm_top )
-                break;
+            if ( bit < vm_top )
+            {
+                if ( start + nr < bit )
+                    break;
+                start = find_next_zero_bit(vm_bitmap, vm_top, bit + 1);
+            }
+            else
+            {
+                if ( start + nr <= bit )
+                    break;
+                start = bit;
+            }
         }
 
         if ( start < vm_top )
@@ -115,6 +121,10 @@ void *vm_alloc(unsigned int nr, unsigned int align)
 
     for ( bit = start; bit < start + nr; ++bit )
         __set_bit(bit, vm_bitmap);
+    if ( bit < vm_top )
+        ASSERT(!test_bit(bit, vm_bitmap));
+    else
+        ASSERT(bit == vm_top);
     if ( start <= vm_low + 2 )
         vm_low = bit;
     spin_unlock(&vm_lock);
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 07 20:45:07 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Aug 2013 20:45:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7AbK-0006Dh-Vb; Wed, 07 Aug 2013 20:44:58 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7AbK-0006DQ-6F
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 20:44:58 +0000
Received: from [85.158.139.211:19721] by server-6.bemta-5.messagelabs.com id
	BC/78-23980-9C1B2025; Wed, 07 Aug 2013 20:44:57 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-206.messagelabs.com!1375908295!1315146!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26347 invoked from network); 7 Aug 2013 20:44:56 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-13.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Aug 2013 20:44:56 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7AbH-0000H7-L3
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 20:44:55 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7AbH-0000yN-JT
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 20:44:55 +0000
Date: Wed, 07 Aug 2013 20:44:55 +0000
Message-Id: <E1V7AbH-0000yN-JT@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.3] fix off-by-one mistakes in
	vm_alloc()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 5a9f5c558e5636f6c613f8f31b0911656e6af27f
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Aug 7 16:54:14 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Aug 7 16:54:14 2013 +0200

    fix off-by-one mistakes in vm_alloc()
    
    Also add another pair of assertions to catch eventual further cases of
    incorrect accounting.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
    master commit: b0e55bd49725c7c0183eb18670997b9e5930adac
    master date: 2013-08-05 18:40:23 +0200
---
 xen/common/vmap.c |   26 ++++++++++++++++++--------
 1 files changed, 18 insertions(+), 8 deletions(-)

diff --git a/xen/common/vmap.c b/xen/common/vmap.c
index 5f92be4..783cea3 100644
--- a/xen/common/vmap.c
+++ b/xen/common/vmap.c
@@ -57,8 +57,8 @@ void *vm_alloc(unsigned int nr, unsigned int align)
     {
         struct page_info *pg;
 
-        ASSERT(!test_bit(vm_low, vm_bitmap));
-        for ( start = vm_low; ; )
+        ASSERT(vm_low == vm_top || !test_bit(vm_low, vm_bitmap));
+        for ( start = vm_low; start < vm_top; )
         {
             bit = find_next_bit(vm_bitmap, vm_top, start + 1);
             if ( bit > vm_top )
@@ -68,12 +68,18 @@ void *vm_alloc(unsigned int nr, unsigned int align)
              * corresponding page a guard one.
              */
             start = (start + align) & ~(align - 1);
-            if ( start + nr <= bit )
-                break;
-            start = bit < vm_top ?
-                    find_next_zero_bit(vm_bitmap, vm_top, bit + 1) : bit;
-            if ( start >= vm_top )
-                break;
+            if ( bit < vm_top )
+            {
+                if ( start + nr < bit )
+                    break;
+                start = find_next_zero_bit(vm_bitmap, vm_top, bit + 1);
+            }
+            else
+            {
+                if ( start + nr <= bit )
+                    break;
+                start = bit;
+            }
         }
 
         if ( start < vm_top )
@@ -115,6 +121,10 @@ void *vm_alloc(unsigned int nr, unsigned int align)
 
     for ( bit = start; bit < start + nr; ++bit )
         __set_bit(bit, vm_bitmap);
+    if ( bit < vm_top )
+        ASSERT(!test_bit(bit, vm_bitmap));
+    else
+        ASSERT(bit == vm_top);
     if ( start <= vm_low + 2 )
         vm_low = bit;
     spin_unlock(&vm_lock);
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 07 20:45:13 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Aug 2013 20:45:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7AbX-0006Fp-2P; Wed, 07 Aug 2013 20:45:11 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7AbW-0006Fe-H1
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 20:45:10 +0000
Received: from [193.109.254.147:56946] by server-7.bemta-14.messagelabs.com id
	0B/87-23812-5D1B2025; Wed, 07 Aug 2013 20:45:09 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1375908306!3001744!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13374 invoked from network); 7 Aug 2013 20:45:07 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-8.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Aug 2013 20:45:07 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7AbS-0000I8-0i
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 20:45:06 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7AbR-0000yz-Pt
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 20:45:05 +0000
Date: Wed, 07 Aug 2013 20:45:05 +0000
Message-Id: <E1V7AbR-0000yz-Pt@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.3] x86: refine FPU selector handling
	code for XSAVEOPT
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 014f835efaf9caa9a112b7f7a7ffad6dd682c77d
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Aug 7 16:55:05 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Aug 7 16:55:05 2013 +0200

    x86: refine FPU selector handling code for XSAVEOPT
    
    Some extra tweaks are necessary to deal with the situation of XSAVEOPT
    not writing the FPU portion of the save image (due to it detecting that
    the register state did not get modified since the last XRSTOR).
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Tested-by: Ben Guthro <ben.guthro@gmail.com>
    Acked-by: Keir Fraser <keir@xen.org>
    master commit: c58d9f2f4844c2ce8859a8d0f26a54cd058eb51f
    master date: 2013-08-05 18:42:37 +0200
---
 xen/arch/x86/xstate.c |   25 +++++++++++++++++++++++++
 1 files changed, 25 insertions(+), 0 deletions(-)

diff --git a/xen/arch/x86/xstate.c b/xen/arch/x86/xstate.c
index d52dbd7..ce94d28 100644
--- a/xen/arch/x86/xstate.c
+++ b/xen/arch/x86/xstate.c
@@ -71,10 +71,28 @@ void xsave(struct vcpu *v, uint64_t mask)
 
     if ( word_size <= 0 || !is_pv_32bit_vcpu(v) )
     {
+        typeof(ptr->fpu_sse.fip.sel) fcs = ptr->fpu_sse.fip.sel;
+        typeof(ptr->fpu_sse.fdp.sel) fds = ptr->fpu_sse.fdp.sel;
+
         if ( cpu_has_xsaveopt )
+        {
+            /*
+             * xsaveopt may not write the FPU portion even when the respective
+             * mask bit is set. For the check further down to work we hence
+             * need to put the save image back into the state that it was in
+             * right after the previous xsaveopt.
+             */
+            if ( word_size > 0 &&
+                 (ptr->fpu_sse.x[FPU_WORD_SIZE_OFFSET] == 4 ||
+                  ptr->fpu_sse.x[FPU_WORD_SIZE_OFFSET] == 2) )
+            {
+                ptr->fpu_sse.fip.sel = 0;
+                ptr->fpu_sse.fdp.sel = 0;
+            }
             asm volatile ( ".byte 0x48,0x0f,0xae,0x37"
                            : "=m" (*ptr)
                            : "a" (lmask), "d" (hmask), "D" (ptr) );
+        }
         else
             asm volatile ( ".byte 0x48,0x0f,0xae,0x27"
                            : "=m" (*ptr)
@@ -87,7 +105,14 @@ void xsave(struct vcpu *v, uint64_t mask)
               */
              (!(ptr->fpu_sse.fsw & 0x0080) &&
               boot_cpu_data.x86_vendor == X86_VENDOR_AMD) )
+        {
+            if ( cpu_has_xsaveopt && word_size > 0 )
+            {
+                ptr->fpu_sse.fip.sel = fcs;
+                ptr->fpu_sse.fdp.sel = fds;
+            }
             return;
+        }
 
         if ( word_size > 0 &&
              !((ptr->fpu_sse.fip.addr | ptr->fpu_sse.fdp.addr) >> 32) )
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 07 20:45:13 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Aug 2013 20:45:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7AbX-0006Fp-2P; Wed, 07 Aug 2013 20:45:11 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7AbW-0006Fe-H1
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 20:45:10 +0000
Received: from [193.109.254.147:56946] by server-7.bemta-14.messagelabs.com id
	0B/87-23812-5D1B2025; Wed, 07 Aug 2013 20:45:09 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1375908306!3001744!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13374 invoked from network); 7 Aug 2013 20:45:07 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-8.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Aug 2013 20:45:07 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7AbS-0000I8-0i
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 20:45:06 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7AbR-0000yz-Pt
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 20:45:05 +0000
Date: Wed, 07 Aug 2013 20:45:05 +0000
Message-Id: <E1V7AbR-0000yz-Pt@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.3] x86: refine FPU selector handling
	code for XSAVEOPT
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 014f835efaf9caa9a112b7f7a7ffad6dd682c77d
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Aug 7 16:55:05 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Aug 7 16:55:05 2013 +0200

    x86: refine FPU selector handling code for XSAVEOPT
    
    Some extra tweaks are necessary to deal with the situation of XSAVEOPT
    not writing the FPU portion of the save image (due to it detecting that
    the register state did not get modified since the last XRSTOR).
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Tested-by: Ben Guthro <ben.guthro@gmail.com>
    Acked-by: Keir Fraser <keir@xen.org>
    master commit: c58d9f2f4844c2ce8859a8d0f26a54cd058eb51f
    master date: 2013-08-05 18:42:37 +0200
---
 xen/arch/x86/xstate.c |   25 +++++++++++++++++++++++++
 1 files changed, 25 insertions(+), 0 deletions(-)

diff --git a/xen/arch/x86/xstate.c b/xen/arch/x86/xstate.c
index d52dbd7..ce94d28 100644
--- a/xen/arch/x86/xstate.c
+++ b/xen/arch/x86/xstate.c
@@ -71,10 +71,28 @@ void xsave(struct vcpu *v, uint64_t mask)
 
     if ( word_size <= 0 || !is_pv_32bit_vcpu(v) )
     {
+        typeof(ptr->fpu_sse.fip.sel) fcs = ptr->fpu_sse.fip.sel;
+        typeof(ptr->fpu_sse.fdp.sel) fds = ptr->fpu_sse.fdp.sel;
+
         if ( cpu_has_xsaveopt )
+        {
+            /*
+             * xsaveopt may not write the FPU portion even when the respective
+             * mask bit is set. For the check further down to work we hence
+             * need to put the save image back into the state that it was in
+             * right after the previous xsaveopt.
+             */
+            if ( word_size > 0 &&
+                 (ptr->fpu_sse.x[FPU_WORD_SIZE_OFFSET] == 4 ||
+                  ptr->fpu_sse.x[FPU_WORD_SIZE_OFFSET] == 2) )
+            {
+                ptr->fpu_sse.fip.sel = 0;
+                ptr->fpu_sse.fdp.sel = 0;
+            }
             asm volatile ( ".byte 0x48,0x0f,0xae,0x37"
                            : "=m" (*ptr)
                            : "a" (lmask), "d" (hmask), "D" (ptr) );
+        }
         else
             asm volatile ( ".byte 0x48,0x0f,0xae,0x27"
                            : "=m" (*ptr)
@@ -87,7 +105,14 @@ void xsave(struct vcpu *v, uint64_t mask)
               */
              (!(ptr->fpu_sse.fsw & 0x0080) &&
               boot_cpu_data.x86_vendor == X86_VENDOR_AMD) )
+        {
+            if ( cpu_has_xsaveopt && word_size > 0 )
+            {
+                ptr->fpu_sse.fip.sel = fcs;
+                ptr->fpu_sse.fdp.sel = fds;
+            }
             return;
+        }
 
         if ( word_size > 0 &&
              !((ptr->fpu_sse.fip.addr | ptr->fpu_sse.fdp.addr) >> 32) )
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 07 20:45:21 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Aug 2013 20:45:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7Abf-0006HX-87; Wed, 07 Aug 2013 20:45:19 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7Abe-0006HJ-FM
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 20:45:18 +0000
Received: from [193.109.254.147:57190] by server-12.bemta-14.messagelabs.com
	id 0F/16-18403-DD1B2025; Wed, 07 Aug 2013 20:45:17 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-27.messagelabs.com!1375908316!3001814!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1643 invoked from network); 7 Aug 2013 20:45:17 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-9.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Aug 2013 20:45:17 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7Abc-0000IF-8k
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 20:45:16 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7Abc-0000zP-4Y
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 20:45:16 +0000
Date: Wed, 07 Aug 2013 20:45:16 +0000
Message-Id: <E1V7Abc-0000zP-4Y@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.3] Nested VMX: Flush TLBs and Caches
	if paging mode changed
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit c21c2c7617a170f9161652554db337cda5517e14
Author:     Yang Zhang <yang.z.zhang@Intel.com>
AuthorDate: Wed Aug 7 16:55:37 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Aug 7 16:55:37 2013 +0200

    Nested VMX: Flush TLBs and Caches if paging mode changed
    
    According to SDM, if paging mode is changed, then whole TLBs and caches will
    be flushed. This is missed in nested handle logic. Also this fixed the issue
    that 64 bits windows cannot boot up on top of L1 kvm.
    
    Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com>
    Acked-by: Keir Fraser <keir@xen.org>
    master commit: e1ab5c77b44b7bd835a2c032fa4963b36545fdb3
    master date: 2013-08-06 17:22:35 +0200
---
 xen/arch/x86/mm/paging.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/xen/arch/x86/mm/paging.c b/xen/arch/x86/mm/paging.c
index cd08b2a..4ba7669 100644
--- a/xen/arch/x86/mm/paging.c
+++ b/xen/arch/x86/mm/paging.c
@@ -709,6 +709,7 @@ void paging_update_nestedmode(struct vcpu *v)
     else
         /* TODO: shadow-on-shadow */
         v->arch.paging.nestedmode = NULL;
+    hvm_asid_flush_vcpu(v);
 }
 
 void paging_write_p2m_entry(struct p2m_domain *p2m, unsigned long gfn,
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 07 20:45:21 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Aug 2013 20:45:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7Abf-0006HX-87; Wed, 07 Aug 2013 20:45:19 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7Abe-0006HJ-FM
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 20:45:18 +0000
Received: from [193.109.254.147:57190] by server-12.bemta-14.messagelabs.com
	id 0F/16-18403-DD1B2025; Wed, 07 Aug 2013 20:45:17 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-27.messagelabs.com!1375908316!3001814!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1643 invoked from network); 7 Aug 2013 20:45:17 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-9.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	7 Aug 2013 20:45:17 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7Abc-0000IF-8k
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 20:45:16 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7Abc-0000zP-4Y
	for xen-changelog@lists.xensource.com; Wed, 07 Aug 2013 20:45:16 +0000
Date: Wed, 07 Aug 2013 20:45:16 +0000
Message-Id: <E1V7Abc-0000zP-4Y@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.3] Nested VMX: Flush TLBs and Caches
	if paging mode changed
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit c21c2c7617a170f9161652554db337cda5517e14
Author:     Yang Zhang <yang.z.zhang@Intel.com>
AuthorDate: Wed Aug 7 16:55:37 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Aug 7 16:55:37 2013 +0200

    Nested VMX: Flush TLBs and Caches if paging mode changed
    
    According to SDM, if paging mode is changed, then whole TLBs and caches will
    be flushed. This is missed in nested handle logic. Also this fixed the issue
    that 64 bits windows cannot boot up on top of L1 kvm.
    
    Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com>
    Acked-by: Keir Fraser <keir@xen.org>
    master commit: e1ab5c77b44b7bd835a2c032fa4963b36545fdb3
    master date: 2013-08-06 17:22:35 +0200
---
 xen/arch/x86/mm/paging.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/xen/arch/x86/mm/paging.c b/xen/arch/x86/mm/paging.c
index cd08b2a..4ba7669 100644
--- a/xen/arch/x86/mm/paging.c
+++ b/xen/arch/x86/mm/paging.c
@@ -709,6 +709,7 @@ void paging_update_nestedmode(struct vcpu *v)
     else
         /* TODO: shadow-on-shadow */
         v->arch.paging.nestedmode = NULL;
+    hvm_asid_flush_vcpu(v);
 }
 
 void paging_write_p2m_entry(struct p2m_domain *p2m, unsigned long gfn,
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Aug 08 07:11:22 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Aug 2013 07:11:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7KNP-0002s7-7X; Thu, 08 Aug 2013 07:11:15 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7KNF-0002rr-Sk
	for xen-changelog@lists.xensource.com; Thu, 08 Aug 2013 07:11:13 +0000
Received: from [85.158.137.68:20191] by server-12.bemta-3.messagelabs.com id
	47/7E-17731-98443025; Thu, 08 Aug 2013 07:11:05 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-31.messagelabs.com!1375945863!474249!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22448 invoked from network); 8 Aug 2013 07:11:04 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-6.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	8 Aug 2013 07:11:04 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7KND-0005q5-0n
	for xen-changelog@lists.xensource.com; Thu, 08 Aug 2013 07:11:03 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7KNC-000268-U9
	for xen-changelog@lists.xensource.com; Thu, 08 Aug 2013 07:11:02 +0000
Date: Thu, 08 Aug 2013 07:11:02 +0000
Message-Id: <E1V7KNC-000268-U9@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] Intel/VPMU: Add support for full-width
	PMC writes
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 330c2e4e9430855cd7e5dd45b247ccc27bf92c7a
Author:     Boris Ostrovsky <boris.ostrovsky@oracle.com>
AuthorDate: Wed Aug 7 09:51:02 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Aug 7 09:51:02 2013 +0200

    Intel/VPMU: Add support for full-width PMC writes
    
    A recent Linux commit (069e0c3c405814778c7475d95b9fff5318f39834) added
    support for full-width PMC writes to performance counter registers,
    making these registers default for perf. Since current Xen VPMU does
    not support these new MSRs perf will fail to initialise in guests.
    
    Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
    Reviewed-by: Dietmar Hahn <dietmar.hahn@ts.fujitsu.com>
    Acked-by: Keir Faser <keir@xen.org>
---
 xen/arch/x86/hvm/vmx/vpmu_core2.c |   41 ++++++++++++++++++++++++++++++++----
 xen/include/asm-x86/msr-index.h   |    2 +-
 2 files changed, 37 insertions(+), 6 deletions(-)

diff --git a/xen/arch/x86/hvm/vmx/vpmu_core2.c b/xen/arch/x86/hvm/vmx/vpmu_core2.c
index 15b2036..41a326b 100644
--- a/xen/arch/x86/hvm/vmx/vpmu_core2.c
+++ b/xen/arch/x86/hvm/vmx/vpmu_core2.c
@@ -64,6 +64,10 @@
 #define PMU_FIXED_WIDTH_BITS     8  /* 8 bits 5..12 */
 #define PMU_FIXED_WIDTH_MASK     (((1 << PMU_FIXED_WIDTH_BITS) -1) << PMU_FIXED_WIDTH_SHIFT)
 
+/* Alias registers (0x4c1) for full-width writes to PMCs */
+#define MSR_PMC_ALIAS_MASK       (~(MSR_IA32_PERFCTR0 ^ MSR_IA32_A_PERFCTR0))
+static bool_t __read_mostly full_width_write;
+
 /*
  * QUIRK to workaround an issue on various family 6 cpus.
  * The issue leads to endless PMC interrupt loops on the processor.
@@ -195,6 +199,7 @@ static int core2_get_bitwidth_fix_count(void)
 static int is_core2_vpmu_msr(u32 msr_index, int *type, int *index)
 {
     int i;
+    u32 msr_index_pmc;
 
     for ( i = 0; i < core2_fix_counters.num; i++ )
     {
@@ -224,11 +229,12 @@ static int is_core2_vpmu_msr(u32 msr_index, int *type, int *index)
         return 1;
     }
 
-    if ( (msr_index >= MSR_IA32_PERFCTR0) &&
-         (msr_index < (MSR_IA32_PERFCTR0 + core2_get_pmc_count())) )
+    msr_index_pmc = msr_index & MSR_PMC_ALIAS_MASK;
+    if ( (msr_index_pmc >= MSR_IA32_PERFCTR0) &&
+         (msr_index_pmc < (MSR_IA32_PERFCTR0 + core2_get_pmc_count())) )
     {
         *type = MSR_TYPE_ARCH_COUNTER;
-        *index = msr_index - MSR_IA32_PERFCTR0;
+        *index = msr_index_pmc - MSR_IA32_PERFCTR0;
         return 1;
     }
 
@@ -259,6 +265,13 @@ static void core2_vpmu_set_msr_bitmap(unsigned long *msr_bitmap)
         clear_bit(msraddr_to_bitpos(MSR_IA32_PERFCTR0+i), msr_bitmap);
         clear_bit(msraddr_to_bitpos(MSR_IA32_PERFCTR0+i),
                   msr_bitmap + 0x800/BYTES_PER_LONG);
+
+        if ( full_width_write )
+        {
+            clear_bit(msraddr_to_bitpos(MSR_IA32_A_PERFCTR0 + i), msr_bitmap);
+            clear_bit(msraddr_to_bitpos(MSR_IA32_A_PERFCTR0 + i),
+                      msr_bitmap + 0x800/BYTES_PER_LONG);
+        }
     }
 
     /* Allow Read PMU Non-global Controls Directly. */
@@ -283,7 +296,15 @@ static void core2_vpmu_unset_msr_bitmap(unsigned long *msr_bitmap)
         set_bit(msraddr_to_bitpos(MSR_IA32_PERFCTR0+i), msr_bitmap);
         set_bit(msraddr_to_bitpos(MSR_IA32_PERFCTR0+i),
                 msr_bitmap + 0x800/BYTES_PER_LONG);
+
+        if ( full_width_write )
+        {
+            set_bit(msraddr_to_bitpos(MSR_IA32_A_PERFCTR0 + i), msr_bitmap);
+            set_bit(msraddr_to_bitpos(MSR_IA32_A_PERFCTR0 + i),
+                      msr_bitmap + 0x800/BYTES_PER_LONG);
+        }
     }
+
     for ( i = 0; i < core2_ctrls.num; i++ )
         set_bit(msraddr_to_bitpos(core2_ctrls.msr[i]), msr_bitmap);
     for ( i = 0; i < core2_get_pmc_count(); i++ )
@@ -322,13 +343,18 @@ static int core2_vpmu_save(struct vcpu *v)
 
 static inline void __core2_vpmu_load(struct vcpu *v)
 {
-    int i;
+    unsigned int i, pmc_start;
     struct core2_vpmu_context *core2_vpmu_cxt = vcpu_vpmu(v)->context;
 
     for ( i = 0; i < core2_fix_counters.num; i++ )
         wrmsrl(core2_fix_counters.msr[i], core2_vpmu_cxt->fix_counters[i]);
+
+    if ( full_width_write )
+        pmc_start = MSR_IA32_A_PERFCTR0;
+    else
+        pmc_start = MSR_IA32_PERFCTR0;
     for ( i = 0; i < core2_get_pmc_count(); i++ )
-        wrmsrl(MSR_IA32_PERFCTR0+i, core2_vpmu_cxt->arch_msr_pair[i].counter);
+        wrmsrl(pmc_start + i, core2_vpmu_cxt->arch_msr_pair[i].counter);
 
     for ( i = 0; i < core2_ctrls.num; i++ )
         wrmsrl(core2_ctrls.msr[i], core2_vpmu_cxt->ctrls[i]);
@@ -855,6 +881,11 @@ int vmx_vpmu_initialise(struct vcpu *v, unsigned int vpmu_flags)
 
     if ( family == 6 )
     {
+        u64 caps;
+
+        rdmsrl(MSR_IA32_PERF_CAPABILITIES, caps);
+        full_width_write = (caps >> 13) & 1;
+
         switch ( cpu_model )
         {
         /* Core2: */
diff --git a/xen/include/asm-x86/msr-index.h b/xen/include/asm-x86/msr-index.h
index f500efd..03cb00e 100644
--- a/xen/include/asm-x86/msr-index.h
+++ b/xen/include/asm-x86/msr-index.h
@@ -33,7 +33,7 @@
 
 /* Intel MSRs. Some also available on other CPUs */
 #define MSR_IA32_PERFCTR0		0x000000c1
-#define MSR_IA32_PERFCTR1		0x000000c2
+#define MSR_IA32_A_PERFCTR0		0x000004c1
 #define MSR_FSB_FREQ			0x000000cd
 
 #define MSR_NHM_SNB_PKG_CST_CFG_CTL	0x000000e2
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Aug 08 07:11:22 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Aug 2013 07:11:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7KNP-0002s7-7X; Thu, 08 Aug 2013 07:11:15 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7KNF-0002rr-Sk
	for xen-changelog@lists.xensource.com; Thu, 08 Aug 2013 07:11:13 +0000
Received: from [85.158.137.68:20191] by server-12.bemta-3.messagelabs.com id
	47/7E-17731-98443025; Thu, 08 Aug 2013 07:11:05 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-31.messagelabs.com!1375945863!474249!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22448 invoked from network); 8 Aug 2013 07:11:04 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-6.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	8 Aug 2013 07:11:04 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7KND-0005q5-0n
	for xen-changelog@lists.xensource.com; Thu, 08 Aug 2013 07:11:03 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7KNC-000268-U9
	for xen-changelog@lists.xensource.com; Thu, 08 Aug 2013 07:11:02 +0000
Date: Thu, 08 Aug 2013 07:11:02 +0000
Message-Id: <E1V7KNC-000268-U9@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] Intel/VPMU: Add support for full-width
	PMC writes
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 330c2e4e9430855cd7e5dd45b247ccc27bf92c7a
Author:     Boris Ostrovsky <boris.ostrovsky@oracle.com>
AuthorDate: Wed Aug 7 09:51:02 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Aug 7 09:51:02 2013 +0200

    Intel/VPMU: Add support for full-width PMC writes
    
    A recent Linux commit (069e0c3c405814778c7475d95b9fff5318f39834) added
    support for full-width PMC writes to performance counter registers,
    making these registers default for perf. Since current Xen VPMU does
    not support these new MSRs perf will fail to initialise in guests.
    
    Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
    Reviewed-by: Dietmar Hahn <dietmar.hahn@ts.fujitsu.com>
    Acked-by: Keir Faser <keir@xen.org>
---
 xen/arch/x86/hvm/vmx/vpmu_core2.c |   41 ++++++++++++++++++++++++++++++++----
 xen/include/asm-x86/msr-index.h   |    2 +-
 2 files changed, 37 insertions(+), 6 deletions(-)

diff --git a/xen/arch/x86/hvm/vmx/vpmu_core2.c b/xen/arch/x86/hvm/vmx/vpmu_core2.c
index 15b2036..41a326b 100644
--- a/xen/arch/x86/hvm/vmx/vpmu_core2.c
+++ b/xen/arch/x86/hvm/vmx/vpmu_core2.c
@@ -64,6 +64,10 @@
 #define PMU_FIXED_WIDTH_BITS     8  /* 8 bits 5..12 */
 #define PMU_FIXED_WIDTH_MASK     (((1 << PMU_FIXED_WIDTH_BITS) -1) << PMU_FIXED_WIDTH_SHIFT)
 
+/* Alias registers (0x4c1) for full-width writes to PMCs */
+#define MSR_PMC_ALIAS_MASK       (~(MSR_IA32_PERFCTR0 ^ MSR_IA32_A_PERFCTR0))
+static bool_t __read_mostly full_width_write;
+
 /*
  * QUIRK to workaround an issue on various family 6 cpus.
  * The issue leads to endless PMC interrupt loops on the processor.
@@ -195,6 +199,7 @@ static int core2_get_bitwidth_fix_count(void)
 static int is_core2_vpmu_msr(u32 msr_index, int *type, int *index)
 {
     int i;
+    u32 msr_index_pmc;
 
     for ( i = 0; i < core2_fix_counters.num; i++ )
     {
@@ -224,11 +229,12 @@ static int is_core2_vpmu_msr(u32 msr_index, int *type, int *index)
         return 1;
     }
 
-    if ( (msr_index >= MSR_IA32_PERFCTR0) &&
-         (msr_index < (MSR_IA32_PERFCTR0 + core2_get_pmc_count())) )
+    msr_index_pmc = msr_index & MSR_PMC_ALIAS_MASK;
+    if ( (msr_index_pmc >= MSR_IA32_PERFCTR0) &&
+         (msr_index_pmc < (MSR_IA32_PERFCTR0 + core2_get_pmc_count())) )
     {
         *type = MSR_TYPE_ARCH_COUNTER;
-        *index = msr_index - MSR_IA32_PERFCTR0;
+        *index = msr_index_pmc - MSR_IA32_PERFCTR0;
         return 1;
     }
 
@@ -259,6 +265,13 @@ static void core2_vpmu_set_msr_bitmap(unsigned long *msr_bitmap)
         clear_bit(msraddr_to_bitpos(MSR_IA32_PERFCTR0+i), msr_bitmap);
         clear_bit(msraddr_to_bitpos(MSR_IA32_PERFCTR0+i),
                   msr_bitmap + 0x800/BYTES_PER_LONG);
+
+        if ( full_width_write )
+        {
+            clear_bit(msraddr_to_bitpos(MSR_IA32_A_PERFCTR0 + i), msr_bitmap);
+            clear_bit(msraddr_to_bitpos(MSR_IA32_A_PERFCTR0 + i),
+                      msr_bitmap + 0x800/BYTES_PER_LONG);
+        }
     }
 
     /* Allow Read PMU Non-global Controls Directly. */
@@ -283,7 +296,15 @@ static void core2_vpmu_unset_msr_bitmap(unsigned long *msr_bitmap)
         set_bit(msraddr_to_bitpos(MSR_IA32_PERFCTR0+i), msr_bitmap);
         set_bit(msraddr_to_bitpos(MSR_IA32_PERFCTR0+i),
                 msr_bitmap + 0x800/BYTES_PER_LONG);
+
+        if ( full_width_write )
+        {
+            set_bit(msraddr_to_bitpos(MSR_IA32_A_PERFCTR0 + i), msr_bitmap);
+            set_bit(msraddr_to_bitpos(MSR_IA32_A_PERFCTR0 + i),
+                      msr_bitmap + 0x800/BYTES_PER_LONG);
+        }
     }
+
     for ( i = 0; i < core2_ctrls.num; i++ )
         set_bit(msraddr_to_bitpos(core2_ctrls.msr[i]), msr_bitmap);
     for ( i = 0; i < core2_get_pmc_count(); i++ )
@@ -322,13 +343,18 @@ static int core2_vpmu_save(struct vcpu *v)
 
 static inline void __core2_vpmu_load(struct vcpu *v)
 {
-    int i;
+    unsigned int i, pmc_start;
     struct core2_vpmu_context *core2_vpmu_cxt = vcpu_vpmu(v)->context;
 
     for ( i = 0; i < core2_fix_counters.num; i++ )
         wrmsrl(core2_fix_counters.msr[i], core2_vpmu_cxt->fix_counters[i]);
+
+    if ( full_width_write )
+        pmc_start = MSR_IA32_A_PERFCTR0;
+    else
+        pmc_start = MSR_IA32_PERFCTR0;
     for ( i = 0; i < core2_get_pmc_count(); i++ )
-        wrmsrl(MSR_IA32_PERFCTR0+i, core2_vpmu_cxt->arch_msr_pair[i].counter);
+        wrmsrl(pmc_start + i, core2_vpmu_cxt->arch_msr_pair[i].counter);
 
     for ( i = 0; i < core2_ctrls.num; i++ )
         wrmsrl(core2_ctrls.msr[i], core2_vpmu_cxt->ctrls[i]);
@@ -855,6 +881,11 @@ int vmx_vpmu_initialise(struct vcpu *v, unsigned int vpmu_flags)
 
     if ( family == 6 )
     {
+        u64 caps;
+
+        rdmsrl(MSR_IA32_PERF_CAPABILITIES, caps);
+        full_width_write = (caps >> 13) & 1;
+
         switch ( cpu_model )
         {
         /* Core2: */
diff --git a/xen/include/asm-x86/msr-index.h b/xen/include/asm-x86/msr-index.h
index f500efd..03cb00e 100644
--- a/xen/include/asm-x86/msr-index.h
+++ b/xen/include/asm-x86/msr-index.h
@@ -33,7 +33,7 @@
 
 /* Intel MSRs. Some also available on other CPUs */
 #define MSR_IA32_PERFCTR0		0x000000c1
-#define MSR_IA32_PERFCTR1		0x000000c2
+#define MSR_IA32_A_PERFCTR0		0x000004c1
 #define MSR_FSB_FREQ			0x000000cd
 
 #define MSR_NHM_SNB_PKG_CST_CFG_CTL	0x000000e2
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Aug 08 07:11:22 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Aug 2013 07:11:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7KNR-0002sL-Al; Thu, 08 Aug 2013 07:11:17 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7KNP-0002s8-M7
	for xen-changelog@lists.xensource.com; Thu, 08 Aug 2013 07:11:15 +0000
Received: from [85.158.139.211:24290] by server-7.bemta-5.messagelabs.com id
	65/A1-21002-29443025; Thu, 08 Aug 2013 07:11:14 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-206.messagelabs.com!1375945873!1365386!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23885 invoked from network); 8 Aug 2013 07:11:14 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-3.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	8 Aug 2013 07:11:14 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7KNN-0005qB-5a
	for xen-changelog@lists.xensource.com; Thu, 08 Aug 2013 07:11:13 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7KNN-00026W-3Z
	for xen-changelog@lists.xensource.com; Thu, 08 Aug 2013 07:11:13 +0000
Date: Thu, 08 Aug 2013 07:11:13 +0000
Message-Id: <E1V7KNN-00026W-3Z@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] QEMU_TAG update
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit fe6df5abc40ba9928b25e84a9e2aa7434ce76283
Author:     Ian Jackson <ian.jackson@eu.citrix.com>
AuthorDate: Wed Aug 7 16:11:55 2013 +0100
Commit:     Ian Jackson <Ian.Jackson@eu.citrix.com>
CommitDate: Wed Aug 7 16:11:55 2013 +0100

    QEMU_TAG update
---
 Config.mk |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/Config.mk b/Config.mk
index 36567c6..f169be4 100644
--- a/Config.mk
+++ b/Config.mk
@@ -224,9 +224,9 @@ ETHERBOOT_NICS ?= rtl8139 8086100e
 # CONFIG_QEMU ?= `pwd`/$(XEN_ROOT)/../qemu-xen.git
 CONFIG_QEMU ?= $(QEMU_REMOTE)
 
-QEMU_TAG ?= 73c4ad5a3d065267b878c8ae31ff0b4833f093e4
-# Thu Jul 25 08:11:55 2013 +0000
-# passthrough: Correctly expose PCH ISA bridge for IGD passthrough
+QEMU_TAG ?= 84411871262363200e70fa087d7b21647091a450
+# Wed Jul 31 16:16:16 2013 +0100
+# qemu-xen-traditional: allow build without blktap1
 
 # Short answer -- do not enable this unless you know what you are
 # doing and are prepared for some pain.
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Aug 08 07:11:22 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Aug 2013 07:11:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7KNR-0002sL-Al; Thu, 08 Aug 2013 07:11:17 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7KNP-0002s8-M7
	for xen-changelog@lists.xensource.com; Thu, 08 Aug 2013 07:11:15 +0000
Received: from [85.158.139.211:24290] by server-7.bemta-5.messagelabs.com id
	65/A1-21002-29443025; Thu, 08 Aug 2013 07:11:14 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-206.messagelabs.com!1375945873!1365386!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23885 invoked from network); 8 Aug 2013 07:11:14 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-3.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	8 Aug 2013 07:11:14 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7KNN-0005qB-5a
	for xen-changelog@lists.xensource.com; Thu, 08 Aug 2013 07:11:13 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7KNN-00026W-3Z
	for xen-changelog@lists.xensource.com; Thu, 08 Aug 2013 07:11:13 +0000
Date: Thu, 08 Aug 2013 07:11:13 +0000
Message-Id: <E1V7KNN-00026W-3Z@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] QEMU_TAG update
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit fe6df5abc40ba9928b25e84a9e2aa7434ce76283
Author:     Ian Jackson <ian.jackson@eu.citrix.com>
AuthorDate: Wed Aug 7 16:11:55 2013 +0100
Commit:     Ian Jackson <Ian.Jackson@eu.citrix.com>
CommitDate: Wed Aug 7 16:11:55 2013 +0100

    QEMU_TAG update
---
 Config.mk |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/Config.mk b/Config.mk
index 36567c6..f169be4 100644
--- a/Config.mk
+++ b/Config.mk
@@ -224,9 +224,9 @@ ETHERBOOT_NICS ?= rtl8139 8086100e
 # CONFIG_QEMU ?= `pwd`/$(XEN_ROOT)/../qemu-xen.git
 CONFIG_QEMU ?= $(QEMU_REMOTE)
 
-QEMU_TAG ?= 73c4ad5a3d065267b878c8ae31ff0b4833f093e4
-# Thu Jul 25 08:11:55 2013 +0000
-# passthrough: Correctly expose PCH ISA bridge for IGD passthrough
+QEMU_TAG ?= 84411871262363200e70fa087d7b21647091a450
+# Wed Jul 31 16:16:16 2013 +0100
+# qemu-xen-traditional: allow build without blktap1
 
 # Short answer -- do not enable this unless you know what you are
 # doing and are prepared for some pain.
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Aug 08 23:00:22 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Aug 2013 23:00:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7ZBp-0006W9-4J; Thu, 08 Aug 2013 23:00:17 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7ZBk-0006Vt-CN
	for xen-changelog@lists.xensource.com; Thu, 08 Aug 2013 23:00:15 +0000
Received: from [85.158.143.35:17071] by server-1.bemta-4.messagelabs.com id
	2C/16-28540-BF224025; Thu, 08 Aug 2013 23:00:11 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1376002810!3362233!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11871 invoked from network); 8 Aug 2013 23:00:11 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-13.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	8 Aug 2013 23:00:11 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7ZBd-0000Lr-0H
	for xen-changelog@lists.xensource.com; Thu, 08 Aug 2013 23:00:05 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7ZBc-0003Fc-Ie
	for xen-changelog@lists.xensource.com; Thu, 08 Aug 2013 23:00:04 +0000
Date: Thu, 08 Aug 2013 23:00:04 +0000
Message-Id: <E1V7ZBc-0003Fc-Ie@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.1] x86/mm: Ensure useful progress in
	alloc_l2_table()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 4abf174eeb03d521c7b03b4a670a55af657e6528
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Thu Aug 8 10:39:40 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Aug 8 10:39:40 2013 +0200

    x86/mm: Ensure useful progress in alloc_l2_table()
    
    While debugging the issue which turned out to be XSA-58, a printk in this loop
    showed that it was quite easy to never make useful progress, because of
    consistently failing the preemption check.
    
    One single l2 entry is a reasonable amount of work to do, even if an action is
    pending, and also assures forwards progress across repeat continuations.
    
    Tweak the continuation criteria to fail on the first iteration of the loop.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
    master commit: d3a55d7d9bb518efe08143d050deff9f4ee80ec1
    master date: 2013-07-04 10:33:18 +0200
---
 xen/arch/x86/mm.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index 057404b..fbf504c 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -1388,7 +1388,8 @@ static int alloc_l2_table(struct page_info *page, unsigned long type,
 
     for ( i = page->nr_validated_ptes; i < L2_PAGETABLE_ENTRIES; i++ )
     {
-        if ( preemptible && i && hypercall_preempt_check() )
+        if ( preemptible && i > page->nr_validated_ptes
+             && hypercall_preempt_check() )
         {
             page->nr_validated_ptes = i;
             rc = -EAGAIN;
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.1

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Aug 08 23:00:22 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Aug 2013 23:00:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7ZBp-0006W9-4J; Thu, 08 Aug 2013 23:00:17 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7ZBk-0006Vt-CN
	for xen-changelog@lists.xensource.com; Thu, 08 Aug 2013 23:00:15 +0000
Received: from [85.158.143.35:17071] by server-1.bemta-4.messagelabs.com id
	2C/16-28540-BF224025; Thu, 08 Aug 2013 23:00:11 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-21.messagelabs.com!1376002810!3362233!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11871 invoked from network); 8 Aug 2013 23:00:11 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-13.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	8 Aug 2013 23:00:11 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7ZBd-0000Lr-0H
	for xen-changelog@lists.xensource.com; Thu, 08 Aug 2013 23:00:05 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7ZBc-0003Fc-Ie
	for xen-changelog@lists.xensource.com; Thu, 08 Aug 2013 23:00:04 +0000
Date: Thu, 08 Aug 2013 23:00:04 +0000
Message-Id: <E1V7ZBc-0003Fc-Ie@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.1] x86/mm: Ensure useful progress in
	alloc_l2_table()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 4abf174eeb03d521c7b03b4a670a55af657e6528
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Thu Aug 8 10:39:40 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Aug 8 10:39:40 2013 +0200

    x86/mm: Ensure useful progress in alloc_l2_table()
    
    While debugging the issue which turned out to be XSA-58, a printk in this loop
    showed that it was quite easy to never make useful progress, because of
    consistently failing the preemption check.
    
    One single l2 entry is a reasonable amount of work to do, even if an action is
    pending, and also assures forwards progress across repeat continuations.
    
    Tweak the continuation criteria to fail on the first iteration of the loop.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
    master commit: d3a55d7d9bb518efe08143d050deff9f4ee80ec1
    master date: 2013-07-04 10:33:18 +0200
---
 xen/arch/x86/mm.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index 057404b..fbf504c 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -1388,7 +1388,8 @@ static int alloc_l2_table(struct page_info *page, unsigned long type,
 
     for ( i = page->nr_validated_ptes; i < L2_PAGETABLE_ENTRIES; i++ )
     {
-        if ( preemptible && i && hypercall_preempt_check() )
+        if ( preemptible && i > page->nr_validated_ptes
+             && hypercall_preempt_check() )
         {
             page->nr_validated_ptes = i;
             rc = -EAGAIN;
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.1

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Aug 08 23:00:27 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Aug 2013 23:00:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7ZBs-0006Wf-81; Thu, 08 Aug 2013 23:00:20 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7ZBq-0006WE-4C
	for xen-changelog@lists.xensource.com; Thu, 08 Aug 2013 23:00:18 +0000
Received: from [85.158.137.68:35867] by server-11.bemta-3.messagelabs.com id
	70/1D-01128-10324025; Thu, 08 Aug 2013 23:00:17 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-31.messagelabs.com!1376002815!792759!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2206 invoked from network); 8 Aug 2013 23:00:16 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-2.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	8 Aug 2013 23:00:16 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7ZBn-0000Lu-Bc
	for xen-changelog@lists.xensource.com; Thu, 08 Aug 2013 23:00:15 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7ZBn-0003G4-4d
	for xen-changelog@lists.xensource.com; Thu, 08 Aug 2013 23:00:15 +0000
Date: Thu, 08 Aug 2013 23:00:15 +0000
Message-Id: <E1V7ZBn-0003G4-4d@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.1] x86/cpuidle: Change logging for
	unknown APIC IDs
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit fbc214d71094967cd8641c145dcdb4494fd8ea2d
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Thu Aug 8 10:40:41 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Aug 8 10:40:41 2013 +0200

    x86/cpuidle: Change logging for unknown APIC IDs
    
    Dom0 uses this hypercall to pass ACPI information to Xen.  It is not very
    uncommon for more cpus to be listed in the ACPI tables than are present on the
    system, particularly on systems with a common BIOS for a 2 and 4 socket server
    varients.
    
    As Dom0 does not control the number of entries in the ACPI tables, and is
    required to pass everything it finds to Xen, change the logging.
    
    There is now an single unconditional warning for the first unknown ID, and
    further warnings if "cpuinfo" is requested by the user on the command line.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: 85047d9e4f4afeb73bca1e98f705a2f4f1d51c03
    master date: 2013-07-17 08:45:20 +0200
---
 xen/arch/x86/acpi/cpu_idle.c |    5 ++++-
 xen/arch/x86/cpu/common.c    |    2 +-
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/acpi/cpu_idle.c b/xen/arch/x86/acpi/cpu_idle.c
index 3fde934..c3141a5 100644
--- a/xen/arch/x86/acpi/cpu_idle.c
+++ b/xen/arch/x86/acpi/cpu_idle.c
@@ -994,7 +994,10 @@ long set_cx_pminfo(uint32_t cpu, struct xen_processor_power *power)
     cpu_id = get_cpu_id(cpu);
     if ( cpu_id == -1 )
     {
-        printk(XENLOG_ERR "no cpu_id for acpi_id %d\n", cpu);
+        static bool_t warn_once = 1;
+        if ( warn_once || opt_cpu_info )
+            printk(XENLOG_WARNING "No CPU ID for APIC ID %#x\n", cpu);
+        warn_once = 0;
         return -EINVAL;
     }
 
diff --git a/xen/arch/x86/cpu/common.c b/xen/arch/x86/cpu/common.c
index a3a6b96..c5237f0 100644
--- a/xen/arch/x86/cpu/common.c
+++ b/xen/arch/x86/cpu/common.c
@@ -79,7 +79,7 @@ static struct cpu_dev default_cpu = {
 };
 static struct cpu_dev * this_cpu = &default_cpu;
 
-bool_t __cpuinitdata opt_cpu_info;
+bool_t opt_cpu_info;
 boolean_param("cpuinfo", opt_cpu_info);
 
 int __cpuinit get_model_name(struct cpuinfo_x86 *c)
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.1

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Aug 08 23:00:27 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Aug 2013 23:00:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7ZBs-0006Wf-81; Thu, 08 Aug 2013 23:00:20 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7ZBq-0006WE-4C
	for xen-changelog@lists.xensource.com; Thu, 08 Aug 2013 23:00:18 +0000
Received: from [85.158.137.68:35867] by server-11.bemta-3.messagelabs.com id
	70/1D-01128-10324025; Thu, 08 Aug 2013 23:00:17 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-31.messagelabs.com!1376002815!792759!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2206 invoked from network); 8 Aug 2013 23:00:16 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-2.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	8 Aug 2013 23:00:16 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7ZBn-0000Lu-Bc
	for xen-changelog@lists.xensource.com; Thu, 08 Aug 2013 23:00:15 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7ZBn-0003G4-4d
	for xen-changelog@lists.xensource.com; Thu, 08 Aug 2013 23:00:15 +0000
Date: Thu, 08 Aug 2013 23:00:15 +0000
Message-Id: <E1V7ZBn-0003G4-4d@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.1] x86/cpuidle: Change logging for
	unknown APIC IDs
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit fbc214d71094967cd8641c145dcdb4494fd8ea2d
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Thu Aug 8 10:40:41 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Aug 8 10:40:41 2013 +0200

    x86/cpuidle: Change logging for unknown APIC IDs
    
    Dom0 uses this hypercall to pass ACPI information to Xen.  It is not very
    uncommon for more cpus to be listed in the ACPI tables than are present on the
    system, particularly on systems with a common BIOS for a 2 and 4 socket server
    varients.
    
    As Dom0 does not control the number of entries in the ACPI tables, and is
    required to pass everything it finds to Xen, change the logging.
    
    There is now an single unconditional warning for the first unknown ID, and
    further warnings if "cpuinfo" is requested by the user on the command line.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: 85047d9e4f4afeb73bca1e98f705a2f4f1d51c03
    master date: 2013-07-17 08:45:20 +0200
---
 xen/arch/x86/acpi/cpu_idle.c |    5 ++++-
 xen/arch/x86/cpu/common.c    |    2 +-
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/acpi/cpu_idle.c b/xen/arch/x86/acpi/cpu_idle.c
index 3fde934..c3141a5 100644
--- a/xen/arch/x86/acpi/cpu_idle.c
+++ b/xen/arch/x86/acpi/cpu_idle.c
@@ -994,7 +994,10 @@ long set_cx_pminfo(uint32_t cpu, struct xen_processor_power *power)
     cpu_id = get_cpu_id(cpu);
     if ( cpu_id == -1 )
     {
-        printk(XENLOG_ERR "no cpu_id for acpi_id %d\n", cpu);
+        static bool_t warn_once = 1;
+        if ( warn_once || opt_cpu_info )
+            printk(XENLOG_WARNING "No CPU ID for APIC ID %#x\n", cpu);
+        warn_once = 0;
         return -EINVAL;
     }
 
diff --git a/xen/arch/x86/cpu/common.c b/xen/arch/x86/cpu/common.c
index a3a6b96..c5237f0 100644
--- a/xen/arch/x86/cpu/common.c
+++ b/xen/arch/x86/cpu/common.c
@@ -79,7 +79,7 @@ static struct cpu_dev default_cpu = {
 };
 static struct cpu_dev * this_cpu = &default_cpu;
 
-bool_t __cpuinitdata opt_cpu_info;
+bool_t opt_cpu_info;
 boolean_param("cpuinfo", opt_cpu_info);
 
 int __cpuinit get_model_name(struct cpuinfo_x86 *c)
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.1

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Aug 08 23:00:36 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Aug 2013 23:00:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7ZC2-0006Yn-50; Thu, 08 Aug 2013 23:00:30 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7ZC0-0006YP-5T
	for xen-changelog@lists.xensource.com; Thu, 08 Aug 2013 23:00:28 +0000
Received: from [85.158.139.211:24623] by server-5.bemta-5.messagelabs.com id
	63/5D-27868-B0324025; Thu, 08 Aug 2013 23:00:27 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-206.messagelabs.com!1376002825!1525724!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1908 invoked from network); 8 Aug 2013 23:00:26 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-4.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	8 Aug 2013 23:00:26 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7ZBx-0000M3-IB
	for xen-changelog@lists.xensource.com; Thu, 08 Aug 2013 23:00:25 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7ZBx-0003GW-Fz
	for xen-changelog@lists.xensource.com; Thu, 08 Aug 2013 23:00:25 +0000
Date: Thu, 08 Aug 2013 23:00:25 +0000
Message-Id: <E1V7ZBx-0003GW-Fz@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.1] x86/time: Update wallclock in
	shared info when altering domain time offset
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit c60e85a6a61af79ef49094be28588760993183d1
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Thu Aug 8 10:41:20 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Aug 8 10:41:20 2013 +0200

    x86/time: Update wallclock in shared info when altering domain time offset
    
    domain_set_time_offset() udpates d->time_offset_seconds, but does not correct
    the wallclock in the shared info, meaning that it is incorrect until the next
    XENPF_settime hypercall from dom0 which resynchronises the wallclock for all
    domains.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
    master commit: 915a59f25c5eddd86bc2cae6389d0ed2ab87e69e
    master date: 2013-07-18 09:16:15 +0200
---
 xen/arch/x86/time.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
index c2fc955..20edfd7 100644
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -931,6 +931,7 @@ void domain_set_time_offset(struct domain *d, int32_t time_offset_seconds)
     d->time_offset_seconds = time_offset_seconds;
     if ( is_hvm_domain(d) )
         rtc_update_clock(d);
+    update_domain_wallclock_time(d);
 }
 
 int cpu_frequency_change(u64 freq)
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.1

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Aug 08 23:00:36 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Aug 2013 23:00:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7ZC2-0006Yn-50; Thu, 08 Aug 2013 23:00:30 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7ZC0-0006YP-5T
	for xen-changelog@lists.xensource.com; Thu, 08 Aug 2013 23:00:28 +0000
Received: from [85.158.139.211:24623] by server-5.bemta-5.messagelabs.com id
	63/5D-27868-B0324025; Thu, 08 Aug 2013 23:00:27 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-206.messagelabs.com!1376002825!1525724!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1908 invoked from network); 8 Aug 2013 23:00:26 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-4.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	8 Aug 2013 23:00:26 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7ZBx-0000M3-IB
	for xen-changelog@lists.xensource.com; Thu, 08 Aug 2013 23:00:25 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7ZBx-0003GW-Fz
	for xen-changelog@lists.xensource.com; Thu, 08 Aug 2013 23:00:25 +0000
Date: Thu, 08 Aug 2013 23:00:25 +0000
Message-Id: <E1V7ZBx-0003GW-Fz@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.1] x86/time: Update wallclock in
	shared info when altering domain time offset
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit c60e85a6a61af79ef49094be28588760993183d1
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Thu Aug 8 10:41:20 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Aug 8 10:41:20 2013 +0200

    x86/time: Update wallclock in shared info when altering domain time offset
    
    domain_set_time_offset() udpates d->time_offset_seconds, but does not correct
    the wallclock in the shared info, meaning that it is incorrect until the next
    XENPF_settime hypercall from dom0 which resynchronises the wallclock for all
    domains.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
    master commit: 915a59f25c5eddd86bc2cae6389d0ed2ab87e69e
    master date: 2013-07-18 09:16:15 +0200
---
 xen/arch/x86/time.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
index c2fc955..20edfd7 100644
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -931,6 +931,7 @@ void domain_set_time_offset(struct domain *d, int32_t time_offset_seconds)
     d->time_offset_seconds = time_offset_seconds;
     if ( is_hvm_domain(d) )
         rtc_update_clock(d);
+    update_domain_wallclock_time(d);
 }
 
 int cpu_frequency_change(u64 freq)
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.1

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 09 05:22:16 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Aug 2013 05:22:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7f9O-0004ct-8R; Fri, 09 Aug 2013 05:22:10 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7f9M-0004co-MH
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:22:08 +0000
Received: from [193.109.254.147:42921] by server-10.bemta-14.messagelabs.com
	id 1C/8F-30751-08C74025; Fri, 09 Aug 2013 05:22:08 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1376025726!3230115!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4359 invoked from network); 9 Aug 2013 05:22:07 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-6.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	9 Aug 2013 05:22:07 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7f9H-0003Hq-Ut
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:22:06 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7f9H-0005pj-L2
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:22:03 +0000
Date: Fri, 09 Aug 2013 05:22:03 +0000
Message-Id: <E1V7f9H-0005pj-L2@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] docs: Build docs for ARM as well as
	x86_64
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit f8a118104e5eaf2a6033be93e3cc51195a3f0b3f
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Mon Jul 22 19:16:13 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Aug 8 11:57:27 2013 +0100

    docs: Build docs for ARM as well as x86_64
    
    Also do x86_32 (which is still relevant since it is "compat mode").
    
    Install as hypercall-$ARCH but keep the hypercall path around as a symlink to
    the x86_64 version so links (e.g. to http://xenbits.xen.org/docs/ keep working.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 docs/Makefile |   21 ++++++++++++++++-----
 1 files changed, 16 insertions(+), 5 deletions(-)

diff --git a/docs/Makefile b/docs/Makefile
index 472b7ed..f480171 100644
--- a/docs/Makefile
+++ b/docs/Makefile
@@ -4,6 +4,8 @@ include $(XEN_ROOT)/Config.mk
 
 VERSION		:= $(shell $(MAKE) -C $(XEN_ROOT)/xen --no-print-directory xenversion)
 
+DOC_ARCHES      := arm x86_32 x86_64
+
 DOC_MAN5SRC	:= $(wildcard man/*.pod.5)
 DOC_MAN1SRC	:= $(wildcard man/*.pod.1)
 DOC_MAN1	:= $(patsubst man/%.pod.1,man1/%.1,$(DOC_MAN1SRC))
@@ -13,7 +15,8 @@ DOC_HTML	:= $(patsubst %.markdown,html/%.html,$(DOC_MARKDOWN)) \
 		   $(patsubst man/%.pod.1,html/man/%.1.html,$(DOC_MAN1SRC)) \
 		   $(patsubst man/%.pod.5,html/man/%.5.html,$(DOC_MAN5SRC)) \
 		   $(patsubst %.txt,html/%.txt,$(wildcard misc/*.txt)) \
-		   html/hypercall/index.html
+		   html/hypercall/index.html \
+		   $(patsubst %,html/hypercall-%/index.html,$(DOC_ARCHES))
 DOC_TXT         := $(patsubst %.txt,txt/%.txt,$(wildcard misc/*.txt)) \
 		   $(patsubst %.markdown,txt/%.txt,$(DOC_MARKDOWN)) \
 		   $(patsubst man/%.pod.1,txt/man/%.1.txt,$(DOC_MAN1SRC)) \
@@ -121,15 +124,23 @@ else
 	@echo "pod2html not installed; skipping $<."
 endif
 
-html/hypercall/index.html: $(CURDIR)/xen-headers
+# For non-x86 arches exclude the subarch whole x86 arch.
+$(foreach i,$(filter-out x86_32 x86_64,$(DOC_ARCHES)),html/hypercall-$(i)/index.html): EXTRA_EXCLUDE := -X arch-x86
+
+html/hypercall-%/index.html: $(CURDIR)/xen-headers Makefile
 	rm -rf $(@D)
 	$(INSTALL_DIR) $(@D)
 	$(PERL) -w $(CURDIR)/xen-headers -O $(@D) \
-		-T 'arch-x86_64 - Xen public headers' \
-		-X arch-x86_32 -X xen-x86_32 -X arch-arm \
+		-T 'arch-$* - Xen public headers' \
+		$(patsubst %,-X arch-%,$(filter-out $*,$(DOC_ARCHES))) \
+		$(patsubst %,-X xen-%,$(filter-out $*,$(DOC_ARCHES))) \
+		$(EXTRA_EXCLUDE) \
 		$(XEN_ROOT)/xen include/public include/xen/errno.h
 
--include html/hypercall/.deps
+html/hypercall/index.html: html/hypercall-x86_64/index.html
+	ln -nfs hypercall-x86_64 html/hypercall
+
+-include $(wildcard html/hypercall-*/.deps)
 
 txt/%.txt: %.txt
 	$(INSTALL_DIR) $(@D)
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 09 05:22:16 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Aug 2013 05:22:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7f9O-0004ct-8R; Fri, 09 Aug 2013 05:22:10 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7f9M-0004co-MH
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:22:08 +0000
Received: from [193.109.254.147:42921] by server-10.bemta-14.messagelabs.com
	id 1C/8F-30751-08C74025; Fri, 09 Aug 2013 05:22:08 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1376025726!3230115!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4359 invoked from network); 9 Aug 2013 05:22:07 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-6.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	9 Aug 2013 05:22:07 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7f9H-0003Hq-Ut
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:22:06 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7f9H-0005pj-L2
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:22:03 +0000
Date: Fri, 09 Aug 2013 05:22:03 +0000
Message-Id: <E1V7f9H-0005pj-L2@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] docs: Build docs for ARM as well as
	x86_64
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit f8a118104e5eaf2a6033be93e3cc51195a3f0b3f
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Mon Jul 22 19:16:13 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Aug 8 11:57:27 2013 +0100

    docs: Build docs for ARM as well as x86_64
    
    Also do x86_32 (which is still relevant since it is "compat mode").
    
    Install as hypercall-$ARCH but keep the hypercall path around as a symlink to
    the x86_64 version so links (e.g. to http://xenbits.xen.org/docs/ keep working.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 docs/Makefile |   21 ++++++++++++++++-----
 1 files changed, 16 insertions(+), 5 deletions(-)

diff --git a/docs/Makefile b/docs/Makefile
index 472b7ed..f480171 100644
--- a/docs/Makefile
+++ b/docs/Makefile
@@ -4,6 +4,8 @@ include $(XEN_ROOT)/Config.mk
 
 VERSION		:= $(shell $(MAKE) -C $(XEN_ROOT)/xen --no-print-directory xenversion)
 
+DOC_ARCHES      := arm x86_32 x86_64
+
 DOC_MAN5SRC	:= $(wildcard man/*.pod.5)
 DOC_MAN1SRC	:= $(wildcard man/*.pod.1)
 DOC_MAN1	:= $(patsubst man/%.pod.1,man1/%.1,$(DOC_MAN1SRC))
@@ -13,7 +15,8 @@ DOC_HTML	:= $(patsubst %.markdown,html/%.html,$(DOC_MARKDOWN)) \
 		   $(patsubst man/%.pod.1,html/man/%.1.html,$(DOC_MAN1SRC)) \
 		   $(patsubst man/%.pod.5,html/man/%.5.html,$(DOC_MAN5SRC)) \
 		   $(patsubst %.txt,html/%.txt,$(wildcard misc/*.txt)) \
-		   html/hypercall/index.html
+		   html/hypercall/index.html \
+		   $(patsubst %,html/hypercall-%/index.html,$(DOC_ARCHES))
 DOC_TXT         := $(patsubst %.txt,txt/%.txt,$(wildcard misc/*.txt)) \
 		   $(patsubst %.markdown,txt/%.txt,$(DOC_MARKDOWN)) \
 		   $(patsubst man/%.pod.1,txt/man/%.1.txt,$(DOC_MAN1SRC)) \
@@ -121,15 +124,23 @@ else
 	@echo "pod2html not installed; skipping $<."
 endif
 
-html/hypercall/index.html: $(CURDIR)/xen-headers
+# For non-x86 arches exclude the subarch whole x86 arch.
+$(foreach i,$(filter-out x86_32 x86_64,$(DOC_ARCHES)),html/hypercall-$(i)/index.html): EXTRA_EXCLUDE := -X arch-x86
+
+html/hypercall-%/index.html: $(CURDIR)/xen-headers Makefile
 	rm -rf $(@D)
 	$(INSTALL_DIR) $(@D)
 	$(PERL) -w $(CURDIR)/xen-headers -O $(@D) \
-		-T 'arch-x86_64 - Xen public headers' \
-		-X arch-x86_32 -X xen-x86_32 -X arch-arm \
+		-T 'arch-$* - Xen public headers' \
+		$(patsubst %,-X arch-%,$(filter-out $*,$(DOC_ARCHES))) \
+		$(patsubst %,-X xen-%,$(filter-out $*,$(DOC_ARCHES))) \
+		$(EXTRA_EXCLUDE) \
 		$(XEN_ROOT)/xen include/public include/xen/errno.h
 
--include html/hypercall/.deps
+html/hypercall/index.html: html/hypercall-x86_64/index.html
+	ln -nfs hypercall-x86_64 html/hypercall
+
+-include $(wildcard html/hypercall-*/.deps)
 
 txt/%.txt: %.txt
 	$(INSTALL_DIR) $(@D)
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 09 05:22:28 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Aug 2013 05:22:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7f9Z-0004dS-BV; Fri, 09 Aug 2013 05:22:21 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7f9X-0004dL-FL
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:22:19 +0000
Received: from [85.158.143.35:23124] by server-2.bemta-4.messagelabs.com id
	FF/7A-09492-A8C74025; Fri, 09 Aug 2013 05:22:18 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1376025736!2840029!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24509 invoked from network); 9 Aug 2013 05:22:17 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-10.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	9 Aug 2013 05:22:17 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7f9U-0003Ht-9F
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:22:16 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7f9U-0005qo-6E
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:22:16 +0000
Date: Fri, 09 Aug 2013 05:22:16 +0000
Message-Id: <E1V7f9U-0005qo-6E@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] autoconf: regenerate configure scripts
	with 4.4 version
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit df385252a770fe2e304ab51283b26d6afc6990d1
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed Jul 31 17:42:47 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Aug 8 11:58:56 2013 +0100

    autoconf: regenerate configure scripts with 4.4 version
    
    No semantic change, reduced noise in future patches.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 configure         |   18 +++++++++---------
 docs/configure    |   18 +++++++++---------
 stubdom/configure |   18 +++++++++---------
 tools/configure   |   18 +++++++++---------
 4 files changed, 36 insertions(+), 36 deletions(-)

diff --git a/configure b/configure
index d15b539..86867e6 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.67 for Xen Hypervisor 4.3.
+# Generated by GNU Autoconf 2.67 for Xen Hypervisor 4.4.
 #
 # Report bugs to <xen-devel@lists.xen.org>.
 #
@@ -551,8 +551,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='Xen Hypervisor'
 PACKAGE_TARNAME='xen'
-PACKAGE_VERSION='4.3'
-PACKAGE_STRING='Xen Hypervisor 4.3'
+PACKAGE_VERSION='4.4'
+PACKAGE_STRING='Xen Hypervisor 4.4'
 PACKAGE_BUGREPORT='xen-devel@lists.xen.org'
 PACKAGE_URL='http://www.xen.org/'
 
@@ -1171,7 +1171,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures Xen Hypervisor 4.3 to adapt to many kinds of systems.
+\`configure' configures Xen Hypervisor 4.4 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1236,7 +1236,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of Xen Hypervisor 4.3:";;
+     short | recursive ) echo "Configuration of Xen Hypervisor 4.4:";;
    esac
   cat <<\_ACEOF
 
@@ -1314,7 +1314,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-Xen Hypervisor configure 4.3
+Xen Hypervisor configure 4.4
 generated by GNU Autoconf 2.67
 
 Copyright (C) 2010 Free Software Foundation, Inc.
@@ -1331,7 +1331,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by Xen Hypervisor $as_me 4.3, which was
+It was created by Xen Hypervisor $as_me 4.4, which was
 generated by GNU Autoconf 2.67.  Invocation command line was
 
   $ $0 $@
@@ -2609,7 +2609,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by Xen Hypervisor $as_me 4.3, which was
+This file was extended by Xen Hypervisor $as_me 4.4, which was
 generated by GNU Autoconf 2.67.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -2663,7 +2663,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-Xen Hypervisor config.status 4.3
+Xen Hypervisor config.status 4.4
 configured by $0, generated by GNU Autoconf 2.67,
   with options \\"\$ac_cs_config\\"
 
diff --git a/docs/configure b/docs/configure
index a778bda..0602843 100755
--- a/docs/configure
+++ b/docs/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.67 for Xen Hypervisor Documentation 4.3.
+# Generated by GNU Autoconf 2.67 for Xen Hypervisor Documentation 4.4.
 #
 # Report bugs to <xen-devel@lists.xen.org>.
 #
@@ -551,8 +551,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='Xen Hypervisor Documentation'
 PACKAGE_TARNAME='xen'
-PACKAGE_VERSION='4.3'
-PACKAGE_STRING='Xen Hypervisor Documentation 4.3'
+PACKAGE_VERSION='4.4'
+PACKAGE_STRING='Xen Hypervisor Documentation 4.4'
 PACKAGE_BUGREPORT='xen-devel@lists.xen.org'
 PACKAGE_URL='http://www.xen.org/'
 
@@ -1158,7 +1158,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures Xen Hypervisor Documentation 4.3 to adapt to many kinds of systems.
+\`configure' configures Xen Hypervisor Documentation 4.4 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1219,7 +1219,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of Xen Hypervisor Documentation 4.3:";;
+     short | recursive ) echo "Configuration of Xen Hypervisor Documentation 4.4:";;
    esac
   cat <<\_ACEOF
 
@@ -1298,7 +1298,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-Xen Hypervisor Documentation configure 4.3
+Xen Hypervisor Documentation configure 4.4
 generated by GNU Autoconf 2.67
 
 Copyright (C) 2010 Free Software Foundation, Inc.
@@ -1315,7 +1315,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by Xen Hypervisor Documentation $as_me 4.3, which was
+It was created by Xen Hypervisor Documentation $as_me 4.4, which was
 generated by GNU Autoconf 2.67.  Invocation command line was
 
   $ $0 $@
@@ -2544,7 +2544,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by Xen Hypervisor Documentation $as_me 4.3, which was
+This file was extended by Xen Hypervisor Documentation $as_me 4.4, which was
 generated by GNU Autoconf 2.67.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -2598,7 +2598,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-Xen Hypervisor Documentation config.status 4.3
+Xen Hypervisor Documentation config.status 4.4
 configured by $0, generated by GNU Autoconf 2.67,
   with options \\"\$ac_cs_config\\"
 
diff --git a/stubdom/configure b/stubdom/configure
index de9329f..3da2677 100755
--- a/stubdom/configure
+++ b/stubdom/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.67 for Xen Hypervisor Stub Domains 4.3.
+# Generated by GNU Autoconf 2.67 for Xen Hypervisor Stub Domains 4.4.
 #
 # Report bugs to <xen-devel@lists.xen.org>.
 #
@@ -551,8 +551,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='Xen Hypervisor Stub Domains'
 PACKAGE_TARNAME='xen'
-PACKAGE_VERSION='4.3'
-PACKAGE_STRING='Xen Hypervisor Stub Domains 4.3'
+PACKAGE_VERSION='4.4'
+PACKAGE_STRING='Xen Hypervisor Stub Domains 4.4'
 PACKAGE_BUGREPORT='xen-devel@lists.xen.org'
 PACKAGE_URL='http://www.xen.org/'
 
@@ -1215,7 +1215,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures Xen Hypervisor Stub Domains 4.3 to adapt to many kinds of systems.
+\`configure' configures Xen Hypervisor Stub Domains 4.4 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1276,7 +1276,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of Xen Hypervisor Stub Domains 4.3:";;
+     short | recursive ) echo "Configuration of Xen Hypervisor Stub Domains 4.4:";;
    esac
   cat <<\_ACEOF
 
@@ -1385,7 +1385,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-Xen Hypervisor Stub Domains configure 4.3
+Xen Hypervisor Stub Domains configure 4.4
 generated by GNU Autoconf 2.67
 
 Copyright (C) 2010 Free Software Foundation, Inc.
@@ -1440,7 +1440,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by Xen Hypervisor Stub Domains $as_me 4.3, which was
+It was created by Xen Hypervisor Stub Domains $as_me 4.4, which was
 generated by GNU Autoconf 2.67.  Invocation command line was
 
   $ $0 $@
@@ -4025,7 +4025,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by Xen Hypervisor Stub Domains $as_me 4.3, which was
+This file was extended by Xen Hypervisor Stub Domains $as_me 4.4, which was
 generated by GNU Autoconf 2.67.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -4079,7 +4079,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-Xen Hypervisor Stub Domains config.status 4.3
+Xen Hypervisor Stub Domains config.status 4.4
 configured by $0, generated by GNU Autoconf 2.67,
   with options \\"\$ac_cs_config\\"
 
diff --git a/tools/configure b/tools/configure
index aac7f87..079646c 100755
--- a/tools/configure
+++ b/tools/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.67 for Xen Hypervisor Tools 4.3.
+# Generated by GNU Autoconf 2.67 for Xen Hypervisor Tools 4.4.
 #
 # Report bugs to <xen-devel@lists.xen.org>.
 #
@@ -552,8 +552,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='Xen Hypervisor Tools'
 PACKAGE_TARNAME='xen'
-PACKAGE_VERSION='4.3'
-PACKAGE_STRING='Xen Hypervisor Tools 4.3'
+PACKAGE_VERSION='4.4'
+PACKAGE_STRING='Xen Hypervisor Tools 4.4'
 PACKAGE_BUGREPORT='xen-devel@lists.xen.org'
 PACKAGE_URL='http://www.xen.org/'
 
@@ -1307,7 +1307,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures Xen Hypervisor Tools 4.3 to adapt to many kinds of systems.
+\`configure' configures Xen Hypervisor Tools 4.4 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1372,7 +1372,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of Xen Hypervisor Tools 4.3:";;
+     short | recursive ) echo "Configuration of Xen Hypervisor Tools 4.4:";;
    esac
   cat <<\_ACEOF
 
@@ -1497,7 +1497,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-Xen Hypervisor Tools configure 4.3
+Xen Hypervisor Tools configure 4.4
 generated by GNU Autoconf 2.67
 
 Copyright (C) 2010 Free Software Foundation, Inc.
@@ -1799,7 +1799,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by Xen Hypervisor Tools $as_me 4.3, which was
+It was created by Xen Hypervisor Tools $as_me 4.4, which was
 generated by GNU Autoconf 2.67.  Invocation command line was
 
   $ $0 $@
@@ -8341,7 +8341,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by Xen Hypervisor Tools $as_me 4.3, which was
+This file was extended by Xen Hypervisor Tools $as_me 4.4, which was
 generated by GNU Autoconf 2.67.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -8404,7 +8404,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-Xen Hypervisor Tools config.status 4.3
+Xen Hypervisor Tools config.status 4.4
 configured by $0, generated by GNU Autoconf 2.67,
   with options \\"\$ac_cs_config\\"
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 09 05:22:28 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Aug 2013 05:22:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7f9Z-0004dS-BV; Fri, 09 Aug 2013 05:22:21 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7f9X-0004dL-FL
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:22:19 +0000
Received: from [85.158.143.35:23124] by server-2.bemta-4.messagelabs.com id
	FF/7A-09492-A8C74025; Fri, 09 Aug 2013 05:22:18 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1376025736!2840029!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24509 invoked from network); 9 Aug 2013 05:22:17 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-10.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	9 Aug 2013 05:22:17 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7f9U-0003Ht-9F
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:22:16 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7f9U-0005qo-6E
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:22:16 +0000
Date: Fri, 09 Aug 2013 05:22:16 +0000
Message-Id: <E1V7f9U-0005qo-6E@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] autoconf: regenerate configure scripts
	with 4.4 version
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit df385252a770fe2e304ab51283b26d6afc6990d1
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed Jul 31 17:42:47 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Aug 8 11:58:56 2013 +0100

    autoconf: regenerate configure scripts with 4.4 version
    
    No semantic change, reduced noise in future patches.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 configure         |   18 +++++++++---------
 docs/configure    |   18 +++++++++---------
 stubdom/configure |   18 +++++++++---------
 tools/configure   |   18 +++++++++---------
 4 files changed, 36 insertions(+), 36 deletions(-)

diff --git a/configure b/configure
index d15b539..86867e6 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.67 for Xen Hypervisor 4.3.
+# Generated by GNU Autoconf 2.67 for Xen Hypervisor 4.4.
 #
 # Report bugs to <xen-devel@lists.xen.org>.
 #
@@ -551,8 +551,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='Xen Hypervisor'
 PACKAGE_TARNAME='xen'
-PACKAGE_VERSION='4.3'
-PACKAGE_STRING='Xen Hypervisor 4.3'
+PACKAGE_VERSION='4.4'
+PACKAGE_STRING='Xen Hypervisor 4.4'
 PACKAGE_BUGREPORT='xen-devel@lists.xen.org'
 PACKAGE_URL='http://www.xen.org/'
 
@@ -1171,7 +1171,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures Xen Hypervisor 4.3 to adapt to many kinds of systems.
+\`configure' configures Xen Hypervisor 4.4 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1236,7 +1236,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of Xen Hypervisor 4.3:";;
+     short | recursive ) echo "Configuration of Xen Hypervisor 4.4:";;
    esac
   cat <<\_ACEOF
 
@@ -1314,7 +1314,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-Xen Hypervisor configure 4.3
+Xen Hypervisor configure 4.4
 generated by GNU Autoconf 2.67
 
 Copyright (C) 2010 Free Software Foundation, Inc.
@@ -1331,7 +1331,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by Xen Hypervisor $as_me 4.3, which was
+It was created by Xen Hypervisor $as_me 4.4, which was
 generated by GNU Autoconf 2.67.  Invocation command line was
 
   $ $0 $@
@@ -2609,7 +2609,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by Xen Hypervisor $as_me 4.3, which was
+This file was extended by Xen Hypervisor $as_me 4.4, which was
 generated by GNU Autoconf 2.67.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -2663,7 +2663,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-Xen Hypervisor config.status 4.3
+Xen Hypervisor config.status 4.4
 configured by $0, generated by GNU Autoconf 2.67,
   with options \\"\$ac_cs_config\\"
 
diff --git a/docs/configure b/docs/configure
index a778bda..0602843 100755
--- a/docs/configure
+++ b/docs/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.67 for Xen Hypervisor Documentation 4.3.
+# Generated by GNU Autoconf 2.67 for Xen Hypervisor Documentation 4.4.
 #
 # Report bugs to <xen-devel@lists.xen.org>.
 #
@@ -551,8 +551,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='Xen Hypervisor Documentation'
 PACKAGE_TARNAME='xen'
-PACKAGE_VERSION='4.3'
-PACKAGE_STRING='Xen Hypervisor Documentation 4.3'
+PACKAGE_VERSION='4.4'
+PACKAGE_STRING='Xen Hypervisor Documentation 4.4'
 PACKAGE_BUGREPORT='xen-devel@lists.xen.org'
 PACKAGE_URL='http://www.xen.org/'
 
@@ -1158,7 +1158,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures Xen Hypervisor Documentation 4.3 to adapt to many kinds of systems.
+\`configure' configures Xen Hypervisor Documentation 4.4 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1219,7 +1219,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of Xen Hypervisor Documentation 4.3:";;
+     short | recursive ) echo "Configuration of Xen Hypervisor Documentation 4.4:";;
    esac
   cat <<\_ACEOF
 
@@ -1298,7 +1298,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-Xen Hypervisor Documentation configure 4.3
+Xen Hypervisor Documentation configure 4.4
 generated by GNU Autoconf 2.67
 
 Copyright (C) 2010 Free Software Foundation, Inc.
@@ -1315,7 +1315,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by Xen Hypervisor Documentation $as_me 4.3, which was
+It was created by Xen Hypervisor Documentation $as_me 4.4, which was
 generated by GNU Autoconf 2.67.  Invocation command line was
 
   $ $0 $@
@@ -2544,7 +2544,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by Xen Hypervisor Documentation $as_me 4.3, which was
+This file was extended by Xen Hypervisor Documentation $as_me 4.4, which was
 generated by GNU Autoconf 2.67.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -2598,7 +2598,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-Xen Hypervisor Documentation config.status 4.3
+Xen Hypervisor Documentation config.status 4.4
 configured by $0, generated by GNU Autoconf 2.67,
   with options \\"\$ac_cs_config\\"
 
diff --git a/stubdom/configure b/stubdom/configure
index de9329f..3da2677 100755
--- a/stubdom/configure
+++ b/stubdom/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.67 for Xen Hypervisor Stub Domains 4.3.
+# Generated by GNU Autoconf 2.67 for Xen Hypervisor Stub Domains 4.4.
 #
 # Report bugs to <xen-devel@lists.xen.org>.
 #
@@ -551,8 +551,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='Xen Hypervisor Stub Domains'
 PACKAGE_TARNAME='xen'
-PACKAGE_VERSION='4.3'
-PACKAGE_STRING='Xen Hypervisor Stub Domains 4.3'
+PACKAGE_VERSION='4.4'
+PACKAGE_STRING='Xen Hypervisor Stub Domains 4.4'
 PACKAGE_BUGREPORT='xen-devel@lists.xen.org'
 PACKAGE_URL='http://www.xen.org/'
 
@@ -1215,7 +1215,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures Xen Hypervisor Stub Domains 4.3 to adapt to many kinds of systems.
+\`configure' configures Xen Hypervisor Stub Domains 4.4 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1276,7 +1276,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of Xen Hypervisor Stub Domains 4.3:";;
+     short | recursive ) echo "Configuration of Xen Hypervisor Stub Domains 4.4:";;
    esac
   cat <<\_ACEOF
 
@@ -1385,7 +1385,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-Xen Hypervisor Stub Domains configure 4.3
+Xen Hypervisor Stub Domains configure 4.4
 generated by GNU Autoconf 2.67
 
 Copyright (C) 2010 Free Software Foundation, Inc.
@@ -1440,7 +1440,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by Xen Hypervisor Stub Domains $as_me 4.3, which was
+It was created by Xen Hypervisor Stub Domains $as_me 4.4, which was
 generated by GNU Autoconf 2.67.  Invocation command line was
 
   $ $0 $@
@@ -4025,7 +4025,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by Xen Hypervisor Stub Domains $as_me 4.3, which was
+This file was extended by Xen Hypervisor Stub Domains $as_me 4.4, which was
 generated by GNU Autoconf 2.67.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -4079,7 +4079,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-Xen Hypervisor Stub Domains config.status 4.3
+Xen Hypervisor Stub Domains config.status 4.4
 configured by $0, generated by GNU Autoconf 2.67,
   with options \\"\$ac_cs_config\\"
 
diff --git a/tools/configure b/tools/configure
index aac7f87..079646c 100755
--- a/tools/configure
+++ b/tools/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.67 for Xen Hypervisor Tools 4.3.
+# Generated by GNU Autoconf 2.67 for Xen Hypervisor Tools 4.4.
 #
 # Report bugs to <xen-devel@lists.xen.org>.
 #
@@ -552,8 +552,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='Xen Hypervisor Tools'
 PACKAGE_TARNAME='xen'
-PACKAGE_VERSION='4.3'
-PACKAGE_STRING='Xen Hypervisor Tools 4.3'
+PACKAGE_VERSION='4.4'
+PACKAGE_STRING='Xen Hypervisor Tools 4.4'
 PACKAGE_BUGREPORT='xen-devel@lists.xen.org'
 PACKAGE_URL='http://www.xen.org/'
 
@@ -1307,7 +1307,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures Xen Hypervisor Tools 4.3 to adapt to many kinds of systems.
+\`configure' configures Xen Hypervisor Tools 4.4 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1372,7 +1372,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of Xen Hypervisor Tools 4.3:";;
+     short | recursive ) echo "Configuration of Xen Hypervisor Tools 4.4:";;
    esac
   cat <<\_ACEOF
 
@@ -1497,7 +1497,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-Xen Hypervisor Tools configure 4.3
+Xen Hypervisor Tools configure 4.4
 generated by GNU Autoconf 2.67
 
 Copyright (C) 2010 Free Software Foundation, Inc.
@@ -1799,7 +1799,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by Xen Hypervisor Tools $as_me 4.3, which was
+It was created by Xen Hypervisor Tools $as_me 4.4, which was
 generated by GNU Autoconf 2.67.  Invocation command line was
 
   $ $0 $@
@@ -8341,7 +8341,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by Xen Hypervisor Tools $as_me 4.3, which was
+This file was extended by Xen Hypervisor Tools $as_me 4.4, which was
 generated by GNU Autoconf 2.67.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -8404,7 +8404,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-Xen Hypervisor Tools config.status 4.3
+Xen Hypervisor Tools config.status 4.4
 configured by $0, generated by GNU Autoconf 2.67,
   with options \\"\$ac_cs_config\\"
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 09 05:22:33 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Aug 2013 05:22:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7f9i-0004eI-Gt; Fri, 09 Aug 2013 05:22:30 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7f9h-0004dw-3s
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:22:29 +0000
Received: from [85.158.139.211:2481] by server-7.bemta-5.messagelabs.com id
	D8/90-21002-49C74025; Fri, 09 Aug 2013 05:22:28 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-206.messagelabs.com!1376025746!1556945!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32190 invoked from network); 9 Aug 2013 05:22:27 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-8.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	9 Aug 2013 05:22:27 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7f9e-0003Hz-IV
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:22:26 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7f9e-0005rC-Dp
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:22:26 +0000
Date: Fri, 09 Aug 2013 05:22:26 +0000
Message-Id: <E1V7f9e-0005rC-Dp@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] rombios/keyboard: Don't needlessly
	poll the status register
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 20025504271220ab3bf041955a3cd40c6057e58e
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Aug 6 14:48:36 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Aug 8 12:03:09 2013 +0100

    rombios/keyboard: Don't needlessly poll the status register
    
    Repeated polling of the status register is not going to change its value, so
    don't needlessly take 8192 traps to Qemu when 1 will do.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
---
 tools/firmware/rombios/rombios.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/firmware/rombios/rombios.c b/tools/firmware/rombios/rombios.c
index 80980b6..e364759 100644
--- a/tools/firmware/rombios/rombios.c
+++ b/tools/firmware/rombios/rombios.c
@@ -1805,12 +1805,12 @@ keyboard_init()
     while ( (inb(0x64) & 0x02) && (--max>0)) outb(0x80, 0x00);
 
     /* flush incoming keys */
-    max=0x2000;
+    max=2;
     while (--max > 0) {
         outb(0x80, 0x00);
         if (inb(0x64) & 0x01) {
             inb(0x60);
-            max = 0x2000;
+            max = 2;
             }
         }
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 09 05:22:33 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Aug 2013 05:22:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7f9i-0004eI-Gt; Fri, 09 Aug 2013 05:22:30 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7f9h-0004dw-3s
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:22:29 +0000
Received: from [85.158.139.211:2481] by server-7.bemta-5.messagelabs.com id
	D8/90-21002-49C74025; Fri, 09 Aug 2013 05:22:28 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-206.messagelabs.com!1376025746!1556945!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32190 invoked from network); 9 Aug 2013 05:22:27 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-8.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	9 Aug 2013 05:22:27 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7f9e-0003Hz-IV
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:22:26 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7f9e-0005rC-Dp
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:22:26 +0000
Date: Fri, 09 Aug 2013 05:22:26 +0000
Message-Id: <E1V7f9e-0005rC-Dp@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] rombios/keyboard: Don't needlessly
	poll the status register
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 20025504271220ab3bf041955a3cd40c6057e58e
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Aug 6 14:48:36 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Aug 8 12:03:09 2013 +0100

    rombios/keyboard: Don't needlessly poll the status register
    
    Repeated polling of the status register is not going to change its value, so
    don't needlessly take 8192 traps to Qemu when 1 will do.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
---
 tools/firmware/rombios/rombios.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/firmware/rombios/rombios.c b/tools/firmware/rombios/rombios.c
index 80980b6..e364759 100644
--- a/tools/firmware/rombios/rombios.c
+++ b/tools/firmware/rombios/rombios.c
@@ -1805,12 +1805,12 @@ keyboard_init()
     while ( (inb(0x64) & 0x02) && (--max>0)) outb(0x80, 0x00);
 
     /* flush incoming keys */
-    max=0x2000;
+    max=2;
     while (--max > 0) {
         outb(0x80, 0x00);
         if (inb(0x64) & 0x01) {
             inb(0x60);
-            max = 0x2000;
+            max = 2;
             }
         }
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 09 05:22:47 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Aug 2013 05:22:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7f9u-0004fc-Ju; Fri, 09 Aug 2013 05:22:42 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7f9s-0004fG-KQ
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:22:40 +0000
Received: from [85.158.143.35:23886] by server-3.bemta-4.messagelabs.com id
	17/28-29480-F9C74025; Fri, 09 Aug 2013 05:22:39 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1376025757!3387591!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28906 invoked from network); 9 Aug 2013 05:22:38 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-8.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	9 Aug 2013 05:22:38 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7f9o-0003IA-OZ
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:22:36 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7f9o-0005re-N6
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:22:36 +0000
Date: Fri, 09 Aug 2013 05:22:36 +0000
Message-Id: <E1V7f9o-0005re-N6@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] rombios/ata: Do not wait for BSY to be
	set
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 413a6fb4ee81897acafefb90f81ef3d2661c3aa6
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Aug 6 14:48:37 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Aug 8 12:03:12 2013 +0100

    rombios/ata: Do not wait for BSY to be set
    
    After issuing a reset, the BSY bit is expected to be set.  This is not the
    case for Qemu.
    
    In SeaBIOS.git: 580e33293244fee4556e56ecc67b8bd877f3c496
    
    this check was even replaced with a udelay(5), as enough real hardware ignored
    the BSY bit as well.
    
    As rombios does not have an equivalent udelay(), replace the wait with a write
    to port 0x80 which is whitelisted by Xen for 'a small delay'.
    
    This causes 42k fewer IO traps to Qemu.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
---
 tools/firmware/rombios/rombios.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/firmware/rombios/rombios.c b/tools/firmware/rombios/rombios.c
index e364759..a3efc61 100644
--- a/tools/firmware/rombios/rombios.c
+++ b/tools/firmware/rombios/rombios.c
@@ -2914,8 +2914,8 @@ Bit16u device;
 // 8.2.1 (a) -- set SRST in DC
   outb(iobase2+ATA_CB_DC, ATA_CB_DC_HD15 | ATA_CB_DC_NIEN | ATA_CB_DC_SRST);
 
-// 8.2.1 (b) -- wait for BSY
-  await_ide(BSY, iobase1, 20);
+// 8.2.1 (b) -- wait
+  outb(0x80, 0x00);
 
 // 8.2.1 (f) -- clear SRST
   outb(iobase2+ATA_CB_DC, ATA_CB_DC_HD15 | ATA_CB_DC_NIEN);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 09 05:22:47 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Aug 2013 05:22:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7f9u-0004fc-Ju; Fri, 09 Aug 2013 05:22:42 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7f9s-0004fG-KQ
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:22:40 +0000
Received: from [85.158.143.35:23886] by server-3.bemta-4.messagelabs.com id
	17/28-29480-F9C74025; Fri, 09 Aug 2013 05:22:39 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-21.messagelabs.com!1376025757!3387591!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28906 invoked from network); 9 Aug 2013 05:22:38 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-8.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	9 Aug 2013 05:22:38 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7f9o-0003IA-OZ
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:22:36 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7f9o-0005re-N6
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:22:36 +0000
Date: Fri, 09 Aug 2013 05:22:36 +0000
Message-Id: <E1V7f9o-0005re-N6@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] rombios/ata: Do not wait for BSY to be
	set
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 413a6fb4ee81897acafefb90f81ef3d2661c3aa6
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Aug 6 14:48:37 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Aug 8 12:03:12 2013 +0100

    rombios/ata: Do not wait for BSY to be set
    
    After issuing a reset, the BSY bit is expected to be set.  This is not the
    case for Qemu.
    
    In SeaBIOS.git: 580e33293244fee4556e56ecc67b8bd877f3c496
    
    this check was even replaced with a udelay(5), as enough real hardware ignored
    the BSY bit as well.
    
    As rombios does not have an equivalent udelay(), replace the wait with a write
    to port 0x80 which is whitelisted by Xen for 'a small delay'.
    
    This causes 42k fewer IO traps to Qemu.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
---
 tools/firmware/rombios/rombios.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/firmware/rombios/rombios.c b/tools/firmware/rombios/rombios.c
index e364759..a3efc61 100644
--- a/tools/firmware/rombios/rombios.c
+++ b/tools/firmware/rombios/rombios.c
@@ -2914,8 +2914,8 @@ Bit16u device;
 // 8.2.1 (a) -- set SRST in DC
   outb(iobase2+ATA_CB_DC, ATA_CB_DC_HD15 | ATA_CB_DC_NIEN | ATA_CB_DC_SRST);
 
-// 8.2.1 (b) -- wait for BSY
-  await_ide(BSY, iobase1, 20);
+// 8.2.1 (b) -- wait
+  outb(0x80, 0x00);
 
 // 8.2.1 (f) -- clear SRST
   outb(iobase2+ATA_CB_DC, ATA_CB_DC_HD15 | ATA_CB_DC_NIEN);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 09 05:22:54 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Aug 2013 05:22:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7fA2-0004gk-Mh; Fri, 09 Aug 2013 05:22:50 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fA1-0004gW-DS
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:22:49 +0000
Received: from [85.158.143.35:61921] by server-2.bemta-4.messagelabs.com id
	7F/BA-09492-8AC74025; Fri, 09 Aug 2013 05:22:48 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1376025767!1285739!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3561 invoked from network); 9 Aug 2013 05:22:48 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-2.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	9 Aug 2013 05:22:48 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7f9y-0003ID-V2
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:22:46 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7f9y-0005s2-SC
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:22:46 +0000
Date: Fri, 09 Aug 2013 05:22:46 +0000
Message-Id: <E1V7f9y-0005s2-SC@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] rombios/ata: Reading this status
	register has no relevant side effects
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit db46adf193be09e33fb1778f840cda5de91c777e
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Aug 6 14:48:38 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Aug 8 12:03:16 2013 +0100

    rombios/ata: Reading this status register has no relevant side effects
    
    So taking two traps when one will do is pointless.  This removes 1 of 13
    VMExits on the int 0x13 hotpath.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
---
 tools/firmware/rombios/rombios.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/tools/firmware/rombios/rombios.c b/tools/firmware/rombios/rombios.c
index a3efc61..f555747 100644
--- a/tools/firmware/rombios/rombios.c
+++ b/tools/firmware/rombios/rombios.c
@@ -2540,7 +2540,6 @@ static int await_ide(when_done,base,timeout)
   Bit32u time=0,last=0;
   Bit16u status;
   Bit8u result;
-  status = inb(base + ATA_CB_STAT); // for the times you're supposed to throw one away
   for(;;) {
     status = inb(base+ATA_CB_STAT);
     time++;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 09 05:22:54 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Aug 2013 05:22:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7fA2-0004gk-Mh; Fri, 09 Aug 2013 05:22:50 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fA1-0004gW-DS
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:22:49 +0000
Received: from [85.158.143.35:61921] by server-2.bemta-4.messagelabs.com id
	7F/BA-09492-8AC74025; Fri, 09 Aug 2013 05:22:48 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1376025767!1285739!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3561 invoked from network); 9 Aug 2013 05:22:48 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-2.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	9 Aug 2013 05:22:48 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7f9y-0003ID-V2
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:22:46 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7f9y-0005s2-SC
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:22:46 +0000
Date: Fri, 09 Aug 2013 05:22:46 +0000
Message-Id: <E1V7f9y-0005s2-SC@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] rombios/ata: Reading this status
	register has no relevant side effects
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit db46adf193be09e33fb1778f840cda5de91c777e
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Aug 6 14:48:38 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Aug 8 12:03:16 2013 +0100

    rombios/ata: Reading this status register has no relevant side effects
    
    So taking two traps when one will do is pointless.  This removes 1 of 13
    VMExits on the int 0x13 hotpath.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
---
 tools/firmware/rombios/rombios.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/tools/firmware/rombios/rombios.c b/tools/firmware/rombios/rombios.c
index a3efc61..f555747 100644
--- a/tools/firmware/rombios/rombios.c
+++ b/tools/firmware/rombios/rombios.c
@@ -2540,7 +2540,6 @@ static int await_ide(when_done,base,timeout)
   Bit32u time=0,last=0;
   Bit16u status;
   Bit8u result;
-  status = inb(base + ATA_CB_STAT); // for the times you're supposed to throw one away
   for(;;) {
     status = inb(base+ATA_CB_STAT);
     time++;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 09 05:23:06 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Aug 2013 05:23:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7fAF-0004iw-Pu; Fri, 09 Aug 2013 05:23:03 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fAC-0004iS-Qo
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:23:01 +0000
Received: from [193.109.254.147:65434] by server-1.bemta-14.messagelabs.com id
	1E/00-20106-4BC74025; Fri, 09 Aug 2013 05:23:00 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1376025777!3236341!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1631 invoked from network); 9 Aug 2013 05:22:58 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-8.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	9 Aug 2013 05:22:58 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fA9-0003IP-4h
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:22:57 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fA9-0005sQ-3Z
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:22:57 +0000
Date: Fri, 09 Aug 2013 05:22:57 +0000
Message-Id: <E1V7fA9-0005sQ-3Z@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] rombios/ata Remove another needless
	trap from the int 0x13 hotpath
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 01d8e90c60599fedf29ebbb8a478ac18f64f4e74
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Aug 6 14:48:39 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Aug 8 12:03:17 2013 +0100

    rombios/ata Remove another needless trap from the int 0x13 hotpath
    
    The return value from await_ide() is always ignored, and most calls to
    await_ide() immediately reread the status register.
    
    Therefore, making await_ide() return the last value of the status register
    removes a further two traps on the int 0x13 path.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
---
 tools/firmware/rombios/rombios.c |   32 +++++++++++++-------------------
 1 files changed, 13 insertions(+), 19 deletions(-)

diff --git a/tools/firmware/rombios/rombios.c b/tools/firmware/rombios/rombios.c
index f555747..057aced 100644
--- a/tools/firmware/rombios/rombios.c
+++ b/tools/firmware/rombios/rombios.c
@@ -2531,14 +2531,14 @@ void ata_init( )
 
 #define IDE_TIMEOUT 32000u //32 seconds max for IDE ops
 
-int await_ide();
-static int await_ide(when_done,base,timeout)
+Bit8u await_ide();
+static Bit8u await_ide(when_done,base,timeout)
   Bit8u when_done;
   Bit16u base;
   Bit16u timeout;
 {
   Bit32u time=0,last=0;
-  Bit16u status;
+  Bit8u status;
   Bit8u result;
   for(;;) {
     status = inb(base+ATA_CB_STAT);
@@ -2556,7 +2556,7 @@ static int await_ide(when_done,base,timeout)
     else if (when_done == TIMEOUT)
       result = 0;
 
-    if (result) return 0;
+    if (result) return status;
     if (time>>16 != last) // mod 2048 each 16 ms
     {
       last = time >>16;
@@ -2565,12 +2565,12 @@ static int await_ide(when_done,base,timeout)
     if (status & ATA_CB_STAT_ERR)
     {
       BX_DEBUG_ATA("await_ide: ERROR (TIMEOUT,BSY,!BSY,!BSY_DRQ,!BSY_!DRQ,!BSY_RDY) %d time= %ld timeout= %d\n",when_done,time>>11, timeout);
-      return -1;
+      return status;
     }
     if ((timeout == 0) || ((time>>11) > timeout)) break;
   }
   BX_INFO("IDE time out\n");
-  return -1;
+  return status;
 }
 
 // ---------------------------------------------------------------------------
@@ -3016,8 +3016,7 @@ Bit32u lba_low, lba_high;
   outb(iobase1 + ATA_CB_DH, (slave ? ATA_CB_DH_DEV1 : ATA_CB_DH_DEV0) | (Bit8u) head );
   outb(iobase1 + ATA_CB_CMD, command);
 
-  await_ide(NOT_BSY_DRQ, iobase1, IDE_TIMEOUT);
-  status = inb(iobase1 + ATA_CB_STAT);
+  status = await_ide(NOT_BSY_DRQ, iobase1, IDE_TIMEOUT);
 
   if (status & ATA_CB_STAT_ERR) {
     BX_DEBUG_ATA("ata_cmd_data_in : read error\n");
@@ -3077,8 +3076,7 @@ ASM_END
     current++;
     write_word(ebda_seg, &EbdaData->ata.trsfsectors,current);
     count--;
-    await_ide(NOT_BSY, iobase1, IDE_TIMEOUT);
-    status = inb(iobase1 + ATA_CB_STAT);
+    status = await_ide(NOT_BSY, iobase1, IDE_TIMEOUT);
     if (count == 0) {
       if ( (status & (ATA_CB_STAT_BSY | ATA_CB_STAT_RDY | ATA_CB_STAT_DRQ | ATA_CB_STAT_ERR) )
           != ATA_CB_STAT_RDY ) {
@@ -3167,8 +3165,7 @@ Bit32u lba_low, lba_high;
   outb(iobase1 + ATA_CB_DH, (slave ? ATA_CB_DH_DEV1 : ATA_CB_DH_DEV0) | (Bit8u) head );
   outb(iobase1 + ATA_CB_CMD, command);
 
-  await_ide(NOT_BSY_DRQ, iobase1, IDE_TIMEOUT);
-  status = inb(iobase1 + ATA_CB_STAT);
+  status = await_ide(NOT_BSY_DRQ, iobase1, IDE_TIMEOUT);
 
   if (status & ATA_CB_STAT_ERR) {
     BX_DEBUG_ATA("ata_cmd_data_out : read error\n");
@@ -3316,8 +3313,7 @@ Bit32u length;
   outb(iobase1 + ATA_CB_CMD, ATA_CMD_PACKET);
 
   // Device should ok to receive command
-  await_ide(NOT_BSY_DRQ, iobase1, IDE_TIMEOUT);
-  status = inb(iobase1 + ATA_CB_STAT);
+  status = await_ide(NOT_BSY_DRQ, iobase1, IDE_TIMEOUT);
 
   if (status & ATA_CB_STAT_ERR) {
     BX_DEBUG_ATA("ata_cmd_packet : error, status is %02x\n",status);
@@ -3353,8 +3349,7 @@ ASM_START
 ASM_END
 
   if (inout == ATA_DATA_NO) {
-    await_ide(NOT_BSY, iobase1, IDE_TIMEOUT);
-    status = inb(iobase1 + ATA_CB_STAT);
+    status = await_ide(NOT_BSY, iobase1, IDE_TIMEOUT);
     }
   else {
         Bit16u loops = 0;
@@ -3363,13 +3358,12 @@ ASM_END
 
       if (loops == 0) {//first time through
         status = inb(iobase2 + ATA_CB_ASTAT);
-        await_ide(NOT_BSY_DRQ, iobase1, IDE_TIMEOUT);
+        status = await_ide(NOT_BSY_DRQ, iobase1, IDE_TIMEOUT);
       }
       else
-        await_ide(NOT_BSY, iobase1, IDE_TIMEOUT);
+        status = await_ide(NOT_BSY, iobase1, IDE_TIMEOUT);
       loops++;
 
-      status = inb(iobase1 + ATA_CB_STAT);
       sc = inb(iobase1 + ATA_CB_SC);
 
       // Check if command completed
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 09 05:23:06 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Aug 2013 05:23:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7fAF-0004iw-Pu; Fri, 09 Aug 2013 05:23:03 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fAC-0004iS-Qo
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:23:01 +0000
Received: from [193.109.254.147:65434] by server-1.bemta-14.messagelabs.com id
	1E/00-20106-4BC74025; Fri, 09 Aug 2013 05:23:00 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1376025777!3236341!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1631 invoked from network); 9 Aug 2013 05:22:58 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-8.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	9 Aug 2013 05:22:58 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fA9-0003IP-4h
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:22:57 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fA9-0005sQ-3Z
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:22:57 +0000
Date: Fri, 09 Aug 2013 05:22:57 +0000
Message-Id: <E1V7fA9-0005sQ-3Z@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] rombios/ata Remove another needless
	trap from the int 0x13 hotpath
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 01d8e90c60599fedf29ebbb8a478ac18f64f4e74
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Aug 6 14:48:39 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Aug 8 12:03:17 2013 +0100

    rombios/ata Remove another needless trap from the int 0x13 hotpath
    
    The return value from await_ide() is always ignored, and most calls to
    await_ide() immediately reread the status register.
    
    Therefore, making await_ide() return the last value of the status register
    removes a further two traps on the int 0x13 path.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
---
 tools/firmware/rombios/rombios.c |   32 +++++++++++++-------------------
 1 files changed, 13 insertions(+), 19 deletions(-)

diff --git a/tools/firmware/rombios/rombios.c b/tools/firmware/rombios/rombios.c
index f555747..057aced 100644
--- a/tools/firmware/rombios/rombios.c
+++ b/tools/firmware/rombios/rombios.c
@@ -2531,14 +2531,14 @@ void ata_init( )
 
 #define IDE_TIMEOUT 32000u //32 seconds max for IDE ops
 
-int await_ide();
-static int await_ide(when_done,base,timeout)
+Bit8u await_ide();
+static Bit8u await_ide(when_done,base,timeout)
   Bit8u when_done;
   Bit16u base;
   Bit16u timeout;
 {
   Bit32u time=0,last=0;
-  Bit16u status;
+  Bit8u status;
   Bit8u result;
   for(;;) {
     status = inb(base+ATA_CB_STAT);
@@ -2556,7 +2556,7 @@ static int await_ide(when_done,base,timeout)
     else if (when_done == TIMEOUT)
       result = 0;
 
-    if (result) return 0;
+    if (result) return status;
     if (time>>16 != last) // mod 2048 each 16 ms
     {
       last = time >>16;
@@ -2565,12 +2565,12 @@ static int await_ide(when_done,base,timeout)
     if (status & ATA_CB_STAT_ERR)
     {
       BX_DEBUG_ATA("await_ide: ERROR (TIMEOUT,BSY,!BSY,!BSY_DRQ,!BSY_!DRQ,!BSY_RDY) %d time= %ld timeout= %d\n",when_done,time>>11, timeout);
-      return -1;
+      return status;
     }
     if ((timeout == 0) || ((time>>11) > timeout)) break;
   }
   BX_INFO("IDE time out\n");
-  return -1;
+  return status;
 }
 
 // ---------------------------------------------------------------------------
@@ -3016,8 +3016,7 @@ Bit32u lba_low, lba_high;
   outb(iobase1 + ATA_CB_DH, (slave ? ATA_CB_DH_DEV1 : ATA_CB_DH_DEV0) | (Bit8u) head );
   outb(iobase1 + ATA_CB_CMD, command);
 
-  await_ide(NOT_BSY_DRQ, iobase1, IDE_TIMEOUT);
-  status = inb(iobase1 + ATA_CB_STAT);
+  status = await_ide(NOT_BSY_DRQ, iobase1, IDE_TIMEOUT);
 
   if (status & ATA_CB_STAT_ERR) {
     BX_DEBUG_ATA("ata_cmd_data_in : read error\n");
@@ -3077,8 +3076,7 @@ ASM_END
     current++;
     write_word(ebda_seg, &EbdaData->ata.trsfsectors,current);
     count--;
-    await_ide(NOT_BSY, iobase1, IDE_TIMEOUT);
-    status = inb(iobase1 + ATA_CB_STAT);
+    status = await_ide(NOT_BSY, iobase1, IDE_TIMEOUT);
     if (count == 0) {
       if ( (status & (ATA_CB_STAT_BSY | ATA_CB_STAT_RDY | ATA_CB_STAT_DRQ | ATA_CB_STAT_ERR) )
           != ATA_CB_STAT_RDY ) {
@@ -3167,8 +3165,7 @@ Bit32u lba_low, lba_high;
   outb(iobase1 + ATA_CB_DH, (slave ? ATA_CB_DH_DEV1 : ATA_CB_DH_DEV0) | (Bit8u) head );
   outb(iobase1 + ATA_CB_CMD, command);
 
-  await_ide(NOT_BSY_DRQ, iobase1, IDE_TIMEOUT);
-  status = inb(iobase1 + ATA_CB_STAT);
+  status = await_ide(NOT_BSY_DRQ, iobase1, IDE_TIMEOUT);
 
   if (status & ATA_CB_STAT_ERR) {
     BX_DEBUG_ATA("ata_cmd_data_out : read error\n");
@@ -3316,8 +3313,7 @@ Bit32u length;
   outb(iobase1 + ATA_CB_CMD, ATA_CMD_PACKET);
 
   // Device should ok to receive command
-  await_ide(NOT_BSY_DRQ, iobase1, IDE_TIMEOUT);
-  status = inb(iobase1 + ATA_CB_STAT);
+  status = await_ide(NOT_BSY_DRQ, iobase1, IDE_TIMEOUT);
 
   if (status & ATA_CB_STAT_ERR) {
     BX_DEBUG_ATA("ata_cmd_packet : error, status is %02x\n",status);
@@ -3353,8 +3349,7 @@ ASM_START
 ASM_END
 
   if (inout == ATA_DATA_NO) {
-    await_ide(NOT_BSY, iobase1, IDE_TIMEOUT);
-    status = inb(iobase1 + ATA_CB_STAT);
+    status = await_ide(NOT_BSY, iobase1, IDE_TIMEOUT);
     }
   else {
         Bit16u loops = 0;
@@ -3363,13 +3358,12 @@ ASM_END
 
       if (loops == 0) {//first time through
         status = inb(iobase2 + ATA_CB_ASTAT);
-        await_ide(NOT_BSY_DRQ, iobase1, IDE_TIMEOUT);
+        status = await_ide(NOT_BSY_DRQ, iobase1, IDE_TIMEOUT);
       }
       else
-        await_ide(NOT_BSY, iobase1, IDE_TIMEOUT);
+        status = await_ide(NOT_BSY, iobase1, IDE_TIMEOUT);
       loops++;
 
-      status = inb(iobase1 + ATA_CB_STAT);
       sc = inb(iobase1 + ATA_CB_SC);
 
       // Check if command completed
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 09 05:23:14 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Aug 2013 05:23:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7fAN-0004kT-Sy; Fri, 09 Aug 2013 05:23:11 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fAM-0004k8-0I
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:23:10 +0000
Received: from [85.158.143.35:25030] by server-3.bemta-4.messagelabs.com id
	1F/48-29480-DBC74025; Fri, 09 Aug 2013 05:23:09 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1376025787!2840115!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28364 invoked from network); 9 Aug 2013 05:23:08 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-10.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	9 Aug 2013 05:23:08 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fAJ-0003Iv-AQ
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:23:07 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fAJ-0005t9-8k
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:23:07 +0000
Date: Fri, 09 Aug 2013 05:23:07 +0000
Message-Id: <E1V7fAJ-0005t9-8k@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] rombios/debug: Reduce verbosity of
	rombios
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 1242b63dd1a4321acd2b02051f210a3488265709
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Aug 6 14:48:40 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Aug 8 12:03:24 2013 +0100

    rombios/debug: Reduce verbosity of rombios
    
    Default builds of Qemu have the Bochs debug port logging #ifdef'd out, so
    remove all the completely wasted VMExits
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
---
 tools/firmware/rombios/rombios.h |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/tools/firmware/rombios/rombios.h b/tools/firmware/rombios/rombios.h
index 93d12a4..0308a18 100644
--- a/tools/firmware/rombios/rombios.h
+++ b/tools/firmware/rombios/rombios.h
@@ -48,10 +48,11 @@
 // per-device basis. Debug info are sent only in debug mode
 #if DEBUG_ROMBIOS
 #  define BX_DEBUG(format, p...)  bios_printf(BIOS_PRINTF_INFO, format, ##p)
+#  define BX_INFO(format, p...)   bios_printf(BIOS_PRINTF_INFO, format, ##p)
 #else
 #  define BX_DEBUG(format, p...)
+#  define BX_INFO(format, p...)
 #endif
-#define BX_INFO(format, p...)   bios_printf(BIOS_PRINTF_INFO, format, ##p)
 #define BX_PANIC(format, p...)  bios_printf(BIOS_PRINTF_DEBHALT, format, ##p)
 
 #define ACPI_DATA_SIZE    0x00010000L
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 09 05:23:14 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Aug 2013 05:23:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7fAN-0004kT-Sy; Fri, 09 Aug 2013 05:23:11 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fAM-0004k8-0I
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:23:10 +0000
Received: from [85.158.143.35:25030] by server-3.bemta-4.messagelabs.com id
	1F/48-29480-DBC74025; Fri, 09 Aug 2013 05:23:09 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1376025787!2840115!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28364 invoked from network); 9 Aug 2013 05:23:08 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-10.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	9 Aug 2013 05:23:08 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fAJ-0003Iv-AQ
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:23:07 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fAJ-0005t9-8k
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:23:07 +0000
Date: Fri, 09 Aug 2013 05:23:07 +0000
Message-Id: <E1V7fAJ-0005t9-8k@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] rombios/debug: Reduce verbosity of
	rombios
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 1242b63dd1a4321acd2b02051f210a3488265709
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Aug 6 14:48:40 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Aug 8 12:03:24 2013 +0100

    rombios/debug: Reduce verbosity of rombios
    
    Default builds of Qemu have the Bochs debug port logging #ifdef'd out, so
    remove all the completely wasted VMExits
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
---
 tools/firmware/rombios/rombios.h |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/tools/firmware/rombios/rombios.h b/tools/firmware/rombios/rombios.h
index 93d12a4..0308a18 100644
--- a/tools/firmware/rombios/rombios.h
+++ b/tools/firmware/rombios/rombios.h
@@ -48,10 +48,11 @@
 // per-device basis. Debug info are sent only in debug mode
 #if DEBUG_ROMBIOS
 #  define BX_DEBUG(format, p...)  bios_printf(BIOS_PRINTF_INFO, format, ##p)
+#  define BX_INFO(format, p...)   bios_printf(BIOS_PRINTF_INFO, format, ##p)
 #else
 #  define BX_DEBUG(format, p...)
+#  define BX_INFO(format, p...)
 #endif
-#define BX_INFO(format, p...)   bios_printf(BIOS_PRINTF_INFO, format, ##p)
 #define BX_PANIC(format, p...)  bios_printf(BIOS_PRINTF_DEBHALT, format, ##p)
 
 #define ACPI_DATA_SIZE    0x00010000L
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 09 05:23:23 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Aug 2013 05:23:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7fAX-0004mc-W4; Fri, 09 Aug 2013 05:23:22 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fAW-0004m6-4Q
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:23:20 +0000
Received: from [85.158.139.211:19992] by server-10.bemta-5.messagelabs.com id
	BC/63-03093-7CC74025; Fri, 09 Aug 2013 05:23:19 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-206.messagelabs.com!1376025797!1546920!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4279 invoked from network); 9 Aug 2013 05:23:18 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-7.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	9 Aug 2013 05:23:18 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fAT-0003J4-GK
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:23:17 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fAT-0005uI-Eu
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:23:17 +0000
Date: Fri, 09 Aug 2013 05:23:17 +0000
Message-Id: <E1V7fAT-0005uI-Eu@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen/arm: Add support for device tree
	specified arch_timer clock frequency.
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit dd11cc89c5ba53ae8d969037eda8b8c70d20ffa6
Author:     Chen Baozi <baozich@gmail.com>
AuthorDate: Thu Aug 8 18:52:24 2013 +0800
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Aug 8 12:43:19 2013 +0100

    xen/arm: Add support for device tree specified arch_timer clock frequency.
    
    Signed-off-by: Chen Baozi <baozich@gmail.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 xen/arch/arm/time.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/xen/arch/arm/time.c b/xen/arch/arm/time.c
index 4ed7882..9a1b080 100644
--- a/xen/arch/arm/time.c
+++ b/xen/arch/arm/time.c
@@ -104,6 +104,7 @@ int __init init_xen_time(void)
     struct dt_device_node *dev;
     int res;
     unsigned int i;
+    u32 rate;
 
     dev = dt_find_compatible_node(NULL, NULL, "arm,armv7-timer");
     if ( !dev )
@@ -134,7 +135,11 @@ int __init init_xen_time(void)
     if ( !cpu_has_gentimer )
         panic("CPU does not support the Generic Timer v1 interface.\n");
 
-    cpu_khz = READ_SYSREG32(CNTFRQ_EL0) / 1000;
+    res = dt_property_read_u32(dev, "clock-frequency", &rate);
+    if ( res )
+        cpu_khz = rate / 1000;
+    else
+        cpu_khz = READ_SYSREG32(CNTFRQ_EL0) / 1000;
 
     boot_count = READ_SYSREG64(CNTPCT_EL0);
     printk("Using generic timer at %lu KHz\n", cpu_khz);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 09 05:23:23 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Aug 2013 05:23:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7fAX-0004mc-W4; Fri, 09 Aug 2013 05:23:22 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fAW-0004m6-4Q
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:23:20 +0000
Received: from [85.158.139.211:19992] by server-10.bemta-5.messagelabs.com id
	BC/63-03093-7CC74025; Fri, 09 Aug 2013 05:23:19 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-206.messagelabs.com!1376025797!1546920!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4279 invoked from network); 9 Aug 2013 05:23:18 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-7.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	9 Aug 2013 05:23:18 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fAT-0003J4-GK
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:23:17 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fAT-0005uI-Eu
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:23:17 +0000
Date: Fri, 09 Aug 2013 05:23:17 +0000
Message-Id: <E1V7fAT-0005uI-Eu@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen/arm: Add support for device tree
	specified arch_timer clock frequency.
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit dd11cc89c5ba53ae8d969037eda8b8c70d20ffa6
Author:     Chen Baozi <baozich@gmail.com>
AuthorDate: Thu Aug 8 18:52:24 2013 +0800
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Aug 8 12:43:19 2013 +0100

    xen/arm: Add support for device tree specified arch_timer clock frequency.
    
    Signed-off-by: Chen Baozi <baozich@gmail.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 xen/arch/arm/time.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/xen/arch/arm/time.c b/xen/arch/arm/time.c
index 4ed7882..9a1b080 100644
--- a/xen/arch/arm/time.c
+++ b/xen/arch/arm/time.c
@@ -104,6 +104,7 @@ int __init init_xen_time(void)
     struct dt_device_node *dev;
     int res;
     unsigned int i;
+    u32 rate;
 
     dev = dt_find_compatible_node(NULL, NULL, "arm,armv7-timer");
     if ( !dev )
@@ -134,7 +135,11 @@ int __init init_xen_time(void)
     if ( !cpu_has_gentimer )
         panic("CPU does not support the Generic Timer v1 interface.\n");
 
-    cpu_khz = READ_SYSREG32(CNTFRQ_EL0) / 1000;
+    res = dt_property_read_u32(dev, "clock-frequency", &rate);
+    if ( res )
+        cpu_khz = rate / 1000;
+    else
+        cpu_khz = READ_SYSREG32(CNTFRQ_EL0) / 1000;
 
     boot_count = READ_SYSREG64(CNTPCT_EL0);
     printk("Using generic timer at %lu KHz\n", cpu_khz);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 09 05:23:32 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Aug 2013 05:23:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7fAh-0004oT-30; Fri, 09 Aug 2013 05:23:31 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fAf-0004o5-S2
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:23:29 +0000
Received: from [193.109.254.147:30071] by server-3.bemta-14.messagelabs.com id
	48/70-00891-1DC74025; Fri, 09 Aug 2013 05:23:29 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1376025807!3224121!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19021 invoked from network); 9 Aug 2013 05:23:28 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-3.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	9 Aug 2013 05:23:28 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fAd-0003JC-Mc
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:23:27 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fAd-0005ug-L7
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:23:27 +0000
Date: Fri, 09 Aug 2013 05:23:27 +0000
Message-Id: <E1V7fAd-0005ug-L7@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] libelf: Fix typo in header guard macro
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 0aec8823501f8ee058c1ba673d2ac3e0f3f2e8db
Author:     Patrick Welche <prlw1@cam.ac.uk>
AuthorDate: Thu Aug 8 11:43:29 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Aug 8 12:47:38 2013 +0100

    libelf: Fix typo in header guard macro
    
    s/__LIBELF_PRIVATE_H_/__LIBELF_PRIVATE_H__/
    
    Signed-off-by: Patrick Welche <prlw1@cam.ac.uk>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 xen/common/libelf/libelf-private.h |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/common/libelf/libelf-private.h b/xen/common/libelf/libelf-private.h
index ea7e197..f4b79c7 100644
--- a/xen/common/libelf/libelf-private.h
+++ b/xen/common/libelf/libelf-private.h
@@ -14,7 +14,7 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
  */
 #ifndef __LIBELF_PRIVATE_H__
-#define __LIBELF_PRIVATE_H_
+#define __LIBELF_PRIVATE_H__
 
 #ifdef __XEN__
 
@@ -99,7 +99,7 @@ do { strncpy((d),(s),sizeof((d))-1);            \
    * of memcpy, memset, memmove and strcpy.  Every call site
    * must either use elf_mem*_unchecked, or elf_mem*_safe. */
 
-#endif /* __LIBELF_PRIVATE_H_ */
+#endif /* __LIBELF_PRIVATE_H__ */
 
 /*
  * Local variables:
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 09 05:23:32 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Aug 2013 05:23:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7fAh-0004oT-30; Fri, 09 Aug 2013 05:23:31 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fAf-0004o5-S2
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:23:29 +0000
Received: from [193.109.254.147:30071] by server-3.bemta-14.messagelabs.com id
	48/70-00891-1DC74025; Fri, 09 Aug 2013 05:23:29 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1376025807!3224121!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19021 invoked from network); 9 Aug 2013 05:23:28 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-3.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	9 Aug 2013 05:23:28 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fAd-0003JC-Mc
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:23:27 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fAd-0005ug-L7
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:23:27 +0000
Date: Fri, 09 Aug 2013 05:23:27 +0000
Message-Id: <E1V7fAd-0005ug-L7@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] libelf: Fix typo in header guard macro
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 0aec8823501f8ee058c1ba673d2ac3e0f3f2e8db
Author:     Patrick Welche <prlw1@cam.ac.uk>
AuthorDate: Thu Aug 8 11:43:29 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Aug 8 12:47:38 2013 +0100

    libelf: Fix typo in header guard macro
    
    s/__LIBELF_PRIVATE_H_/__LIBELF_PRIVATE_H__/
    
    Signed-off-by: Patrick Welche <prlw1@cam.ac.uk>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 xen/common/libelf/libelf-private.h |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/common/libelf/libelf-private.h b/xen/common/libelf/libelf-private.h
index ea7e197..f4b79c7 100644
--- a/xen/common/libelf/libelf-private.h
+++ b/xen/common/libelf/libelf-private.h
@@ -14,7 +14,7 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
  */
 #ifndef __LIBELF_PRIVATE_H__
-#define __LIBELF_PRIVATE_H_
+#define __LIBELF_PRIVATE_H__
 
 #ifdef __XEN__
 
@@ -99,7 +99,7 @@ do { strncpy((d),(s),sizeof((d))-1);            \
    * of memcpy, memset, memmove and strcpy.  Every call site
    * must either use elf_mem*_unchecked, or elf_mem*_safe. */
 
-#endif /* __LIBELF_PRIVATE_H_ */
+#endif /* __LIBELF_PRIVATE_H__ */
 
 /*
  * Local variables:
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 09 05:23:43 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Aug 2013 05:23:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7fAs-0004qm-5w; Fri, 09 Aug 2013 05:23:42 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fAq-0004qU-Gj
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:23:40 +0000
Received: from [193.109.254.147:30408] by server-16.bemta-14.messagelabs.com
	id BD/5D-31186-BDC74025; Fri, 09 Aug 2013 05:23:39 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-27.messagelabs.com!1376025818!3233955!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12166 invoked from network); 9 Aug 2013 05:23:38 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-9.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	9 Aug 2013 05:23:38 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fAn-0003JI-RS
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:23:37 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fAn-0005v8-Q0
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:23:37 +0000
Date: Fri, 09 Aug 2013 05:23:37 +0000
Message-Id: <E1V7fAn-0005v8-Q0@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen/arm: New callback in uart_driver
	to retrieve serial information
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 7360db4276ffed96b54bbddb7aff4127fe69f051
Author:     Julien Grall <julien.grall@linaro.org>
AuthorDate: Thu Aug 1 17:09:28 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Aug 8 12:55:12 2013 +0100

    xen/arm: New callback in uart_driver to retrieve serial information
    
    There is no way to retrieve basic informations (base address, size, ....) for
    an UART. This callback will be used later to partially emulate the real UART
    for DOM0 on ARM.
    
    Signed-off-by: Julien Grall <julien.grall@linaro.org>
    Reviewed-by: Tim Deegan <tim@xen.org>
    Acked-by: Keir Fraser <keir@xen.org>
---
 xen/drivers/char/serial.c |    8 ++++++++
 xen/include/xen/serial.h  |   13 +++++++++++++
 2 files changed, 21 insertions(+), 0 deletions(-)

diff --git a/xen/drivers/char/serial.c b/xen/drivers/char/serial.c
index e1c3f47..cd0b864 100644
--- a/xen/drivers/char/serial.c
+++ b/xen/drivers/char/serial.c
@@ -497,6 +497,14 @@ const struct dt_irq __init *serial_dt_irq(int idx)
     return NULL;
 }
 
+const struct vuart_info *serial_vuart_info(int idx)
+{
+    if ( (idx >= 0) && (idx < ARRAY_SIZE(com)) &&
+         com[idx].driver && com[idx].driver->vuart_info )
+        return com[idx].driver->vuart_info(&com[idx]);
+
+    return NULL;
+}
 
 void serial_suspend(void)
 {
diff --git a/xen/include/xen/serial.h b/xen/include/xen/serial.h
index 9caf776..403e193 100644
--- a/xen/include/xen/serial.h
+++ b/xen/include/xen/serial.h
@@ -32,6 +32,14 @@ enum serial_port_state {
     serial_initialized
 };
 
+struct vuart_info {
+    paddr_t base_addr;          /* Base address of the UART */
+    unsigned long size;         /* Size of the memory region */
+    unsigned long data_off;     /* Data register offset */
+    unsigned long status_off;   /* Status register offset */
+    unsigned long status;       /* Ready status value */
+};
+
 struct serial_port {
     /* Uart-driver parameters. */
     struct uart_driver *driver;
@@ -74,6 +82,8 @@ struct uart_driver {
     int  (*irq)(struct serial_port *);
     /* Get IRQ device node for this port's serial line: returns NULL if none. */
     const struct dt_irq *(*dt_irq_get)(struct serial_port *);
+    /* Get serial information */
+    const struct vuart_info *(*vuart_info)(struct serial_port *);
 };
 
 /* 'Serial handles' are composed from the following fields. */
@@ -127,6 +137,9 @@ int serial_irq(int idx);
 /* Return irq device node for specified serial port (identified by index). */
 const struct dt_irq *serial_dt_irq(int idx);
 
+/* Retrieve basic UART information to emulate it (base address, size...) */
+const struct vuart_info* serial_vuart_info(int idx);
+
 /* Serial suspend/resume. */
 void serial_suspend(void);
 void serial_resume(void);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 09 05:23:43 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Aug 2013 05:23:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7fAs-0004qm-5w; Fri, 09 Aug 2013 05:23:42 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fAq-0004qU-Gj
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:23:40 +0000
Received: from [193.109.254.147:30408] by server-16.bemta-14.messagelabs.com
	id BD/5D-31186-BDC74025; Fri, 09 Aug 2013 05:23:39 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-27.messagelabs.com!1376025818!3233955!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12166 invoked from network); 9 Aug 2013 05:23:38 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-9.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	9 Aug 2013 05:23:38 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fAn-0003JI-RS
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:23:37 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fAn-0005v8-Q0
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:23:37 +0000
Date: Fri, 09 Aug 2013 05:23:37 +0000
Message-Id: <E1V7fAn-0005v8-Q0@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen/arm: New callback in uart_driver
	to retrieve serial information
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 7360db4276ffed96b54bbddb7aff4127fe69f051
Author:     Julien Grall <julien.grall@linaro.org>
AuthorDate: Thu Aug 1 17:09:28 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Aug 8 12:55:12 2013 +0100

    xen/arm: New callback in uart_driver to retrieve serial information
    
    There is no way to retrieve basic informations (base address, size, ....) for
    an UART. This callback will be used later to partially emulate the real UART
    for DOM0 on ARM.
    
    Signed-off-by: Julien Grall <julien.grall@linaro.org>
    Reviewed-by: Tim Deegan <tim@xen.org>
    Acked-by: Keir Fraser <keir@xen.org>
---
 xen/drivers/char/serial.c |    8 ++++++++
 xen/include/xen/serial.h  |   13 +++++++++++++
 2 files changed, 21 insertions(+), 0 deletions(-)

diff --git a/xen/drivers/char/serial.c b/xen/drivers/char/serial.c
index e1c3f47..cd0b864 100644
--- a/xen/drivers/char/serial.c
+++ b/xen/drivers/char/serial.c
@@ -497,6 +497,14 @@ const struct dt_irq __init *serial_dt_irq(int idx)
     return NULL;
 }
 
+const struct vuart_info *serial_vuart_info(int idx)
+{
+    if ( (idx >= 0) && (idx < ARRAY_SIZE(com)) &&
+         com[idx].driver && com[idx].driver->vuart_info )
+        return com[idx].driver->vuart_info(&com[idx]);
+
+    return NULL;
+}
 
 void serial_suspend(void)
 {
diff --git a/xen/include/xen/serial.h b/xen/include/xen/serial.h
index 9caf776..403e193 100644
--- a/xen/include/xen/serial.h
+++ b/xen/include/xen/serial.h
@@ -32,6 +32,14 @@ enum serial_port_state {
     serial_initialized
 };
 
+struct vuart_info {
+    paddr_t base_addr;          /* Base address of the UART */
+    unsigned long size;         /* Size of the memory region */
+    unsigned long data_off;     /* Data register offset */
+    unsigned long status_off;   /* Status register offset */
+    unsigned long status;       /* Ready status value */
+};
+
 struct serial_port {
     /* Uart-driver parameters. */
     struct uart_driver *driver;
@@ -74,6 +82,8 @@ struct uart_driver {
     int  (*irq)(struct serial_port *);
     /* Get IRQ device node for this port's serial line: returns NULL if none. */
     const struct dt_irq *(*dt_irq_get)(struct serial_port *);
+    /* Get serial information */
+    const struct vuart_info *(*vuart_info)(struct serial_port *);
 };
 
 /* 'Serial handles' are composed from the following fields. */
@@ -127,6 +137,9 @@ int serial_irq(int idx);
 /* Return irq device node for specified serial port (identified by index). */
 const struct dt_irq *serial_dt_irq(int idx);
 
+/* Retrieve basic UART information to emulate it (base address, size...) */
+const struct vuart_info* serial_vuart_info(int idx);
+
 /* Serial suspend/resume. */
 void serial_suspend(void);
 void serial_resume(void);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 09 05:23:53 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Aug 2013 05:23:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7fB2-0004sz-BC; Fri, 09 Aug 2013 05:23:52 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fB1-0004sh-2F
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:23:51 +0000
Received: from [193.109.254.147:51489] by server-2.bemta-14.messagelabs.com id
	70/9F-18376-6EC74025; Fri, 09 Aug 2013 05:23:50 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1376025828!3219208!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9957 invoked from network); 9 Aug 2013 05:23:49 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-2.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	9 Aug 2013 05:23:49 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fAy-0003JO-10
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:23:48 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fAx-0005vV-Ux
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:23:47 +0000
Date: Fri, 09 Aug 2013 05:23:47 +0000
Message-Id: <E1V7fAx-0005vV-Ux@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen/arm: Implement a virtual UART
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit acc86a712eb1d6ac4cbcb0aad595ab6b98aab71e
Author:     Julien Grall <julien.grall@linaro.org>
AuthorDate: Thu Aug 1 17:09:29 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Aug 8 12:55:28 2013 +0100

    xen/arm: Implement a virtual UART
    
    This code is based on the previous vuart0 implementation. Unlike the latter,
    it's intend to replace UART stolen by XEN to DOM0 via dtuart=... on its
    command line.
    
    It's useful when the kernel is compiled with early printk enabled or for a
    single platform. Most of the time, the hardcoded code to handle the UART
    will need 2 registers: status and data, the others registers can be
    implemented as RAZ/WI.
    
    This commit will also drop support of early printk (based on vexpress pl011)
    in the guest.
    
    Signed-off-by: Julien Grall <julien.grall@linaro.org>
    Reviewed-by: Tim Deegan <tim@xen.org>
---
 xen/arch/arm/Makefile        |    2 +-
 xen/arch/arm/domain.c        |   12 ++-
 xen/arch/arm/io.c            |    2 +-
 xen/arch/arm/io.h            |    2 +-
 xen/arch/arm/vpl011.c        |  152 ------------------------------------------
 xen/arch/arm/vpl011.h        |   35 ----------
 xen/arch/arm/vuart.c         |  150 +++++++++++++++++++++++++++++++++++++++++
 xen/arch/arm/vuart.h         |   35 ++++++++++
 xen/include/asm-arm/domain.h |   14 ++--
 9 files changed, 204 insertions(+), 200 deletions(-)

diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 5ae5831..6e1208f 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -27,7 +27,7 @@ obj-y += shutdown.o
 obj-y += traps.o
 obj-y += vgic.o
 obj-y += vtimer.o
-obj-y += vpl011.o
+obj-y += vuart.o
 obj-y += hvm.o
 obj-y += device.o
 
diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
index 4e9cece..cb0424d 100644
--- a/xen/arch/arm/domain.c
+++ b/xen/arch/arm/domain.c
@@ -32,7 +32,7 @@
 
 #include <asm/gic.h>
 #include "vtimer.h"
-#include "vpl011.h"
+#include "vuart.h"
 
 DEFINE_PER_CPU(struct vcpu *, curr_vcpu);
 
@@ -525,8 +525,12 @@ int arch_domain_create(struct domain *d, unsigned int domcr_flags)
     if ( (rc = vcpu_domain_init(d)) != 0 )
         goto fail;
 
-    /* Domain 0 gets a real UART not an emulated one */
-    if ( d->domain_id && (rc = domain_uart0_init(d)) != 0 )
+    /*
+     * Virtual UART is only used by linux early printk and decompress code.
+     * Only use it for dom0 because the linux kernel may not support
+     * multi-platform.
+     */
+    if ( (d->domain_id == 0) && (rc = domain_vuart_init(d)) )
         goto fail;
 
     return 0;
@@ -542,7 +546,7 @@ void arch_domain_destroy(struct domain *d)
 {
     p2m_teardown(d);
     domain_vgic_free(d);
-    domain_uart0_free(d);
+    domain_vuart_free(d);
     free_xenheap_page(d->shared_info);
 }
 
diff --git a/xen/arch/arm/io.c b/xen/arch/arm/io.c
index ad28c26..a6db00b 100644
--- a/xen/arch/arm/io.c
+++ b/xen/arch/arm/io.c
@@ -25,7 +25,7 @@
 static const struct mmio_handler *const mmio_handlers[] =
 {
     &vgic_distr_mmio_handler,
-    &uart0_mmio_handler,
+    &vuart_mmio_handler,
 };
 #define MMIO_HANDLER_NR ARRAY_SIZE(mmio_handlers)
 
diff --git a/xen/arch/arm/io.h b/xen/arch/arm/io.h
index 661dce1..8d252c0 100644
--- a/xen/arch/arm/io.h
+++ b/xen/arch/arm/io.h
@@ -41,7 +41,7 @@ struct mmio_handler {
 };
 
 extern const struct mmio_handler vgic_distr_mmio_handler;
-extern const struct mmio_handler uart0_mmio_handler;
+extern const struct mmio_handler vuart_mmio_handler;
 
 extern int handle_mmio(mmio_info_t *info);
 
diff --git a/xen/arch/arm/vpl011.c b/xen/arch/arm/vpl011.c
deleted file mode 100644
index 13ba623..0000000
--- a/xen/arch/arm/vpl011.c
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- * xen/arch/arm/vpl011.c
- *
- * ARM PL011 UART Emulator (DEBUG)
- *
- * Ian Campbell <ian.campbell@citrix.com>
- * Copyright (c) 2012 Citrix Systems.
- *
- * This program 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.
- *
- * This program 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.
- */
-
-/*
- * This is not intended to be a full emulation of a PL011
- * device. Rather it is intended to provide a sufficient veneer of one
- * that early code (such as Linux's boot time decompressor) which
- * hardcodes output directly to such a device are able to make progress.
- *
- * This device is not intended to be enumerable or exposed to the OS
- * (e.g. via Device Tree).
- */
-
-#include <xen/config.h>
-#include <xen/lib.h>
-#include <xen/sched.h>
-#include <xen/errno.h>
-#include <xen/ctype.h>
-
-#include "io.h"
-
-#define UART0_START 0x1c090000
-#define UART0_END   (UART0_START+65536)
-
-#define UARTDR 0x000
-#define UARTFR 0x018
-
-int domain_uart0_init(struct domain *d)
-{
-    ASSERT( d->domain_id );
-
-    spin_lock_init(&d->arch.uart0.lock);
-    d->arch.uart0.idx = 0;
-
-    d->arch.uart0.buf = xzalloc_array(char, VPL011_BUF_SIZE);
-    if ( !d->arch.uart0.buf )
-        return -ENOMEM;
-
-    return 0;
-
-}
-
-void domain_uart0_free(struct domain *d)
-{
-    xfree(d->arch.uart0.buf);
-}
-
-static void uart0_print_char(char c)
-{
-    struct vpl011 *uart = &current->domain->arch.uart0;
-
-    /* Accept only printable characters, newline, and horizontal tab. */
-    if ( !isprint(c) && (c != '\n') && (c != '\t') )
-        return ;
-
-    spin_lock(&uart->lock);
-    uart->buf[uart->idx++] = c;
-    if ( (uart->idx == (VPL011_BUF_SIZE - 2)) || (c == '\n') )
-    {
-        if ( c != '\n' )
-            uart->buf[uart->idx++] = '\n';
-        uart->buf[uart->idx] = '\0';
-        printk(XENLOG_G_DEBUG "DOM%u: %s",
-               current->domain->domain_id, uart->buf);
-        uart->idx = 0;
-    }
-    spin_unlock(&uart->lock);
-}
-
-static int uart0_mmio_check(struct vcpu *v, paddr_t addr)
-{
-    struct domain *d = v->domain;
-
-    return d->domain_id != 0 && addr >= UART0_START && addr < UART0_END;
-}
-
-static int uart0_mmio_read(struct vcpu *v, mmio_info_t *info)
-{
-    struct hsr_dabt dabt = info->dabt;
-    struct cpu_user_regs *regs = guest_cpu_user_regs();
-    register_t *r = select_user_reg(regs, dabt.reg);
-    int offset = (int)(info->gpa - UART0_START);
-
-    switch ( offset )
-    {
-    case UARTDR:
-        *r = 0;
-        return 1;
-    case UARTFR:
-        *r = 0x87; /* All holding registers empty, ready to send etc */
-        return 1;
-    default:
-        printk("VPL011: unhandled read r%d offset %#08x\n",
-               dabt.reg, offset);
-        domain_crash_synchronous();
-    }
-}
-
-static int uart0_mmio_write(struct vcpu *v, mmio_info_t *info)
-{
-    struct hsr_dabt dabt = info->dabt;
-    struct cpu_user_regs *regs = guest_cpu_user_regs();
-    register_t *r = select_user_reg(regs, dabt.reg);
-    int offset = (int)(info->gpa - UART0_START);
-
-    switch ( offset )
-    {
-    case UARTDR:
-        /* ignore any status bits */
-        uart0_print_char((int)((*r) & 0xFF));
-        return 1;
-    case UARTFR:
-        /* Silently ignore */
-        return 1;
-    default:
-        printk("VPL011: unhandled write r%d=%"PRIregister" offset %#08x\n",
-               dabt.reg, *r, offset);
-        domain_crash_synchronous();
-    }
-}
-
-const struct mmio_handler uart0_mmio_handler = {
-    .check_handler = uart0_mmio_check,
-    .read_handler  = uart0_mmio_read,
-    .write_handler = uart0_mmio_write,
-};
-
-/*
- * Local variables:
- * mode: C
- * c-file-style: "BSD"
- * c-basic-offset: 4
- * indent-tabs-mode: nil
- * End:
- */
-
diff --git a/xen/arch/arm/vpl011.h b/xen/arch/arm/vpl011.h
deleted file mode 100644
index f0d0a82..0000000
--- a/xen/arch/arm/vpl011.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * xen/arch/arm/vpl011.h
- *
- * ARM PL011 Emulation Support
- *
- * Ian Campbell <ian.campbell@citrix.com>
- * Copyright (c) 2012 Citrix Systems.
- *
- * This program 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.
- *
- * This program 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.
- */
-
-#ifndef __ARCH_ARM_VPL011_H__
-#define __ARCH_ARM_VPL011_H__
-
-extern int domain_uart0_init(struct domain *d);
-extern void domain_uart0_free(struct domain *d);
-
-#endif
-
-/*
- * Local variables:
- * mode: C
- * c-file-style: "BSD"
- * c-basic-offset: 4
- * indent-tabs-mode: nil
- * End:
- */
diff --git a/xen/arch/arm/vuart.c b/xen/arch/arm/vuart.c
new file mode 100644
index 0000000..b9d3ced
--- /dev/null
+++ b/xen/arch/arm/vuart.c
@@ -0,0 +1,150 @@
+/*
+ * xen/arch/arm/vuart.c
+ *
+ * Virtual UART Emulator.
+ *
+ * This emulator uses the information from dtuart. This is not intended to be
+ * a full emulation of an UART device. Rather it is intended to provide a
+ * sufficient veneer of one that early code (such as Linux's boot time
+ * decompressor) which hardcodes output directly to such a device are able to
+ * make progress.
+ *
+ * The minimal register set to emulate an UART are:
+ *  - Single byte transmit register
+ *  - Single status register
+ *
+ * /!\ This device is not intended to be enumerable or exposed to the OS
+ * (e.g. via Device Tree).
+ *
+ * Julien Grall <julien.grall@linaro.org>
+ * Ian Campbell <ian.campbell@citrix.com>
+ * Copyright (c) 2012 Citrix Systems.
+ *
+ * This program 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.
+ *
+ * This program 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.
+ */
+
+
+#include <xen/config.h>
+#include <xen/lib.h>
+#include <xen/sched.h>
+#include <xen/errno.h>
+#include <xen/ctype.h>
+#include <xen/serial.h>
+
+#include "vuart.h"
+#include "io.h"
+
+#define domain_has_vuart(d) ((d)->arch.vuart.info != NULL)
+
+int domain_vuart_init(struct domain *d)
+{
+    ASSERT( !d->domain_id );
+
+    d->arch.vuart.info = serial_vuart_info(SERHND_DTUART);
+    if ( !d->arch.vuart.info )
+        return 0;
+
+    spin_lock_init(&d->arch.vuart.lock);
+    d->arch.vuart.idx = 0;
+
+    d->arch.vuart.buf = xzalloc_array(char, VUART_BUF_SIZE);
+    if ( !d->arch.vuart.buf )
+        return -ENOMEM;
+
+    return 0;
+}
+
+void domain_vuart_free(struct domain *d)
+{
+    if ( !domain_has_vuart(d) )
+        return;
+
+    xfree(d->arch.vuart.buf);
+}
+
+static void vuart_print_char(struct vcpu *v, char c)
+{
+    struct domain *d = v->domain;
+    struct vuart *uart = &d->arch.vuart;
+
+    /* Accept only printable characters, newline, and horizontal tab. */
+    if ( !isprint(c) && (c != '\n') && (c != '\t') )
+        return ;
+
+    spin_lock(&uart->lock);
+    uart->buf[uart->idx++] = c;
+    if ( (uart->idx == (VUART_BUF_SIZE - 2)) || (c == '\n') )
+    {
+        if ( c != '\n' )
+            uart->buf[uart->idx++] = '\n';
+        uart->buf[uart->idx] = '\0';
+        printk(XENLOG_G_DEBUG "DOM%u: %s", d->domain_id, uart->buf);
+        uart->idx = 0;
+    }
+    spin_unlock(&uart->lock);
+}
+
+static int vuart_mmio_check(struct vcpu *v, paddr_t addr)
+{
+    const struct vuart_info *info = v->domain->arch.vuart.info;
+
+    return (domain_has_vuart(v->domain) && addr >= info->base_addr &&
+            addr <= (info->base_addr + info->size));
+}
+
+static int vuart_mmio_read(struct vcpu *v, mmio_info_t *info)
+{
+    struct domain *d = v->domain;
+    struct hsr_dabt dabt = info->dabt;
+    struct cpu_user_regs *regs = guest_cpu_user_regs();
+    register_t *r = select_user_reg(regs, dabt.reg);
+    paddr_t offset = info->gpa - d->arch.vuart.info->base_addr;
+
+    /* By default zeroed the register */
+    *r = 0;
+
+    if ( offset == d->arch.vuart.info->status_off )
+        /* All holding registers empty, ready to send etc */
+        *r = d->arch.vuart.info->status;
+
+    return 1;
+}
+
+static int vuart_mmio_write(struct vcpu *v, mmio_info_t *info)
+{
+    struct domain *d = v->domain;
+    struct hsr_dabt dabt = info->dabt;
+    struct cpu_user_regs *regs = guest_cpu_user_regs();
+    register_t *r = select_user_reg(regs, dabt.reg);
+    paddr_t offset = info->gpa - d->arch.vuart.info->base_addr;
+
+    if ( offset == d->arch.vuart.info->data_off )
+        /* ignore any status bits */
+        vuart_print_char(v, *r & 0xFF);
+
+    return 1;
+}
+
+const struct mmio_handler vuart_mmio_handler = {
+    .check_handler = vuart_mmio_check,
+    .read_handler  = vuart_mmio_read,
+    .write_handler = vuart_mmio_write,
+};
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
+
diff --git a/xen/arch/arm/vuart.h b/xen/arch/arm/vuart.h
new file mode 100644
index 0000000..bd23bd9
--- /dev/null
+++ b/xen/arch/arm/vuart.h
@@ -0,0 +1,35 @@
+/*
+ * xen/arch/arm/vuart.h
+ *
+ * Virtual UART Emulation Support
+ *
+ * Ian Campbell <ian.campbell@citrix.com>
+ * Copyright (c) 2012 Citrix Systems.
+ *
+ * This program 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.
+ *
+ * This program 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.
+ */
+
+#ifndef __ARCH_ARM_VUART_H__
+#define __ARCH_ARM_VUART_H__
+
+int domain_vuart_init(struct domain *d);
+void domain_vuart_free(struct domain *d);
+
+#endif /* __ARCH_ARM_VUART_H__ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/include/asm-arm/domain.h b/xen/include/asm-arm/domain.h
index 89f88f6..67bfbbc 100644
--- a/xen/include/asm-arm/domain.h
+++ b/xen/include/asm-arm/domain.h
@@ -8,6 +8,7 @@
 #include <asm/p2m.h>
 #include <asm/vfp.h>
 #include <public/hvm/params.h>
+#include <xen/serial.h>
 
 /* Represents state corresponding to a block of 32 interrupts */
 struct vgic_irq_rank {
@@ -103,12 +104,13 @@ struct arch_domain
         paddr_t cbase; /* CPU base address */
     } vgic;
 
-    struct vpl011 {
-#define VPL011_BUF_SIZE 128
-        char                  *buf;
-        int                    idx;
-        spinlock_t             lock;
-    } uart0;
+    struct vuart {
+#define VUART_BUF_SIZE 128
+        char                        *buf;
+        int                         idx;
+        const struct vuart_info     *info;
+        spinlock_t                  lock;
+    } vuart;
 
 }  __cacheline_aligned;
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 09 05:23:53 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Aug 2013 05:23:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7fB2-0004sz-BC; Fri, 09 Aug 2013 05:23:52 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fB1-0004sh-2F
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:23:51 +0000
Received: from [193.109.254.147:51489] by server-2.bemta-14.messagelabs.com id
	70/9F-18376-6EC74025; Fri, 09 Aug 2013 05:23:50 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1376025828!3219208!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9957 invoked from network); 9 Aug 2013 05:23:49 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-2.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	9 Aug 2013 05:23:49 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fAy-0003JO-10
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:23:48 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fAx-0005vV-Ux
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:23:47 +0000
Date: Fri, 09 Aug 2013 05:23:47 +0000
Message-Id: <E1V7fAx-0005vV-Ux@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen/arm: Implement a virtual UART
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit acc86a712eb1d6ac4cbcb0aad595ab6b98aab71e
Author:     Julien Grall <julien.grall@linaro.org>
AuthorDate: Thu Aug 1 17:09:29 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Aug 8 12:55:28 2013 +0100

    xen/arm: Implement a virtual UART
    
    This code is based on the previous vuart0 implementation. Unlike the latter,
    it's intend to replace UART stolen by XEN to DOM0 via dtuart=... on its
    command line.
    
    It's useful when the kernel is compiled with early printk enabled or for a
    single platform. Most of the time, the hardcoded code to handle the UART
    will need 2 registers: status and data, the others registers can be
    implemented as RAZ/WI.
    
    This commit will also drop support of early printk (based on vexpress pl011)
    in the guest.
    
    Signed-off-by: Julien Grall <julien.grall@linaro.org>
    Reviewed-by: Tim Deegan <tim@xen.org>
---
 xen/arch/arm/Makefile        |    2 +-
 xen/arch/arm/domain.c        |   12 ++-
 xen/arch/arm/io.c            |    2 +-
 xen/arch/arm/io.h            |    2 +-
 xen/arch/arm/vpl011.c        |  152 ------------------------------------------
 xen/arch/arm/vpl011.h        |   35 ----------
 xen/arch/arm/vuart.c         |  150 +++++++++++++++++++++++++++++++++++++++++
 xen/arch/arm/vuart.h         |   35 ++++++++++
 xen/include/asm-arm/domain.h |   14 ++--
 9 files changed, 204 insertions(+), 200 deletions(-)

diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 5ae5831..6e1208f 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -27,7 +27,7 @@ obj-y += shutdown.o
 obj-y += traps.o
 obj-y += vgic.o
 obj-y += vtimer.o
-obj-y += vpl011.o
+obj-y += vuart.o
 obj-y += hvm.o
 obj-y += device.o
 
diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
index 4e9cece..cb0424d 100644
--- a/xen/arch/arm/domain.c
+++ b/xen/arch/arm/domain.c
@@ -32,7 +32,7 @@
 
 #include <asm/gic.h>
 #include "vtimer.h"
-#include "vpl011.h"
+#include "vuart.h"
 
 DEFINE_PER_CPU(struct vcpu *, curr_vcpu);
 
@@ -525,8 +525,12 @@ int arch_domain_create(struct domain *d, unsigned int domcr_flags)
     if ( (rc = vcpu_domain_init(d)) != 0 )
         goto fail;
 
-    /* Domain 0 gets a real UART not an emulated one */
-    if ( d->domain_id && (rc = domain_uart0_init(d)) != 0 )
+    /*
+     * Virtual UART is only used by linux early printk and decompress code.
+     * Only use it for dom0 because the linux kernel may not support
+     * multi-platform.
+     */
+    if ( (d->domain_id == 0) && (rc = domain_vuart_init(d)) )
         goto fail;
 
     return 0;
@@ -542,7 +546,7 @@ void arch_domain_destroy(struct domain *d)
 {
     p2m_teardown(d);
     domain_vgic_free(d);
-    domain_uart0_free(d);
+    domain_vuart_free(d);
     free_xenheap_page(d->shared_info);
 }
 
diff --git a/xen/arch/arm/io.c b/xen/arch/arm/io.c
index ad28c26..a6db00b 100644
--- a/xen/arch/arm/io.c
+++ b/xen/arch/arm/io.c
@@ -25,7 +25,7 @@
 static const struct mmio_handler *const mmio_handlers[] =
 {
     &vgic_distr_mmio_handler,
-    &uart0_mmio_handler,
+    &vuart_mmio_handler,
 };
 #define MMIO_HANDLER_NR ARRAY_SIZE(mmio_handlers)
 
diff --git a/xen/arch/arm/io.h b/xen/arch/arm/io.h
index 661dce1..8d252c0 100644
--- a/xen/arch/arm/io.h
+++ b/xen/arch/arm/io.h
@@ -41,7 +41,7 @@ struct mmio_handler {
 };
 
 extern const struct mmio_handler vgic_distr_mmio_handler;
-extern const struct mmio_handler uart0_mmio_handler;
+extern const struct mmio_handler vuart_mmio_handler;
 
 extern int handle_mmio(mmio_info_t *info);
 
diff --git a/xen/arch/arm/vpl011.c b/xen/arch/arm/vpl011.c
deleted file mode 100644
index 13ba623..0000000
--- a/xen/arch/arm/vpl011.c
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- * xen/arch/arm/vpl011.c
- *
- * ARM PL011 UART Emulator (DEBUG)
- *
- * Ian Campbell <ian.campbell@citrix.com>
- * Copyright (c) 2012 Citrix Systems.
- *
- * This program 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.
- *
- * This program 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.
- */
-
-/*
- * This is not intended to be a full emulation of a PL011
- * device. Rather it is intended to provide a sufficient veneer of one
- * that early code (such as Linux's boot time decompressor) which
- * hardcodes output directly to such a device are able to make progress.
- *
- * This device is not intended to be enumerable or exposed to the OS
- * (e.g. via Device Tree).
- */
-
-#include <xen/config.h>
-#include <xen/lib.h>
-#include <xen/sched.h>
-#include <xen/errno.h>
-#include <xen/ctype.h>
-
-#include "io.h"
-
-#define UART0_START 0x1c090000
-#define UART0_END   (UART0_START+65536)
-
-#define UARTDR 0x000
-#define UARTFR 0x018
-
-int domain_uart0_init(struct domain *d)
-{
-    ASSERT( d->domain_id );
-
-    spin_lock_init(&d->arch.uart0.lock);
-    d->arch.uart0.idx = 0;
-
-    d->arch.uart0.buf = xzalloc_array(char, VPL011_BUF_SIZE);
-    if ( !d->arch.uart0.buf )
-        return -ENOMEM;
-
-    return 0;
-
-}
-
-void domain_uart0_free(struct domain *d)
-{
-    xfree(d->arch.uart0.buf);
-}
-
-static void uart0_print_char(char c)
-{
-    struct vpl011 *uart = &current->domain->arch.uart0;
-
-    /* Accept only printable characters, newline, and horizontal tab. */
-    if ( !isprint(c) && (c != '\n') && (c != '\t') )
-        return ;
-
-    spin_lock(&uart->lock);
-    uart->buf[uart->idx++] = c;
-    if ( (uart->idx == (VPL011_BUF_SIZE - 2)) || (c == '\n') )
-    {
-        if ( c != '\n' )
-            uart->buf[uart->idx++] = '\n';
-        uart->buf[uart->idx] = '\0';
-        printk(XENLOG_G_DEBUG "DOM%u: %s",
-               current->domain->domain_id, uart->buf);
-        uart->idx = 0;
-    }
-    spin_unlock(&uart->lock);
-}
-
-static int uart0_mmio_check(struct vcpu *v, paddr_t addr)
-{
-    struct domain *d = v->domain;
-
-    return d->domain_id != 0 && addr >= UART0_START && addr < UART0_END;
-}
-
-static int uart0_mmio_read(struct vcpu *v, mmio_info_t *info)
-{
-    struct hsr_dabt dabt = info->dabt;
-    struct cpu_user_regs *regs = guest_cpu_user_regs();
-    register_t *r = select_user_reg(regs, dabt.reg);
-    int offset = (int)(info->gpa - UART0_START);
-
-    switch ( offset )
-    {
-    case UARTDR:
-        *r = 0;
-        return 1;
-    case UARTFR:
-        *r = 0x87; /* All holding registers empty, ready to send etc */
-        return 1;
-    default:
-        printk("VPL011: unhandled read r%d offset %#08x\n",
-               dabt.reg, offset);
-        domain_crash_synchronous();
-    }
-}
-
-static int uart0_mmio_write(struct vcpu *v, mmio_info_t *info)
-{
-    struct hsr_dabt dabt = info->dabt;
-    struct cpu_user_regs *regs = guest_cpu_user_regs();
-    register_t *r = select_user_reg(regs, dabt.reg);
-    int offset = (int)(info->gpa - UART0_START);
-
-    switch ( offset )
-    {
-    case UARTDR:
-        /* ignore any status bits */
-        uart0_print_char((int)((*r) & 0xFF));
-        return 1;
-    case UARTFR:
-        /* Silently ignore */
-        return 1;
-    default:
-        printk("VPL011: unhandled write r%d=%"PRIregister" offset %#08x\n",
-               dabt.reg, *r, offset);
-        domain_crash_synchronous();
-    }
-}
-
-const struct mmio_handler uart0_mmio_handler = {
-    .check_handler = uart0_mmio_check,
-    .read_handler  = uart0_mmio_read,
-    .write_handler = uart0_mmio_write,
-};
-
-/*
- * Local variables:
- * mode: C
- * c-file-style: "BSD"
- * c-basic-offset: 4
- * indent-tabs-mode: nil
- * End:
- */
-
diff --git a/xen/arch/arm/vpl011.h b/xen/arch/arm/vpl011.h
deleted file mode 100644
index f0d0a82..0000000
--- a/xen/arch/arm/vpl011.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * xen/arch/arm/vpl011.h
- *
- * ARM PL011 Emulation Support
- *
- * Ian Campbell <ian.campbell@citrix.com>
- * Copyright (c) 2012 Citrix Systems.
- *
- * This program 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.
- *
- * This program 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.
- */
-
-#ifndef __ARCH_ARM_VPL011_H__
-#define __ARCH_ARM_VPL011_H__
-
-extern int domain_uart0_init(struct domain *d);
-extern void domain_uart0_free(struct domain *d);
-
-#endif
-
-/*
- * Local variables:
- * mode: C
- * c-file-style: "BSD"
- * c-basic-offset: 4
- * indent-tabs-mode: nil
- * End:
- */
diff --git a/xen/arch/arm/vuart.c b/xen/arch/arm/vuart.c
new file mode 100644
index 0000000..b9d3ced
--- /dev/null
+++ b/xen/arch/arm/vuart.c
@@ -0,0 +1,150 @@
+/*
+ * xen/arch/arm/vuart.c
+ *
+ * Virtual UART Emulator.
+ *
+ * This emulator uses the information from dtuart. This is not intended to be
+ * a full emulation of an UART device. Rather it is intended to provide a
+ * sufficient veneer of one that early code (such as Linux's boot time
+ * decompressor) which hardcodes output directly to such a device are able to
+ * make progress.
+ *
+ * The minimal register set to emulate an UART are:
+ *  - Single byte transmit register
+ *  - Single status register
+ *
+ * /!\ This device is not intended to be enumerable or exposed to the OS
+ * (e.g. via Device Tree).
+ *
+ * Julien Grall <julien.grall@linaro.org>
+ * Ian Campbell <ian.campbell@citrix.com>
+ * Copyright (c) 2012 Citrix Systems.
+ *
+ * This program 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.
+ *
+ * This program 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.
+ */
+
+
+#include <xen/config.h>
+#include <xen/lib.h>
+#include <xen/sched.h>
+#include <xen/errno.h>
+#include <xen/ctype.h>
+#include <xen/serial.h>
+
+#include "vuart.h"
+#include "io.h"
+
+#define domain_has_vuart(d) ((d)->arch.vuart.info != NULL)
+
+int domain_vuart_init(struct domain *d)
+{
+    ASSERT( !d->domain_id );
+
+    d->arch.vuart.info = serial_vuart_info(SERHND_DTUART);
+    if ( !d->arch.vuart.info )
+        return 0;
+
+    spin_lock_init(&d->arch.vuart.lock);
+    d->arch.vuart.idx = 0;
+
+    d->arch.vuart.buf = xzalloc_array(char, VUART_BUF_SIZE);
+    if ( !d->arch.vuart.buf )
+        return -ENOMEM;
+
+    return 0;
+}
+
+void domain_vuart_free(struct domain *d)
+{
+    if ( !domain_has_vuart(d) )
+        return;
+
+    xfree(d->arch.vuart.buf);
+}
+
+static void vuart_print_char(struct vcpu *v, char c)
+{
+    struct domain *d = v->domain;
+    struct vuart *uart = &d->arch.vuart;
+
+    /* Accept only printable characters, newline, and horizontal tab. */
+    if ( !isprint(c) && (c != '\n') && (c != '\t') )
+        return ;
+
+    spin_lock(&uart->lock);
+    uart->buf[uart->idx++] = c;
+    if ( (uart->idx == (VUART_BUF_SIZE - 2)) || (c == '\n') )
+    {
+        if ( c != '\n' )
+            uart->buf[uart->idx++] = '\n';
+        uart->buf[uart->idx] = '\0';
+        printk(XENLOG_G_DEBUG "DOM%u: %s", d->domain_id, uart->buf);
+        uart->idx = 0;
+    }
+    spin_unlock(&uart->lock);
+}
+
+static int vuart_mmio_check(struct vcpu *v, paddr_t addr)
+{
+    const struct vuart_info *info = v->domain->arch.vuart.info;
+
+    return (domain_has_vuart(v->domain) && addr >= info->base_addr &&
+            addr <= (info->base_addr + info->size));
+}
+
+static int vuart_mmio_read(struct vcpu *v, mmio_info_t *info)
+{
+    struct domain *d = v->domain;
+    struct hsr_dabt dabt = info->dabt;
+    struct cpu_user_regs *regs = guest_cpu_user_regs();
+    register_t *r = select_user_reg(regs, dabt.reg);
+    paddr_t offset = info->gpa - d->arch.vuart.info->base_addr;
+
+    /* By default zeroed the register */
+    *r = 0;
+
+    if ( offset == d->arch.vuart.info->status_off )
+        /* All holding registers empty, ready to send etc */
+        *r = d->arch.vuart.info->status;
+
+    return 1;
+}
+
+static int vuart_mmio_write(struct vcpu *v, mmio_info_t *info)
+{
+    struct domain *d = v->domain;
+    struct hsr_dabt dabt = info->dabt;
+    struct cpu_user_regs *regs = guest_cpu_user_regs();
+    register_t *r = select_user_reg(regs, dabt.reg);
+    paddr_t offset = info->gpa - d->arch.vuart.info->base_addr;
+
+    if ( offset == d->arch.vuart.info->data_off )
+        /* ignore any status bits */
+        vuart_print_char(v, *r & 0xFF);
+
+    return 1;
+}
+
+const struct mmio_handler vuart_mmio_handler = {
+    .check_handler = vuart_mmio_check,
+    .read_handler  = vuart_mmio_read,
+    .write_handler = vuart_mmio_write,
+};
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
+
diff --git a/xen/arch/arm/vuart.h b/xen/arch/arm/vuart.h
new file mode 100644
index 0000000..bd23bd9
--- /dev/null
+++ b/xen/arch/arm/vuart.h
@@ -0,0 +1,35 @@
+/*
+ * xen/arch/arm/vuart.h
+ *
+ * Virtual UART Emulation Support
+ *
+ * Ian Campbell <ian.campbell@citrix.com>
+ * Copyright (c) 2012 Citrix Systems.
+ *
+ * This program 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.
+ *
+ * This program 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.
+ */
+
+#ifndef __ARCH_ARM_VUART_H__
+#define __ARCH_ARM_VUART_H__
+
+int domain_vuart_init(struct domain *d);
+void domain_vuart_free(struct domain *d);
+
+#endif /* __ARCH_ARM_VUART_H__ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/include/asm-arm/domain.h b/xen/include/asm-arm/domain.h
index 89f88f6..67bfbbc 100644
--- a/xen/include/asm-arm/domain.h
+++ b/xen/include/asm-arm/domain.h
@@ -8,6 +8,7 @@
 #include <asm/p2m.h>
 #include <asm/vfp.h>
 #include <public/hvm/params.h>
+#include <xen/serial.h>
 
 /* Represents state corresponding to a block of 32 interrupts */
 struct vgic_irq_rank {
@@ -103,12 +104,13 @@ struct arch_domain
         paddr_t cbase; /* CPU base address */
     } vgic;
 
-    struct vpl011 {
-#define VPL011_BUF_SIZE 128
-        char                  *buf;
-        int                    idx;
-        spinlock_t             lock;
-    } uart0;
+    struct vuart {
+#define VUART_BUF_SIZE 128
+        char                        *buf;
+        int                         idx;
+        const struct vuart_info     *info;
+        spinlock_t                  lock;
+    } vuart;
 
 }  __cacheline_aligned;
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 09 05:24:07 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Aug 2013 05:24:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7fBG-0004vC-FG; Fri, 09 Aug 2013 05:24:06 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fBA-0004uX-KO
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:24:00 +0000
Received: from [85.158.143.35:28686] by server-1.bemta-4.messagelabs.com id
	1A/79-28540-FEC74025; Fri, 09 Aug 2013 05:23:59 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1376025838!1285856!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9820 invoked from network); 9 Aug 2013 05:23:59 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-2.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	9 Aug 2013 05:23:59 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fB8-0003JX-6C
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:23:58 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fB8-0005vt-4R
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:23:58 +0000
Date: Fri, 09 Aug 2013 05:23:58 +0000
Message-Id: <E1V7fB8-0005vt-4R@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] exynos4210: rename UTRSTAT_TX_EMPTY in
	UTRSTAT_TXFE
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 1b63024a4b2ddd3bba13f5b8630e7c05d8d33df5
Author:     Julien Grall <julien.grall@linaro.org>
AuthorDate: Thu Aug 1 17:09:30 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Aug 8 12:55:42 2013 +0100

    exynos4210: rename UTRSTAT_TX_EMPTY in UTRSTAT_TXFE
    
    Signed-off-by: Julien Grall <julien.grall@linaro.org>
    Reviewed-by: Tim Deegan <tim@xen.org>
---
 xen/arch/arm/arm32/debug-exynos4210.inc |    2 +-
 xen/include/asm-arm/exynos4210-uart.h   |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/arch/arm/arm32/debug-exynos4210.inc b/xen/arch/arm/arm32/debug-exynos4210.inc
index d746c35..39f2db3 100644
--- a/xen/arch/arm/arm32/debug-exynos4210.inc
+++ b/xen/arch/arm/arm32/debug-exynos4210.inc
@@ -56,7 +56,7 @@
 .macro early_uart_ready rb rc
 1:
         ldr   \rc, [\rb, #UTRSTAT]   /* <- UTRSTAT (Flag register) */
-        tst   \rc, #UTRSTAT_TX_EMPTY /* Check BUSY bit */
+        tst   \rc, #UTRSTAT_TXFE     /* Check BUSY bit */
         beq   1b                     /* Wait for the UART to be ready */
 .endm
 
diff --git a/xen/include/asm-arm/exynos4210-uart.h b/xen/include/asm-arm/exynos4210-uart.h
index 330e1c0..bd9a4be 100644
--- a/xen/include/asm-arm/exynos4210-uart.h
+++ b/xen/include/asm-arm/exynos4210-uart.h
@@ -87,7 +87,7 @@
 #define UFSTAT_RX_COUNT_MASK    (0xff << UFSTAT_RX_COUNT_SHIFT)
 
 /* UTRSTAT */
-#define UTRSTAT_TX_EMPTY        (1 << 1)
+#define UTRSTAT_TXFE            (1 << 1)
 
 /* URHX */
 #define URXH_DATA_MASK  (0xff)
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 09 05:24:07 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Aug 2013 05:24:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7fBG-0004vC-FG; Fri, 09 Aug 2013 05:24:06 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fBA-0004uX-KO
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:24:00 +0000
Received: from [85.158.143.35:28686] by server-1.bemta-4.messagelabs.com id
	1A/79-28540-FEC74025; Fri, 09 Aug 2013 05:23:59 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1376025838!1285856!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9820 invoked from network); 9 Aug 2013 05:23:59 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-2.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	9 Aug 2013 05:23:59 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fB8-0003JX-6C
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:23:58 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fB8-0005vt-4R
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:23:58 +0000
Date: Fri, 09 Aug 2013 05:23:58 +0000
Message-Id: <E1V7fB8-0005vt-4R@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] exynos4210: rename UTRSTAT_TX_EMPTY in
	UTRSTAT_TXFE
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 1b63024a4b2ddd3bba13f5b8630e7c05d8d33df5
Author:     Julien Grall <julien.grall@linaro.org>
AuthorDate: Thu Aug 1 17:09:30 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Aug 8 12:55:42 2013 +0100

    exynos4210: rename UTRSTAT_TX_EMPTY in UTRSTAT_TXFE
    
    Signed-off-by: Julien Grall <julien.grall@linaro.org>
    Reviewed-by: Tim Deegan <tim@xen.org>
---
 xen/arch/arm/arm32/debug-exynos4210.inc |    2 +-
 xen/include/asm-arm/exynos4210-uart.h   |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/arch/arm/arm32/debug-exynos4210.inc b/xen/arch/arm/arm32/debug-exynos4210.inc
index d746c35..39f2db3 100644
--- a/xen/arch/arm/arm32/debug-exynos4210.inc
+++ b/xen/arch/arm/arm32/debug-exynos4210.inc
@@ -56,7 +56,7 @@
 .macro early_uart_ready rb rc
 1:
         ldr   \rc, [\rb, #UTRSTAT]   /* <- UTRSTAT (Flag register) */
-        tst   \rc, #UTRSTAT_TX_EMPTY /* Check BUSY bit */
+        tst   \rc, #UTRSTAT_TXFE     /* Check BUSY bit */
         beq   1b                     /* Wait for the UART to be ready */
 .endm
 
diff --git a/xen/include/asm-arm/exynos4210-uart.h b/xen/include/asm-arm/exynos4210-uart.h
index 330e1c0..bd9a4be 100644
--- a/xen/include/asm-arm/exynos4210-uart.h
+++ b/xen/include/asm-arm/exynos4210-uart.h
@@ -87,7 +87,7 @@
 #define UFSTAT_RX_COUNT_MASK    (0xff << UFSTAT_RX_COUNT_SHIFT)
 
 /* UTRSTAT */
-#define UTRSTAT_TX_EMPTY        (1 << 1)
+#define UTRSTAT_TXFE            (1 << 1)
 
 /* URHX */
 #define URXH_DATA_MASK  (0xff)
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 09 05:24:14 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Aug 2013 05:24:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7fBM-0004wK-Kh; Fri, 09 Aug 2013 05:24:12 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fBK-0004w7-Oa
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:24:10 +0000
Received: from [193.109.254.147:31232] by server-3.bemta-14.messagelabs.com id
	C2/E0-00891-AFC74025; Fri, 09 Aug 2013 05:24:10 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-27.messagelabs.com!1376025848!3234000!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13038 invoked from network); 9 Aug 2013 05:24:09 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-9.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	9 Aug 2013 05:24:09 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fBI-0003KJ-BA
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:24:08 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fBI-0005wS-9x
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:24:08 +0000
Date: Fri, 09 Aug 2013 05:24:08 +0000
Message-Id: <E1V7fBI-0005wS-9x@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] exynos4210: Implement vuart_info
	callback
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit e4618090abb12233ecfb8b1f00c15867aaeeabe8
Author:     Julien Grall <julien.grall@linaro.org>
AuthorDate: Thu Aug 1 17:09:31 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Aug 8 12:55:50 2013 +0100

    exynos4210: Implement vuart_info callback
    
    Signed-off-by: Julien Grall <julien.grall@linaro.org>
    Reviewed-by: Tim Deegan <tim@xen.org>
---
 xen/drivers/char/exynos4210-uart.c    |   15 +++++++++++++++
 xen/include/asm-arm/exynos4210-uart.h |    1 +
 2 files changed, 16 insertions(+), 0 deletions(-)

diff --git a/xen/drivers/char/exynos4210-uart.c b/xen/drivers/char/exynos4210-uart.c
index f7971da..9b34f92 100644
--- a/xen/drivers/char/exynos4210-uart.c
+++ b/xen/drivers/char/exynos4210-uart.c
@@ -33,6 +33,7 @@ static struct exynos4210_uart {
     struct dt_irq irq;
     void *regs;
     struct irqaction irqaction;
+    struct vuart_info vuart;
 } exynos4210_com = {0};
 
 /* These parity settings can be ORed directly into the ULCON. */
@@ -281,6 +282,13 @@ static const struct dt_irq __init *exynos4210_uart_dt_irq(struct serial_port *po
     return &uart->irq;
 }
 
+static const struct vuart_info *exynos4210_vuart_info(struct serial_port *port)
+{
+    struct exynos4210_uart *uart = port->uart;
+
+    return &uart->vuart;
+}
+
 static struct uart_driver __read_mostly exynos4210_uart_driver = {
     .init_preirq  = exynos4210_uart_init_preirq,
     .init_postirq = exynos4210_uart_init_postirq,
@@ -292,6 +300,7 @@ static struct uart_driver __read_mostly exynos4210_uart_driver = {
     .getc         = exynos4210_uart_getc,
     .irq          = exynos4210_uart_irq,
     .dt_irq_get   = exynos4210_uart_dt_irq,
+    .vuart_info   = exynos4210_vuart_info,
 };
 
 /* TODO: Parse UART config from the command line */
@@ -337,6 +346,12 @@ static int __init exynos4210_uart_init(struct dt_device_node *dev,
         return res;
     }
 
+    uart->vuart.base_addr = addr;
+    uart->vuart.size = size;
+    uart->vuart.data_off = UTXH;
+    uart->vuart.status_off = UTRSTAT;
+    uart->vuart.status = UTRSTAT_TXE | UTRSTAT_TXFE;
+
     /* Register with generic serial driver. */
     serial_register_uart(SERHND_DTUART, &exynos4210_uart_driver, uart);
 
diff --git a/xen/include/asm-arm/exynos4210-uart.h b/xen/include/asm-arm/exynos4210-uart.h
index bd9a4be..e2ab4a4 100644
--- a/xen/include/asm-arm/exynos4210-uart.h
+++ b/xen/include/asm-arm/exynos4210-uart.h
@@ -88,6 +88,7 @@
 
 /* UTRSTAT */
 #define UTRSTAT_TXFE            (1 << 1)
+#define UTRSTAT_TXE             (1 << 2)
 
 /* URHX */
 #define URXH_DATA_MASK  (0xff)
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 09 05:24:14 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Aug 2013 05:24:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7fBM-0004wK-Kh; Fri, 09 Aug 2013 05:24:12 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fBK-0004w7-Oa
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:24:10 +0000
Received: from [193.109.254.147:31232] by server-3.bemta-14.messagelabs.com id
	C2/E0-00891-AFC74025; Fri, 09 Aug 2013 05:24:10 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-27.messagelabs.com!1376025848!3234000!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13038 invoked from network); 9 Aug 2013 05:24:09 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-9.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	9 Aug 2013 05:24:09 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fBI-0003KJ-BA
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:24:08 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fBI-0005wS-9x
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:24:08 +0000
Date: Fri, 09 Aug 2013 05:24:08 +0000
Message-Id: <E1V7fBI-0005wS-9x@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] exynos4210: Implement vuart_info
	callback
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit e4618090abb12233ecfb8b1f00c15867aaeeabe8
Author:     Julien Grall <julien.grall@linaro.org>
AuthorDate: Thu Aug 1 17:09:31 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Aug 8 12:55:50 2013 +0100

    exynos4210: Implement vuart_info callback
    
    Signed-off-by: Julien Grall <julien.grall@linaro.org>
    Reviewed-by: Tim Deegan <tim@xen.org>
---
 xen/drivers/char/exynos4210-uart.c    |   15 +++++++++++++++
 xen/include/asm-arm/exynos4210-uart.h |    1 +
 2 files changed, 16 insertions(+), 0 deletions(-)

diff --git a/xen/drivers/char/exynos4210-uart.c b/xen/drivers/char/exynos4210-uart.c
index f7971da..9b34f92 100644
--- a/xen/drivers/char/exynos4210-uart.c
+++ b/xen/drivers/char/exynos4210-uart.c
@@ -33,6 +33,7 @@ static struct exynos4210_uart {
     struct dt_irq irq;
     void *regs;
     struct irqaction irqaction;
+    struct vuart_info vuart;
 } exynos4210_com = {0};
 
 /* These parity settings can be ORed directly into the ULCON. */
@@ -281,6 +282,13 @@ static const struct dt_irq __init *exynos4210_uart_dt_irq(struct serial_port *po
     return &uart->irq;
 }
 
+static const struct vuart_info *exynos4210_vuart_info(struct serial_port *port)
+{
+    struct exynos4210_uart *uart = port->uart;
+
+    return &uart->vuart;
+}
+
 static struct uart_driver __read_mostly exynos4210_uart_driver = {
     .init_preirq  = exynos4210_uart_init_preirq,
     .init_postirq = exynos4210_uart_init_postirq,
@@ -292,6 +300,7 @@ static struct uart_driver __read_mostly exynos4210_uart_driver = {
     .getc         = exynos4210_uart_getc,
     .irq          = exynos4210_uart_irq,
     .dt_irq_get   = exynos4210_uart_dt_irq,
+    .vuart_info   = exynos4210_vuart_info,
 };
 
 /* TODO: Parse UART config from the command line */
@@ -337,6 +346,12 @@ static int __init exynos4210_uart_init(struct dt_device_node *dev,
         return res;
     }
 
+    uart->vuart.base_addr = addr;
+    uart->vuart.size = size;
+    uart->vuart.data_off = UTXH;
+    uart->vuart.status_off = UTRSTAT;
+    uart->vuart.status = UTRSTAT_TXE | UTRSTAT_TXFE;
+
     /* Register with generic serial driver. */
     serial_register_uart(SERHND_DTUART, &exynos4210_uart_driver, uart);
 
diff --git a/xen/include/asm-arm/exynos4210-uart.h b/xen/include/asm-arm/exynos4210-uart.h
index bd9a4be..e2ab4a4 100644
--- a/xen/include/asm-arm/exynos4210-uart.h
+++ b/xen/include/asm-arm/exynos4210-uart.h
@@ -88,6 +88,7 @@
 
 /* UTRSTAT */
 #define UTRSTAT_TXFE            (1 << 1)
+#define UTRSTAT_TXE             (1 << 2)
 
 /* URHX */
 #define URXH_DATA_MASK  (0xff)
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 09 05:24:23 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Aug 2013 05:24:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7fBW-0004xr-Ng; Fri, 09 Aug 2013 05:24:22 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fBV-0004xX-8W
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:24:21 +0000
Received: from [85.158.137.68:30160] by server-5.bemta-3.messagelabs.com id
	51/F6-11902-40D74025; Fri, 09 Aug 2013 05:24:20 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-31.messagelabs.com!1376025858!820479!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30254 invoked from network); 9 Aug 2013 05:24:19 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-15.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	9 Aug 2013 05:24:19 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fBS-0003KP-FL
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:24:18 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fBS-0005xO-Do
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:24:18 +0000
Date: Fri, 09 Aug 2013 05:24:18 +0000
Message-Id: <E1V7fBS-0005xO-Do@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] pl011: Implement vuart_info callback
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 6349b01651c4c915a7e9600fcf3f6f77cb5cf9bb
Author:     Julien Grall <julien.grall@linaro.org>
AuthorDate: Thu Aug 1 17:09:32 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Aug 8 12:55:51 2013 +0100

    pl011: Implement vuart_info callback
    
    Signed-off-by: Julien Grall <julien.grall@linaro.org>
    Reviewed-by: Tim Deegan <tim@xen.org>
---
 xen/drivers/char/pl011.c |   15 +++++++++++++++
 1 files changed, 15 insertions(+), 0 deletions(-)

diff --git a/xen/drivers/char/pl011.c b/xen/drivers/char/pl011.c
index fd87e68..05d034f 100644
--- a/xen/drivers/char/pl011.c
+++ b/xen/drivers/char/pl011.c
@@ -36,6 +36,7 @@ static struct pl011 {
     void __iomem *regs;
     /* UART with IRQ line: interrupt-driven I/O. */
     struct irqaction irqaction;
+    struct vuart_info vuart;
     /* /\* UART with no IRQ line: periodically-polled I/O. *\/ */
     /* struct timer timer; */
     /* unsigned int timeout_ms; */
@@ -190,6 +191,13 @@ static const struct dt_irq __init *pl011_dt_irq(struct serial_port *port)
     return &uart->irq;
 }
 
+static const struct vuart_info *pl011_vuart(struct serial_port *port)
+{
+    struct pl011 *uart = port->uart;
+
+    return &uart->vuart;
+}
+
 static struct uart_driver __read_mostly pl011_driver = {
     .init_preirq  = pl011_init_preirq,
     .init_postirq = pl011_init_postirq,
@@ -201,6 +209,7 @@ static struct uart_driver __read_mostly pl011_driver = {
     .getc         = pl011_getc,
     .irq          = pl011_irq,
     .dt_irq_get   = pl011_dt_irq,
+    .vuart_info   = pl011_vuart,
 };
 
 /* TODO: Parse UART config from the command line */
@@ -248,6 +257,12 @@ static int __init pl011_uart_init(struct dt_device_node *dev,
         return res;
     }
 
+    uart->vuart.base_addr = addr;
+    uart->vuart.size = size;
+    uart->vuart.data_off = DR;
+    uart->vuart.status_off = FR;
+    uart->vuart.status = 0;
+
     /* Register with generic serial driver. */
     serial_register_uart(SERHND_DTUART, &pl011_driver, uart);
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 09 05:24:23 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Aug 2013 05:24:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7fBW-0004xr-Ng; Fri, 09 Aug 2013 05:24:22 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fBV-0004xX-8W
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:24:21 +0000
Received: from [85.158.137.68:30160] by server-5.bemta-3.messagelabs.com id
	51/F6-11902-40D74025; Fri, 09 Aug 2013 05:24:20 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-31.messagelabs.com!1376025858!820479!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30254 invoked from network); 9 Aug 2013 05:24:19 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-15.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	9 Aug 2013 05:24:19 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fBS-0003KP-FL
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:24:18 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fBS-0005xO-Do
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:24:18 +0000
Date: Fri, 09 Aug 2013 05:24:18 +0000
Message-Id: <E1V7fBS-0005xO-Do@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] pl011: Implement vuart_info callback
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 6349b01651c4c915a7e9600fcf3f6f77cb5cf9bb
Author:     Julien Grall <julien.grall@linaro.org>
AuthorDate: Thu Aug 1 17:09:32 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Aug 8 12:55:51 2013 +0100

    pl011: Implement vuart_info callback
    
    Signed-off-by: Julien Grall <julien.grall@linaro.org>
    Reviewed-by: Tim Deegan <tim@xen.org>
---
 xen/drivers/char/pl011.c |   15 +++++++++++++++
 1 files changed, 15 insertions(+), 0 deletions(-)

diff --git a/xen/drivers/char/pl011.c b/xen/drivers/char/pl011.c
index fd87e68..05d034f 100644
--- a/xen/drivers/char/pl011.c
+++ b/xen/drivers/char/pl011.c
@@ -36,6 +36,7 @@ static struct pl011 {
     void __iomem *regs;
     /* UART with IRQ line: interrupt-driven I/O. */
     struct irqaction irqaction;
+    struct vuart_info vuart;
     /* /\* UART with no IRQ line: periodically-polled I/O. *\/ */
     /* struct timer timer; */
     /* unsigned int timeout_ms; */
@@ -190,6 +191,13 @@ static const struct dt_irq __init *pl011_dt_irq(struct serial_port *port)
     return &uart->irq;
 }
 
+static const struct vuart_info *pl011_vuart(struct serial_port *port)
+{
+    struct pl011 *uart = port->uart;
+
+    return &uart->vuart;
+}
+
 static struct uart_driver __read_mostly pl011_driver = {
     .init_preirq  = pl011_init_preirq,
     .init_postirq = pl011_init_postirq,
@@ -201,6 +209,7 @@ static struct uart_driver __read_mostly pl011_driver = {
     .getc         = pl011_getc,
     .irq          = pl011_irq,
     .dt_irq_get   = pl011_dt_irq,
+    .vuart_info   = pl011_vuart,
 };
 
 /* TODO: Parse UART config from the command line */
@@ -248,6 +257,12 @@ static int __init pl011_uart_init(struct dt_device_node *dev,
         return res;
     }
 
+    uart->vuart.base_addr = addr;
+    uart->vuart.size = size;
+    uart->vuart.data_off = DR;
+    uart->vuart.status_off = FR;
+    uart->vuart.status = 0;
+
     /* Register with generic serial driver. */
     serial_register_uart(SERHND_DTUART, &pl011_driver, uart);
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 09 05:24:34 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Aug 2013 05:24:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7fBh-0004zd-SZ; Fri, 09 Aug 2013 05:24:33 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fBg-0004zN-9u
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:24:32 +0000
Received: from [85.158.139.211:22180] by server-10.bemta-5.messagelabs.com id
	64/44-03093-F0D74025; Fri, 09 Aug 2013 05:24:31 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-206.messagelabs.com!1376025869!1554388!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9600 invoked from network); 9 Aug 2013 05:24:30 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-15.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	9 Aug 2013 05:24:30 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fBc-0003Ka-V2
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:24:28 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fBc-0005yB-SK
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:24:28 +0000
Date: Fri, 09 Aug 2013 05:24:28 +0000
Message-Id: <E1V7fBc-0005yB-SK@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] x86: enable multi-vector MSI
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit d1b6d0a02489c2d0e237d03e1d8af8d11df53b05
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Thu Aug 8 11:12:14 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Aug 8 11:12:14 2013 +0200

    x86: enable multi-vector MSI
    
    This implies
    - extending the public interface to have a way to request a block of
      MSIs
    - allocating a block of contiguous pIRQ-s for the target domain (but
      note that the Xen IRQs allocated have no need of being contiguous)
    - repeating certain operations for all involved IRQs
    - fixing multi_msi_enable()
    - adjusting the mask bit accesses for maskable MSIs
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
---
 xen/arch/x86/irq.c           |  206 ++++++++++++++++++++++++++++++++++--------
 xen/arch/x86/msi.c           |  124 ++++++++++++++++++--------
 xen/arch/x86/physdev.c       |   56 ++++++++++--
 xen/include/asm-x86/irq.h    |    1 +
 xen/include/asm-x86/msi.h    |    2 +-
 xen/include/public/physdev.h |    7 +-
 6 files changed, 314 insertions(+), 82 deletions(-)

diff --git a/xen/arch/x86/irq.c b/xen/arch/x86/irq.c
index a4da786..8b59b48 100644
--- a/xen/arch/x86/irq.c
+++ b/xen/arch/x86/irq.c
@@ -1863,6 +1863,25 @@ int get_free_pirq(struct domain *d, int type)
     return -ENOSPC;
 }
 
+int get_free_pirqs(struct domain *d, unsigned int nr)
+{
+    unsigned int i, found = 0;
+
+    ASSERT(spin_is_locked(&d->event_lock));
+
+    for ( i = d->nr_pirqs - 1; i >= nr_irqs_gsi; --i )
+        if ( is_free_pirq(d, pirq_info(d, i)) )
+        {
+            pirq_get_info(d, i);
+            if ( ++found == nr )
+                return i;
+        }
+        else
+            found = 0;
+
+    return -ENOSPC;
+}
+
 int map_domain_pirq(
     struct domain *d, int pirq, int irq, int type, void *data)
 {
@@ -1918,11 +1937,12 @@ int map_domain_pirq(
 
     desc = irq_to_desc(irq);
 
-    if ( type == MAP_PIRQ_TYPE_MSI )
+    if ( type == MAP_PIRQ_TYPE_MSI || type == MAP_PIRQ_TYPE_MULTI_MSI )
     {
         struct msi_info *msi = (struct msi_info *)data;
         struct msi_desc *msi_desc;
         struct pci_dev *pdev;
+        unsigned int nr = 0;
 
         ASSERT(spin_is_locked(&pcidevs_lock));
 
@@ -1933,7 +1953,14 @@ int map_domain_pirq(
         pdev = pci_get_pdev(msi->seg, msi->bus, msi->devfn);
         ret = pci_enable_msi(msi, &msi_desc);
         if ( ret )
+        {
+            if ( ret > 0 )
+            {
+                msi->entry_nr = ret;
+                ret = -ENFILE;
+            }
             goto done;
+        }
 
         spin_lock_irqsave(&desc->lock, flags);
 
@@ -1947,25 +1974,73 @@ int map_domain_pirq(
             goto done;
         }
 
-        ret = setup_msi_irq(desc, msi_desc);
-        if ( ret )
+        while ( !(ret = setup_msi_irq(desc, msi_desc + nr)) )
         {
+            if ( opt_irq_vector_map == OPT_IRQ_VECTOR_MAP_PERDEV &&
+                 !desc->arch.used_vectors )
+            {
+                desc->arch.used_vectors = &pdev->arch.used_vectors;
+                if ( desc->arch.vector != IRQ_VECTOR_UNASSIGNED )
+                {
+                    int vector = desc->arch.vector;
+
+                    ASSERT(!test_bit(vector, desc->arch.used_vectors));
+                    set_bit(vector, desc->arch.used_vectors);
+                }
+            }
+            if ( type == MAP_PIRQ_TYPE_MSI ||
+                 msi_desc->msi_attrib.type != PCI_CAP_ID_MSI ||
+                 ++nr == msi->entry_nr )
+                break;
+
+            set_domain_irq_pirq(d, irq, info);
             spin_unlock_irqrestore(&desc->lock, flags);
-            pci_disable_msi(msi_desc);
-            goto done;
+
+            info = NULL;
+            irq = create_irq(NUMA_NO_NODE);
+            ret = irq >= 0 ? prepare_domain_irq_pirq(d, irq, pirq + nr, &info)
+                           : irq;
+            if ( ret )
+                break;
+            msi_desc[nr].irq = irq;
+
+            if ( irq_permit_access(d, irq) != 0 )
+                printk(XENLOG_G_WARNING
+                       "dom%d: could not permit access to IRQ%d (pirq %d)\n",
+                       d->domain_id, irq, pirq);
+
+            desc = irq_to_desc(irq);
+            spin_lock_irqsave(&desc->lock, flags);
+
+            if ( desc->handler != &no_irq_type )
+            {
+                dprintk(XENLOG_G_ERR, "dom%d: irq %d (pirq %u) in use (%s)\n",
+                        d->domain_id, irq, pirq + nr, desc->handler->typename);
+                ret = -EBUSY;
+                break;
+            }
         }
 
-        if ( opt_irq_vector_map == OPT_IRQ_VECTOR_MAP_PERDEV
-             && !desc->arch.used_vectors )
+        if ( ret )
         {
-            desc->arch.used_vectors = &pdev->arch.used_vectors;
-            if ( desc->arch.vector != IRQ_VECTOR_UNASSIGNED )
+            spin_unlock_irqrestore(&desc->lock, flags);
+            while ( nr-- )
             {
-                int vector = desc->arch.vector;
-                ASSERT(!test_bit(vector, desc->arch.used_vectors));
-
-                set_bit(vector, desc->arch.used_vectors);
+                if ( irq >= 0 )
+                {
+                    if ( irq_deny_access(d, irq) )
+                        printk(XENLOG_G_ERR
+                               "dom%d: could not revoke access to IRQ%d (pirq %d)\n",
+                               d->domain_id, irq, pirq);
+                    destroy_irq(irq);
+                }
+                if ( info )
+                    cleanup_domain_irq_pirq(d, irq, info);
+                info = pirq_info(d, pirq + nr);
+                irq = info->arch.irq;
             }
+            pci_disable_msi(msi_desc);
+            goto done;
         }
 
         set_domain_irq_pirq(d, irq, info);
@@ -1996,7 +2071,8 @@ int unmap_domain_pirq(struct domain *d, int pirq)
 {
     unsigned long flags;
     struct irq_desc *desc;
-    int irq, ret = 0;
+    int irq, ret = 0, rc;
+    unsigned int i, nr = 1;
     bool_t forced_unbind;
     struct pirq *info;
     struct msi_desc *msi_desc = NULL;
@@ -2018,6 +2094,18 @@ int unmap_domain_pirq(struct domain *d, int pirq)
 
     desc = irq_to_desc(irq);
     msi_desc = desc->msi_desc;
+    if ( msi_desc && msi_desc->msi_attrib.type == PCI_CAP_ID_MSI )
+    {
+        if ( msi_desc->msi_attrib.entry_nr )
+        {
+            printk(XENLOG_G_ERR
+                   "dom%d: trying to unmap secondary MSI pirq %d\n",
+                   d->domain_id, pirq);
+            ret = -EBUSY;
+            goto done;
+        }
+        nr = msi_desc->msi.nvec;
+    }
 
     ret = xsm_unmap_domain_irq(XSM_HOOK, d, irq, msi_desc);
     if ( ret )
@@ -2033,37 +2121,83 @@ int unmap_domain_pirq(struct domain *d, int pirq)
 
     spin_lock_irqsave(&desc->lock, flags);
 
-    BUG_ON(irq != domain_pirq_to_irq(d, pirq));
-
-    if ( !forced_unbind )
-        clear_domain_irq_pirq(d, irq, info);
-    else
+    for ( i = 0; ; )
     {
-        info->arch.irq = -irq;
-        radix_tree_replace_slot(
-            radix_tree_lookup_slot(&d->arch.irq_pirq, irq),
-            radix_tree_int_to_ptr(-pirq));
+        BUG_ON(irq != domain_pirq_to_irq(d, pirq + i));
+
+        if ( !forced_unbind )
+            clear_domain_irq_pirq(d, irq, info);
+        else
+        {
+            info->arch.irq = -irq;
+            radix_tree_replace_slot(
+                radix_tree_lookup_slot(&d->arch.irq_pirq, irq),
+                radix_tree_int_to_ptr(-pirq));
+        }
+
+        if ( msi_desc )
+        {
+            desc->handler = &no_irq_type;
+            desc->msi_desc = NULL;
+        }
+
+        if ( ++i == nr )
+            break;
+
+        spin_unlock_irqrestore(&desc->lock, flags);
+
+        if ( !forced_unbind )
+           cleanup_domain_irq_pirq(d, irq, info);
+
+        rc = irq_deny_access(d, irq);
+        if ( rc )
+        {
+            printk(XENLOG_G_ERR
+                   "dom%d: could not deny access to IRQ%d (pirq %d)\n",
+                   d->domain_id, irq, pirq + i);
+            ret = rc;
+        }
+
+        do {
+            info = pirq_info(d, pirq + i);
+            if ( info && (irq = info->arch.irq) > 0 )
+                break;
+            printk(XENLOG_G_ERR "dom%d: MSI pirq %d not mapped\n",
+                   d->domain_id, pirq + i);
+        } while ( ++i < nr );
+
+        if ( i == nr )
+        {
+            desc = NULL;
+            break;
+        }
+
+        desc = irq_to_desc(irq);
+        BUG_ON(desc->msi_desc != msi_desc + i);
+
+        spin_lock_irqsave(&desc->lock, flags);
     }
 
-    if ( msi_desc )
+    if ( desc )
     {
-        desc->handler = &no_irq_type;
-        desc->msi_desc = NULL;
+        spin_unlock_irqrestore(&desc->lock, flags);
+
+        if ( !forced_unbind )
+            cleanup_domain_irq_pirq(d, irq, info);
+
+        rc = irq_deny_access(d, irq);
+        if ( rc )
+        {
+            printk(XENLOG_G_ERR
+                   "dom%d: could not deny access to IRQ%d (pirq %d)\n",
+                   d->domain_id, irq, pirq + nr - 1);
+            ret = rc;
+        }
     }
 
-    spin_unlock_irqrestore(&desc->lock, flags);
     if (msi_desc)
         msi_free_irq(msi_desc);
 
-    if ( !forced_unbind )
-        cleanup_domain_irq_pirq(d, irq, info);
-
-    ret = irq_deny_access(d, irq);
-    if ( ret )
-        printk(XENLOG_G_ERR
-               "dom%d: could not deny access to IRQ%d (pirq %d)\n",
-               d->domain_id, irq, pirq);
-
  done:
     return ret;
 }
diff --git a/xen/arch/x86/msi.c b/xen/arch/x86/msi.c
index 126974d..3a8956a 100644
--- a/xen/arch/x86/msi.c
+++ b/xen/arch/x86/msi.c
@@ -236,6 +236,11 @@ static int write_msi_msg(struct msi_desc *entry, struct msi_msg *msg)
         u8 bus = dev->bus;
         u8 slot = PCI_SLOT(dev->devfn);
         u8 func = PCI_FUNC(dev->devfn);
+        int nr = entry->msi_attrib.entry_nr;
+
+        ASSERT((msg->data & (entry[-nr].msi.nvec - 1)) == nr);
+        if ( nr )
+            return 0;
 
         pci_conf_write32(seg, bus, slot, func, msi_lower_address_reg(pos),
                          msg->address_lo);
@@ -359,8 +364,8 @@ static void msi_set_mask_bit(struct irq_desc *desc, int flag)
             u8 func = PCI_FUNC(entry->dev->devfn);
 
             mask_bits = pci_conf_read32(seg, bus, slot, func, entry->msi.mpos);
-            mask_bits &= ~(1);
-            mask_bits |= flag;
+            mask_bits &= ~((u32)1 << entry->msi_attrib.entry_nr);
+            mask_bits |= (u32)flag << entry->msi_attrib.entry_nr;
             pci_conf_write32(seg, bus, slot, func, entry->msi.mpos, mask_bits);
         }
         break;
@@ -384,10 +389,11 @@ static int msi_get_mask_bit(const struct msi_desc *entry)
     case PCI_CAP_ID_MSI:
         if (!entry->dev || !entry->msi_attrib.maskbit)
             break;
-        return pci_conf_read32(entry->dev->seg, entry->dev->bus,
-                               PCI_SLOT(entry->dev->devfn),
-                               PCI_FUNC(entry->dev->devfn),
-                               entry->msi.mpos) & 1;
+        return (pci_conf_read32(entry->dev->seg, entry->dev->bus,
+                                PCI_SLOT(entry->dev->devfn),
+                                PCI_FUNC(entry->dev->devfn),
+                                entry->msi.mpos) >>
+                entry->msi_attrib.entry_nr) & 1;
     case PCI_CAP_ID_MSIX:
         return readl(entry->mask_base + PCI_MSIX_ENTRY_VECTOR_CTRL_OFFSET) & 1;
     }
@@ -453,17 +459,20 @@ static hw_irq_controller pci_msi_nonmaskable = {
     .set_affinity = set_msi_affinity
 };
 
-static struct msi_desc* alloc_msi_entry(void)
+static struct msi_desc *alloc_msi_entry(unsigned int nr)
 {
     struct msi_desc *entry;
 
-    entry = xmalloc(struct msi_desc);
+    entry = xmalloc_array(struct msi_desc, nr);
     if ( !entry )
         return NULL;
 
     INIT_LIST_HEAD(&entry->list);
-    entry->dev = NULL;
-    entry->remap_index = -1;
+    while ( nr-- )
+    {
+        entry[nr].dev = NULL;
+        entry[nr].remap_index = -1;
+    }
 
     return entry;
 }
@@ -488,17 +497,24 @@ int __setup_msi_irq(struct irq_desc *desc, struct msi_desc *msidesc,
 
 int msi_free_irq(struct msi_desc *entry)
 {
-    destroy_irq(entry->irq);
+    unsigned int nr = entry->msi.nvec;
+
     if ( entry->msi_attrib.type == PCI_CAP_ID_MSIX )
     {
         unsigned long start;
         start = (unsigned long)entry->mask_base & ~(PAGE_SIZE - 1);
         msix_put_fixmap(entry->dev, virt_to_fix(start));
+        nr = 1;
     }
 
-    /* Free the unused IRTE if intr remap enabled */
-    if ( iommu_intremap )
-        iommu_update_ire_from_msi(entry, NULL);
+    while ( nr-- )
+    {
+        destroy_irq(entry[nr].irq);
+
+        /* Free the unused IRTE if intr remap enabled */
+        if ( iommu_intremap )
+            iommu_update_ire_from_msi(entry + nr, NULL);
+    }
 
     list_del(&entry->list);
     xfree(entry);
@@ -531,11 +547,12 @@ static struct msi_desc *find_msi_entry(struct pci_dev *dev,
  **/
 static int msi_capability_init(struct pci_dev *dev,
                                int irq,
-                               struct msi_desc **desc)
+                               struct msi_desc **desc,
+                               unsigned int nvec)
 {
     struct msi_desc *entry;
     int pos;
-    unsigned int maxvec, mpos;
+    unsigned int i, maxvec, mpos;
     u16 control, seg = dev->seg;
     u8 bus = dev->bus;
     u8 slot = PCI_SLOT(dev->devfn);
@@ -545,27 +562,34 @@ static int msi_capability_init(struct pci_dev *dev,
     pos = pci_find_cap_offset(seg, bus, slot, func, PCI_CAP_ID_MSI);
     control = pci_conf_read16(seg, bus, slot, func, msi_control_reg(pos));
     maxvec = multi_msi_capable(control);
+    if ( nvec > maxvec )
+        return maxvec;
     control &= ~PCI_MSI_FLAGS_QSIZE;
+    multi_msi_enable(control, nvec);
 
     /* MSI Entry Initialization */
     msi_set_enable(dev, 0); /* Ensure msi is disabled as I set it up */
 
-    entry = alloc_msi_entry();
+    entry = alloc_msi_entry(nvec);
     if ( !entry )
         return -ENOMEM;
 
-    entry->msi_attrib.type = PCI_CAP_ID_MSI;
-    entry->msi_attrib.is_64 = is_64bit_address(control);
-    entry->msi_attrib.entry_nr = 0;
-    entry->msi_attrib.maskbit = is_mask_bit_support(control);
-    entry->msi_attrib.masked = 1;
-    entry->msi_attrib.pos = pos;
     mpos = msi_mask_bits_reg(pos, is_64bit_address(control));
-    entry->msi.nvec = 1;
+    for ( i = 0; i < nvec; ++i )
+    {
+        entry[i].msi_attrib.type = PCI_CAP_ID_MSI;
+        entry[i].msi_attrib.is_64 = is_64bit_address(control);
+        entry[i].msi_attrib.entry_nr = i;
+        entry[i].msi_attrib.maskbit = is_mask_bit_support(control);
+        entry[i].msi_attrib.masked = 1;
+        entry[i].msi_attrib.pos = pos;
+        if ( entry[i].msi_attrib.maskbit )
+            entry[i].msi.mpos = mpos;
+        entry[i].msi.nvec = 0;
+        entry[i].dev = dev;
+    }
+    entry->msi.nvec = nvec;
     entry->irq = irq;
-    if ( is_mask_bit_support(control) )
-        entry->msi.mpos = mpos;
-    entry->dev = dev;
     if ( entry->msi_attrib.maskbit )
     {
         u32 maskbits;
@@ -693,7 +717,7 @@ static int msix_capability_init(struct pci_dev *dev,
 
     if ( desc )
     {
-        entry = alloc_msi_entry();
+        entry = alloc_msi_entry(1);
         if ( !entry )
             return -ENOMEM;
         ASSERT(msi);
@@ -851,7 +875,6 @@ static int msix_capability_init(struct pci_dev *dev,
 
 static int __pci_enable_msi(struct msi_info *msi, struct msi_desc **desc)
 {
-    int status;
     struct pci_dev *pdev;
     struct msi_desc *old_desc;
 
@@ -880,8 +903,7 @@ static int __pci_enable_msi(struct msi_info *msi, struct msi_desc **desc)
         pci_disable_msi(old_desc);
     }
 
-    status = msi_capability_init(pdev, msi->irq, desc);
-    return status;
+    return msi_capability_init(pdev, msi->irq, desc, msi->entry_nr);
 }
 
 static void __pci_disable_msi(struct msi_desc *entry)
@@ -1101,6 +1123,8 @@ int pci_restore_msi_state(struct pci_dev *pdev)
 
     list_for_each_entry_safe( entry, tmp, &pdev->msi_list, list )
     {
+        unsigned int i = 0, nr = 1;
+
         irq = entry->irq;
         desc = &irq_desc[irq];
 
@@ -1110,30 +1134,58 @@ int pci_restore_msi_state(struct pci_dev *pdev)
 
         if (desc->msi_desc != entry)
         {
+    bogus:
             dprintk(XENLOG_ERR,
-                    "Restore MSI for dev %04x:%02x:%02x:%x not set before?\n",
+                    "Restore MSI for %04x:%02x:%02x:%u entry %u not set?\n",
                     pdev->seg, pdev->bus, PCI_SLOT(pdev->devfn),
-                    PCI_FUNC(pdev->devfn));
+                    PCI_FUNC(pdev->devfn), i);
             spin_unlock_irqrestore(&desc->lock, flags);
             return -EINVAL;
         }
 
         if ( entry->msi_attrib.type == PCI_CAP_ID_MSI )
+        {
             msi_set_enable(pdev, 0);
+            nr = entry->msi.nvec;
+        }
         else if ( entry->msi_attrib.type == PCI_CAP_ID_MSIX )
             msix_set_enable(pdev, 0);
 
         msg = entry->msg;
         write_msi_msg(entry, &msg);
 
-        msi_set_mask_bit(desc, entry->msi_attrib.masked);
+        for ( i = 0; ; )
+        {
+            msi_set_mask_bit(desc, entry[i].msi_attrib.masked);
+            spin_unlock_irqrestore(&desc->lock, flags);
+
+            if ( !--nr )
+                break;
+
+            desc = &irq_desc[entry[++i].irq];
+            spin_lock_irqsave(&desc->lock, flags);
+            if ( desc->msi_desc != entry + i )
+                goto bogus;
+        }
+
+        spin_unlock_irqrestore(&desc->lock, flags);
 
         if ( entry->msi_attrib.type == PCI_CAP_ID_MSI )
+        {
+            unsigned int cpos = msi_control_reg(entry->msi_attrib.pos);
+            u16 control = pci_conf_read16(pdev->seg, pdev->bus,
+                                          PCI_SLOT(pdev->devfn),
+                                          PCI_FUNC(pdev->devfn), cpos);
+
+            control &= ~PCI_MSI_FLAGS_QSIZE;
+            multi_msi_enable(control, entry->msi.nvec);
+            pci_conf_write16(pdev->seg, pdev->bus, PCI_SLOT(pdev->devfn),
+                             PCI_FUNC(pdev->devfn), cpos, control);
+
             msi_set_enable(pdev, 1);
+        }
         else if ( entry->msi_attrib.type == PCI_CAP_ID_MSIX )
             msix_set_enable(pdev, 1);
-
-        spin_unlock_irqrestore(&desc->lock, flags);
     }
 
     return 0;
diff --git a/xen/arch/x86/physdev.c b/xen/arch/x86/physdev.c
index 3733c7a..4835ed7 100644
--- a/xen/arch/x86/physdev.c
+++ b/xen/arch/x86/physdev.c
@@ -140,8 +140,11 @@ int physdev_map_pirq(domid_t domid, int type, int *index, int *pirq_p,
         break;
 
     case MAP_PIRQ_TYPE_MSI:
+        if ( !msi->table_base )
+            msi->entry_nr = 1;
         irq = *index;
         if ( irq == -1 )
+    case MAP_PIRQ_TYPE_MULTI_MSI:
             irq = create_irq(NUMA_NO_NODE);
 
         if ( irq < nr_irqs_gsi || irq >= nr_irqs )
@@ -179,6 +182,30 @@ int physdev_map_pirq(domid_t domid, int type, int *index, int *pirq_p,
                 goto done;
             }
         }
+        else if ( type == MAP_PIRQ_TYPE_MULTI_MSI )
+        {
+            if ( msi->entry_nr <= 0 || msi->entry_nr > 32 )
+                ret = -EDOM;
+            else if ( msi->entry_nr != 1 && !iommu_intremap )
+                ret = -EOPNOTSUPP;
+            else
+            {
+                while ( msi->entry_nr & (msi->entry_nr - 1) )
+                    msi->entry_nr += msi->entry_nr & -msi->entry_nr;
+                pirq = get_free_pirqs(d, msi->entry_nr);
+                if ( pirq < 0 )
+                {
+                    while ( (msi->entry_nr >>= 1) > 1 )
+                        if ( get_free_pirqs(d, msi->entry_nr) > 0 )
+                            break;
+                    dprintk(XENLOG_G_ERR, "dom%d: no block of %d free pirqs\n",
+                            d->domain_id, msi->entry_nr << 1);
+                    ret = pirq;
+                }
+            }
+            if ( ret < 0 )
+                goto done;
+        }
         else
         {
             pirq = get_free_pirq(d, type);
@@ -210,8 +237,15 @@ int physdev_map_pirq(domid_t domid, int type, int *index, int *pirq_p,
  done:
     spin_unlock(&d->event_lock);
     spin_unlock(&pcidevs_lock);
-    if ( (ret != 0) && (type == MAP_PIRQ_TYPE_MSI) && (*index == -1) )
-        destroy_irq(irq);
+    if ( ret != 0 )
+        switch ( type )
+        {
+        case MAP_PIRQ_TYPE_MSI:
+            if ( *index == -1 )
+        case MAP_PIRQ_TYPE_MULTI_MSI:
+                destroy_irq(irq);
+            break;
+        }
  free_domain:
     rcu_unlock_domain(d);
     return ret;
@@ -390,14 +424,22 @@ ret_t do_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
         if ( copy_from_guest(&map, arg, 1) != 0 )
             break;
 
-        if ( map.type == MAP_PIRQ_TYPE_MSI_SEG )
+        switch ( map.type )
         {
+        case MAP_PIRQ_TYPE_MSI_SEG:
             map.type = MAP_PIRQ_TYPE_MSI;
             msi.seg = map.bus >> 16;
-        }
-        else
-        {
+            break;
+
+        case MAP_PIRQ_TYPE_MULTI_MSI:
+            if ( map.table_base )
+                return -EINVAL;
+            msi.seg = map.bus >> 16;
+            break;
+
+        default:
             msi.seg = 0;
+            break;
         }
         msi.bus = map.bus;
         msi.devfn = map.devfn;
@@ -406,6 +448,8 @@ ret_t do_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
         ret = physdev_map_pirq(map.domid, map.type, &map.index, &map.pirq,
                                &msi);
 
+        if ( map.type == MAP_PIRQ_TYPE_MULTI_MSI )
+            map.entry_nr = msi.entry_nr;
         if ( __copy_to_guest(arg, &map, 1) )
             ret = -EFAULT;
         break;
diff --git a/xen/include/asm-x86/irq.h b/xen/include/asm-x86/irq.h
index 7f5da06..9066d38 100644
--- a/xen/include/asm-x86/irq.h
+++ b/xen/include/asm-x86/irq.h
@@ -141,6 +141,7 @@ int map_domain_pirq(struct domain *d, int pirq, int irq, int type,
                            void *data);
 int unmap_domain_pirq(struct domain *d, int pirq);
 int get_free_pirq(struct domain *d, int type);
+int get_free_pirqs(struct domain *, unsigned int nr);
 void free_domain_pirqs(struct domain *d);
 int map_domain_emuirq_pirq(struct domain *d, int pirq, int irq);
 int unmap_domain_pirq_emuirq(struct domain *d, int pirq);
diff --git a/xen/include/asm-x86/msi.h b/xen/include/asm-x86/msi.h
index 394ef0e..06e6853 100644
--- a/xen/include/asm-x86/msi.h
+++ b/xen/include/asm-x86/msi.h
@@ -148,7 +148,7 @@ int msi_free_irq(struct msi_desc *entry);
 #define multi_msi_capable(control) \
 	(1 << ((control & PCI_MSI_FLAGS_QMASK) >> 1))
 #define multi_msi_enable(control, num) \
-	control |= (((num >> 1) << 4) & PCI_MSI_FLAGS_QSIZE);
+	control |= (((fls(num) - 1) << 4) & PCI_MSI_FLAGS_QSIZE);
 #define is_64bit_address(control)	(!!(control & PCI_MSI_FLAGS_64BIT))
 #define is_mask_bit_support(control)	(!!(control & PCI_MSI_FLAGS_MASKBIT))
 #define msi_enable(control, num) multi_msi_enable(control, num); \
diff --git a/xen/include/public/physdev.h b/xen/include/public/physdev.h
index db7e37a..d547928 100644
--- a/xen/include/public/physdev.h
+++ b/xen/include/public/physdev.h
@@ -151,21 +151,22 @@ DEFINE_XEN_GUEST_HANDLE(physdev_irq_t);
 #define MAP_PIRQ_TYPE_GSI               0x1
 #define MAP_PIRQ_TYPE_UNKNOWN           0x2
 #define MAP_PIRQ_TYPE_MSI_SEG           0x3
+#define MAP_PIRQ_TYPE_MULTI_MSI         0x4
 
 #define PHYSDEVOP_map_pirq               13
 struct physdev_map_pirq {
     domid_t domid;
     /* IN */
     int type;
-    /* IN */
+    /* IN (ignored for ..._MULTI_MSI) */
     int index;
     /* IN or OUT */
     int pirq;
-    /* IN - high 16 bits hold segment for MAP_PIRQ_TYPE_MSI_SEG */
+    /* IN - high 16 bits hold segment for ..._MSI_SEG and ..._MULTI_MSI */
     int bus;
     /* IN */
     int devfn;
-    /* IN */
+    /* IN (also OUT for ..._MULTI_MSI) */
     int entry_nr;
     /* IN */
     uint64_t table_base;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 09 05:24:34 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Aug 2013 05:24:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7fBh-0004zd-SZ; Fri, 09 Aug 2013 05:24:33 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fBg-0004zN-9u
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:24:32 +0000
Received: from [85.158.139.211:22180] by server-10.bemta-5.messagelabs.com id
	64/44-03093-F0D74025; Fri, 09 Aug 2013 05:24:31 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-206.messagelabs.com!1376025869!1554388!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9600 invoked from network); 9 Aug 2013 05:24:30 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-15.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	9 Aug 2013 05:24:30 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fBc-0003Ka-V2
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:24:28 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fBc-0005yB-SK
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:24:28 +0000
Date: Fri, 09 Aug 2013 05:24:28 +0000
Message-Id: <E1V7fBc-0005yB-SK@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] x86: enable multi-vector MSI
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit d1b6d0a02489c2d0e237d03e1d8af8d11df53b05
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Thu Aug 8 11:12:14 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Aug 8 11:12:14 2013 +0200

    x86: enable multi-vector MSI
    
    This implies
    - extending the public interface to have a way to request a block of
      MSIs
    - allocating a block of contiguous pIRQ-s for the target domain (but
      note that the Xen IRQs allocated have no need of being contiguous)
    - repeating certain operations for all involved IRQs
    - fixing multi_msi_enable()
    - adjusting the mask bit accesses for maskable MSIs
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
---
 xen/arch/x86/irq.c           |  206 ++++++++++++++++++++++++++++++++++--------
 xen/arch/x86/msi.c           |  124 ++++++++++++++++++--------
 xen/arch/x86/physdev.c       |   56 ++++++++++--
 xen/include/asm-x86/irq.h    |    1 +
 xen/include/asm-x86/msi.h    |    2 +-
 xen/include/public/physdev.h |    7 +-
 6 files changed, 314 insertions(+), 82 deletions(-)

diff --git a/xen/arch/x86/irq.c b/xen/arch/x86/irq.c
index a4da786..8b59b48 100644
--- a/xen/arch/x86/irq.c
+++ b/xen/arch/x86/irq.c
@@ -1863,6 +1863,25 @@ int get_free_pirq(struct domain *d, int type)
     return -ENOSPC;
 }
 
+int get_free_pirqs(struct domain *d, unsigned int nr)
+{
+    unsigned int i, found = 0;
+
+    ASSERT(spin_is_locked(&d->event_lock));
+
+    for ( i = d->nr_pirqs - 1; i >= nr_irqs_gsi; --i )
+        if ( is_free_pirq(d, pirq_info(d, i)) )
+        {
+            pirq_get_info(d, i);
+            if ( ++found == nr )
+                return i;
+        }
+        else
+            found = 0;
+
+    return -ENOSPC;
+}
+
 int map_domain_pirq(
     struct domain *d, int pirq, int irq, int type, void *data)
 {
@@ -1918,11 +1937,12 @@ int map_domain_pirq(
 
     desc = irq_to_desc(irq);
 
-    if ( type == MAP_PIRQ_TYPE_MSI )
+    if ( type == MAP_PIRQ_TYPE_MSI || type == MAP_PIRQ_TYPE_MULTI_MSI )
     {
         struct msi_info *msi = (struct msi_info *)data;
         struct msi_desc *msi_desc;
         struct pci_dev *pdev;
+        unsigned int nr = 0;
 
         ASSERT(spin_is_locked(&pcidevs_lock));
 
@@ -1933,7 +1953,14 @@ int map_domain_pirq(
         pdev = pci_get_pdev(msi->seg, msi->bus, msi->devfn);
         ret = pci_enable_msi(msi, &msi_desc);
         if ( ret )
+        {
+            if ( ret > 0 )
+            {
+                msi->entry_nr = ret;
+                ret = -ENFILE;
+            }
             goto done;
+        }
 
         spin_lock_irqsave(&desc->lock, flags);
 
@@ -1947,25 +1974,73 @@ int map_domain_pirq(
             goto done;
         }
 
-        ret = setup_msi_irq(desc, msi_desc);
-        if ( ret )
+        while ( !(ret = setup_msi_irq(desc, msi_desc + nr)) )
         {
+            if ( opt_irq_vector_map == OPT_IRQ_VECTOR_MAP_PERDEV &&
+                 !desc->arch.used_vectors )
+            {
+                desc->arch.used_vectors = &pdev->arch.used_vectors;
+                if ( desc->arch.vector != IRQ_VECTOR_UNASSIGNED )
+                {
+                    int vector = desc->arch.vector;
+
+                    ASSERT(!test_bit(vector, desc->arch.used_vectors));
+                    set_bit(vector, desc->arch.used_vectors);
+                }
+            }
+            if ( type == MAP_PIRQ_TYPE_MSI ||
+                 msi_desc->msi_attrib.type != PCI_CAP_ID_MSI ||
+                 ++nr == msi->entry_nr )
+                break;
+
+            set_domain_irq_pirq(d, irq, info);
             spin_unlock_irqrestore(&desc->lock, flags);
-            pci_disable_msi(msi_desc);
-            goto done;
+
+            info = NULL;
+            irq = create_irq(NUMA_NO_NODE);
+            ret = irq >= 0 ? prepare_domain_irq_pirq(d, irq, pirq + nr, &info)
+                           : irq;
+            if ( ret )
+                break;
+            msi_desc[nr].irq = irq;
+
+            if ( irq_permit_access(d, irq) != 0 )
+                printk(XENLOG_G_WARNING
+                       "dom%d: could not permit access to IRQ%d (pirq %d)\n",
+                       d->domain_id, irq, pirq);
+
+            desc = irq_to_desc(irq);
+            spin_lock_irqsave(&desc->lock, flags);
+
+            if ( desc->handler != &no_irq_type )
+            {
+                dprintk(XENLOG_G_ERR, "dom%d: irq %d (pirq %u) in use (%s)\n",
+                        d->domain_id, irq, pirq + nr, desc->handler->typename);
+                ret = -EBUSY;
+                break;
+            }
         }
 
-        if ( opt_irq_vector_map == OPT_IRQ_VECTOR_MAP_PERDEV
-             && !desc->arch.used_vectors )
+        if ( ret )
         {
-            desc->arch.used_vectors = &pdev->arch.used_vectors;
-            if ( desc->arch.vector != IRQ_VECTOR_UNASSIGNED )
+            spin_unlock_irqrestore(&desc->lock, flags);
+            while ( nr-- )
             {
-                int vector = desc->arch.vector;
-                ASSERT(!test_bit(vector, desc->arch.used_vectors));
-
-                set_bit(vector, desc->arch.used_vectors);
+                if ( irq >= 0 )
+                {
+                    if ( irq_deny_access(d, irq) )
+                        printk(XENLOG_G_ERR
+                               "dom%d: could not revoke access to IRQ%d (pirq %d)\n",
+                               d->domain_id, irq, pirq);
+                    destroy_irq(irq);
+                }
+                if ( info )
+                    cleanup_domain_irq_pirq(d, irq, info);
+                info = pirq_info(d, pirq + nr);
+                irq = info->arch.irq;
             }
+            pci_disable_msi(msi_desc);
+            goto done;
         }
 
         set_domain_irq_pirq(d, irq, info);
@@ -1996,7 +2071,8 @@ int unmap_domain_pirq(struct domain *d, int pirq)
 {
     unsigned long flags;
     struct irq_desc *desc;
-    int irq, ret = 0;
+    int irq, ret = 0, rc;
+    unsigned int i, nr = 1;
     bool_t forced_unbind;
     struct pirq *info;
     struct msi_desc *msi_desc = NULL;
@@ -2018,6 +2094,18 @@ int unmap_domain_pirq(struct domain *d, int pirq)
 
     desc = irq_to_desc(irq);
     msi_desc = desc->msi_desc;
+    if ( msi_desc && msi_desc->msi_attrib.type == PCI_CAP_ID_MSI )
+    {
+        if ( msi_desc->msi_attrib.entry_nr )
+        {
+            printk(XENLOG_G_ERR
+                   "dom%d: trying to unmap secondary MSI pirq %d\n",
+                   d->domain_id, pirq);
+            ret = -EBUSY;
+            goto done;
+        }
+        nr = msi_desc->msi.nvec;
+    }
 
     ret = xsm_unmap_domain_irq(XSM_HOOK, d, irq, msi_desc);
     if ( ret )
@@ -2033,37 +2121,83 @@ int unmap_domain_pirq(struct domain *d, int pirq)
 
     spin_lock_irqsave(&desc->lock, flags);
 
-    BUG_ON(irq != domain_pirq_to_irq(d, pirq));
-
-    if ( !forced_unbind )
-        clear_domain_irq_pirq(d, irq, info);
-    else
+    for ( i = 0; ; )
     {
-        info->arch.irq = -irq;
-        radix_tree_replace_slot(
-            radix_tree_lookup_slot(&d->arch.irq_pirq, irq),
-            radix_tree_int_to_ptr(-pirq));
+        BUG_ON(irq != domain_pirq_to_irq(d, pirq + i));
+
+        if ( !forced_unbind )
+            clear_domain_irq_pirq(d, irq, info);
+        else
+        {
+            info->arch.irq = -irq;
+            radix_tree_replace_slot(
+                radix_tree_lookup_slot(&d->arch.irq_pirq, irq),
+                radix_tree_int_to_ptr(-pirq));
+        }
+
+        if ( msi_desc )
+        {
+            desc->handler = &no_irq_type;
+            desc->msi_desc = NULL;
+        }
+
+        if ( ++i == nr )
+            break;
+
+        spin_unlock_irqrestore(&desc->lock, flags);
+
+        if ( !forced_unbind )
+           cleanup_domain_irq_pirq(d, irq, info);
+
+        rc = irq_deny_access(d, irq);
+        if ( rc )
+        {
+            printk(XENLOG_G_ERR
+                   "dom%d: could not deny access to IRQ%d (pirq %d)\n",
+                   d->domain_id, irq, pirq + i);
+            ret = rc;
+        }
+
+        do {
+            info = pirq_info(d, pirq + i);
+            if ( info && (irq = info->arch.irq) > 0 )
+                break;
+            printk(XENLOG_G_ERR "dom%d: MSI pirq %d not mapped\n",
+                   d->domain_id, pirq + i);
+        } while ( ++i < nr );
+
+        if ( i == nr )
+        {
+            desc = NULL;
+            break;
+        }
+
+        desc = irq_to_desc(irq);
+        BUG_ON(desc->msi_desc != msi_desc + i);
+
+        spin_lock_irqsave(&desc->lock, flags);
     }
 
-    if ( msi_desc )
+    if ( desc )
     {
-        desc->handler = &no_irq_type;
-        desc->msi_desc = NULL;
+        spin_unlock_irqrestore(&desc->lock, flags);
+
+        if ( !forced_unbind )
+            cleanup_domain_irq_pirq(d, irq, info);
+
+        rc = irq_deny_access(d, irq);
+        if ( rc )
+        {
+            printk(XENLOG_G_ERR
+                   "dom%d: could not deny access to IRQ%d (pirq %d)\n",
+                   d->domain_id, irq, pirq + nr - 1);
+            ret = rc;
+        }
     }
 
-    spin_unlock_irqrestore(&desc->lock, flags);
     if (msi_desc)
         msi_free_irq(msi_desc);
 
-    if ( !forced_unbind )
-        cleanup_domain_irq_pirq(d, irq, info);
-
-    ret = irq_deny_access(d, irq);
-    if ( ret )
-        printk(XENLOG_G_ERR
-               "dom%d: could not deny access to IRQ%d (pirq %d)\n",
-               d->domain_id, irq, pirq);
-
  done:
     return ret;
 }
diff --git a/xen/arch/x86/msi.c b/xen/arch/x86/msi.c
index 126974d..3a8956a 100644
--- a/xen/arch/x86/msi.c
+++ b/xen/arch/x86/msi.c
@@ -236,6 +236,11 @@ static int write_msi_msg(struct msi_desc *entry, struct msi_msg *msg)
         u8 bus = dev->bus;
         u8 slot = PCI_SLOT(dev->devfn);
         u8 func = PCI_FUNC(dev->devfn);
+        int nr = entry->msi_attrib.entry_nr;
+
+        ASSERT((msg->data & (entry[-nr].msi.nvec - 1)) == nr);
+        if ( nr )
+            return 0;
 
         pci_conf_write32(seg, bus, slot, func, msi_lower_address_reg(pos),
                          msg->address_lo);
@@ -359,8 +364,8 @@ static void msi_set_mask_bit(struct irq_desc *desc, int flag)
             u8 func = PCI_FUNC(entry->dev->devfn);
 
             mask_bits = pci_conf_read32(seg, bus, slot, func, entry->msi.mpos);
-            mask_bits &= ~(1);
-            mask_bits |= flag;
+            mask_bits &= ~((u32)1 << entry->msi_attrib.entry_nr);
+            mask_bits |= (u32)flag << entry->msi_attrib.entry_nr;
             pci_conf_write32(seg, bus, slot, func, entry->msi.mpos, mask_bits);
         }
         break;
@@ -384,10 +389,11 @@ static int msi_get_mask_bit(const struct msi_desc *entry)
     case PCI_CAP_ID_MSI:
         if (!entry->dev || !entry->msi_attrib.maskbit)
             break;
-        return pci_conf_read32(entry->dev->seg, entry->dev->bus,
-                               PCI_SLOT(entry->dev->devfn),
-                               PCI_FUNC(entry->dev->devfn),
-                               entry->msi.mpos) & 1;
+        return (pci_conf_read32(entry->dev->seg, entry->dev->bus,
+                                PCI_SLOT(entry->dev->devfn),
+                                PCI_FUNC(entry->dev->devfn),
+                                entry->msi.mpos) >>
+                entry->msi_attrib.entry_nr) & 1;
     case PCI_CAP_ID_MSIX:
         return readl(entry->mask_base + PCI_MSIX_ENTRY_VECTOR_CTRL_OFFSET) & 1;
     }
@@ -453,17 +459,20 @@ static hw_irq_controller pci_msi_nonmaskable = {
     .set_affinity = set_msi_affinity
 };
 
-static struct msi_desc* alloc_msi_entry(void)
+static struct msi_desc *alloc_msi_entry(unsigned int nr)
 {
     struct msi_desc *entry;
 
-    entry = xmalloc(struct msi_desc);
+    entry = xmalloc_array(struct msi_desc, nr);
     if ( !entry )
         return NULL;
 
     INIT_LIST_HEAD(&entry->list);
-    entry->dev = NULL;
-    entry->remap_index = -1;
+    while ( nr-- )
+    {
+        entry[nr].dev = NULL;
+        entry[nr].remap_index = -1;
+    }
 
     return entry;
 }
@@ -488,17 +497,24 @@ int __setup_msi_irq(struct irq_desc *desc, struct msi_desc *msidesc,
 
 int msi_free_irq(struct msi_desc *entry)
 {
-    destroy_irq(entry->irq);
+    unsigned int nr = entry->msi.nvec;
+
     if ( entry->msi_attrib.type == PCI_CAP_ID_MSIX )
     {
         unsigned long start;
         start = (unsigned long)entry->mask_base & ~(PAGE_SIZE - 1);
         msix_put_fixmap(entry->dev, virt_to_fix(start));
+        nr = 1;
     }
 
-    /* Free the unused IRTE if intr remap enabled */
-    if ( iommu_intremap )
-        iommu_update_ire_from_msi(entry, NULL);
+    while ( nr-- )
+    {
+        destroy_irq(entry[nr].irq);
+
+        /* Free the unused IRTE if intr remap enabled */
+        if ( iommu_intremap )
+            iommu_update_ire_from_msi(entry + nr, NULL);
+    }
 
     list_del(&entry->list);
     xfree(entry);
@@ -531,11 +547,12 @@ static struct msi_desc *find_msi_entry(struct pci_dev *dev,
  **/
 static int msi_capability_init(struct pci_dev *dev,
                                int irq,
-                               struct msi_desc **desc)
+                               struct msi_desc **desc,
+                               unsigned int nvec)
 {
     struct msi_desc *entry;
     int pos;
-    unsigned int maxvec, mpos;
+    unsigned int i, maxvec, mpos;
     u16 control, seg = dev->seg;
     u8 bus = dev->bus;
     u8 slot = PCI_SLOT(dev->devfn);
@@ -545,27 +562,34 @@ static int msi_capability_init(struct pci_dev *dev,
     pos = pci_find_cap_offset(seg, bus, slot, func, PCI_CAP_ID_MSI);
     control = pci_conf_read16(seg, bus, slot, func, msi_control_reg(pos));
     maxvec = multi_msi_capable(control);
+    if ( nvec > maxvec )
+        return maxvec;
     control &= ~PCI_MSI_FLAGS_QSIZE;
+    multi_msi_enable(control, nvec);
 
     /* MSI Entry Initialization */
     msi_set_enable(dev, 0); /* Ensure msi is disabled as I set it up */
 
-    entry = alloc_msi_entry();
+    entry = alloc_msi_entry(nvec);
     if ( !entry )
         return -ENOMEM;
 
-    entry->msi_attrib.type = PCI_CAP_ID_MSI;
-    entry->msi_attrib.is_64 = is_64bit_address(control);
-    entry->msi_attrib.entry_nr = 0;
-    entry->msi_attrib.maskbit = is_mask_bit_support(control);
-    entry->msi_attrib.masked = 1;
-    entry->msi_attrib.pos = pos;
     mpos = msi_mask_bits_reg(pos, is_64bit_address(control));
-    entry->msi.nvec = 1;
+    for ( i = 0; i < nvec; ++i )
+    {
+        entry[i].msi_attrib.type = PCI_CAP_ID_MSI;
+        entry[i].msi_attrib.is_64 = is_64bit_address(control);
+        entry[i].msi_attrib.entry_nr = i;
+        entry[i].msi_attrib.maskbit = is_mask_bit_support(control);
+        entry[i].msi_attrib.masked = 1;
+        entry[i].msi_attrib.pos = pos;
+        if ( entry[i].msi_attrib.maskbit )
+            entry[i].msi.mpos = mpos;
+        entry[i].msi.nvec = 0;
+        entry[i].dev = dev;
+    }
+    entry->msi.nvec = nvec;
     entry->irq = irq;
-    if ( is_mask_bit_support(control) )
-        entry->msi.mpos = mpos;
-    entry->dev = dev;
     if ( entry->msi_attrib.maskbit )
     {
         u32 maskbits;
@@ -693,7 +717,7 @@ static int msix_capability_init(struct pci_dev *dev,
 
     if ( desc )
     {
-        entry = alloc_msi_entry();
+        entry = alloc_msi_entry(1);
         if ( !entry )
             return -ENOMEM;
         ASSERT(msi);
@@ -851,7 +875,6 @@ static int msix_capability_init(struct pci_dev *dev,
 
 static int __pci_enable_msi(struct msi_info *msi, struct msi_desc **desc)
 {
-    int status;
     struct pci_dev *pdev;
     struct msi_desc *old_desc;
 
@@ -880,8 +903,7 @@ static int __pci_enable_msi(struct msi_info *msi, struct msi_desc **desc)
         pci_disable_msi(old_desc);
     }
 
-    status = msi_capability_init(pdev, msi->irq, desc);
-    return status;
+    return msi_capability_init(pdev, msi->irq, desc, msi->entry_nr);
 }
 
 static void __pci_disable_msi(struct msi_desc *entry)
@@ -1101,6 +1123,8 @@ int pci_restore_msi_state(struct pci_dev *pdev)
 
     list_for_each_entry_safe( entry, tmp, &pdev->msi_list, list )
     {
+        unsigned int i = 0, nr = 1;
+
         irq = entry->irq;
         desc = &irq_desc[irq];
 
@@ -1110,30 +1134,58 @@ int pci_restore_msi_state(struct pci_dev *pdev)
 
         if (desc->msi_desc != entry)
         {
+    bogus:
             dprintk(XENLOG_ERR,
-                    "Restore MSI for dev %04x:%02x:%02x:%x not set before?\n",
+                    "Restore MSI for %04x:%02x:%02x:%u entry %u not set?\n",
                     pdev->seg, pdev->bus, PCI_SLOT(pdev->devfn),
-                    PCI_FUNC(pdev->devfn));
+                    PCI_FUNC(pdev->devfn), i);
             spin_unlock_irqrestore(&desc->lock, flags);
             return -EINVAL;
         }
 
         if ( entry->msi_attrib.type == PCI_CAP_ID_MSI )
+        {
             msi_set_enable(pdev, 0);
+            nr = entry->msi.nvec;
+        }
         else if ( entry->msi_attrib.type == PCI_CAP_ID_MSIX )
             msix_set_enable(pdev, 0);
 
         msg = entry->msg;
         write_msi_msg(entry, &msg);
 
-        msi_set_mask_bit(desc, entry->msi_attrib.masked);
+        for ( i = 0; ; )
+        {
+            msi_set_mask_bit(desc, entry[i].msi_attrib.masked);
+            spin_unlock_irqrestore(&desc->lock, flags);
+
+            if ( !--nr )
+                break;
+
+            desc = &irq_desc[entry[++i].irq];
+            spin_lock_irqsave(&desc->lock, flags);
+            if ( desc->msi_desc != entry + i )
+                goto bogus;
+        }
+
+        spin_unlock_irqrestore(&desc->lock, flags);
 
         if ( entry->msi_attrib.type == PCI_CAP_ID_MSI )
+        {
+            unsigned int cpos = msi_control_reg(entry->msi_attrib.pos);
+            u16 control = pci_conf_read16(pdev->seg, pdev->bus,
+                                          PCI_SLOT(pdev->devfn),
+                                          PCI_FUNC(pdev->devfn), cpos);
+
+            control &= ~PCI_MSI_FLAGS_QSIZE;
+            multi_msi_enable(control, entry->msi.nvec);
+            pci_conf_write16(pdev->seg, pdev->bus, PCI_SLOT(pdev->devfn),
+                             PCI_FUNC(pdev->devfn), cpos, control);
+
             msi_set_enable(pdev, 1);
+        }
         else if ( entry->msi_attrib.type == PCI_CAP_ID_MSIX )
             msix_set_enable(pdev, 1);
-
-        spin_unlock_irqrestore(&desc->lock, flags);
     }
 
     return 0;
diff --git a/xen/arch/x86/physdev.c b/xen/arch/x86/physdev.c
index 3733c7a..4835ed7 100644
--- a/xen/arch/x86/physdev.c
+++ b/xen/arch/x86/physdev.c
@@ -140,8 +140,11 @@ int physdev_map_pirq(domid_t domid, int type, int *index, int *pirq_p,
         break;
 
     case MAP_PIRQ_TYPE_MSI:
+        if ( !msi->table_base )
+            msi->entry_nr = 1;
         irq = *index;
         if ( irq == -1 )
+    case MAP_PIRQ_TYPE_MULTI_MSI:
             irq = create_irq(NUMA_NO_NODE);
 
         if ( irq < nr_irqs_gsi || irq >= nr_irqs )
@@ -179,6 +182,30 @@ int physdev_map_pirq(domid_t domid, int type, int *index, int *pirq_p,
                 goto done;
             }
         }
+        else if ( type == MAP_PIRQ_TYPE_MULTI_MSI )
+        {
+            if ( msi->entry_nr <= 0 || msi->entry_nr > 32 )
+                ret = -EDOM;
+            else if ( msi->entry_nr != 1 && !iommu_intremap )
+                ret = -EOPNOTSUPP;
+            else
+            {
+                while ( msi->entry_nr & (msi->entry_nr - 1) )
+                    msi->entry_nr += msi->entry_nr & -msi->entry_nr;
+                pirq = get_free_pirqs(d, msi->entry_nr);
+                if ( pirq < 0 )
+                {
+                    while ( (msi->entry_nr >>= 1) > 1 )
+                        if ( get_free_pirqs(d, msi->entry_nr) > 0 )
+                            break;
+                    dprintk(XENLOG_G_ERR, "dom%d: no block of %d free pirqs\n",
+                            d->domain_id, msi->entry_nr << 1);
+                    ret = pirq;
+                }
+            }
+            if ( ret < 0 )
+                goto done;
+        }
         else
         {
             pirq = get_free_pirq(d, type);
@@ -210,8 +237,15 @@ int physdev_map_pirq(domid_t domid, int type, int *index, int *pirq_p,
  done:
     spin_unlock(&d->event_lock);
     spin_unlock(&pcidevs_lock);
-    if ( (ret != 0) && (type == MAP_PIRQ_TYPE_MSI) && (*index == -1) )
-        destroy_irq(irq);
+    if ( ret != 0 )
+        switch ( type )
+        {
+        case MAP_PIRQ_TYPE_MSI:
+            if ( *index == -1 )
+        case MAP_PIRQ_TYPE_MULTI_MSI:
+                destroy_irq(irq);
+            break;
+        }
  free_domain:
     rcu_unlock_domain(d);
     return ret;
@@ -390,14 +424,22 @@ ret_t do_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
         if ( copy_from_guest(&map, arg, 1) != 0 )
             break;
 
-        if ( map.type == MAP_PIRQ_TYPE_MSI_SEG )
+        switch ( map.type )
         {
+        case MAP_PIRQ_TYPE_MSI_SEG:
             map.type = MAP_PIRQ_TYPE_MSI;
             msi.seg = map.bus >> 16;
-        }
-        else
-        {
+            break;
+
+        case MAP_PIRQ_TYPE_MULTI_MSI:
+            if ( map.table_base )
+                return -EINVAL;
+            msi.seg = map.bus >> 16;
+            break;
+
+        default:
             msi.seg = 0;
+            break;
         }
         msi.bus = map.bus;
         msi.devfn = map.devfn;
@@ -406,6 +448,8 @@ ret_t do_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
         ret = physdev_map_pirq(map.domid, map.type, &map.index, &map.pirq,
                                &msi);
 
+        if ( map.type == MAP_PIRQ_TYPE_MULTI_MSI )
+            map.entry_nr = msi.entry_nr;
         if ( __copy_to_guest(arg, &map, 1) )
             ret = -EFAULT;
         break;
diff --git a/xen/include/asm-x86/irq.h b/xen/include/asm-x86/irq.h
index 7f5da06..9066d38 100644
--- a/xen/include/asm-x86/irq.h
+++ b/xen/include/asm-x86/irq.h
@@ -141,6 +141,7 @@ int map_domain_pirq(struct domain *d, int pirq, int irq, int type,
                            void *data);
 int unmap_domain_pirq(struct domain *d, int pirq);
 int get_free_pirq(struct domain *d, int type);
+int get_free_pirqs(struct domain *, unsigned int nr);
 void free_domain_pirqs(struct domain *d);
 int map_domain_emuirq_pirq(struct domain *d, int pirq, int irq);
 int unmap_domain_pirq_emuirq(struct domain *d, int pirq);
diff --git a/xen/include/asm-x86/msi.h b/xen/include/asm-x86/msi.h
index 394ef0e..06e6853 100644
--- a/xen/include/asm-x86/msi.h
+++ b/xen/include/asm-x86/msi.h
@@ -148,7 +148,7 @@ int msi_free_irq(struct msi_desc *entry);
 #define multi_msi_capable(control) \
 	(1 << ((control & PCI_MSI_FLAGS_QMASK) >> 1))
 #define multi_msi_enable(control, num) \
-	control |= (((num >> 1) << 4) & PCI_MSI_FLAGS_QSIZE);
+	control |= (((fls(num) - 1) << 4) & PCI_MSI_FLAGS_QSIZE);
 #define is_64bit_address(control)	(!!(control & PCI_MSI_FLAGS_64BIT))
 #define is_mask_bit_support(control)	(!!(control & PCI_MSI_FLAGS_MASKBIT))
 #define msi_enable(control, num) multi_msi_enable(control, num); \
diff --git a/xen/include/public/physdev.h b/xen/include/public/physdev.h
index db7e37a..d547928 100644
--- a/xen/include/public/physdev.h
+++ b/xen/include/public/physdev.h
@@ -151,21 +151,22 @@ DEFINE_XEN_GUEST_HANDLE(physdev_irq_t);
 #define MAP_PIRQ_TYPE_GSI               0x1
 #define MAP_PIRQ_TYPE_UNKNOWN           0x2
 #define MAP_PIRQ_TYPE_MSI_SEG           0x3
+#define MAP_PIRQ_TYPE_MULTI_MSI         0x4
 
 #define PHYSDEVOP_map_pirq               13
 struct physdev_map_pirq {
     domid_t domid;
     /* IN */
     int type;
-    /* IN */
+    /* IN (ignored for ..._MULTI_MSI) */
     int index;
     /* IN or OUT */
     int pirq;
-    /* IN - high 16 bits hold segment for MAP_PIRQ_TYPE_MSI_SEG */
+    /* IN - high 16 bits hold segment for ..._MSI_SEG and ..._MULTI_MSI */
     int bus;
     /* IN */
     int devfn;
-    /* IN */
+    /* IN (also OUT for ..._MULTI_MSI) */
     int entry_nr;
     /* IN */
     uint64_t table_base;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 09 05:24:43 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Aug 2013 05:24:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7fBq-00051F-Vy; Fri, 09 Aug 2013 05:24:42 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fBp-00050t-ES
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:24:41 +0000
Received: from [85.158.139.211:22519] by server-13.bemta-5.messagelabs.com id
	35/85-11519-81D74025; Fri, 09 Aug 2013 05:24:40 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-206.messagelabs.com!1376025879!1554313!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16938 invoked from network); 9 Aug 2013 05:24:40 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-6.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	9 Aug 2013 05:24:40 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fBn-0003Kg-2o
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:24:39 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fBn-0005yd-1l
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:24:39 +0000
Date: Fri, 09 Aug 2013 05:24:39 +0000
Message-Id: <E1V7fBn-0005yd-1l@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] pciif: add multi-vector-MSI command
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit da56976f30dcea66c09c2d63554228bbf8cc1d34
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Thu Aug 8 11:13:54 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Aug 8 11:13:54 2013 +0200

    pciif: add multi-vector-MSI command
    
    The requested vector count is to be passed in struct xen_pci_op's info
    field. Upon failure, if a smaller vector count might work, the backend
    will pass that smaller count in the value field (which so far is always
    being set to zero in the error path).
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
---
 xen/include/public/io/pciif.h |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/xen/include/public/io/pciif.h b/xen/include/public/io/pciif.h
index b7112ee..a4ba13c 100644
--- a/xen/include/public/io/pciif.h
+++ b/xen/include/public/io/pciif.h
@@ -46,6 +46,7 @@
 #define XEN_PCI_OP_aer_resume		(7)
 #define XEN_PCI_OP_aer_mmio		(8)
 #define XEN_PCI_OP_aer_slotreset	(9)
+#define XEN_PCI_OP_enable_multi_msi	(10)
 
 /* xen_pci_op error numbers */
 #define XEN_PCI_ERR_success          (0)
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 09 05:24:43 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Aug 2013 05:24:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7fBq-00051F-Vy; Fri, 09 Aug 2013 05:24:42 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fBp-00050t-ES
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:24:41 +0000
Received: from [85.158.139.211:22519] by server-13.bemta-5.messagelabs.com id
	35/85-11519-81D74025; Fri, 09 Aug 2013 05:24:40 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-206.messagelabs.com!1376025879!1554313!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16938 invoked from network); 9 Aug 2013 05:24:40 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-6.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	9 Aug 2013 05:24:40 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fBn-0003Kg-2o
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:24:39 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fBn-0005yd-1l
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:24:39 +0000
Date: Fri, 09 Aug 2013 05:24:39 +0000
Message-Id: <E1V7fBn-0005yd-1l@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] pciif: add multi-vector-MSI command
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit da56976f30dcea66c09c2d63554228bbf8cc1d34
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Thu Aug 8 11:13:54 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Aug 8 11:13:54 2013 +0200

    pciif: add multi-vector-MSI command
    
    The requested vector count is to be passed in struct xen_pci_op's info
    field. Upon failure, if a smaller vector count might work, the backend
    will pass that smaller count in the value field (which so far is always
    being set to zero in the error path).
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
---
 xen/include/public/io/pciif.h |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/xen/include/public/io/pciif.h b/xen/include/public/io/pciif.h
index b7112ee..a4ba13c 100644
--- a/xen/include/public/io/pciif.h
+++ b/xen/include/public/io/pciif.h
@@ -46,6 +46,7 @@
 #define XEN_PCI_OP_aer_resume		(7)
 #define XEN_PCI_OP_aer_mmio		(8)
 #define XEN_PCI_OP_aer_slotreset	(9)
+#define XEN_PCI_OP_enable_multi_msi	(10)
 
 /* xen_pci_op error numbers */
 #define XEN_PCI_ERR_success          (0)
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 09 05:24:53 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Aug 2013 05:24:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7fC1-00053P-2q; Fri, 09 Aug 2013 05:24:53 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fBz-00053A-OS
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:24:51 +0000
Received: from [85.158.137.68:31099] by server-9.bemta-3.messagelabs.com id
	CE/F7-06161-32D74025; Fri, 09 Aug 2013 05:24:51 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-31.messagelabs.com!1376025889!820523!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27142 invoked from network); 9 Aug 2013 05:24:50 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-7.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	9 Aug 2013 05:24:50 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fBx-0003Km-8Y
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:24:49 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fBx-0005z2-6q
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:24:49 +0000
Date: Fri, 09 Aug 2013 05:24:49 +0000
Message-Id: <E1V7fBx-0005z2-6q@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] mem_sharing_nominate_page: p2mt should
	never change before p2m_change_type()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit fa89d08f329e495f20a561a0dac80c325c8b7784
Author:     Nai Xia <nai.xia@gmail.com>
AuthorDate: Wed Aug 7 00:25:48 2013 +0800
Commit:     Tim Deegan <tim@xen.org>
CommitDate: Thu Aug 8 11:19:46 2013 +0100

    mem_sharing_nominate_page: p2mt should never change before p2m_change_type()
    
    The p2mt change check for p2m_change_type() was first introduced when
    this code path was not protected by p2m_lock().  Now this code path is
    protected by p2m_lock. So p2mt should never change before
    p2m_change_type().
    
    Signed-off-by: Nai Xia <nai.xia@gmail.com>
    Acked-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>
    Acked-by: Tim Deegan <tim@xen.org>
---
 xen/arch/x86/mm/mem_sharing.c |   16 ++--------------
 1 files changed, 2 insertions(+), 14 deletions(-)

diff --git a/xen/arch/x86/mm/mem_sharing.c b/xen/arch/x86/mm/mem_sharing.c
index 0364bb0..1e89f6c 100644
--- a/xen/arch/x86/mm/mem_sharing.c
+++ b/xen/arch/x86/mm/mem_sharing.c
@@ -900,20 +900,8 @@ int mem_sharing_nominate_page(struct domain *d,
         goto out;
     }
 
-    /* Change the p2m type */
-    if ( p2m_change_type(d, gfn, p2mt, p2m_ram_shared) != p2mt ) 
-    {
-        /* This is unlikely, as the type must have changed since we've checked
-         * it a few lines above.
-         * The mfn needs to revert back to rw type. This should never fail,
-         * since no-one knew that the mfn was temporarily sharable */
-        mem_sharing_gfn_destroy(page, d, gfn_info);
-        xfree(page->sharing);
-        page->sharing = NULL;
-        /* NOTE: We haven't yet added this to the audit list. */
-        BUG_ON(page_make_private(d, page) != 0);
-        goto out;
-    }
+    /* Change the p2m type, should never fail with p2m locked. */
+    BUG_ON(p2m_change_type(d, gfn, p2mt, p2m_ram_shared) != p2mt);
 
     /* Account for this page. */
     atomic_inc(&nr_shared_mfns);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 09 05:24:53 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Aug 2013 05:24:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7fC1-00053P-2q; Fri, 09 Aug 2013 05:24:53 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fBz-00053A-OS
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:24:51 +0000
Received: from [85.158.137.68:31099] by server-9.bemta-3.messagelabs.com id
	CE/F7-06161-32D74025; Fri, 09 Aug 2013 05:24:51 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-31.messagelabs.com!1376025889!820523!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27142 invoked from network); 9 Aug 2013 05:24:50 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-7.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	9 Aug 2013 05:24:50 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fBx-0003Km-8Y
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:24:49 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fBx-0005z2-6q
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:24:49 +0000
Date: Fri, 09 Aug 2013 05:24:49 +0000
Message-Id: <E1V7fBx-0005z2-6q@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] mem_sharing_nominate_page: p2mt should
	never change before p2m_change_type()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit fa89d08f329e495f20a561a0dac80c325c8b7784
Author:     Nai Xia <nai.xia@gmail.com>
AuthorDate: Wed Aug 7 00:25:48 2013 +0800
Commit:     Tim Deegan <tim@xen.org>
CommitDate: Thu Aug 8 11:19:46 2013 +0100

    mem_sharing_nominate_page: p2mt should never change before p2m_change_type()
    
    The p2mt change check for p2m_change_type() was first introduced when
    this code path was not protected by p2m_lock().  Now this code path is
    protected by p2m_lock. So p2mt should never change before
    p2m_change_type().
    
    Signed-off-by: Nai Xia <nai.xia@gmail.com>
    Acked-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>
    Acked-by: Tim Deegan <tim@xen.org>
---
 xen/arch/x86/mm/mem_sharing.c |   16 ++--------------
 1 files changed, 2 insertions(+), 14 deletions(-)

diff --git a/xen/arch/x86/mm/mem_sharing.c b/xen/arch/x86/mm/mem_sharing.c
index 0364bb0..1e89f6c 100644
--- a/xen/arch/x86/mm/mem_sharing.c
+++ b/xen/arch/x86/mm/mem_sharing.c
@@ -900,20 +900,8 @@ int mem_sharing_nominate_page(struct domain *d,
         goto out;
     }
 
-    /* Change the p2m type */
-    if ( p2m_change_type(d, gfn, p2mt, p2m_ram_shared) != p2mt ) 
-    {
-        /* This is unlikely, as the type must have changed since we've checked
-         * it a few lines above.
-         * The mfn needs to revert back to rw type. This should never fail,
-         * since no-one knew that the mfn was temporarily sharable */
-        mem_sharing_gfn_destroy(page, d, gfn_info);
-        xfree(page->sharing);
-        page->sharing = NULL;
-        /* NOTE: We haven't yet added this to the audit list. */
-        BUG_ON(page_make_private(d, page) != 0);
-        goto out;
-    }
+    /* Change the p2m type, should never fail with p2m locked. */
+    BUG_ON(p2m_change_type(d, gfn, p2mt, p2m_ram_shared) != p2mt);
 
     /* Account for this page. */
     atomic_inc(&nr_shared_mfns);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 09 05:25:09 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Aug 2013 05:25:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7fCB-00055k-B7; Fri, 09 Aug 2013 05:25:03 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fC9-00055J-TE
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:25:02 +0000
Received: from [193.109.254.147:59297] by server-14.bemta-14.messagelabs.com
	id 0F/DF-23280-D2D74025; Fri, 09 Aug 2013 05:25:01 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1376025899!3223295!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23027 invoked from network); 9 Aug 2013 05:25:00 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-5.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	9 Aug 2013 05:25:00 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fC7-0003Kv-DZ
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:24:59 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fC7-0005zQ-CY
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:24:59 +0000
Date: Fri, 09 Aug 2013 05:24:59 +0000
Message-Id: <E1V7fC7-0005zQ-CY@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] Merge branch 'staging' of
	ssh://xenbits.xen.org/home/xen/git/xen into staging
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 40f436a253dc759d45c1638923562f871f7303b7
Merge: 6349b01651c4c915a7e9600fcf3f6f77cb5cf9bb fa89d08f329e495f20a561a0dac80c325c8b7784
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Thu Aug 8 13:16:01 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Aug 8 13:16:01 2013 +0100

    Merge branch 'staging' of ssh://xenbits.xen.org/home/xen/git/xen into staging

 xen/arch/x86/irq.c            |  206 +++++++++++++++++++++++++++++++++-------
 xen/arch/x86/mm/mem_sharing.c |   16 +---
 xen/arch/x86/msi.c            |  124 +++++++++++++++++-------
 xen/arch/x86/physdev.c        |   56 ++++++++++-
 xen/include/asm-x86/irq.h     |    1 +
 xen/include/asm-x86/msi.h     |    2 +-
 xen/include/public/io/pciif.h |    1 +
 xen/include/public/physdev.h  |    7 +-
 8 files changed, 317 insertions(+), 96 deletions(-)
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 09 05:25:09 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Aug 2013 05:25:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7fCB-00055k-B7; Fri, 09 Aug 2013 05:25:03 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fC9-00055J-TE
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:25:02 +0000
Received: from [193.109.254.147:59297] by server-14.bemta-14.messagelabs.com
	id 0F/DF-23280-D2D74025; Fri, 09 Aug 2013 05:25:01 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1376025899!3223295!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23027 invoked from network); 9 Aug 2013 05:25:00 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-5.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	9 Aug 2013 05:25:00 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fC7-0003Kv-DZ
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:24:59 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fC7-0005zQ-CY
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:24:59 +0000
Date: Fri, 09 Aug 2013 05:24:59 +0000
Message-Id: <E1V7fC7-0005zQ-CY@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] Merge branch 'staging' of
	ssh://xenbits.xen.org/home/xen/git/xen into staging
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 40f436a253dc759d45c1638923562f871f7303b7
Merge: 6349b01651c4c915a7e9600fcf3f6f77cb5cf9bb fa89d08f329e495f20a561a0dac80c325c8b7784
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Thu Aug 8 13:16:01 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Aug 8 13:16:01 2013 +0100

    Merge branch 'staging' of ssh://xenbits.xen.org/home/xen/git/xen into staging

 xen/arch/x86/irq.c            |  206 +++++++++++++++++++++++++++++++++-------
 xen/arch/x86/mm/mem_sharing.c |   16 +---
 xen/arch/x86/msi.c            |  124 +++++++++++++++++-------
 xen/arch/x86/physdev.c        |   56 ++++++++++-
 xen/include/asm-x86/irq.h     |    1 +
 xen/include/asm-x86/msi.h     |    2 +-
 xen/include/public/io/pciif.h |    1 +
 xen/include/public/physdev.h  |    7 +-
 8 files changed, 317 insertions(+), 96 deletions(-)
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 09 05:25:13 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Aug 2013 05:25:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7fCL-000582-ED; Fri, 09 Aug 2013 05:25:13 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fCK-00057i-DH
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:25:12 +0000
Received: from [193.109.254.147:17827] by server-3.bemta-14.messagelabs.com id
	DB/81-00891-73D74025; Fri, 09 Aug 2013 05:25:11 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-27.messagelabs.com!1376025909!3225125!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7108 invoked from network); 9 Aug 2013 05:25:10 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-13.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	9 Aug 2013 05:25:10 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fCH-0003LQ-JH
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:25:09 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fCH-000602-HV
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:25:09 +0000
Date: Fri, 09 Aug 2013 05:25:09 +0000
Message-Id: <E1V7fCH-000602-HV@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] Revert "xen/arm: Add support for
	device tree specified arch_timer clock frequency."
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 5c858f0e55a443ef8717e18e0aa434a7fae0bd1f
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Thu Aug 8 13:44:16 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Aug 8 13:44:16 2013 +0100

    Revert "xen/arm: Add support for device tree specified arch_timer clock frequency."
    
    This reverts commit dd11cc89c5ba53ae8d969037eda8b8c70d20ffa6.
    
    Broke the build due to dt_property_read_u32 being defined in an as yet
    unapplied patch.
---
 xen/arch/arm/time.c |    7 +------
 1 files changed, 1 insertions(+), 6 deletions(-)

diff --git a/xen/arch/arm/time.c b/xen/arch/arm/time.c
index 9a1b080..4ed7882 100644
--- a/xen/arch/arm/time.c
+++ b/xen/arch/arm/time.c
@@ -104,7 +104,6 @@ int __init init_xen_time(void)
     struct dt_device_node *dev;
     int res;
     unsigned int i;
-    u32 rate;
 
     dev = dt_find_compatible_node(NULL, NULL, "arm,armv7-timer");
     if ( !dev )
@@ -135,11 +134,7 @@ int __init init_xen_time(void)
     if ( !cpu_has_gentimer )
         panic("CPU does not support the Generic Timer v1 interface.\n");
 
-    res = dt_property_read_u32(dev, "clock-frequency", &rate);
-    if ( res )
-        cpu_khz = rate / 1000;
-    else
-        cpu_khz = READ_SYSREG32(CNTFRQ_EL0) / 1000;
+    cpu_khz = READ_SYSREG32(CNTFRQ_EL0) / 1000;
 
     boot_count = READ_SYSREG64(CNTPCT_EL0);
     printk("Using generic timer at %lu KHz\n", cpu_khz);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 09 05:25:13 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Aug 2013 05:25:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7fCL-000582-ED; Fri, 09 Aug 2013 05:25:13 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fCK-00057i-DH
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:25:12 +0000
Received: from [193.109.254.147:17827] by server-3.bemta-14.messagelabs.com id
	DB/81-00891-73D74025; Fri, 09 Aug 2013 05:25:11 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-27.messagelabs.com!1376025909!3225125!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7108 invoked from network); 9 Aug 2013 05:25:10 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-13.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	9 Aug 2013 05:25:10 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fCH-0003LQ-JH
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:25:09 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fCH-000602-HV
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:25:09 +0000
Date: Fri, 09 Aug 2013 05:25:09 +0000
Message-Id: <E1V7fCH-000602-HV@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] Revert "xen/arm: Add support for
	device tree specified arch_timer clock frequency."
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 5c858f0e55a443ef8717e18e0aa434a7fae0bd1f
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Thu Aug 8 13:44:16 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Aug 8 13:44:16 2013 +0100

    Revert "xen/arm: Add support for device tree specified arch_timer clock frequency."
    
    This reverts commit dd11cc89c5ba53ae8d969037eda8b8c70d20ffa6.
    
    Broke the build due to dt_property_read_u32 being defined in an as yet
    unapplied patch.
---
 xen/arch/arm/time.c |    7 +------
 1 files changed, 1 insertions(+), 6 deletions(-)

diff --git a/xen/arch/arm/time.c b/xen/arch/arm/time.c
index 9a1b080..4ed7882 100644
--- a/xen/arch/arm/time.c
+++ b/xen/arch/arm/time.c
@@ -104,7 +104,6 @@ int __init init_xen_time(void)
     struct dt_device_node *dev;
     int res;
     unsigned int i;
-    u32 rate;
 
     dev = dt_find_compatible_node(NULL, NULL, "arm,armv7-timer");
     if ( !dev )
@@ -135,11 +134,7 @@ int __init init_xen_time(void)
     if ( !cpu_has_gentimer )
         panic("CPU does not support the Generic Timer v1 interface.\n");
 
-    res = dt_property_read_u32(dev, "clock-frequency", &rate);
-    if ( res )
-        cpu_khz = rate / 1000;
-    else
-        cpu_khz = READ_SYSREG32(CNTFRQ_EL0) / 1000;
+    cpu_khz = READ_SYSREG32(CNTFRQ_EL0) / 1000;
 
     boot_count = READ_SYSREG64(CNTPCT_EL0);
     printk("Using generic timer at %lu KHz\n", cpu_khz);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 09 05:25:24 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Aug 2013 05:25:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7fCV-0005A4-HS; Fri, 09 Aug 2013 05:25:23 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fCU-00059f-Aq
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:25:22 +0000
Received: from [85.158.139.211:55718] by server-10.bemta-5.messagelabs.com id
	5D/D4-03093-14D74025; Fri, 09 Aug 2013 05:25:21 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-206.messagelabs.com!1376025919!1550294!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17500 invoked from network); 9 Aug 2013 05:25:20 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-9.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	9 Aug 2013 05:25:20 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fCR-0003LZ-PH
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:25:19 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fCR-00061C-ND
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:25:19 +0000
Date: Fri, 09 Aug 2013 05:25:19 +0000
Message-Id: <E1V7fCR-00061C-ND@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] cleanup unused request{_dt,
	}_irq() parameter
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit c17df4f584a3950c5f38d629e336b156dda18bbe
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Thu Aug 8 15:20:36 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Aug 8 15:20:36 2013 +0200

    cleanup unused request{_dt,}_irq() parameter
    
    The irqflags parameter appears to be an unused vestigial parameter right from
    the integration of the IOMMU code in 2007.  The parameter is 0 at all
    callsites and never used.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Ian Campbell <Ian.Campbell@citrix.com>
---
 xen/arch/arm/gic.c                       |    2 +-
 xen/arch/arm/irq.c                       |    2 +-
 xen/arch/arm/time.c                      |    6 +++---
 xen/arch/x86/hpet.c                      |    2 +-
 xen/arch/x86/irq.c                       |    2 +-
 xen/drivers/passthrough/amd/iommu_init.c |    2 +-
 xen/drivers/passthrough/vtd/iommu.c      |    2 +-
 xen/include/asm-arm/irq.h                |    3 +--
 xen/include/xen/irq.h                    |    2 +-
 9 files changed, 11 insertions(+), 12 deletions(-)

diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c
index ccce565..7c24811 100644
--- a/xen/arch/arm/gic.c
+++ b/xen/arch/arm/gic.c
@@ -893,7 +893,7 @@ void gic_dump_info(struct vcpu *v)
 void __cpuinit init_maintenance_interrupt(void)
 {
     request_dt_irq(&gic.maintenance, maintenance_interrupt,
-                   0, "irq-maintenance", NULL);
+                   "irq-maintenance", NULL);
 }
 
 /*
diff --git a/xen/arch/arm/irq.c b/xen/arch/arm/irq.c
index 2fe4296..3e326b0 100644
--- a/xen/arch/arm/irq.c
+++ b/xen/arch/arm/irq.c
@@ -95,7 +95,7 @@ void __cpuinit init_secondary_IRQ(void)
 
 int __init request_dt_irq(const struct dt_irq *irq,
         void (*handler)(int, void *, struct cpu_user_regs *),
-        unsigned long irqflags, const char *devname, void *dev_id)
+        const char *devname, void *dev_id)
 {
     struct irqaction *action;
     int retval;
diff --git a/xen/arch/arm/time.c b/xen/arch/arm/time.c
index 4ed7882..b5864ef 100644
--- a/xen/arch/arm/time.c
+++ b/xen/arch/arm/time.c
@@ -238,11 +238,11 @@ void __cpuinit init_timer_interrupt(void)
     WRITE_SYSREG32(0, CNTHP_CTL_EL2);   /* Hypervisor's timer disabled */
     isb();
 
-    request_dt_irq(&timer_irq[TIMER_HYP_PPI], timer_interrupt, 0,
+    request_dt_irq(&timer_irq[TIMER_HYP_PPI], timer_interrupt,
                    "hyptimer", NULL);
-    request_dt_irq(&timer_irq[TIMER_VIRT_PPI], vtimer_interrupt, 0,
+    request_dt_irq(&timer_irq[TIMER_VIRT_PPI], vtimer_interrupt,
                    "virtimer", NULL);
-    request_dt_irq(&timer_irq[TIMER_PHYS_NONSECURE_PPI], timer_interrupt, 0,
+    request_dt_irq(&timer_irq[TIMER_PHYS_NONSECURE_PPI], timer_interrupt,
                    "phytimer", NULL);
 }
 
diff --git a/xen/arch/x86/hpet.c b/xen/arch/x86/hpet.c
index 946d133..7e0d332 100644
--- a/xen/arch/x86/hpet.c
+++ b/xen/arch/x86/hpet.c
@@ -355,7 +355,7 @@ static int __init hpet_setup_msi_irq(struct hpet_event_channel *ch)
     hpet_write32(cfg, HPET_Tn_CFG(ch->idx));
 
     desc->handler = &hpet_msi_type;
-    ret = request_irq(ch->msi.irq, hpet_interrupt_handler, 0, "HPET", ch);
+    ret = request_irq(ch->msi.irq, hpet_interrupt_handler, "HPET", ch);
     if ( ret >= 0 )
         ret = __hpet_setup_msi_irq(desc);
     if ( ret < 0 )
diff --git a/xen/arch/x86/irq.c b/xen/arch/x86/irq.c
index 8b59b48..c61cc46 100644
--- a/xen/arch/x86/irq.c
+++ b/xen/arch/x86/irq.c
@@ -951,7 +951,7 @@ __initcall(irq_ratelimit_init);
 
 int __init request_irq(unsigned int irq,
         void (*handler)(int, void *, struct cpu_user_regs *),
-        unsigned long irqflags, const char * devname, void *dev_id)
+        const char * devname, void *dev_id)
 {
     struct irqaction * action;
     int retval;
diff --git a/xen/drivers/passthrough/amd/iommu_init.c b/xen/drivers/passthrough/amd/iommu_init.c
index c19b51d..b431d16 100644
--- a/xen/drivers/passthrough/amd/iommu_init.c
+++ b/xen/drivers/passthrough/amd/iommu_init.c
@@ -814,7 +814,7 @@ static bool_t __init set_iommu_interrupt_handler(struct amd_iommu *iommu)
         handler = &iommu_msi_type;
     ret = __setup_msi_irq(irq_to_desc(irq), &iommu->msi, handler);
     if ( !ret )
-        ret = request_irq(irq, iommu_interrupt_handler, 0, "amd_iommu", iommu);
+        ret = request_irq(irq, iommu_interrupt_handler, "amd_iommu", iommu);
     if ( ret )
     {
         destroy_irq(irq);
diff --git a/xen/drivers/passthrough/vtd/iommu.c b/xen/drivers/passthrough/vtd/iommu.c
index 76f7b8e..ddf713b 100644
--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
@@ -1098,7 +1098,7 @@ static int __init iommu_set_interrupt(struct acpi_drhd_unit *drhd)
 
     desc = irq_to_desc(irq);
     desc->handler = &dma_msi_type;
-    ret = request_irq(irq, iommu_page_fault, 0, "dmar", iommu);
+    ret = request_irq(irq, iommu_page_fault, "dmar", iommu);
     if ( ret )
     {
         desc->handler = &no_irq_type;
diff --git a/xen/include/asm-arm/irq.h b/xen/include/asm-arm/irq.h
index 80ff68d..7c20703 100644
--- a/xen/include/asm-arm/irq.h
+++ b/xen/include/asm-arm/irq.h
@@ -42,8 +42,7 @@ void init_secondary_IRQ(void);
 
 int __init request_dt_irq(const struct dt_irq *irq,
                           void (*handler)(int, void *, struct cpu_user_regs *),
-                          unsigned long irqflags, const char *devname,
-                          void *dev_id);
+                          const char *devname, void *dev_id);
 int __init setup_dt_irq(const struct dt_irq *irq, struct irqaction *new);
 
 #endif /* _ASM_HW_IRQ_H */
diff --git a/xen/include/xen/irq.h b/xen/include/xen/irq.h
index eaf1a84..f2e6215 100644
--- a/xen/include/xen/irq.h
+++ b/xen/include/xen/irq.h
@@ -93,7 +93,7 @@ extern int setup_irq(unsigned int irq, struct irqaction *);
 extern void release_irq(unsigned int irq);
 extern int request_irq(unsigned int irq,
                void (*handler)(int, void *, struct cpu_user_regs *),
-               unsigned long irqflags, const char * devname, void *dev_id);
+               const char * devname, void *dev_id);
 
 extern hw_irq_controller no_irq_type;
 extern void no_action(int cpl, void *dev_id, struct cpu_user_regs *regs);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 09 05:25:24 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Aug 2013 05:25:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7fCV-0005A4-HS; Fri, 09 Aug 2013 05:25:23 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fCU-00059f-Aq
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:25:22 +0000
Received: from [85.158.139.211:55718] by server-10.bemta-5.messagelabs.com id
	5D/D4-03093-14D74025; Fri, 09 Aug 2013 05:25:21 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-206.messagelabs.com!1376025919!1550294!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17500 invoked from network); 9 Aug 2013 05:25:20 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-9.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	9 Aug 2013 05:25:20 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fCR-0003LZ-PH
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:25:19 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fCR-00061C-ND
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:25:19 +0000
Date: Fri, 09 Aug 2013 05:25:19 +0000
Message-Id: <E1V7fCR-00061C-ND@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] cleanup unused request{_dt,
	}_irq() parameter
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit c17df4f584a3950c5f38d629e336b156dda18bbe
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Thu Aug 8 15:20:36 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Aug 8 15:20:36 2013 +0200

    cleanup unused request{_dt,}_irq() parameter
    
    The irqflags parameter appears to be an unused vestigial parameter right from
    the integration of the IOMMU code in 2007.  The parameter is 0 at all
    callsites and never used.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Ian Campbell <Ian.Campbell@citrix.com>
---
 xen/arch/arm/gic.c                       |    2 +-
 xen/arch/arm/irq.c                       |    2 +-
 xen/arch/arm/time.c                      |    6 +++---
 xen/arch/x86/hpet.c                      |    2 +-
 xen/arch/x86/irq.c                       |    2 +-
 xen/drivers/passthrough/amd/iommu_init.c |    2 +-
 xen/drivers/passthrough/vtd/iommu.c      |    2 +-
 xen/include/asm-arm/irq.h                |    3 +--
 xen/include/xen/irq.h                    |    2 +-
 9 files changed, 11 insertions(+), 12 deletions(-)

diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c
index ccce565..7c24811 100644
--- a/xen/arch/arm/gic.c
+++ b/xen/arch/arm/gic.c
@@ -893,7 +893,7 @@ void gic_dump_info(struct vcpu *v)
 void __cpuinit init_maintenance_interrupt(void)
 {
     request_dt_irq(&gic.maintenance, maintenance_interrupt,
-                   0, "irq-maintenance", NULL);
+                   "irq-maintenance", NULL);
 }
 
 /*
diff --git a/xen/arch/arm/irq.c b/xen/arch/arm/irq.c
index 2fe4296..3e326b0 100644
--- a/xen/arch/arm/irq.c
+++ b/xen/arch/arm/irq.c
@@ -95,7 +95,7 @@ void __cpuinit init_secondary_IRQ(void)
 
 int __init request_dt_irq(const struct dt_irq *irq,
         void (*handler)(int, void *, struct cpu_user_regs *),
-        unsigned long irqflags, const char *devname, void *dev_id)
+        const char *devname, void *dev_id)
 {
     struct irqaction *action;
     int retval;
diff --git a/xen/arch/arm/time.c b/xen/arch/arm/time.c
index 4ed7882..b5864ef 100644
--- a/xen/arch/arm/time.c
+++ b/xen/arch/arm/time.c
@@ -238,11 +238,11 @@ void __cpuinit init_timer_interrupt(void)
     WRITE_SYSREG32(0, CNTHP_CTL_EL2);   /* Hypervisor's timer disabled */
     isb();
 
-    request_dt_irq(&timer_irq[TIMER_HYP_PPI], timer_interrupt, 0,
+    request_dt_irq(&timer_irq[TIMER_HYP_PPI], timer_interrupt,
                    "hyptimer", NULL);
-    request_dt_irq(&timer_irq[TIMER_VIRT_PPI], vtimer_interrupt, 0,
+    request_dt_irq(&timer_irq[TIMER_VIRT_PPI], vtimer_interrupt,
                    "virtimer", NULL);
-    request_dt_irq(&timer_irq[TIMER_PHYS_NONSECURE_PPI], timer_interrupt, 0,
+    request_dt_irq(&timer_irq[TIMER_PHYS_NONSECURE_PPI], timer_interrupt,
                    "phytimer", NULL);
 }
 
diff --git a/xen/arch/x86/hpet.c b/xen/arch/x86/hpet.c
index 946d133..7e0d332 100644
--- a/xen/arch/x86/hpet.c
+++ b/xen/arch/x86/hpet.c
@@ -355,7 +355,7 @@ static int __init hpet_setup_msi_irq(struct hpet_event_channel *ch)
     hpet_write32(cfg, HPET_Tn_CFG(ch->idx));
 
     desc->handler = &hpet_msi_type;
-    ret = request_irq(ch->msi.irq, hpet_interrupt_handler, 0, "HPET", ch);
+    ret = request_irq(ch->msi.irq, hpet_interrupt_handler, "HPET", ch);
     if ( ret >= 0 )
         ret = __hpet_setup_msi_irq(desc);
     if ( ret < 0 )
diff --git a/xen/arch/x86/irq.c b/xen/arch/x86/irq.c
index 8b59b48..c61cc46 100644
--- a/xen/arch/x86/irq.c
+++ b/xen/arch/x86/irq.c
@@ -951,7 +951,7 @@ __initcall(irq_ratelimit_init);
 
 int __init request_irq(unsigned int irq,
         void (*handler)(int, void *, struct cpu_user_regs *),
-        unsigned long irqflags, const char * devname, void *dev_id)
+        const char * devname, void *dev_id)
 {
     struct irqaction * action;
     int retval;
diff --git a/xen/drivers/passthrough/amd/iommu_init.c b/xen/drivers/passthrough/amd/iommu_init.c
index c19b51d..b431d16 100644
--- a/xen/drivers/passthrough/amd/iommu_init.c
+++ b/xen/drivers/passthrough/amd/iommu_init.c
@@ -814,7 +814,7 @@ static bool_t __init set_iommu_interrupt_handler(struct amd_iommu *iommu)
         handler = &iommu_msi_type;
     ret = __setup_msi_irq(irq_to_desc(irq), &iommu->msi, handler);
     if ( !ret )
-        ret = request_irq(irq, iommu_interrupt_handler, 0, "amd_iommu", iommu);
+        ret = request_irq(irq, iommu_interrupt_handler, "amd_iommu", iommu);
     if ( ret )
     {
         destroy_irq(irq);
diff --git a/xen/drivers/passthrough/vtd/iommu.c b/xen/drivers/passthrough/vtd/iommu.c
index 76f7b8e..ddf713b 100644
--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
@@ -1098,7 +1098,7 @@ static int __init iommu_set_interrupt(struct acpi_drhd_unit *drhd)
 
     desc = irq_to_desc(irq);
     desc->handler = &dma_msi_type;
-    ret = request_irq(irq, iommu_page_fault, 0, "dmar", iommu);
+    ret = request_irq(irq, iommu_page_fault, "dmar", iommu);
     if ( ret )
     {
         desc->handler = &no_irq_type;
diff --git a/xen/include/asm-arm/irq.h b/xen/include/asm-arm/irq.h
index 80ff68d..7c20703 100644
--- a/xen/include/asm-arm/irq.h
+++ b/xen/include/asm-arm/irq.h
@@ -42,8 +42,7 @@ void init_secondary_IRQ(void);
 
 int __init request_dt_irq(const struct dt_irq *irq,
                           void (*handler)(int, void *, struct cpu_user_regs *),
-                          unsigned long irqflags, const char *devname,
-                          void *dev_id);
+                          const char *devname, void *dev_id);
 int __init setup_dt_irq(const struct dt_irq *irq, struct irqaction *new);
 
 #endif /* _ASM_HW_IRQ_H */
diff --git a/xen/include/xen/irq.h b/xen/include/xen/irq.h
index eaf1a84..f2e6215 100644
--- a/xen/include/xen/irq.h
+++ b/xen/include/xen/irq.h
@@ -93,7 +93,7 @@ extern int setup_irq(unsigned int irq, struct irqaction *);
 extern void release_irq(unsigned int irq);
 extern int request_irq(unsigned int irq,
                void (*handler)(int, void *, struct cpu_user_regs *),
-               unsigned long irqflags, const char * devname, void *dev_id);
+               const char * devname, void *dev_id);
 
 extern hw_irq_controller no_irq_type;
 extern void no_action(int cpl, void *dev_id, struct cpu_user_regs *regs);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 09 05:25:34 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Aug 2013 05:25:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7fCf-0005C6-Ku; Fri, 09 Aug 2013 05:25:33 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fCe-0005Bv-Bd
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:25:32 +0000
Received: from [85.158.143.35:34034] by server-1.bemta-4.messagelabs.com id
	32/0A-28540-B4D74025; Fri, 09 Aug 2013 05:25:31 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1376025930!3389124!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28884 invoked from network); 9 Aug 2013 05:25:31 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-14.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	9 Aug 2013 05:25:31 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fCb-0003Lh-Ug
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:25:29 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fCb-00061Z-Sy
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:25:29 +0000
Date: Fri, 09 Aug 2013 05:25:29 +0000
Message-Id: <E1V7fCb-00061Z-Sy@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen: arm: document which hypercalls
	(and subops) are supported on ARM
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 73f18583dd824f0e49f65149ef603600ce31b8ee
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Mon Jul 22 19:17:20 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Aug 8 16:24:39 2013 +0100

    xen: arm: document which hypercalls (and subops) are supported on ARM
    
    There are many hypercalls which make no sense or which are not supported on ARM
    systems but it's not all that obvious which ones we do support. So lets try and
    document the hypercalls which are useful on ARM.
    
    I'm not sure this is the best way to go about this, I'm open to other ideas.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Tim Deegan <tim@xen.org>?
---
 xen/include/public/arch-arm.h |   66 +++++++++++++++++++++++++++++++++++++++-
 1 files changed, 64 insertions(+), 2 deletions(-)

diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h
index cbd53a9..e9842b8 100644
--- a/xen/include/public/arch-arm.h
+++ b/xen/include/public/arch-arm.h
@@ -27,8 +27,8 @@
 #ifndef __XEN_PUBLIC_ARCH_ARM_H__
 #define __XEN_PUBLIC_ARCH_ARM_H__
 
-/* hypercall calling convention
- * ----------------------------
+/*
+ * `incontents 50 arm_abi Hypercall Calling Convention
  *
  * A hypercall is issued using the ARM HVC instruction.
  *
@@ -60,6 +60,68 @@
  * hypercall arguments are always little endian.
  */
 
+/*
+ * `incontents 55 arm_hcall Supported Hypercalls
+ *
+ * Xen on ARM makes extensive use of hardware facilities and therefore
+ * only a subset of the potential hypercalls are required.
+ *
+ * Since ARM uses second stage paging any machine/physical addresses
+ * passed to hypercalls are Guest Physical Addresses (Intermediate
+ * Physical Addresses) unless otherwise noted.
+ *
+ * The following hypercalls (and sub operations) are supported on the
+ * ARM platform. Other hypercalls should be considered
+ * unavailable/unsupported.
+ *
+ *  HYPERVISOR_memory_op
+ *   All generic sub-operations.
+ *
+ *   In addition the following arch specific sub-ops:
+ *    * XENMEM_add_to_physmap
+ *    * XENMEM_add_to_physmap_range
+ *
+ *  HYPERVISOR_domctl
+ *   All generic sub-operations, with the exception of:
+ *    * XEN_DOMCTL_iomem_permission (not yet implemented)
+ *    * XEN_DOMCTL_irq_permission (not yet implemented)
+ *
+ *  HYPERVISOR_sched_op
+ *   All generic sub-operations, with the exception of:
+ *    * SCHEDOP_block -- prefer wfi hardware instruction
+ *
+ *  HYPERVISOR_console_io
+ *   All generic sub-operations
+ *
+ *  HYPERVISOR_xen_version
+ *   All generic sub-operations
+ *
+ *  HYPERVISOR_event_channel_op
+ *   All generic sub-operations
+ *
+ *  HYPERVISOR_physdev_op
+ *   No sub-operations are currenty supported
+ *
+ *  HYPERVISOR_sysctl
+ *   All generic sub-operations, with the exception of:
+ *    * XEN_SYSCTL_page_offline_op
+ *    * XEN_SYSCTL_get_pmstat
+ *    * XEN_SYSCTL_pm_op
+ *
+ *  HYPERVISOR_hvm_op
+ *   Exactly these sub-operations are supported:
+ *    * HVMOP_set_param
+ *    * HVMOP_get_param
+ *
+ *  HYPERVISOR_grant_table_op
+ *   All generic sub-operations
+ *
+ *  HYPERVISOR_vcpu_op
+ *   Exactly these sub-operations are supported:
+ *    * VCPUOP_register_vcpu_info
+ *    * VCPUOP_register_runstate_memory_area
+ */
+
 #define XEN_HYPERCALL_TAG   0XEA1
 
 #define uint64_aligned_t uint64_t __attribute__((aligned(8)))
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 09 05:25:34 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Aug 2013 05:25:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7fCf-0005C6-Ku; Fri, 09 Aug 2013 05:25:33 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fCe-0005Bv-Bd
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:25:32 +0000
Received: from [85.158.143.35:34034] by server-1.bemta-4.messagelabs.com id
	32/0A-28540-B4D74025; Fri, 09 Aug 2013 05:25:31 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1376025930!3389124!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28884 invoked from network); 9 Aug 2013 05:25:31 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-14.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	9 Aug 2013 05:25:31 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fCb-0003Lh-Ug
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:25:29 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7fCb-00061Z-Sy
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 05:25:29 +0000
Date: Fri, 09 Aug 2013 05:25:29 +0000
Message-Id: <E1V7fCb-00061Z-Sy@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen: arm: document which hypercalls
	(and subops) are supported on ARM
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 73f18583dd824f0e49f65149ef603600ce31b8ee
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Mon Jul 22 19:17:20 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Aug 8 16:24:39 2013 +0100

    xen: arm: document which hypercalls (and subops) are supported on ARM
    
    There are many hypercalls which make no sense or which are not supported on ARM
    systems but it's not all that obvious which ones we do support. So lets try and
    document the hypercalls which are useful on ARM.
    
    I'm not sure this is the best way to go about this, I'm open to other ideas.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Tim Deegan <tim@xen.org>?
---
 xen/include/public/arch-arm.h |   66 +++++++++++++++++++++++++++++++++++++++-
 1 files changed, 64 insertions(+), 2 deletions(-)

diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h
index cbd53a9..e9842b8 100644
--- a/xen/include/public/arch-arm.h
+++ b/xen/include/public/arch-arm.h
@@ -27,8 +27,8 @@
 #ifndef __XEN_PUBLIC_ARCH_ARM_H__
 #define __XEN_PUBLIC_ARCH_ARM_H__
 
-/* hypercall calling convention
- * ----------------------------
+/*
+ * `incontents 50 arm_abi Hypercall Calling Convention
  *
  * A hypercall is issued using the ARM HVC instruction.
  *
@@ -60,6 +60,68 @@
  * hypercall arguments are always little endian.
  */
 
+/*
+ * `incontents 55 arm_hcall Supported Hypercalls
+ *
+ * Xen on ARM makes extensive use of hardware facilities and therefore
+ * only a subset of the potential hypercalls are required.
+ *
+ * Since ARM uses second stage paging any machine/physical addresses
+ * passed to hypercalls are Guest Physical Addresses (Intermediate
+ * Physical Addresses) unless otherwise noted.
+ *
+ * The following hypercalls (and sub operations) are supported on the
+ * ARM platform. Other hypercalls should be considered
+ * unavailable/unsupported.
+ *
+ *  HYPERVISOR_memory_op
+ *   All generic sub-operations.
+ *
+ *   In addition the following arch specific sub-ops:
+ *    * XENMEM_add_to_physmap
+ *    * XENMEM_add_to_physmap_range
+ *
+ *  HYPERVISOR_domctl
+ *   All generic sub-operations, with the exception of:
+ *    * XEN_DOMCTL_iomem_permission (not yet implemented)
+ *    * XEN_DOMCTL_irq_permission (not yet implemented)
+ *
+ *  HYPERVISOR_sched_op
+ *   All generic sub-operations, with the exception of:
+ *    * SCHEDOP_block -- prefer wfi hardware instruction
+ *
+ *  HYPERVISOR_console_io
+ *   All generic sub-operations
+ *
+ *  HYPERVISOR_xen_version
+ *   All generic sub-operations
+ *
+ *  HYPERVISOR_event_channel_op
+ *   All generic sub-operations
+ *
+ *  HYPERVISOR_physdev_op
+ *   No sub-operations are currenty supported
+ *
+ *  HYPERVISOR_sysctl
+ *   All generic sub-operations, with the exception of:
+ *    * XEN_SYSCTL_page_offline_op
+ *    * XEN_SYSCTL_get_pmstat
+ *    * XEN_SYSCTL_pm_op
+ *
+ *  HYPERVISOR_hvm_op
+ *   Exactly these sub-operations are supported:
+ *    * HVMOP_set_param
+ *    * HVMOP_get_param
+ *
+ *  HYPERVISOR_grant_table_op
+ *   All generic sub-operations
+ *
+ *  HYPERVISOR_vcpu_op
+ *   Exactly these sub-operations are supported:
+ *    * VCPUOP_register_vcpu_info
+ *    * VCPUOP_register_runstate_memory_area
+ */
+
 #define XEN_HYPERCALL_TAG   0XEA1
 
 #define uint64_aligned_t uint64_t __attribute__((aligned(8)))
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 09 09:11:19 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Aug 2013 09:11:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7ij1-00073s-W6; Fri, 09 Aug 2013 09:11:11 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7ij0-00073e-U5
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 09:11:11 +0000
Received: from [193.109.254.147:10205] by server-4.bemta-14.messagelabs.com id
	23/64-27904-E22B4025; Fri, 09 Aug 2013 09:11:10 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1376039465!3259932!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17913 invoked from network); 9 Aug 2013 09:11:08 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-3.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	9 Aug 2013 09:11:08 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7iit-0006AD-HU
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 09:11:05 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7iit-0003ox-5j
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 09:11:03 +0000
Date: Fri, 09 Aug 2013 09:11:03 +0000
Message-Id: <E1V7iit-0003ox-5j@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.2] x86/mm: Ensure useful progress in
	alloc_l2_table()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 80571b8025d74089dae4314f989b0bb1b2096d47
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Thu Aug 8 10:30:07 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Aug 8 10:30:07 2013 +0200

    x86/mm: Ensure useful progress in alloc_l2_table()
    
    While debugging the issue which turned out to be XSA-58, a printk in this loop
    showed that it was quite easy to never make useful progress, because of
    consistently failing the preemption check.
    
    One single l2 entry is a reasonable amount of work to do, even if an action is
    pending, and also assures forwards progress across repeat continuations.
    
    Tweak the continuation criteria to fail on the first iteration of the loop.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
    master commit: d3a55d7d9bb518efe08143d050deff9f4ee80ec1
    master date: 2013-07-04 10:33:18 +0200
---
 xen/arch/x86/mm.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index 5b0b953..fcd7939 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -1451,7 +1451,8 @@ static int alloc_l2_table(struct page_info *page, unsigned long type,
 
     for ( i = page->nr_validated_ptes; i < L2_PAGETABLE_ENTRIES; i++ )
     {
-        if ( preemptible && i && hypercall_preempt_check() )
+        if ( preemptible && i > page->nr_validated_ptes
+             && hypercall_preempt_check() )
         {
             page->nr_validated_ptes = i;
             rc = -EAGAIN;
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.2

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 09 09:11:19 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Aug 2013 09:11:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7ij1-00073s-W6; Fri, 09 Aug 2013 09:11:11 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7ij0-00073e-U5
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 09:11:11 +0000
Received: from [193.109.254.147:10205] by server-4.bemta-14.messagelabs.com id
	23/64-27904-E22B4025; Fri, 09 Aug 2013 09:11:10 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1376039465!3259932!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17913 invoked from network); 9 Aug 2013 09:11:08 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-3.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	9 Aug 2013 09:11:08 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7iit-0006AD-HU
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 09:11:05 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7iit-0003ox-5j
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 09:11:03 +0000
Date: Fri, 09 Aug 2013 09:11:03 +0000
Message-Id: <E1V7iit-0003ox-5j@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.2] x86/mm: Ensure useful progress in
	alloc_l2_table()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 80571b8025d74089dae4314f989b0bb1b2096d47
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Thu Aug 8 10:30:07 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Aug 8 10:30:07 2013 +0200

    x86/mm: Ensure useful progress in alloc_l2_table()
    
    While debugging the issue which turned out to be XSA-58, a printk in this loop
    showed that it was quite easy to never make useful progress, because of
    consistently failing the preemption check.
    
    One single l2 entry is a reasonable amount of work to do, even if an action is
    pending, and also assures forwards progress across repeat continuations.
    
    Tweak the continuation criteria to fail on the first iteration of the loop.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
    master commit: d3a55d7d9bb518efe08143d050deff9f4ee80ec1
    master date: 2013-07-04 10:33:18 +0200
---
 xen/arch/x86/mm.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index 5b0b953..fcd7939 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -1451,7 +1451,8 @@ static int alloc_l2_table(struct page_info *page, unsigned long type,
 
     for ( i = page->nr_validated_ptes; i < L2_PAGETABLE_ENTRIES; i++ )
     {
-        if ( preemptible && i && hypercall_preempt_check() )
+        if ( preemptible && i > page->nr_validated_ptes
+             && hypercall_preempt_check() )
         {
             page->nr_validated_ptes = i;
             rc = -EAGAIN;
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.2

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 09 09:11:22 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Aug 2013 09:11:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7ijA-00075Y-34; Fri, 09 Aug 2013 09:11:20 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7ij8-00074p-JU
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 09:11:18 +0000
Received: from [85.158.143.35:54792] by server-2.bemta-4.messagelabs.com id
	8C/1D-09492-532B4025; Fri, 09 Aug 2013 09:11:17 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-21.messagelabs.com!1376039476!3414004!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 762 invoked from network); 9 Aug 2013 09:11:17 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-12.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	9 Aug 2013 09:11:17 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7ij5-0006AG-LP
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 09:11:15 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7ij5-0003pL-CS
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 09:11:15 +0000
Date: Fri, 09 Aug 2013 09:11:15 +0000
Message-Id: <E1V7ij5-0003pL-CS@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.2] adjust x86 EFI build
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit e73ba1509107f58f49203c0efe7e1b5a9dacbb55
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Thu Aug 8 10:32:13 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Aug 8 10:32:13 2013 +0200

    adjust x86 EFI build
    
    While the rule to generate .init.o files from .o ones already correctly
    included $(extra-y), the setting of the necessary compiler flag didn't
    have the same. With some yet to be posted patch this resulted in build
    breakage because of the compiler deciding not to inline a few functions
    (which then results in .text not being empty as required for these
    object files).
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Keir Fraser <keir@xen.org>
    master commit: 5656b93d215d7c5160790ea87758625ba1de16b1
    master date: 2013-07-10 10:03:40 +0200
---
 xen/Rules.mk |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/xen/Rules.mk b/xen/Rules.mk
index f7cb8b2..f49046b 100644
--- a/xen/Rules.mk
+++ b/xen/Rules.mk
@@ -101,7 +101,7 @@ obj-y    := $(patsubst %/,%/built-in.o,$(obj-y))
 
 subdir-all := $(subdir-y) $(subdir-n)
 
-$(filter %.init.o,$(obj-y) $(obj-bin-y)): CFLAGS += -DINIT_SECTIONS_ONLY
+$(filter %.init.o,$(obj-y) $(obj-bin-y) $(extra-y)): CFLAGS += -DINIT_SECTIONS_ONLY
 
 ifeq ($(lto),y)
 # Would like to handle all object files as bitcode, but objects made from
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.2

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 09 09:11:22 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Aug 2013 09:11:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7ijA-00075Y-34; Fri, 09 Aug 2013 09:11:20 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7ij8-00074p-JU
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 09:11:18 +0000
Received: from [85.158.143.35:54792] by server-2.bemta-4.messagelabs.com id
	8C/1D-09492-532B4025; Fri, 09 Aug 2013 09:11:17 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-21.messagelabs.com!1376039476!3414004!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 762 invoked from network); 9 Aug 2013 09:11:17 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-12.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	9 Aug 2013 09:11:17 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7ij5-0006AG-LP
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 09:11:15 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7ij5-0003pL-CS
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 09:11:15 +0000
Date: Fri, 09 Aug 2013 09:11:15 +0000
Message-Id: <E1V7ij5-0003pL-CS@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.2] adjust x86 EFI build
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit e73ba1509107f58f49203c0efe7e1b5a9dacbb55
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Thu Aug 8 10:32:13 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Aug 8 10:32:13 2013 +0200

    adjust x86 EFI build
    
    While the rule to generate .init.o files from .o ones already correctly
    included $(extra-y), the setting of the necessary compiler flag didn't
    have the same. With some yet to be posted patch this resulted in build
    breakage because of the compiler deciding not to inline a few functions
    (which then results in .text not being empty as required for these
    object files).
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Keir Fraser <keir@xen.org>
    master commit: 5656b93d215d7c5160790ea87758625ba1de16b1
    master date: 2013-07-10 10:03:40 +0200
---
 xen/Rules.mk |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/xen/Rules.mk b/xen/Rules.mk
index f7cb8b2..f49046b 100644
--- a/xen/Rules.mk
+++ b/xen/Rules.mk
@@ -101,7 +101,7 @@ obj-y    := $(patsubst %/,%/built-in.o,$(obj-y))
 
 subdir-all := $(subdir-y) $(subdir-n)
 
-$(filter %.init.o,$(obj-y) $(obj-bin-y)): CFLAGS += -DINIT_SECTIONS_ONLY
+$(filter %.init.o,$(obj-y) $(obj-bin-y) $(extra-y)): CFLAGS += -DINIT_SECTIONS_ONLY
 
 ifeq ($(lto),y)
 # Would like to handle all object files as bitcode, but objects made from
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.2

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 09 09:11:35 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Aug 2013 09:11:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7ijM-00077W-5z; Fri, 09 Aug 2013 09:11:32 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7ijL-00077I-Ak
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 09:11:31 +0000
Received: from [193.109.254.147:11905] by server-13.bemta-14.messagelabs.com
	id AA/68-15268-242B4025; Fri, 09 Aug 2013 09:11:30 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1376039486!3260013!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19816 invoked from network); 9 Aug 2013 09:11:29 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-3.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	9 Aug 2013 09:11:29 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7ijF-0006AM-TY
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 09:11:25 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7ijF-0003pj-OS
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 09:11:25 +0000
Date: Fri, 09 Aug 2013 09:11:25 +0000
Message-Id: <E1V7ijF-0003pj-OS@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.2] x86/cpuidle: Change logging for
	unknown APIC IDs
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 858bae4d1ccc1fe172ec1f03302aeedb19bc2ea5
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Thu Aug 8 10:32:56 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Aug 8 10:32:56 2013 +0200

    x86/cpuidle: Change logging for unknown APIC IDs
    
    Dom0 uses this hypercall to pass ACPI information to Xen.  It is not very
    uncommon for more cpus to be listed in the ACPI tables than are present on the
    system, particularly on systems with a common BIOS for a 2 and 4 socket server
    varients.
    
    As Dom0 does not control the number of entries in the ACPI tables, and is
    required to pass everything it finds to Xen, change the logging.
    
    There is now an single unconditional warning for the first unknown ID, and
    further warnings if "cpuinfo" is requested by the user on the command line.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: 85047d9e4f4afeb73bca1e98f705a2f4f1d51c03
    master date: 2013-07-17 08:45:20 +0200
---
 xen/arch/x86/acpi/cpu_idle.c |    5 ++++-
 xen/arch/x86/cpu/common.c    |    2 +-
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/acpi/cpu_idle.c b/xen/arch/x86/acpi/cpu_idle.c
index b4dd6ad..f9d74d6 100644
--- a/xen/arch/x86/acpi/cpu_idle.c
+++ b/xen/arch/x86/acpi/cpu_idle.c
@@ -1042,7 +1042,10 @@ long set_cx_pminfo(uint32_t cpu, struct xen_processor_power *power)
     cpu_id = get_cpu_id(cpu);
     if ( cpu_id == -1 )
     {
-        printk(XENLOG_ERR "no cpu_id for acpi_id %d\n", cpu);
+        static bool_t warn_once = 1;
+        if ( warn_once || opt_cpu_info )
+            printk(XENLOG_WARNING "No CPU ID for APIC ID %#x\n", cpu);
+        warn_once = 0;
         return -EINVAL;
     }
 
diff --git a/xen/arch/x86/cpu/common.c b/xen/arch/x86/cpu/common.c
index 321d942..b8cd59c 100644
--- a/xen/arch/x86/cpu/common.c
+++ b/xen/arch/x86/cpu/common.c
@@ -66,7 +66,7 @@ static struct cpu_dev default_cpu = {
 };
 static struct cpu_dev * this_cpu = &default_cpu;
 
-bool_t __cpuinitdata opt_cpu_info;
+bool_t opt_cpu_info;
 boolean_param("cpuinfo", opt_cpu_info);
 
 int __cpuinit get_model_name(struct cpuinfo_x86 *c)
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.2

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 09 09:11:35 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Aug 2013 09:11:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7ijM-00077W-5z; Fri, 09 Aug 2013 09:11:32 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7ijL-00077I-Ak
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 09:11:31 +0000
Received: from [193.109.254.147:11905] by server-13.bemta-14.messagelabs.com
	id AA/68-15268-242B4025; Fri, 09 Aug 2013 09:11:30 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1376039486!3260013!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19816 invoked from network); 9 Aug 2013 09:11:29 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-3.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	9 Aug 2013 09:11:29 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7ijF-0006AM-TY
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 09:11:25 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7ijF-0003pj-OS
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 09:11:25 +0000
Date: Fri, 09 Aug 2013 09:11:25 +0000
Message-Id: <E1V7ijF-0003pj-OS@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.2] x86/cpuidle: Change logging for
	unknown APIC IDs
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 858bae4d1ccc1fe172ec1f03302aeedb19bc2ea5
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Thu Aug 8 10:32:56 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Aug 8 10:32:56 2013 +0200

    x86/cpuidle: Change logging for unknown APIC IDs
    
    Dom0 uses this hypercall to pass ACPI information to Xen.  It is not very
    uncommon for more cpus to be listed in the ACPI tables than are present on the
    system, particularly on systems with a common BIOS for a 2 and 4 socket server
    varients.
    
    As Dom0 does not control the number of entries in the ACPI tables, and is
    required to pass everything it finds to Xen, change the logging.
    
    There is now an single unconditional warning for the first unknown ID, and
    further warnings if "cpuinfo" is requested by the user on the command line.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: 85047d9e4f4afeb73bca1e98f705a2f4f1d51c03
    master date: 2013-07-17 08:45:20 +0200
---
 xen/arch/x86/acpi/cpu_idle.c |    5 ++++-
 xen/arch/x86/cpu/common.c    |    2 +-
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/acpi/cpu_idle.c b/xen/arch/x86/acpi/cpu_idle.c
index b4dd6ad..f9d74d6 100644
--- a/xen/arch/x86/acpi/cpu_idle.c
+++ b/xen/arch/x86/acpi/cpu_idle.c
@@ -1042,7 +1042,10 @@ long set_cx_pminfo(uint32_t cpu, struct xen_processor_power *power)
     cpu_id = get_cpu_id(cpu);
     if ( cpu_id == -1 )
     {
-        printk(XENLOG_ERR "no cpu_id for acpi_id %d\n", cpu);
+        static bool_t warn_once = 1;
+        if ( warn_once || opt_cpu_info )
+            printk(XENLOG_WARNING "No CPU ID for APIC ID %#x\n", cpu);
+        warn_once = 0;
         return -EINVAL;
     }
 
diff --git a/xen/arch/x86/cpu/common.c b/xen/arch/x86/cpu/common.c
index 321d942..b8cd59c 100644
--- a/xen/arch/x86/cpu/common.c
+++ b/xen/arch/x86/cpu/common.c
@@ -66,7 +66,7 @@ static struct cpu_dev default_cpu = {
 };
 static struct cpu_dev * this_cpu = &default_cpu;
 
-bool_t __cpuinitdata opt_cpu_info;
+bool_t opt_cpu_info;
 boolean_param("cpuinfo", opt_cpu_info);
 
 int __cpuinit get_model_name(struct cpuinfo_x86 *c)
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.2

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 09 09:11:42 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Aug 2013 09:11:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7ijT-00079H-Aq; Fri, 09 Aug 2013 09:11:39 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7ijS-00078v-9m
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 09:11:38 +0000
Received: from [85.158.143.35:58515] by server-3.bemta-4.messagelabs.com id
	55/4C-29480-942B4025; Fri, 09 Aug 2013 09:11:37 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1376039496!3425956!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26989 invoked from network); 9 Aug 2013 09:11:37 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-15.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	9 Aug 2013 09:11:37 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7ijQ-0006AU-1f
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 09:11:36 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7ijP-0003qx-W7
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 09:11:36 +0000
Date: Fri, 09 Aug 2013 09:11:35 +0000
Message-Id: <E1V7ijP-0003qx-W7@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.2] x86/time: Update wallclock in
	shared info when altering domain time offset
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit d68c5d909e30f97062cb0dcd05d3b8e90de11638
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Thu Aug 8 10:33:42 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Aug 8 10:33:42 2013 +0200

    x86/time: Update wallclock in shared info when altering domain time offset
    
    domain_set_time_offset() udpates d->time_offset_seconds, but does not correct
    the wallclock in the shared info, meaning that it is incorrect until the next
    XENPF_settime hypercall from dom0 which resynchronises the wallclock for all
    domains.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
    master commit: 915a59f25c5eddd86bc2cae6389d0ed2ab87e69e
    master date: 2013-07-18 09:16:15 +0200
---
 xen/arch/x86/time.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
index 2e7b019..7d29cd8 100644
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -942,6 +942,7 @@ void domain_set_time_offset(struct domain *d, int32_t time_offset_seconds)
     d->time_offset_seconds = time_offset_seconds;
     if ( is_hvm_domain(d) )
         rtc_update_clock(d);
+    update_domain_wallclock_time(d);
 }
 
 int cpu_frequency_change(u64 freq)
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.2

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 09 09:11:42 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Aug 2013 09:11:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7ijT-00079H-Aq; Fri, 09 Aug 2013 09:11:39 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7ijS-00078v-9m
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 09:11:38 +0000
Received: from [85.158.143.35:58515] by server-3.bemta-4.messagelabs.com id
	55/4C-29480-942B4025; Fri, 09 Aug 2013 09:11:37 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1376039496!3425956!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 26989 invoked from network); 9 Aug 2013 09:11:37 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-15.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	9 Aug 2013 09:11:37 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7ijQ-0006AU-1f
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 09:11:36 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7ijP-0003qx-W7
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 09:11:36 +0000
Date: Fri, 09 Aug 2013 09:11:35 +0000
Message-Id: <E1V7ijP-0003qx-W7@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.2] x86/time: Update wallclock in
	shared info when altering domain time offset
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit d68c5d909e30f97062cb0dcd05d3b8e90de11638
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Thu Aug 8 10:33:42 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Aug 8 10:33:42 2013 +0200

    x86/time: Update wallclock in shared info when altering domain time offset
    
    domain_set_time_offset() udpates d->time_offset_seconds, but does not correct
    the wallclock in the shared info, meaning that it is incorrect until the next
    XENPF_settime hypercall from dom0 which resynchronises the wallclock for all
    domains.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
    master commit: 915a59f25c5eddd86bc2cae6389d0ed2ab87e69e
    master date: 2013-07-18 09:16:15 +0200
---
 xen/arch/x86/time.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
index 2e7b019..7d29cd8 100644
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -942,6 +942,7 @@ void domain_set_time_offset(struct domain *d, int32_t time_offset_seconds)
     d->time_offset_seconds = time_offset_seconds;
     if ( is_hvm_domain(d) )
         rtc_update_clock(d);
+    update_domain_wallclock_time(d);
 }
 
 int cpu_frequency_change(u64 freq)
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.2

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 09 09:11:51 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Aug 2013 09:11:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7ije-0007C3-E0; Fri, 09 Aug 2013 09:11:50 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7ijc-0007BU-Qs
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 09:11:49 +0000
Received: from [85.158.139.211:40419] by server-11.bemta-5.messagelabs.com id
	08/7B-02024-452B4025; Fri, 09 Aug 2013 09:11:48 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-206.messagelabs.com!1376039506!1588716!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2287 invoked from network); 9 Aug 2013 09:11:47 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-10.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	9 Aug 2013 09:11:47 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7ija-0006Ab-8D
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 09:11:46 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7ija-0003rL-4j
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 09:11:46 +0000
Date: Fri, 09 Aug 2013 09:11:46 +0000
Message-Id: <E1V7ija-0003rL-4j@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.2] x86: refine FPU selector handling
	code for XSAVEOPT
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 3d41dfa5e08ac5a39e82c6691e0af283beed47d5
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Thu Aug 8 10:34:31 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Aug 8 10:34:31 2013 +0200

    x86: refine FPU selector handling code for XSAVEOPT
    
    Some extra tweaks are necessary to deal with the situation of XSAVEOPT
    not writing the FPU portion of the save image (due to it detecting that
    the register state did not get modified since the last XRSTOR).
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Tested-by: Ben Guthro <ben.guthro@gmail.com>
    Acked-by: Keir Fraser <keir@xen.org>
    master commit: c58d9f2f4844c2ce8859a8d0f26a54cd058eb51f
    master date: 2013-08-05 18:42:37 +0200
---
 xen/arch/x86/xstate.c |   25 +++++++++++++++++++++++++
 1 files changed, 25 insertions(+), 0 deletions(-)

diff --git a/xen/arch/x86/xstate.c b/xen/arch/x86/xstate.c
index a9c78a0..e1412e2 100644
--- a/xen/arch/x86/xstate.c
+++ b/xen/arch/x86/xstate.c
@@ -73,10 +73,28 @@ void xsave(struct vcpu *v, uint64_t mask)
 #ifdef CONFIG_X86_64
     if ( word_size <= 0 || !is_pv_32bit_vcpu(v) )
     {
+        typeof(ptr->fpu_sse.fip.sel) fcs = ptr->fpu_sse.fip.sel;
+        typeof(ptr->fpu_sse.fdp.sel) fds = ptr->fpu_sse.fdp.sel;
+
         if ( cpu_has_xsaveopt )
+        {
+            /*
+             * xsaveopt may not write the FPU portion even when the respective
+             * mask bit is set. For the check further down to work we hence
+             * need to put the save image back into the state that it was in
+             * right after the previous xsaveopt.
+             */
+            if ( word_size > 0 &&
+                 (ptr->fpu_sse.x[FPU_WORD_SIZE_OFFSET] == 4 ||
+                  ptr->fpu_sse.x[FPU_WORD_SIZE_OFFSET] == 2) )
+            {
+                ptr->fpu_sse.fip.sel = 0;
+                ptr->fpu_sse.fdp.sel = 0;
+            }
             asm volatile ( ".byte 0x48,0x0f,0xae,0x37"
                            : "=m" (*ptr)
                            : "a" (lmask), "d" (hmask), "D" (ptr) );
+        }
         else
             asm volatile ( ".byte 0x48,0x0f,0xae,0x27"
                            : "=m" (*ptr)
@@ -89,7 +107,14 @@ void xsave(struct vcpu *v, uint64_t mask)
               */
              (!(ptr->fpu_sse.fsw & 0x0080) &&
               boot_cpu_data.x86_vendor == X86_VENDOR_AMD) )
+        {
+            if ( cpu_has_xsaveopt && word_size > 0 )
+            {
+                ptr->fpu_sse.fip.sel = fcs;
+                ptr->fpu_sse.fdp.sel = fds;
+            }
             return;
+        }
 
         if ( word_size > 0 &&
              !((ptr->fpu_sse.fip.addr | ptr->fpu_sse.fdp.addr) >> 32) )
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.2

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 09 09:11:51 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Aug 2013 09:11:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7ije-0007C3-E0; Fri, 09 Aug 2013 09:11:50 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7ijc-0007BU-Qs
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 09:11:49 +0000
Received: from [85.158.139.211:40419] by server-11.bemta-5.messagelabs.com id
	08/7B-02024-452B4025; Fri, 09 Aug 2013 09:11:48 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-206.messagelabs.com!1376039506!1588716!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2287 invoked from network); 9 Aug 2013 09:11:47 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-10.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	9 Aug 2013 09:11:47 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7ija-0006Ab-8D
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 09:11:46 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7ija-0003rL-4j
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 09:11:46 +0000
Date: Fri, 09 Aug 2013 09:11:46 +0000
Message-Id: <E1V7ija-0003rL-4j@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.2] x86: refine FPU selector handling
	code for XSAVEOPT
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 3d41dfa5e08ac5a39e82c6691e0af283beed47d5
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Thu Aug 8 10:34:31 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Aug 8 10:34:31 2013 +0200

    x86: refine FPU selector handling code for XSAVEOPT
    
    Some extra tweaks are necessary to deal with the situation of XSAVEOPT
    not writing the FPU portion of the save image (due to it detecting that
    the register state did not get modified since the last XRSTOR).
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Tested-by: Ben Guthro <ben.guthro@gmail.com>
    Acked-by: Keir Fraser <keir@xen.org>
    master commit: c58d9f2f4844c2ce8859a8d0f26a54cd058eb51f
    master date: 2013-08-05 18:42:37 +0200
---
 xen/arch/x86/xstate.c |   25 +++++++++++++++++++++++++
 1 files changed, 25 insertions(+), 0 deletions(-)

diff --git a/xen/arch/x86/xstate.c b/xen/arch/x86/xstate.c
index a9c78a0..e1412e2 100644
--- a/xen/arch/x86/xstate.c
+++ b/xen/arch/x86/xstate.c
@@ -73,10 +73,28 @@ void xsave(struct vcpu *v, uint64_t mask)
 #ifdef CONFIG_X86_64
     if ( word_size <= 0 || !is_pv_32bit_vcpu(v) )
     {
+        typeof(ptr->fpu_sse.fip.sel) fcs = ptr->fpu_sse.fip.sel;
+        typeof(ptr->fpu_sse.fdp.sel) fds = ptr->fpu_sse.fdp.sel;
+
         if ( cpu_has_xsaveopt )
+        {
+            /*
+             * xsaveopt may not write the FPU portion even when the respective
+             * mask bit is set. For the check further down to work we hence
+             * need to put the save image back into the state that it was in
+             * right after the previous xsaveopt.
+             */
+            if ( word_size > 0 &&
+                 (ptr->fpu_sse.x[FPU_WORD_SIZE_OFFSET] == 4 ||
+                  ptr->fpu_sse.x[FPU_WORD_SIZE_OFFSET] == 2) )
+            {
+                ptr->fpu_sse.fip.sel = 0;
+                ptr->fpu_sse.fdp.sel = 0;
+            }
             asm volatile ( ".byte 0x48,0x0f,0xae,0x37"
                            : "=m" (*ptr)
                            : "a" (lmask), "d" (hmask), "D" (ptr) );
+        }
         else
             asm volatile ( ".byte 0x48,0x0f,0xae,0x27"
                            : "=m" (*ptr)
@@ -89,7 +107,14 @@ void xsave(struct vcpu *v, uint64_t mask)
               */
              (!(ptr->fpu_sse.fsw & 0x0080) &&
               boot_cpu_data.x86_vendor == X86_VENDOR_AMD) )
+        {
+            if ( cpu_has_xsaveopt && word_size > 0 )
+            {
+                ptr->fpu_sse.fip.sel = fcs;
+                ptr->fpu_sse.fdp.sel = fds;
+            }
             return;
+        }
 
         if ( word_size > 0 &&
              !((ptr->fpu_sse.fip.addr | ptr->fpu_sse.fdp.addr) >> 32) )
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.2

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 09 09:12:00 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Aug 2013 09:12:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7ijn-0007EM-Gt; Fri, 09 Aug 2013 09:11:59 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7ijm-0007Dv-Kk
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 09:11:58 +0000
Received: from [85.158.143.35:60339] by server-2.bemta-4.messagelabs.com id
	2C/DD-09492-D52B4025; Fri, 09 Aug 2013 09:11:57 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-21.messagelabs.com!1376039516!3414167!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4082 invoked from network); 9 Aug 2013 09:11:57 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-12.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	9 Aug 2013 09:11:57 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7ijk-0006Am-CV
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 09:11:56 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7ijk-0003rh-At
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 09:11:56 +0000
Date: Fri, 09 Aug 2013 09:11:56 +0000
Message-Id: <E1V7ijk-0003rh-At@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.2] Nested VMX: Flush TLBs and Caches
	if paging mode changed
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 28f9c24f07eb2077210c80fbb36952df1b25966b
Author:     Yang Zhang <yang.z.zhang@Intel.com>
AuthorDate: Thu Aug 8 10:36:22 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Aug 8 10:36:22 2013 +0200

    Nested VMX: Flush TLBs and Caches if paging mode changed
    
    According to SDM, if paging mode is changed, then whole TLBs and caches will
    be flushed. This is missed in nested handle logic. Also this fixed the issue
    that 64 bits windows cannot boot up on top of L1 kvm.
    
    Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com>
    Acked-by: Keir Fraser <keir@xen.org>
    master commit: e1ab5c77b44b7bd835a2c032fa4963b36545fdb3
    master date: 2013-08-06 17:22:35 +0200
---
 xen/arch/x86/mm/paging.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/xen/arch/x86/mm/paging.c b/xen/arch/x86/mm/paging.c
index ca879f9..3742975 100644
--- a/xen/arch/x86/mm/paging.c
+++ b/xen/arch/x86/mm/paging.c
@@ -828,6 +828,7 @@ void paging_update_nestedmode(struct vcpu *v)
     else
         /* TODO: shadow-on-shadow */
         v->arch.paging.nestedmode = NULL;
+    hvm_asid_flush_vcpu(v);
 }
 
 void paging_write_p2m_entry(struct p2m_domain *p2m, unsigned long gfn,
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.2

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 09 09:12:00 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Aug 2013 09:12:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V7ijn-0007EM-Gt; Fri, 09 Aug 2013 09:11:59 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7ijm-0007Dv-Kk
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 09:11:58 +0000
Received: from [85.158.143.35:60339] by server-2.bemta-4.messagelabs.com id
	2C/DD-09492-D52B4025; Fri, 09 Aug 2013 09:11:57 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-21.messagelabs.com!1376039516!3414167!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4082 invoked from network); 9 Aug 2013 09:11:57 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-12.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	9 Aug 2013 09:11:57 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7ijk-0006Am-CV
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 09:11:56 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V7ijk-0003rh-At
	for xen-changelog@lists.xensource.com; Fri, 09 Aug 2013 09:11:56 +0000
Date: Fri, 09 Aug 2013 09:11:56 +0000
Message-Id: <E1V7ijk-0003rh-At@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.2] Nested VMX: Flush TLBs and Caches
	if paging mode changed
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 28f9c24f07eb2077210c80fbb36952df1b25966b
Author:     Yang Zhang <yang.z.zhang@Intel.com>
AuthorDate: Thu Aug 8 10:36:22 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Aug 8 10:36:22 2013 +0200

    Nested VMX: Flush TLBs and Caches if paging mode changed
    
    According to SDM, if paging mode is changed, then whole TLBs and caches will
    be flushed. This is missed in nested handle logic. Also this fixed the issue
    that 64 bits windows cannot boot up on top of L1 kvm.
    
    Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com>
    Acked-by: Keir Fraser <keir@xen.org>
    master commit: e1ab5c77b44b7bd835a2c032fa4963b36545fdb3
    master date: 2013-08-06 17:22:35 +0200
---
 xen/arch/x86/mm/paging.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/xen/arch/x86/mm/paging.c b/xen/arch/x86/mm/paging.c
index ca879f9..3742975 100644
--- a/xen/arch/x86/mm/paging.c
+++ b/xen/arch/x86/mm/paging.c
@@ -828,6 +828,7 @@ void paging_update_nestedmode(struct vcpu *v)
     else
         /* TODO: shadow-on-shadow */
         v->arch.paging.nestedmode = NULL;
+    hvm_asid_flush_vcpu(v);
 }
 
 void paging_write_p2m_entry(struct p2m_domain *p2m, unsigned long gfn,
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.2

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 13 20:11:17 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Aug 2013 20:11:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V9Kvt-0007N5-9g; Tue, 13 Aug 2013 20:11:09 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V9Kvr-0007Mw-R1
	for xen-changelog@lists.xensource.com; Tue, 13 Aug 2013 20:11:08 +0000
Received: from [85.158.139.211:28944] by server-10.bemta-5.messagelabs.com id
	64/20-03093-BD29A025; Tue, 13 Aug 2013 20:11:07 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-206.messagelabs.com!1376424663!2275760!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32615 invoked from network); 13 Aug 2013 20:11:04 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-13.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	13 Aug 2013 20:11:04 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V9Kvn-0006u2-D6
	for xen-changelog@lists.xensource.com; Tue, 13 Aug 2013 20:11:03 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V9Kvm-0005sY-WD
	for xen-changelog@lists.xensource.com; Tue, 13 Aug 2013 20:11:03 +0000
Date: Tue, 13 Aug 2013 20:11:02 +0000
Message-Id: <E1V9Kvm-0005sY-WD@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] x86/AMD: Fix nested svm crash due to
	assertion in __virt_to_maddr
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 85fc517ec3055e8e8d9c9e36e15a81e630237252
Author:     Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
AuthorDate: Tue Aug 13 14:22:14 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 13 14:22:14 2013 +0200

    x86/AMD: Fix nested svm crash due to assertion in __virt_to_maddr
    
    Fix assertion in __virt_to_maddr when starting nested SVM guest
    in debug mode. Investigation has shown that svm_vmsave/svm_vmload
    make use of __pa() with invalid address.
    
    Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
    Reviewed-by: Tim Deegan <tim@xen.org>
---
 xen/arch/x86/hvm/svm/svm.c        |   52 ++++++++++++++++++++++++++++++------
 xen/include/asm-x86/hvm/svm/svm.h |   11 +++++---
 2 files changed, 50 insertions(+), 13 deletions(-)

diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index 4cc4b15..a20540b 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -1795,6 +1795,32 @@ svm_vmexit_do_vmrun(struct cpu_user_regs *regs,
     return;
 }
 
+static struct page_info *
+nsvm_get_nvmcb_page(struct vcpu *v, uint64_t vmcbaddr)
+{
+    p2m_type_t p2mt;
+    struct page_info *page;
+    struct nestedvcpu *nv = &vcpu_nestedhvm(v);
+
+    if ( !nestedsvm_vmcb_map(v, vmcbaddr) )
+        return NULL;
+
+    /* Need to translate L1-GPA to MPA */
+    page = get_page_from_gfn(v->domain, 
+                            nv->nv_vvmcxaddr >> PAGE_SHIFT, 
+                            &p2mt, P2M_ALLOC | P2M_UNSHARE);
+    if ( !page )
+        return NULL;
+
+    if ( !p2m_is_ram(p2mt) || p2m_is_readonly(p2mt) )
+    {
+        put_page(page);
+        return NULL; 
+    }
+
+    return  page;
+}
+
 static void
 svm_vmexit_do_vmload(struct vmcb_struct *vmcb,
                      struct cpu_user_regs *regs,
@@ -1802,7 +1828,7 @@ svm_vmexit_do_vmload(struct vmcb_struct *vmcb,
 {
     int ret;
     unsigned int inst_len;
-    struct nestedvcpu *nv = &vcpu_nestedhvm(v);
+    struct page_info *page;
 
     if ( (inst_len = __get_instruction_length(v, INSTR_VMLOAD)) == 0 )
         return;
@@ -1813,13 +1839,18 @@ svm_vmexit_do_vmload(struct vmcb_struct *vmcb,
         goto inject;
     }
 
-    if (!nestedsvm_vmcb_map(v, vmcbaddr)) {
-        gdprintk(XENLOG_ERR, "VMLOAD: mapping vmcb failed, injecting #UD\n");
+    page = nsvm_get_nvmcb_page(v, vmcbaddr);
+    if ( !page )
+    {
+        gdprintk(XENLOG_ERR,
+            "VMLOAD: mapping failed, injecting #UD\n");
         ret = TRAP_invalid_op;
         goto inject;
     }
 
-    svm_vmload(nv->nv_vvmcx);
+    svm_vmload_pa(page_to_maddr(page));
+    put_page(page);
+
     /* State in L1 VMCB is stale now */
     v->arch.hvm_svm.vmcb_in_sync = 0;
 
@@ -1838,7 +1869,7 @@ svm_vmexit_do_vmsave(struct vmcb_struct *vmcb,
 {
     int ret;
     unsigned int inst_len;
-    struct nestedvcpu *nv = &vcpu_nestedhvm(v);
+    struct page_info *page;
 
     if ( (inst_len = __get_instruction_length(v, INSTR_VMSAVE)) == 0 )
         return;
@@ -1849,14 +1880,17 @@ svm_vmexit_do_vmsave(struct vmcb_struct *vmcb,
         goto inject;
     }
 
-    if (!nestedsvm_vmcb_map(v, vmcbaddr)) {
-        gdprintk(XENLOG_ERR, "VMSAVE: mapping vmcb failed, injecting #UD\n");
+    page = nsvm_get_nvmcb_page(v, vmcbaddr);
+    if ( !page )
+    {
+        gdprintk(XENLOG_ERR,
+            "VMSAVE: mapping vmcb failed, injecting #UD\n");
         ret = TRAP_invalid_op;
         goto inject;
     }
 
-    svm_vmsave(nv->nv_vvmcx);
-
+    svm_vmsave_pa(page_to_maddr(page));
+    put_page(page);
     __update_guest_eip(regs, inst_len);
     return;
 
diff --git a/xen/include/asm-x86/hvm/svm/svm.h b/xen/include/asm-x86/hvm/svm/svm.h
index 64e7e25..1ffe6d6 100644
--- a/xen/include/asm-x86/hvm/svm/svm.h
+++ b/xen/include/asm-x86/hvm/svm/svm.h
@@ -41,18 +41,21 @@
 #define SVM_REG_R14 (14)
 #define SVM_REG_R15 (15)
 
-static inline void svm_vmload(void *vmcb)
+#define svm_vmload(x)     svm_vmload_pa(__pa(x))
+#define svm_vmsave(x)     svm_vmsave_pa(__pa(x))
+
+static inline void svm_vmload_pa(paddr_t vmcb)
 {
     asm volatile (
         ".byte 0x0f,0x01,0xda" /* vmload */
-        : : "a" (__pa(vmcb)) : "memory" );
+        : : "a" (vmcb) : "memory" );
 }
 
-static inline void svm_vmsave(void *vmcb)
+static inline void svm_vmsave_pa(paddr_t vmcb)
 {
     asm volatile (
         ".byte 0x0f,0x01,0xdb" /* vmsave */
-        : : "a" (__pa(vmcb)) : "memory" );
+        : : "a" (vmcb) : "memory" );
 }
 
 static inline void svm_invlpga(unsigned long vaddr, uint32_t asid)
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 13 20:11:17 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Aug 2013 20:11:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V9Kvt-0007N5-9g; Tue, 13 Aug 2013 20:11:09 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V9Kvr-0007Mw-R1
	for xen-changelog@lists.xensource.com; Tue, 13 Aug 2013 20:11:08 +0000
Received: from [85.158.139.211:28944] by server-10.bemta-5.messagelabs.com id
	64/20-03093-BD29A025; Tue, 13 Aug 2013 20:11:07 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-206.messagelabs.com!1376424663!2275760!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32615 invoked from network); 13 Aug 2013 20:11:04 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-13.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	13 Aug 2013 20:11:04 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V9Kvn-0006u2-D6
	for xen-changelog@lists.xensource.com; Tue, 13 Aug 2013 20:11:03 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V9Kvm-0005sY-WD
	for xen-changelog@lists.xensource.com; Tue, 13 Aug 2013 20:11:03 +0000
Date: Tue, 13 Aug 2013 20:11:02 +0000
Message-Id: <E1V9Kvm-0005sY-WD@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] x86/AMD: Fix nested svm crash due to
	assertion in __virt_to_maddr
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 85fc517ec3055e8e8d9c9e36e15a81e630237252
Author:     Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
AuthorDate: Tue Aug 13 14:22:14 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 13 14:22:14 2013 +0200

    x86/AMD: Fix nested svm crash due to assertion in __virt_to_maddr
    
    Fix assertion in __virt_to_maddr when starting nested SVM guest
    in debug mode. Investigation has shown that svm_vmsave/svm_vmload
    make use of __pa() with invalid address.
    
    Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
    Reviewed-by: Tim Deegan <tim@xen.org>
---
 xen/arch/x86/hvm/svm/svm.c        |   52 ++++++++++++++++++++++++++++++------
 xen/include/asm-x86/hvm/svm/svm.h |   11 +++++---
 2 files changed, 50 insertions(+), 13 deletions(-)

diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index 4cc4b15..a20540b 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -1795,6 +1795,32 @@ svm_vmexit_do_vmrun(struct cpu_user_regs *regs,
     return;
 }
 
+static struct page_info *
+nsvm_get_nvmcb_page(struct vcpu *v, uint64_t vmcbaddr)
+{
+    p2m_type_t p2mt;
+    struct page_info *page;
+    struct nestedvcpu *nv = &vcpu_nestedhvm(v);
+
+    if ( !nestedsvm_vmcb_map(v, vmcbaddr) )
+        return NULL;
+
+    /* Need to translate L1-GPA to MPA */
+    page = get_page_from_gfn(v->domain, 
+                            nv->nv_vvmcxaddr >> PAGE_SHIFT, 
+                            &p2mt, P2M_ALLOC | P2M_UNSHARE);
+    if ( !page )
+        return NULL;
+
+    if ( !p2m_is_ram(p2mt) || p2m_is_readonly(p2mt) )
+    {
+        put_page(page);
+        return NULL; 
+    }
+
+    return  page;
+}
+
 static void
 svm_vmexit_do_vmload(struct vmcb_struct *vmcb,
                      struct cpu_user_regs *regs,
@@ -1802,7 +1828,7 @@ svm_vmexit_do_vmload(struct vmcb_struct *vmcb,
 {
     int ret;
     unsigned int inst_len;
-    struct nestedvcpu *nv = &vcpu_nestedhvm(v);
+    struct page_info *page;
 
     if ( (inst_len = __get_instruction_length(v, INSTR_VMLOAD)) == 0 )
         return;
@@ -1813,13 +1839,18 @@ svm_vmexit_do_vmload(struct vmcb_struct *vmcb,
         goto inject;
     }
 
-    if (!nestedsvm_vmcb_map(v, vmcbaddr)) {
-        gdprintk(XENLOG_ERR, "VMLOAD: mapping vmcb failed, injecting #UD\n");
+    page = nsvm_get_nvmcb_page(v, vmcbaddr);
+    if ( !page )
+    {
+        gdprintk(XENLOG_ERR,
+            "VMLOAD: mapping failed, injecting #UD\n");
         ret = TRAP_invalid_op;
         goto inject;
     }
 
-    svm_vmload(nv->nv_vvmcx);
+    svm_vmload_pa(page_to_maddr(page));
+    put_page(page);
+
     /* State in L1 VMCB is stale now */
     v->arch.hvm_svm.vmcb_in_sync = 0;
 
@@ -1838,7 +1869,7 @@ svm_vmexit_do_vmsave(struct vmcb_struct *vmcb,
 {
     int ret;
     unsigned int inst_len;
-    struct nestedvcpu *nv = &vcpu_nestedhvm(v);
+    struct page_info *page;
 
     if ( (inst_len = __get_instruction_length(v, INSTR_VMSAVE)) == 0 )
         return;
@@ -1849,14 +1880,17 @@ svm_vmexit_do_vmsave(struct vmcb_struct *vmcb,
         goto inject;
     }
 
-    if (!nestedsvm_vmcb_map(v, vmcbaddr)) {
-        gdprintk(XENLOG_ERR, "VMSAVE: mapping vmcb failed, injecting #UD\n");
+    page = nsvm_get_nvmcb_page(v, vmcbaddr);
+    if ( !page )
+    {
+        gdprintk(XENLOG_ERR,
+            "VMSAVE: mapping vmcb failed, injecting #UD\n");
         ret = TRAP_invalid_op;
         goto inject;
     }
 
-    svm_vmsave(nv->nv_vvmcx);
-
+    svm_vmsave_pa(page_to_maddr(page));
+    put_page(page);
     __update_guest_eip(regs, inst_len);
     return;
 
diff --git a/xen/include/asm-x86/hvm/svm/svm.h b/xen/include/asm-x86/hvm/svm/svm.h
index 64e7e25..1ffe6d6 100644
--- a/xen/include/asm-x86/hvm/svm/svm.h
+++ b/xen/include/asm-x86/hvm/svm/svm.h
@@ -41,18 +41,21 @@
 #define SVM_REG_R14 (14)
 #define SVM_REG_R15 (15)
 
-static inline void svm_vmload(void *vmcb)
+#define svm_vmload(x)     svm_vmload_pa(__pa(x))
+#define svm_vmsave(x)     svm_vmsave_pa(__pa(x))
+
+static inline void svm_vmload_pa(paddr_t vmcb)
 {
     asm volatile (
         ".byte 0x0f,0x01,0xda" /* vmload */
-        : : "a" (__pa(vmcb)) : "memory" );
+        : : "a" (vmcb) : "memory" );
 }
 
-static inline void svm_vmsave(void *vmcb)
+static inline void svm_vmsave_pa(paddr_t vmcb)
 {
     asm volatile (
         ".byte 0x0f,0x01,0xdb" /* vmsave */
-        : : "a" (__pa(vmcb)) : "memory" );
+        : : "a" (vmcb) : "memory" );
 }
 
 static inline void svm_invlpga(unsigned long vaddr, uint32_t asid)
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 13 20:11:24 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Aug 2013 20:11:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V9Kw2-0007Ng-CX; Tue, 13 Aug 2013 20:11:18 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V9Kw0-0007NM-I0
	for xen-changelog@lists.xensource.com; Tue, 13 Aug 2013 20:11:16 +0000
Received: from [85.158.139.211:9386] by server-4.bemta-5.messagelabs.com id
	5B/99-17085-3E29A025; Tue, 13 Aug 2013 20:11:15 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-206.messagelabs.com!1376424673!2285746!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31842 invoked from network); 13 Aug 2013 20:11:14 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-2.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	13 Aug 2013 20:11:14 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V9Kvx-0006u5-OI
	for xen-changelog@lists.xensource.com; Tue, 13 Aug 2013 20:11:13 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V9Kvx-0005t4-H0
	for xen-changelog@lists.xensource.com; Tue, 13 Aug 2013 20:11:13 +0000
Date: Tue, 13 Aug 2013 20:11:13 +0000
Message-Id: <E1V9Kvx-0005t4-H0@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] x86/AMD: Inject #GP instead of #UD
	when unable to map vmcb
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 910daaf5aaa837624099c0fc5c373bea7202ff43
Author:     Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
AuthorDate: Tue Aug 13 14:24:16 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 13 14:24:16 2013 +0200

    x86/AMD: Inject #GP instead of #UD when unable to map vmcb
    
    According to AMD Programmer's Manual vol2, vmrun, vmsave and vmload
    should inject #GP instead of #UD when unable to access memory
    location for vmcb.  Also, the code should make sure that L1 guest
    EFER.SVME is not zero.  Otherwise, #UD should be injected.
    
    Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
    Reviewed-by: Tim Deegan <tim@xen.org>
---
 xen/arch/x86/hvm/svm/svm.c              |   24 ++++++++++++++----------
 xen/include/asm-x86/hvm/svm/nestedsvm.h |    2 +-
 2 files changed, 15 insertions(+), 11 deletions(-)

diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index a20540b..f74265a 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -1779,15 +1779,17 @@ static void
 svm_vmexit_do_vmrun(struct cpu_user_regs *regs,
                     struct vcpu *v, uint64_t vmcbaddr)
 {
-    if (!nestedhvm_enabled(v->domain)) {
+    if ( !nsvm_efer_svm_enabled(v) )
+    {
         gdprintk(XENLOG_ERR, "VMRUN: nestedhvm disabled, injecting #UD\n");
         hvm_inject_hw_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE);
         return;
     }
 
-    if (!nestedsvm_vmcb_map(v, vmcbaddr)) {
-        gdprintk(XENLOG_ERR, "VMRUN: mapping vmcb failed, injecting #UD\n");
-        hvm_inject_hw_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE);
+    if ( !nestedsvm_vmcb_map(v, vmcbaddr) )
+    {
+        gdprintk(XENLOG_ERR, "VMRUN: mapping vmcb failed, injecting #GP\n");
+        hvm_inject_hw_exception(TRAP_gp_fault, HVM_DELIVER_NO_ERROR_CODE);
         return;
     }
 
@@ -1833,7 +1835,8 @@ svm_vmexit_do_vmload(struct vmcb_struct *vmcb,
     if ( (inst_len = __get_instruction_length(v, INSTR_VMLOAD)) == 0 )
         return;
 
-    if (!nestedhvm_enabled(v->domain)) {
+    if ( !nsvm_efer_svm_enabled(v) ) 
+    {
         gdprintk(XENLOG_ERR, "VMLOAD: nestedhvm disabled, injecting #UD\n");
         ret = TRAP_invalid_op;
         goto inject;
@@ -1843,8 +1846,8 @@ svm_vmexit_do_vmload(struct vmcb_struct *vmcb,
     if ( !page )
     {
         gdprintk(XENLOG_ERR,
-            "VMLOAD: mapping failed, injecting #UD\n");
-        ret = TRAP_invalid_op;
+            "VMLOAD: mapping failed, injecting #GP\n");
+        ret = TRAP_gp_fault;
         goto inject;
     }
 
@@ -1874,7 +1877,8 @@ svm_vmexit_do_vmsave(struct vmcb_struct *vmcb,
     if ( (inst_len = __get_instruction_length(v, INSTR_VMSAVE)) == 0 )
         return;
 
-    if (!nestedhvm_enabled(v->domain)) {
+    if ( !nsvm_efer_svm_enabled(v) ) 
+    {
         gdprintk(XENLOG_ERR, "VMSAVE: nestedhvm disabled, injecting #UD\n");
         ret = TRAP_invalid_op;
         goto inject;
@@ -1884,8 +1888,8 @@ svm_vmexit_do_vmsave(struct vmcb_struct *vmcb,
     if ( !page )
     {
         gdprintk(XENLOG_ERR,
-            "VMSAVE: mapping vmcb failed, injecting #UD\n");
-        ret = TRAP_invalid_op;
+            "VMSAVE: mapping vmcb failed, injecting #GP\n");
+        ret = TRAP_gp_fault;
         goto inject;
     }
 
diff --git a/xen/include/asm-x86/hvm/svm/nestedsvm.h b/xen/include/asm-x86/hvm/svm/nestedsvm.h
index 0bc663a..f88b1bd 100644
--- a/xen/include/asm-x86/hvm/svm/nestedsvm.h
+++ b/xen/include/asm-x86/hvm/svm/nestedsvm.h
@@ -94,7 +94,7 @@ struct nestedsvm {
 #define vcpu_nestedsvm(v) (vcpu_nestedhvm(v).u.nsvm)
 
 /* True when l1 guest enabled SVM in EFER */
-#define hvm_svm_enabled(v) \
+#define nsvm_efer_svm_enabled(v) \
     (!!((v)->arch.hvm_vcpu.guest_efer & EFER_SVME))
 
 int nestedsvm_vmcb_map(struct vcpu *v, uint64_t vmcbaddr);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 13 20:11:24 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Aug 2013 20:11:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V9Kw2-0007Ng-CX; Tue, 13 Aug 2013 20:11:18 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V9Kw0-0007NM-I0
	for xen-changelog@lists.xensource.com; Tue, 13 Aug 2013 20:11:16 +0000
Received: from [85.158.139.211:9386] by server-4.bemta-5.messagelabs.com id
	5B/99-17085-3E29A025; Tue, 13 Aug 2013 20:11:15 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-206.messagelabs.com!1376424673!2285746!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 31842 invoked from network); 13 Aug 2013 20:11:14 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-2.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	13 Aug 2013 20:11:14 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V9Kvx-0006u5-OI
	for xen-changelog@lists.xensource.com; Tue, 13 Aug 2013 20:11:13 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V9Kvx-0005t4-H0
	for xen-changelog@lists.xensource.com; Tue, 13 Aug 2013 20:11:13 +0000
Date: Tue, 13 Aug 2013 20:11:13 +0000
Message-Id: <E1V9Kvx-0005t4-H0@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] x86/AMD: Inject #GP instead of #UD
	when unable to map vmcb
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 910daaf5aaa837624099c0fc5c373bea7202ff43
Author:     Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
AuthorDate: Tue Aug 13 14:24:16 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 13 14:24:16 2013 +0200

    x86/AMD: Inject #GP instead of #UD when unable to map vmcb
    
    According to AMD Programmer's Manual vol2, vmrun, vmsave and vmload
    should inject #GP instead of #UD when unable to access memory
    location for vmcb.  Also, the code should make sure that L1 guest
    EFER.SVME is not zero.  Otherwise, #UD should be injected.
    
    Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
    Reviewed-by: Tim Deegan <tim@xen.org>
---
 xen/arch/x86/hvm/svm/svm.c              |   24 ++++++++++++++----------
 xen/include/asm-x86/hvm/svm/nestedsvm.h |    2 +-
 2 files changed, 15 insertions(+), 11 deletions(-)

diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index a20540b..f74265a 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -1779,15 +1779,17 @@ static void
 svm_vmexit_do_vmrun(struct cpu_user_regs *regs,
                     struct vcpu *v, uint64_t vmcbaddr)
 {
-    if (!nestedhvm_enabled(v->domain)) {
+    if ( !nsvm_efer_svm_enabled(v) )
+    {
         gdprintk(XENLOG_ERR, "VMRUN: nestedhvm disabled, injecting #UD\n");
         hvm_inject_hw_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE);
         return;
     }
 
-    if (!nestedsvm_vmcb_map(v, vmcbaddr)) {
-        gdprintk(XENLOG_ERR, "VMRUN: mapping vmcb failed, injecting #UD\n");
-        hvm_inject_hw_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE);
+    if ( !nestedsvm_vmcb_map(v, vmcbaddr) )
+    {
+        gdprintk(XENLOG_ERR, "VMRUN: mapping vmcb failed, injecting #GP\n");
+        hvm_inject_hw_exception(TRAP_gp_fault, HVM_DELIVER_NO_ERROR_CODE);
         return;
     }
 
@@ -1833,7 +1835,8 @@ svm_vmexit_do_vmload(struct vmcb_struct *vmcb,
     if ( (inst_len = __get_instruction_length(v, INSTR_VMLOAD)) == 0 )
         return;
 
-    if (!nestedhvm_enabled(v->domain)) {
+    if ( !nsvm_efer_svm_enabled(v) ) 
+    {
         gdprintk(XENLOG_ERR, "VMLOAD: nestedhvm disabled, injecting #UD\n");
         ret = TRAP_invalid_op;
         goto inject;
@@ -1843,8 +1846,8 @@ svm_vmexit_do_vmload(struct vmcb_struct *vmcb,
     if ( !page )
     {
         gdprintk(XENLOG_ERR,
-            "VMLOAD: mapping failed, injecting #UD\n");
-        ret = TRAP_invalid_op;
+            "VMLOAD: mapping failed, injecting #GP\n");
+        ret = TRAP_gp_fault;
         goto inject;
     }
 
@@ -1874,7 +1877,8 @@ svm_vmexit_do_vmsave(struct vmcb_struct *vmcb,
     if ( (inst_len = __get_instruction_length(v, INSTR_VMSAVE)) == 0 )
         return;
 
-    if (!nestedhvm_enabled(v->domain)) {
+    if ( !nsvm_efer_svm_enabled(v) ) 
+    {
         gdprintk(XENLOG_ERR, "VMSAVE: nestedhvm disabled, injecting #UD\n");
         ret = TRAP_invalid_op;
         goto inject;
@@ -1884,8 +1888,8 @@ svm_vmexit_do_vmsave(struct vmcb_struct *vmcb,
     if ( !page )
     {
         gdprintk(XENLOG_ERR,
-            "VMSAVE: mapping vmcb failed, injecting #UD\n");
-        ret = TRAP_invalid_op;
+            "VMSAVE: mapping vmcb failed, injecting #GP\n");
+        ret = TRAP_gp_fault;
         goto inject;
     }
 
diff --git a/xen/include/asm-x86/hvm/svm/nestedsvm.h b/xen/include/asm-x86/hvm/svm/nestedsvm.h
index 0bc663a..f88b1bd 100644
--- a/xen/include/asm-x86/hvm/svm/nestedsvm.h
+++ b/xen/include/asm-x86/hvm/svm/nestedsvm.h
@@ -94,7 +94,7 @@ struct nestedsvm {
 #define vcpu_nestedsvm(v) (vcpu_nestedhvm(v).u.nsvm)
 
 /* True when l1 guest enabled SVM in EFER */
-#define hvm_svm_enabled(v) \
+#define nsvm_efer_svm_enabled(v) \
     (!!((v)->arch.hvm_vcpu.guest_efer & EFER_SVME))
 
 int nestedsvm_vmcb_map(struct vcpu *v, uint64_t vmcbaddr);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 13 20:11:31 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Aug 2013 20:11:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V9KwC-0007Oc-Fc; Tue, 13 Aug 2013 20:11:28 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V9KwA-0007OP-Sf
	for xen-changelog@lists.xensource.com; Tue, 13 Aug 2013 20:11:27 +0000
Received: from [193.109.254.147:46439] by server-4.bemta-14.messagelabs.com id
	CD/3A-27904-EE29A025; Tue, 13 Aug 2013 20:11:26 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1376424684!3919685!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8866 invoked from network); 13 Aug 2013 20:11:25 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-6.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	13 Aug 2013 20:11:25 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V9Kw7-0006uB-V8
	for xen-changelog@lists.xensource.com; Tue, 13 Aug 2013 20:11:23 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V9Kw7-0005tQ-Si
	for xen-changelog@lists.xensource.com; Tue, 13 Aug 2013 20:11:23 +0000
Date: Tue, 13 Aug 2013 20:11:23 +0000
Message-Id: <E1V9Kw7-0005tQ-Si@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] watchdog: Move watchdog from being x86
	specific to common code
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit c8177e691f0f611240853326712d43482ec949bf
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Aug 13 14:29:00 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 13 14:29:00 2013 +0200

    watchdog: Move watchdog from being x86 specific to common code
    
    Augment watchdog_setup() to be able to possibly return an error, and introduce
    watchdog_enabled() as a better alternative to knowing the architectures
    internal details.
    
    This patch does not change the x86 implementaion, beyond making it compile.
    
    For header files, some includes of xen/nmi.h were only for the watchdog
    functions, so are replaced rather than adding an extra include of
    xen/watchdog.h
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
---
 xen/arch/x86/nmi.c           |    8 +++++++-
 xen/arch/x86/setup.c         |    1 +
 xen/arch/x86/shutdown.c      |    2 +-
 xen/arch/x86/traps.c         |    1 +
 xen/arch/x86/x86_64/traps.c  |    1 +
 xen/common/kexec.c           |    2 +-
 xen/common/keyhandler.c      |    2 +-
 xen/common/shutdown.c        |    2 +-
 xen/drivers/char/console.c   |    2 +-
 xen/include/asm-x86/config.h |    1 +
 xen/include/asm-x86/nmi.h    |    4 ----
 xen/include/xen/watchdog.h   |   35 +++++++++++++++++++++++++++++++++++
 12 files changed, 51 insertions(+), 10 deletions(-)

diff --git a/xen/arch/x86/nmi.c b/xen/arch/x86/nmi.c
index c93812f..3eb2456 100644
--- a/xen/arch/x86/nmi.c
+++ b/xen/arch/x86/nmi.c
@@ -410,7 +410,12 @@ void watchdog_enable(void)
     atomic_dec(&watchdog_disable_count);
 }
 
-void __init watchdog_setup(void)
+bool_t watchdog_enabled(void)
+{
+    return !atomic_read(&watchdog_disable_count);
+}
+
+int __init watchdog_setup(void)
 {
     unsigned int cpu;
 
@@ -423,6 +428,7 @@ void __init watchdog_setup(void)
     register_cpu_notifier(&cpu_nmi_nfb);
 
     watchdog_enable();
+    return 0;
 }
 
 void nmi_watchdog_tick(struct cpu_user_regs * regs)
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index a70d31b..c550e8e 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -26,6 +26,7 @@
 #include <xen/pfn.h>
 #include <xen/nodemask.h>
 #include <xen/tmem_xen.h> /* for opt_tmem only */
+#include <xen/watchdog.h>
 #include <public/version.h>
 #include <compat/platform.h>
 #include <compat/xen.h>
diff --git a/xen/arch/x86/shutdown.c b/xen/arch/x86/shutdown.c
index c637883..4715681 100644
--- a/xen/arch/x86/shutdown.c
+++ b/xen/arch/x86/shutdown.c
@@ -12,7 +12,7 @@
 #include <xen/delay.h>
 #include <xen/dmi.h>
 #include <xen/irq.h>
-#include <xen/nmi.h>
+#include <xen/watchdog.h>
 #include <xen/console.h>
 #include <xen/shutdown.h>
 #include <xen/acpi.h>
diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index 57dbd0c..b445b2f 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -49,6 +49,7 @@
 #include <xen/kexec.h>
 #include <xen/trace.h>
 #include <xen/paging.h>
+#include <xen/watchdog.h>
 #include <asm/system.h>
 #include <asm/io.h>
 #include <asm/atomic.h>
diff --git a/xen/arch/x86/x86_64/traps.c b/xen/arch/x86/x86_64/traps.c
index bcd7609..ea2ffb6 100644
--- a/xen/arch/x86/x86_64/traps.c
+++ b/xen/arch/x86/x86_64/traps.c
@@ -13,6 +13,7 @@
 #include <xen/shutdown.h>
 #include <xen/nmi.h>
 #include <xen/guest_access.h>
+#include <xen/watchdog.h>
 #include <asm/current.h>
 #include <asm/flushtlb.h>
 #include <asm/traps.h>
diff --git a/xen/common/kexec.c b/xen/common/kexec.c
index 1ba8556..7cd151f 100644
--- a/xen/common/kexec.c
+++ b/xen/common/kexec.c
@@ -12,7 +12,7 @@
 #include <xen/ctype.h>
 #include <xen/errno.h>
 #include <xen/guest_access.h>
-#include <xen/nmi.h>
+#include <xen/watchdog.h>
 #include <xen/sched.h>
 #include <xen/types.h>
 #include <xen/hypercall.h>
diff --git a/xen/common/keyhandler.c b/xen/common/keyhandler.c
index 5072133..e5c15d6 100644
--- a/xen/common/keyhandler.c
+++ b/xen/common/keyhandler.c
@@ -16,7 +16,7 @@
 #include <xen/ctype.h>
 #include <xen/perfc.h>
 #include <xen/mm.h>
-#include <xen/nmi.h>
+#include <xen/watchdog.h>
 #include <xen/init.h>
 #include <asm/debugger.h>
 #include <asm/div64.h>
diff --git a/xen/common/shutdown.c b/xen/common/shutdown.c
index 73a7d7b..20f04b0 100644
--- a/xen/common/shutdown.c
+++ b/xen/common/shutdown.c
@@ -4,7 +4,7 @@
 #include <xen/sched.h>
 #include <xen/domain.h>
 #include <xen/delay.h>
-#include <xen/nmi.h>
+#include <xen/watchdog.h>
 #include <xen/shutdown.h>
 #include <xen/console.h>
 #ifdef CONFIG_KEXEC
diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index 8ac32e4..52ffa70 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -20,7 +20,7 @@
 #include <xen/keyhandler.h>
 #include <xen/delay.h>
 #include <xen/guest_access.h>
-#include <xen/nmi.h>
+#include <xen/watchdog.h>
 #include <xen/shutdown.h>
 #include <xen/video.h>
 #include <xen/kexec.h>
diff --git a/xen/include/asm-x86/config.h b/xen/include/asm-x86/config.h
index 0044edb..cb7b2e4 100644
--- a/xen/include/asm-x86/config.h
+++ b/xen/include/asm-x86/config.h
@@ -49,6 +49,7 @@
 
 #define CONFIG_XENOPROF 1
 #define CONFIG_KEXEC 1
+#define CONFIG_WATCHDOG 1
 
 #define HZ 100
 
diff --git a/xen/include/asm-x86/nmi.h b/xen/include/asm-x86/nmi.h
index e9faa72..98b5e04 100644
--- a/xen/include/asm-x86/nmi.h
+++ b/xen/include/asm-x86/nmi.h
@@ -41,8 +41,4 @@ long register_guest_nmi_callback(unsigned long address);
  */
 long unregister_guest_nmi_callback(void);
 
-void watchdog_disable(void);
-void watchdog_enable(void);
-void watchdog_setup(void);
-
 #endif /* ASM_NMI_H */
diff --git a/xen/include/xen/watchdog.h b/xen/include/xen/watchdog.h
new file mode 100644
index 0000000..e786b9b
--- /dev/null
+++ b/xen/include/xen/watchdog.h
@@ -0,0 +1,35 @@
+/******************************************************************************
+ * watchdog.h
+ *
+ * Common watchdog code
+ */
+
+#ifndef __XEN_WATCHDOG_H__
+#define __XEN_WATCHDOG_H__
+
+#include <xen/types.h>
+
+#ifdef CONFIG_WATCHDOG
+
+/* Try to set up a watchdog. */
+int watchdog_setup(void);
+
+/* Enable the watchdog. */
+void watchdog_enable(void);
+
+/* Disable the watchdog. */
+void watchdog_disable(void);
+
+/* Is the watchdog currently enabled. */
+bool_t watchdog_enabled(void);
+
+#else
+
+#define watchdog_setup() ((void)0)
+#define watchdog_enable() ((void)0)
+#define watchdog_disable() ((void)0)
+#define watchdog_enabled() ((void)0)
+
+#endif
+
+#endif /* __XEN_WATCHDOG_H__ */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 13 20:11:31 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Aug 2013 20:11:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V9KwC-0007Oc-Fc; Tue, 13 Aug 2013 20:11:28 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V9KwA-0007OP-Sf
	for xen-changelog@lists.xensource.com; Tue, 13 Aug 2013 20:11:27 +0000
Received: from [193.109.254.147:46439] by server-4.bemta-14.messagelabs.com id
	CD/3A-27904-EE29A025; Tue, 13 Aug 2013 20:11:26 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1376424684!3919685!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8866 invoked from network); 13 Aug 2013 20:11:25 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-6.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	13 Aug 2013 20:11:25 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V9Kw7-0006uB-V8
	for xen-changelog@lists.xensource.com; Tue, 13 Aug 2013 20:11:23 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V9Kw7-0005tQ-Si
	for xen-changelog@lists.xensource.com; Tue, 13 Aug 2013 20:11:23 +0000
Date: Tue, 13 Aug 2013 20:11:23 +0000
Message-Id: <E1V9Kw7-0005tQ-Si@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] watchdog: Move watchdog from being x86
	specific to common code
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit c8177e691f0f611240853326712d43482ec949bf
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Aug 13 14:29:00 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 13 14:29:00 2013 +0200

    watchdog: Move watchdog from being x86 specific to common code
    
    Augment watchdog_setup() to be able to possibly return an error, and introduce
    watchdog_enabled() as a better alternative to knowing the architectures
    internal details.
    
    This patch does not change the x86 implementaion, beyond making it compile.
    
    For header files, some includes of xen/nmi.h were only for the watchdog
    functions, so are replaced rather than adding an extra include of
    xen/watchdog.h
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
---
 xen/arch/x86/nmi.c           |    8 +++++++-
 xen/arch/x86/setup.c         |    1 +
 xen/arch/x86/shutdown.c      |    2 +-
 xen/arch/x86/traps.c         |    1 +
 xen/arch/x86/x86_64/traps.c  |    1 +
 xen/common/kexec.c           |    2 +-
 xen/common/keyhandler.c      |    2 +-
 xen/common/shutdown.c        |    2 +-
 xen/drivers/char/console.c   |    2 +-
 xen/include/asm-x86/config.h |    1 +
 xen/include/asm-x86/nmi.h    |    4 ----
 xen/include/xen/watchdog.h   |   35 +++++++++++++++++++++++++++++++++++
 12 files changed, 51 insertions(+), 10 deletions(-)

diff --git a/xen/arch/x86/nmi.c b/xen/arch/x86/nmi.c
index c93812f..3eb2456 100644
--- a/xen/arch/x86/nmi.c
+++ b/xen/arch/x86/nmi.c
@@ -410,7 +410,12 @@ void watchdog_enable(void)
     atomic_dec(&watchdog_disable_count);
 }
 
-void __init watchdog_setup(void)
+bool_t watchdog_enabled(void)
+{
+    return !atomic_read(&watchdog_disable_count);
+}
+
+int __init watchdog_setup(void)
 {
     unsigned int cpu;
 
@@ -423,6 +428,7 @@ void __init watchdog_setup(void)
     register_cpu_notifier(&cpu_nmi_nfb);
 
     watchdog_enable();
+    return 0;
 }
 
 void nmi_watchdog_tick(struct cpu_user_regs * regs)
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index a70d31b..c550e8e 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -26,6 +26,7 @@
 #include <xen/pfn.h>
 #include <xen/nodemask.h>
 #include <xen/tmem_xen.h> /* for opt_tmem only */
+#include <xen/watchdog.h>
 #include <public/version.h>
 #include <compat/platform.h>
 #include <compat/xen.h>
diff --git a/xen/arch/x86/shutdown.c b/xen/arch/x86/shutdown.c
index c637883..4715681 100644
--- a/xen/arch/x86/shutdown.c
+++ b/xen/arch/x86/shutdown.c
@@ -12,7 +12,7 @@
 #include <xen/delay.h>
 #include <xen/dmi.h>
 #include <xen/irq.h>
-#include <xen/nmi.h>
+#include <xen/watchdog.h>
 #include <xen/console.h>
 #include <xen/shutdown.h>
 #include <xen/acpi.h>
diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index 57dbd0c..b445b2f 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -49,6 +49,7 @@
 #include <xen/kexec.h>
 #include <xen/trace.h>
 #include <xen/paging.h>
+#include <xen/watchdog.h>
 #include <asm/system.h>
 #include <asm/io.h>
 #include <asm/atomic.h>
diff --git a/xen/arch/x86/x86_64/traps.c b/xen/arch/x86/x86_64/traps.c
index bcd7609..ea2ffb6 100644
--- a/xen/arch/x86/x86_64/traps.c
+++ b/xen/arch/x86/x86_64/traps.c
@@ -13,6 +13,7 @@
 #include <xen/shutdown.h>
 #include <xen/nmi.h>
 #include <xen/guest_access.h>
+#include <xen/watchdog.h>
 #include <asm/current.h>
 #include <asm/flushtlb.h>
 #include <asm/traps.h>
diff --git a/xen/common/kexec.c b/xen/common/kexec.c
index 1ba8556..7cd151f 100644
--- a/xen/common/kexec.c
+++ b/xen/common/kexec.c
@@ -12,7 +12,7 @@
 #include <xen/ctype.h>
 #include <xen/errno.h>
 #include <xen/guest_access.h>
-#include <xen/nmi.h>
+#include <xen/watchdog.h>
 #include <xen/sched.h>
 #include <xen/types.h>
 #include <xen/hypercall.h>
diff --git a/xen/common/keyhandler.c b/xen/common/keyhandler.c
index 5072133..e5c15d6 100644
--- a/xen/common/keyhandler.c
+++ b/xen/common/keyhandler.c
@@ -16,7 +16,7 @@
 #include <xen/ctype.h>
 #include <xen/perfc.h>
 #include <xen/mm.h>
-#include <xen/nmi.h>
+#include <xen/watchdog.h>
 #include <xen/init.h>
 #include <asm/debugger.h>
 #include <asm/div64.h>
diff --git a/xen/common/shutdown.c b/xen/common/shutdown.c
index 73a7d7b..20f04b0 100644
--- a/xen/common/shutdown.c
+++ b/xen/common/shutdown.c
@@ -4,7 +4,7 @@
 #include <xen/sched.h>
 #include <xen/domain.h>
 #include <xen/delay.h>
-#include <xen/nmi.h>
+#include <xen/watchdog.h>
 #include <xen/shutdown.h>
 #include <xen/console.h>
 #ifdef CONFIG_KEXEC
diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index 8ac32e4..52ffa70 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -20,7 +20,7 @@
 #include <xen/keyhandler.h>
 #include <xen/delay.h>
 #include <xen/guest_access.h>
-#include <xen/nmi.h>
+#include <xen/watchdog.h>
 #include <xen/shutdown.h>
 #include <xen/video.h>
 #include <xen/kexec.h>
diff --git a/xen/include/asm-x86/config.h b/xen/include/asm-x86/config.h
index 0044edb..cb7b2e4 100644
--- a/xen/include/asm-x86/config.h
+++ b/xen/include/asm-x86/config.h
@@ -49,6 +49,7 @@
 
 #define CONFIG_XENOPROF 1
 #define CONFIG_KEXEC 1
+#define CONFIG_WATCHDOG 1
 
 #define HZ 100
 
diff --git a/xen/include/asm-x86/nmi.h b/xen/include/asm-x86/nmi.h
index e9faa72..98b5e04 100644
--- a/xen/include/asm-x86/nmi.h
+++ b/xen/include/asm-x86/nmi.h
@@ -41,8 +41,4 @@ long register_guest_nmi_callback(unsigned long address);
  */
 long unregister_guest_nmi_callback(void);
 
-void watchdog_disable(void);
-void watchdog_enable(void);
-void watchdog_setup(void);
-
 #endif /* ASM_NMI_H */
diff --git a/xen/include/xen/watchdog.h b/xen/include/xen/watchdog.h
new file mode 100644
index 0000000..e786b9b
--- /dev/null
+++ b/xen/include/xen/watchdog.h
@@ -0,0 +1,35 @@
+/******************************************************************************
+ * watchdog.h
+ *
+ * Common watchdog code
+ */
+
+#ifndef __XEN_WATCHDOG_H__
+#define __XEN_WATCHDOG_H__
+
+#include <xen/types.h>
+
+#ifdef CONFIG_WATCHDOG
+
+/* Try to set up a watchdog. */
+int watchdog_setup(void);
+
+/* Enable the watchdog. */
+void watchdog_enable(void);
+
+/* Disable the watchdog. */
+void watchdog_disable(void);
+
+/* Is the watchdog currently enabled. */
+bool_t watchdog_enabled(void);
+
+#else
+
+#define watchdog_setup() ((void)0)
+#define watchdog_enable() ((void)0)
+#define watchdog_disable() ((void)0)
+#define watchdog_enabled() ((void)0)
+
+#endif
+
+#endif /* __XEN_WATCHDOG_H__ */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 13 20:11:41 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Aug 2013 20:11:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V9KwM-0007QW-WE; Tue, 13 Aug 2013 20:11:39 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V9KwK-0007Pz-NF
	for xen-changelog@lists.xensource.com; Tue, 13 Aug 2013 20:11:36 +0000
Received: from [193.109.254.147:30231] by server-6.bemta-14.messagelabs.com id
	CF/E4-22974-7F29A025; Tue, 13 Aug 2013 20:11:35 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1376424694!3897467!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12170 invoked from network); 13 Aug 2013 20:11:35 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-12.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	13 Aug 2013 20:11:35 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V9KwI-0006uK-8L
	for xen-changelog@lists.xensource.com; Tue, 13 Aug 2013 20:11:34 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V9KwI-0005uZ-2e
	for xen-changelog@lists.xensource.com; Tue, 13 Aug 2013 20:11:34 +0000
Date: Tue, 13 Aug 2013 20:11:34 +0000
Message-Id: <E1V9KwI-0005uZ-2e@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] x86/watchdog: Tweak implementation
	given new common code
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 896934596614b44c20a37263c9decb0b639ef995
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Aug 13 14:30:44 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 13 14:30:44 2013 +0200

    x86/watchdog: Tweak implementation given new common code
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
---
 xen/arch/x86/nmi.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/nmi.c b/xen/arch/x86/nmi.c
index 3eb2456..2c16d93 100644
--- a/xen/arch/x86/nmi.c
+++ b/xen/arch/x86/nmi.c
@@ -435,8 +435,7 @@ void nmi_watchdog_tick(struct cpu_user_regs * regs)
 {
     unsigned int sum = this_cpu(nmi_timer_ticks);
 
-    if ( (this_cpu(last_irq_sums) == sum) &&
-         !atomic_read(&watchdog_disable_count) )
+    if ( (this_cpu(last_irq_sums) == sum) && watchdog_enabled() )
     {
         /*
          * Ayiee, looks like this CPU is stuck ... wait for the timeout
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 13 20:11:41 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Aug 2013 20:11:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V9KwM-0007QW-WE; Tue, 13 Aug 2013 20:11:39 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V9KwK-0007Pz-NF
	for xen-changelog@lists.xensource.com; Tue, 13 Aug 2013 20:11:36 +0000
Received: from [193.109.254.147:30231] by server-6.bemta-14.messagelabs.com id
	CF/E4-22974-7F29A025; Tue, 13 Aug 2013 20:11:35 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1376424694!3897467!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12170 invoked from network); 13 Aug 2013 20:11:35 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-12.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	13 Aug 2013 20:11:35 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V9KwI-0006uK-8L
	for xen-changelog@lists.xensource.com; Tue, 13 Aug 2013 20:11:34 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V9KwI-0005uZ-2e
	for xen-changelog@lists.xensource.com; Tue, 13 Aug 2013 20:11:34 +0000
Date: Tue, 13 Aug 2013 20:11:34 +0000
Message-Id: <E1V9KwI-0005uZ-2e@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] x86/watchdog: Tweak implementation
	given new common code
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 896934596614b44c20a37263c9decb0b639ef995
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Aug 13 14:30:44 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 13 14:30:44 2013 +0200

    x86/watchdog: Tweak implementation given new common code
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
---
 xen/arch/x86/nmi.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/nmi.c b/xen/arch/x86/nmi.c
index 3eb2456..2c16d93 100644
--- a/xen/arch/x86/nmi.c
+++ b/xen/arch/x86/nmi.c
@@ -435,8 +435,7 @@ void nmi_watchdog_tick(struct cpu_user_regs * regs)
 {
     unsigned int sum = this_cpu(nmi_timer_ticks);
 
-    if ( (this_cpu(last_irq_sums) == sum) &&
-         !atomic_read(&watchdog_disable_count) )
+    if ( (this_cpu(last_irq_sums) == sum) && watchdog_enabled() )
     {
         /*
          * Ayiee, looks like this CPU is stuck ... wait for the timeout
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 13 20:11:51 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Aug 2013 20:11:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V9KwW-0007So-R1; Tue, 13 Aug 2013 20:11:48 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V9KwV-0007SM-75
	for xen-changelog@lists.xensource.com; Tue, 13 Aug 2013 20:11:47 +0000
Received: from [85.158.137.68:31295] by server-16.bemta-3.messagelabs.com id
	A6/DE-02525-2039A025; Tue, 13 Aug 2013 20:11:46 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-31.messagelabs.com!1376424704!1566532!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10975 invoked from network); 13 Aug 2013 20:11:45 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-9.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	13 Aug 2013 20:11:45 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V9KwS-0006uR-Do
	for xen-changelog@lists.xensource.com; Tue, 13 Aug 2013 20:11:44 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V9KwS-0005uv-C2
	for xen-changelog@lists.xensource.com; Tue, 13 Aug 2013 20:11:44 +0000
Date: Tue, 13 Aug 2013 20:11:44 +0000
Message-Id: <E1V9KwS-0005uv-C2@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] watchdog/crash: Always disable
	watchdog in console_force_unlock()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 7b9fa702ca323164d6b49e8b639a57f880454a8c
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Aug 13 14:31:01 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 13 14:31:01 2013 +0200

    watchdog/crash: Always disable watchdog in console_force_unlock()
    
    Depending on the state of the conring and serial_tx_buffer,
    console_force_unlock() can be a long running operation, usually because of
    serial_start_sync()
    
    XenServer testing has found a reliable case where console_force_unlock() on
    one PCPU takes long enough for another PCPU to timeout due to the watchdog
    (such as waiting for a tlb flush callin).
    
    The watchdog timeout causes the second PCPU to repeat the
    console_force_unlock(), at which point the first PCPU typically fails an
    assertion in spin_unlock_irqrestore(&port->tx_lock) (because the tx_lock has
    been unlocked behind itself).
    
    console_force_unlock() is only on emergency paths, so one way or another the
    host is going down.  Disable the watchdog before forcing the console lock to
    help prevent having pcpus completing with each other to bring the host down.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
---
 xen/arch/x86/x86_64/traps.c |    2 --
 xen/drivers/char/console.c  |    1 +
 2 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/x86_64/traps.c b/xen/arch/x86/x86_64/traps.c
index ea2ffb6..1cc977c 100644
--- a/xen/arch/x86/x86_64/traps.c
+++ b/xen/arch/x86/x86_64/traps.c
@@ -227,8 +227,6 @@ void do_double_fault(struct cpu_user_regs *regs)
     unsigned int cpu;
     unsigned long crs[8];
 
-    watchdog_disable();
-
     console_force_unlock();
 
     asm ( "lsll %1, %0" : "=r" (cpu) : "rm" (PER_CPU_GDT_ENTRY << 3) );
diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index 52ffa70..e47ddf2 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -737,6 +737,7 @@ void console_end_log_everything(void)
 
 void console_force_unlock(void)
 {
+    watchdog_disable();
     spin_lock_init(&console_lock);
     serial_force_unlock(sercon_handle);
     console_locks_busted = 1;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 13 20:11:51 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Aug 2013 20:11:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V9KwW-0007So-R1; Tue, 13 Aug 2013 20:11:48 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V9KwV-0007SM-75
	for xen-changelog@lists.xensource.com; Tue, 13 Aug 2013 20:11:47 +0000
Received: from [85.158.137.68:31295] by server-16.bemta-3.messagelabs.com id
	A6/DE-02525-2039A025; Tue, 13 Aug 2013 20:11:46 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-31.messagelabs.com!1376424704!1566532!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10975 invoked from network); 13 Aug 2013 20:11:45 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-9.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	13 Aug 2013 20:11:45 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V9KwS-0006uR-Do
	for xen-changelog@lists.xensource.com; Tue, 13 Aug 2013 20:11:44 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V9KwS-0005uv-C2
	for xen-changelog@lists.xensource.com; Tue, 13 Aug 2013 20:11:44 +0000
Date: Tue, 13 Aug 2013 20:11:44 +0000
Message-Id: <E1V9KwS-0005uv-C2@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] watchdog/crash: Always disable
	watchdog in console_force_unlock()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 7b9fa702ca323164d6b49e8b639a57f880454a8c
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Aug 13 14:31:01 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 13 14:31:01 2013 +0200

    watchdog/crash: Always disable watchdog in console_force_unlock()
    
    Depending on the state of the conring and serial_tx_buffer,
    console_force_unlock() can be a long running operation, usually because of
    serial_start_sync()
    
    XenServer testing has found a reliable case where console_force_unlock() on
    one PCPU takes long enough for another PCPU to timeout due to the watchdog
    (such as waiting for a tlb flush callin).
    
    The watchdog timeout causes the second PCPU to repeat the
    console_force_unlock(), at which point the first PCPU typically fails an
    assertion in spin_unlock_irqrestore(&port->tx_lock) (because the tx_lock has
    been unlocked behind itself).
    
    console_force_unlock() is only on emergency paths, so one way or another the
    host is going down.  Disable the watchdog before forcing the console lock to
    help prevent having pcpus completing with each other to bring the host down.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
---
 xen/arch/x86/x86_64/traps.c |    2 --
 xen/drivers/char/console.c  |    1 +
 2 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/x86_64/traps.c b/xen/arch/x86/x86_64/traps.c
index ea2ffb6..1cc977c 100644
--- a/xen/arch/x86/x86_64/traps.c
+++ b/xen/arch/x86/x86_64/traps.c
@@ -227,8 +227,6 @@ void do_double_fault(struct cpu_user_regs *regs)
     unsigned int cpu;
     unsigned long crs[8];
 
-    watchdog_disable();
-
     console_force_unlock();
 
     asm ( "lsll %1, %0" : "=r" (cpu) : "rm" (PER_CPU_GDT_ENTRY << 3) );
diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index 52ffa70..e47ddf2 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -737,6 +737,7 @@ void console_end_log_everything(void)
 
 void console_force_unlock(void)
 {
+    watchdog_disable();
     spin_lock_init(&console_lock);
     serial_force_unlock(sercon_handle);
     console_locks_busted = 1;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 14 01:33:13 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Aug 2013 01:33:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V9PxS-0006Io-8H; Wed, 14 Aug 2013 01:33:06 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V9PxR-0006Ih-Ba
	for xen-changelog@lists.xensource.com; Wed, 14 Aug 2013 01:33:05 +0000
Received: from [85.158.139.211:40423] by server-10.bemta-5.messagelabs.com id
	83/FC-03093-05EDA025; Wed, 14 Aug 2013 01:33:04 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-206.messagelabs.com!1376443982!2297817!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1745 invoked from network); 14 Aug 2013 01:33:03 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-6.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Aug 2013 01:33:03 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V9PxO-0000MU-MC
	for xen-changelog@lists.xensource.com; Wed, 14 Aug 2013 01:33:02 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V9PxO-00063f-9z
	for xen-changelog@lists.xensource.com; Wed, 14 Aug 2013 01:33:02 +0000
Date: Wed, 14 Aug 2013 01:33:02 +0000
Message-Id: <E1V9PxO-00063f-9z@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] VMX: add boot parameter to
	enable/disable APIC-v dynamically
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 0c006b41a283a0a569c863d44abde5aa5750ae01
Author:     Yang Zhang <yang.z.zhang@Intel.com>
AuthorDate: Tue Aug 13 17:47:16 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 13 17:47:16 2013 +0200

    VMX: add boot parameter to enable/disable APIC-v dynamically
    
    Add a boot parameter to enable/disable the APIC-v dynamically. APIC-v is
    enabled by default. User can use apicv=0 to disable it.
    
    Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com>
---
 xen/arch/x86/hvm/vmx/vmcs.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/hvm/vmx/vmcs.c b/xen/arch/x86/hvm/vmx/vmcs.c
index de9f592..79efb3f 100644
--- a/xen/arch/x86/hvm/vmx/vmcs.c
+++ b/xen/arch/x86/hvm/vmx/vmcs.c
@@ -46,6 +46,9 @@ boolean_param("vpid", opt_vpid_enabled);
 static bool_t __read_mostly opt_unrestricted_guest_enabled = 1;
 boolean_param("unrestricted_guest", opt_unrestricted_guest_enabled);
 
+static bool_t __read_mostly opt_apicv_enabled = 1;
+boolean_param("apicv", opt_apicv_enabled);
+
 /*
  * These two parameters are used to config the controls for Pause-Loop Exiting:
  * ple_gap:    upper bound on the amount of time between two successive
@@ -196,12 +199,12 @@ static int vmx_init_vmcs_config(void)
          * "APIC Register Virtualization" and "Virtual Interrupt Delivery"
          * can be set only when "use TPR shadow" is set
          */
-        if ( _vmx_cpu_based_exec_control & CPU_BASED_TPR_SHADOW )
+        if ( (_vmx_cpu_based_exec_control & CPU_BASED_TPR_SHADOW) &&
+             opt_apicv_enabled )
             opt |= SECONDARY_EXEC_APIC_REGISTER_VIRT |
                    SECONDARY_EXEC_VIRTUAL_INTR_DELIVERY |
                    SECONDARY_EXEC_VIRTUALIZE_X2APIC_MODE;
 
-
         _vmx_secondary_exec_control = adjust_vmx_controls(
             "Secondary Exec Control", min, opt,
             MSR_IA32_VMX_PROCBASED_CTLS2, &mismatch);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 14 01:33:13 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Aug 2013 01:33:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1V9PxS-0006Io-8H; Wed, 14 Aug 2013 01:33:06 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V9PxR-0006Ih-Ba
	for xen-changelog@lists.xensource.com; Wed, 14 Aug 2013 01:33:05 +0000
Received: from [85.158.139.211:40423] by server-10.bemta-5.messagelabs.com id
	83/FC-03093-05EDA025; Wed, 14 Aug 2013 01:33:04 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-206.messagelabs.com!1376443982!2297817!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1745 invoked from network); 14 Aug 2013 01:33:03 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-6.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	14 Aug 2013 01:33:03 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V9PxO-0000MU-MC
	for xen-changelog@lists.xensource.com; Wed, 14 Aug 2013 01:33:02 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1V9PxO-00063f-9z
	for xen-changelog@lists.xensource.com; Wed, 14 Aug 2013 01:33:02 +0000
Date: Wed, 14 Aug 2013 01:33:02 +0000
Message-Id: <E1V9PxO-00063f-9z@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] VMX: add boot parameter to
	enable/disable APIC-v dynamically
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 0c006b41a283a0a569c863d44abde5aa5750ae01
Author:     Yang Zhang <yang.z.zhang@Intel.com>
AuthorDate: Tue Aug 13 17:47:16 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 13 17:47:16 2013 +0200

    VMX: add boot parameter to enable/disable APIC-v dynamically
    
    Add a boot parameter to enable/disable the APIC-v dynamically. APIC-v is
    enabled by default. User can use apicv=0 to disable it.
    
    Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com>
---
 xen/arch/x86/hvm/vmx/vmcs.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/hvm/vmx/vmcs.c b/xen/arch/x86/hvm/vmx/vmcs.c
index de9f592..79efb3f 100644
--- a/xen/arch/x86/hvm/vmx/vmcs.c
+++ b/xen/arch/x86/hvm/vmx/vmcs.c
@@ -46,6 +46,9 @@ boolean_param("vpid", opt_vpid_enabled);
 static bool_t __read_mostly opt_unrestricted_guest_enabled = 1;
 boolean_param("unrestricted_guest", opt_unrestricted_guest_enabled);
 
+static bool_t __read_mostly opt_apicv_enabled = 1;
+boolean_param("apicv", opt_apicv_enabled);
+
 /*
  * These two parameters are used to config the controls for Pause-Loop Exiting:
  * ple_gap:    upper bound on the amount of time between two successive
@@ -196,12 +199,12 @@ static int vmx_init_vmcs_config(void)
          * "APIC Register Virtualization" and "Virtual Interrupt Delivery"
          * can be set only when "use TPR shadow" is set
          */
-        if ( _vmx_cpu_based_exec_control & CPU_BASED_TPR_SHADOW )
+        if ( (_vmx_cpu_based_exec_control & CPU_BASED_TPR_SHADOW) &&
+             opt_apicv_enabled )
             opt |= SECONDARY_EXEC_APIC_REGISTER_VIRT |
                    SECONDARY_EXEC_VIRTUAL_INTR_DELIVERY |
                    SECONDARY_EXEC_VIRTUALIZE_X2APIC_MODE;
 
-
         _vmx_secondary_exec_control = adjust_vmx_controls(
             "Secondary Exec Control", min, opt,
             MSR_IA32_VMX_PROCBASED_CTLS2, &mismatch);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Mon Aug 19 23:11:13 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Aug 2013 23:11:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBYbL-0005px-DP; Mon, 19 Aug 2013 23:11:07 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBYbJ-0005ps-KN
	for xen-changelog@lists.xensource.com; Mon, 19 Aug 2013 23:11:05 +0000
Received: from [193.109.254.147:22291] by server-12.bemta-14.messagelabs.com
	id EE/35-27329-806A2125; Mon, 19 Aug 2013 23:11:04 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1376953863!4862454!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13378 invoked from network); 19 Aug 2013 23:11:04 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-5.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	19 Aug 2013 23:11:04 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBYbH-00041i-1H
	for xen-changelog@lists.xensource.com; Mon, 19 Aug 2013 23:11:03 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBYbG-0003wy-Nt
	for xen-changelog@lists.xensource.com; Mon, 19 Aug 2013 23:11:02 +0000
Date: Mon, 19 Aug 2013 23:11:02 +0000
Message-Id: <E1VBYbG-0003wy-Nt@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.2] VTD: Remove the check for reserved
	device scope type
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 9990231d0d5abf48574f8ec3d2464e2e3da98891
Author:     Yang Zhang <yang.z.zhang@Intel.com>
AuthorDate: Thu Aug 15 09:14:11 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Aug 15 09:14:11 2013 +0200

    VTD: Remove the check for reserved device scope type
    
    Though we only have four valid types now, the new type may be added in future.
    It's better to remove the check and only deal with the type that we can
    recognize.
    
    Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com>
    Signed-off-by: Xiantao Zhang <xiantao.zhang@Intel.com>
    Acked-by: Keir Fraser <keir@xen.org>
    
    Add log message for this case.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    master commit: 749bc93f7a1ad47640cc7876d27641e98a08bf61
    master date: 2013-04-16 10:36:05 +0200
---
 xen/drivers/passthrough/vtd/dmar.c |   10 ++++++++--
 xen/include/acpi/actbl2.h          |    1 -
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/xen/drivers/passthrough/vtd/dmar.c b/xen/drivers/passthrough/vtd/dmar.c
index a88f46b..464c14a 100644
--- a/xen/drivers/passthrough/vtd/dmar.c
+++ b/xen/drivers/passthrough/vtd/dmar.c
@@ -255,8 +255,7 @@ static int __init scope_device_count(const void *start, const void *end)
     while ( start < end )
     {
         scope = start;
-        if ( (scope->length < MIN_SCOPE_LEN) ||
-             (scope->entry_type >= ACPI_DMAR_SCOPE_TYPE_RESERVED) )
+        if ( scope->length < MIN_SCOPE_LEN )
         {
             dprintk(XENLOG_WARNING VTDPREFIX, "Invalid device scope.\n");
             return -EINVAL;
@@ -367,6 +366,13 @@ static int __init acpi_parse_dev_scope(
             }
 
             break;
+
+        default:
+            if ( iommu_verbose )
+                printk(XENLOG_WARNING VTDPREFIX "Unknown scope type %#x\n",
+                       acpi_scope->entry_type);
+            start += acpi_scope->length;
+            continue;
         }
         scope->devices[didx++] = PCI_BDF(bus, path->dev, path->fn);
         start += acpi_scope->length;
diff --git a/xen/include/acpi/actbl2.h b/xen/include/acpi/actbl2.h
index a28226a..87bc6b3 100644
--- a/xen/include/acpi/actbl2.h
+++ b/xen/include/acpi/actbl2.h
@@ -303,7 +303,6 @@ enum acpi_dmar_scope_type {
 	ACPI_DMAR_SCOPE_TYPE_BRIDGE = 2,
 	ACPI_DMAR_SCOPE_TYPE_IOAPIC = 3,
 	ACPI_DMAR_SCOPE_TYPE_HPET = 4,
-	ACPI_DMAR_SCOPE_TYPE_RESERVED = 5	/* 5 and greater are reserved */
 };
 
 struct acpi_dmar_pci_path {
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.2

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Mon Aug 19 23:11:13 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Aug 2013 23:11:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBYbL-0005px-DP; Mon, 19 Aug 2013 23:11:07 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBYbJ-0005ps-KN
	for xen-changelog@lists.xensource.com; Mon, 19 Aug 2013 23:11:05 +0000
Received: from [193.109.254.147:22291] by server-12.bemta-14.messagelabs.com
	id EE/35-27329-806A2125; Mon, 19 Aug 2013 23:11:04 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1376953863!4862454!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13378 invoked from network); 19 Aug 2013 23:11:04 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-5.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	19 Aug 2013 23:11:04 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBYbH-00041i-1H
	for xen-changelog@lists.xensource.com; Mon, 19 Aug 2013 23:11:03 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBYbG-0003wy-Nt
	for xen-changelog@lists.xensource.com; Mon, 19 Aug 2013 23:11:02 +0000
Date: Mon, 19 Aug 2013 23:11:02 +0000
Message-Id: <E1VBYbG-0003wy-Nt@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.2] VTD: Remove the check for reserved
	device scope type
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 9990231d0d5abf48574f8ec3d2464e2e3da98891
Author:     Yang Zhang <yang.z.zhang@Intel.com>
AuthorDate: Thu Aug 15 09:14:11 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Aug 15 09:14:11 2013 +0200

    VTD: Remove the check for reserved device scope type
    
    Though we only have four valid types now, the new type may be added in future.
    It's better to remove the check and only deal with the type that we can
    recognize.
    
    Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com>
    Signed-off-by: Xiantao Zhang <xiantao.zhang@Intel.com>
    Acked-by: Keir Fraser <keir@xen.org>
    
    Add log message for this case.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    master commit: 749bc93f7a1ad47640cc7876d27641e98a08bf61
    master date: 2013-04-16 10:36:05 +0200
---
 xen/drivers/passthrough/vtd/dmar.c |   10 ++++++++--
 xen/include/acpi/actbl2.h          |    1 -
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/xen/drivers/passthrough/vtd/dmar.c b/xen/drivers/passthrough/vtd/dmar.c
index a88f46b..464c14a 100644
--- a/xen/drivers/passthrough/vtd/dmar.c
+++ b/xen/drivers/passthrough/vtd/dmar.c
@@ -255,8 +255,7 @@ static int __init scope_device_count(const void *start, const void *end)
     while ( start < end )
     {
         scope = start;
-        if ( (scope->length < MIN_SCOPE_LEN) ||
-             (scope->entry_type >= ACPI_DMAR_SCOPE_TYPE_RESERVED) )
+        if ( scope->length < MIN_SCOPE_LEN )
         {
             dprintk(XENLOG_WARNING VTDPREFIX, "Invalid device scope.\n");
             return -EINVAL;
@@ -367,6 +366,13 @@ static int __init acpi_parse_dev_scope(
             }
 
             break;
+
+        default:
+            if ( iommu_verbose )
+                printk(XENLOG_WARNING VTDPREFIX "Unknown scope type %#x\n",
+                       acpi_scope->entry_type);
+            start += acpi_scope->length;
+            continue;
         }
         scope->devices[didx++] = PCI_BDF(bus, path->dev, path->fn);
         start += acpi_scope->length;
diff --git a/xen/include/acpi/actbl2.h b/xen/include/acpi/actbl2.h
index a28226a..87bc6b3 100644
--- a/xen/include/acpi/actbl2.h
+++ b/xen/include/acpi/actbl2.h
@@ -303,7 +303,6 @@ enum acpi_dmar_scope_type {
 	ACPI_DMAR_SCOPE_TYPE_BRIDGE = 2,
 	ACPI_DMAR_SCOPE_TYPE_IOAPIC = 3,
 	ACPI_DMAR_SCOPE_TYPE_HPET = 4,
-	ACPI_DMAR_SCOPE_TYPE_RESERVED = 5	/* 5 and greater are reserved */
 };
 
 struct acpi_dmar_pci_path {
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.2

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Mon Aug 19 23:11:24 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Aug 2013 23:11:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBYbV-0005qb-GE; Mon, 19 Aug 2013 23:11:17 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBYbU-0005qT-0z
	for xen-changelog@lists.xensource.com; Mon, 19 Aug 2013 23:11:16 +0000
Received: from [193.109.254.147:10325] by server-12.bemta-14.messagelabs.com
	id A5/55-27329-316A2125; Mon, 19 Aug 2013 23:11:15 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1376953873!4855340!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18214 invoked from network); 19 Aug 2013 23:11:14 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-3.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	19 Aug 2013 23:11:14 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBYbR-00041l-GA
	for xen-changelog@lists.xensource.com; Mon, 19 Aug 2013 23:11:13 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBYbR-0003xT-6d
	for xen-changelog@lists.xensource.com; Mon, 19 Aug 2013 23:11:13 +0000
Date: Mon, 19 Aug 2013 23:11:13 +0000
Message-Id: <E1VBYbR-0003xT-6d@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.2] x86: explicit suffix in inline
	assembler (for clang).
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit fb7d38de1f6744092011ae169b12f5e31ba6a745
Author:     Tim Deegan <tim@xen.org>
AuthorDate: Fri Aug 16 12:07:40 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Fri Aug 16 12:07:40 2013 +0200

    x86: explicit suffix in inline assembler (for clang).
    
    This fixes the clang build, and has no effect on gcc's output.
    
    Signed-off-by: Tim Deegan <tim@xen.org>
    Committed-by: Jan Beulich <jbeulich@suse.com>
    
    master commit: 59a28b5f045331641cbf0c1fc8d5d67afe328939
    master date: 2013-02-14 14:20:06 +0100
    
    Note that this isn't just a build fix - if the "delta" input in the
    64-bit variant ends up in memory, gas would default to 32-bit operand
    size (and should really warn about the ambiguity).
    
    32-bit portion contributed by NetBSD folks.
---
 xen/arch/x86/time.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
index 7d29cd8..9187520 100644
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -131,10 +131,10 @@ static inline u64 scale_delta(u64 delta, struct time_scale *scale)
 
 #ifdef CONFIG_X86_32
     asm (
-        "mul  %5       ; "
+        "mull  %5       ; "
         "mov  %4,%%eax ; "
         "mov  %%edx,%4 ; "
-        "mul  %5       ; "
+        "mull  %5       ; "
         "xor  %5,%5    ; "
         "add  %4,%%eax ; "
         "adc  %5,%%edx ; "
@@ -142,7 +142,7 @@ static inline u64 scale_delta(u64 delta, struct time_scale *scale)
         : "a" ((u32)delta), "1" ((u32)(delta >> 32)), "2" (scale->mul_frac) );
 #else
     asm (
-        "mul %2 ; shrd $32,%1,%0"
+        "mulq %2 ; shrd $32,%1,%0"
         : "=a" (product), "=d" (delta)
         : "rm" (delta), "0" ((u64)scale->mul_frac) );
 #endif
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.2

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Mon Aug 19 23:11:24 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Aug 2013 23:11:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBYbV-0005qb-GE; Mon, 19 Aug 2013 23:11:17 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBYbU-0005qT-0z
	for xen-changelog@lists.xensource.com; Mon, 19 Aug 2013 23:11:16 +0000
Received: from [193.109.254.147:10325] by server-12.bemta-14.messagelabs.com
	id A5/55-27329-316A2125; Mon, 19 Aug 2013 23:11:15 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-27.messagelabs.com!1376953873!4855340!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18214 invoked from network); 19 Aug 2013 23:11:14 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-3.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	19 Aug 2013 23:11:14 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBYbR-00041l-GA
	for xen-changelog@lists.xensource.com; Mon, 19 Aug 2013 23:11:13 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBYbR-0003xT-6d
	for xen-changelog@lists.xensource.com; Mon, 19 Aug 2013 23:11:13 +0000
Date: Mon, 19 Aug 2013 23:11:13 +0000
Message-Id: <E1VBYbR-0003xT-6d@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.2] x86: explicit suffix in inline
	assembler (for clang).
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit fb7d38de1f6744092011ae169b12f5e31ba6a745
Author:     Tim Deegan <tim@xen.org>
AuthorDate: Fri Aug 16 12:07:40 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Fri Aug 16 12:07:40 2013 +0200

    x86: explicit suffix in inline assembler (for clang).
    
    This fixes the clang build, and has no effect on gcc's output.
    
    Signed-off-by: Tim Deegan <tim@xen.org>
    Committed-by: Jan Beulich <jbeulich@suse.com>
    
    master commit: 59a28b5f045331641cbf0c1fc8d5d67afe328939
    master date: 2013-02-14 14:20:06 +0100
    
    Note that this isn't just a build fix - if the "delta" input in the
    64-bit variant ends up in memory, gas would default to 32-bit operand
    size (and should really warn about the ambiguity).
    
    32-bit portion contributed by NetBSD folks.
---
 xen/arch/x86/time.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
index 7d29cd8..9187520 100644
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -131,10 +131,10 @@ static inline u64 scale_delta(u64 delta, struct time_scale *scale)
 
 #ifdef CONFIG_X86_32
     asm (
-        "mul  %5       ; "
+        "mull  %5       ; "
         "mov  %4,%%eax ; "
         "mov  %%edx,%4 ; "
-        "mul  %5       ; "
+        "mull  %5       ; "
         "xor  %5,%5    ; "
         "add  %4,%%eax ; "
         "adc  %5,%%edx ; "
@@ -142,7 +142,7 @@ static inline u64 scale_delta(u64 delta, struct time_scale *scale)
         : "a" ((u32)delta), "1" ((u32)(delta >> 32)), "2" (scale->mul_frac) );
 #else
     asm (
-        "mul %2 ; shrd $32,%1,%0"
+        "mulq %2 ; shrd $32,%1,%0"
         : "=a" (product), "=d" (delta)
         : "rm" (delta), "0" ((u64)scale->mul_frac) );
 #endif
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.2

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 20 03:11:14 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Aug 2013 03:11:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBcLc-0003Nf-CC; Tue, 20 Aug 2013 03:11:08 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcLb-0003NU-2K
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:11:07 +0000
Received: from [85.158.139.211:33106] by server-6.bemta-5.messagelabs.com id
	E1/90-05559-A4ED2125; Tue, 20 Aug 2013 03:11:06 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-206.messagelabs.com!1376968264!3267137!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2926 invoked from network); 20 Aug 2013 03:11:05 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-6.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	20 Aug 2013 03:11:05 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcLY-0005I2-5Z
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:11:04 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcLX-0002ce-Lr
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:11:03 +0000
Date: Tue, 20 Aug 2013 03:11:03 +0000
Message-Id: <E1VBcLX-0002ce-Lr@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] VT-d: protect against bogus
	information coming from BIOS
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit e8e8b030ecf916fea19639f0b6a446c1c9dbe174
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Aug 14 11:18:24 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Aug 14 11:18:24 2013 +0200

    VT-d: protect against bogus information coming from BIOS
    
    Add checks similar to those done by Linux: The DRHD address must not
    be all zeros or all ones (Linux only checks for zero), and capabilities
    as well as extended capabilities must not be all ones.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Ben Guthro <benjamin.guthro@citrix.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Tested-by: Ben Guthro <benjamin.guthro@citrix.com>
    Acked by: Yang Zhang <yang.z.zhang@intel.com>
    Acked-by: Xiantao Zhang <xiantao.zhang@intel.com>
---
 xen/drivers/passthrough/vtd/dmar.c  |    3 +++
 xen/drivers/passthrough/vtd/iommu.c |    3 +++
 2 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/xen/drivers/passthrough/vtd/dmar.c b/xen/drivers/passthrough/vtd/dmar.c
index c810dbc..8e162ff 100644
--- a/xen/drivers/passthrough/vtd/dmar.c
+++ b/xen/drivers/passthrough/vtd/dmar.c
@@ -447,6 +447,9 @@ acpi_parse_one_drhd(struct acpi_dmar_header *header)
     if ( (ret = acpi_dmar_check_length(header, sizeof(*drhd))) != 0 )
         return ret;
 
+    if ( !drhd->address || !(drhd->address + 1) )
+        return -ENODEV;
+
     dmaru = xzalloc(struct acpi_drhd_unit);
     if ( !dmaru )
         return -ENOMEM;
diff --git a/xen/drivers/passthrough/vtd/iommu.c b/xen/drivers/passthrough/vtd/iommu.c
index ddf713b..fd3abcb 100644
--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
@@ -1160,6 +1160,9 @@ int __init iommu_alloc(struct acpi_drhd_unit *drhd)
         dprintk(VTDPREFIX,
                 "cap = %"PRIx64" ecap = %"PRIx64"\n", iommu->cap, iommu->ecap);
     }
+    if ( !(iommu->cap + 1) || !(iommu->ecap + 1) )
+        return -ENODEV;
+
     if ( cap_fault_reg_offset(iommu->cap) +
          cap_num_fault_regs(iommu->cap) * PRIMARY_FAULT_REG_LEN >= PAGE_SIZE ||
          ecap_iotlb_offset(iommu->ecap) >= PAGE_SIZE )
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 20 03:11:14 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Aug 2013 03:11:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBcLc-0003Nf-CC; Tue, 20 Aug 2013 03:11:08 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcLb-0003NU-2K
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:11:07 +0000
Received: from [85.158.139.211:33106] by server-6.bemta-5.messagelabs.com id
	E1/90-05559-A4ED2125; Tue, 20 Aug 2013 03:11:06 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-206.messagelabs.com!1376968264!3267137!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2926 invoked from network); 20 Aug 2013 03:11:05 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-6.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	20 Aug 2013 03:11:05 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcLY-0005I2-5Z
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:11:04 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcLX-0002ce-Lr
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:11:03 +0000
Date: Tue, 20 Aug 2013 03:11:03 +0000
Message-Id: <E1VBcLX-0002ce-Lr@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] VT-d: protect against bogus
	information coming from BIOS
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit e8e8b030ecf916fea19639f0b6a446c1c9dbe174
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Aug 14 11:18:24 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Aug 14 11:18:24 2013 +0200

    VT-d: protect against bogus information coming from BIOS
    
    Add checks similar to those done by Linux: The DRHD address must not
    be all zeros or all ones (Linux only checks for zero), and capabilities
    as well as extended capabilities must not be all ones.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Ben Guthro <benjamin.guthro@citrix.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Tested-by: Ben Guthro <benjamin.guthro@citrix.com>
    Acked by: Yang Zhang <yang.z.zhang@intel.com>
    Acked-by: Xiantao Zhang <xiantao.zhang@intel.com>
---
 xen/drivers/passthrough/vtd/dmar.c  |    3 +++
 xen/drivers/passthrough/vtd/iommu.c |    3 +++
 2 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/xen/drivers/passthrough/vtd/dmar.c b/xen/drivers/passthrough/vtd/dmar.c
index c810dbc..8e162ff 100644
--- a/xen/drivers/passthrough/vtd/dmar.c
+++ b/xen/drivers/passthrough/vtd/dmar.c
@@ -447,6 +447,9 @@ acpi_parse_one_drhd(struct acpi_dmar_header *header)
     if ( (ret = acpi_dmar_check_length(header, sizeof(*drhd))) != 0 )
         return ret;
 
+    if ( !drhd->address || !(drhd->address + 1) )
+        return -ENODEV;
+
     dmaru = xzalloc(struct acpi_drhd_unit);
     if ( !dmaru )
         return -ENOMEM;
diff --git a/xen/drivers/passthrough/vtd/iommu.c b/xen/drivers/passthrough/vtd/iommu.c
index ddf713b..fd3abcb 100644
--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
@@ -1160,6 +1160,9 @@ int __init iommu_alloc(struct acpi_drhd_unit *drhd)
         dprintk(VTDPREFIX,
                 "cap = %"PRIx64" ecap = %"PRIx64"\n", iommu->cap, iommu->ecap);
     }
+    if ( !(iommu->cap + 1) || !(iommu->ecap + 1) )
+        return -ENODEV;
+
     if ( cap_fault_reg_offset(iommu->cap) +
          cap_num_fault_regs(iommu->cap) * PRIMARY_FAULT_REG_LEN >= PAGE_SIZE ||
          ecap_iotlb_offset(iommu->ecap) >= PAGE_SIZE )
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 20 03:11:23 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Aug 2013 03:11:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBcLm-0003OY-F7; Tue, 20 Aug 2013 03:11:18 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcLl-0003OL-7p
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:11:17 +0000
Received: from [85.158.139.211:60056] by server-14.bemta-5.messagelabs.com id
	F3/B8-12040-45ED2125; Tue, 20 Aug 2013 03:11:16 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-206.messagelabs.com!1376968274!3258192!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23876 invoked from network); 20 Aug 2013 03:11:15 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-9.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	20 Aug 2013 03:11:15 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcLi-0005I5-GI
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:11:14 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcLi-0002d2-9F
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:11:14 +0000
Date: Tue, 20 Aug 2013 03:11:14 +0000
Message-Id: <E1VBcLi-0002d2-9F@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] x86: use "R" constraint for
	fxsaveq/fxrstorq enforcement
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 78742c233c664cac6cac8405c154f82239ab6995
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Aug 14 11:19:45 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Aug 14 11:19:45 2013 +0200

    x86: use "R" constraint for fxsaveq/fxrstorq enforcement
    
    I became aware of this constraint's (referring to all legacy registers
    in one go) existence by (accidentally) noticing Linux commit 82024135
    ("x86-64, fpu: Simplify constraints for fxsave/fxtstor").
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
---
 xen/arch/x86/i387.c |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/xen/arch/x86/i387.c b/xen/arch/x86/i387.c
index bd162a8..1230a52 100644
--- a/xen/arch/x86/i387.c
+++ b/xen/arch/x86/i387.c
@@ -96,8 +96,7 @@ static inline void fpu_fxrstor(struct vcpu *v)
             ".previous                \n"
             _ASM_EXTABLE(1b, 2b)
             :
-            : "m" (*fpu_ctxt), "i" (sizeof(*fpu_ctxt) / 4),
-              "cdaSDb" (fpu_ctxt) );
+            : "m" (*fpu_ctxt), "i" (sizeof(*fpu_ctxt) / 4), "R" (fpu_ctxt) );
         break;
     case 4: case 2:
         asm volatile (
@@ -162,7 +161,7 @@ static inline void fpu_fxsave(struct vcpu *v)
          * addressing mode that doesn't require extended registers.
          */
         asm volatile ( REX64_PREFIX "fxsave (%1)"
-                       : "=m" (*fpu_ctxt) : "cdaSDb" (fpu_ctxt) );
+                       : "=m" (*fpu_ctxt) : "R" (fpu_ctxt) );
 
         /*
          * AMD CPUs don't save/restore FDP/FIP/FOP unless an exception
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 20 03:11:23 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Aug 2013 03:11:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBcLm-0003OY-F7; Tue, 20 Aug 2013 03:11:18 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcLl-0003OL-7p
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:11:17 +0000
Received: from [85.158.139.211:60056] by server-14.bemta-5.messagelabs.com id
	F3/B8-12040-45ED2125; Tue, 20 Aug 2013 03:11:16 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-206.messagelabs.com!1376968274!3258192!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23876 invoked from network); 20 Aug 2013 03:11:15 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-9.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	20 Aug 2013 03:11:15 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcLi-0005I5-GI
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:11:14 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcLi-0002d2-9F
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:11:14 +0000
Date: Tue, 20 Aug 2013 03:11:14 +0000
Message-Id: <E1VBcLi-0002d2-9F@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] x86: use "R" constraint for
	fxsaveq/fxrstorq enforcement
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 78742c233c664cac6cac8405c154f82239ab6995
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Aug 14 11:19:45 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Aug 14 11:19:45 2013 +0200

    x86: use "R" constraint for fxsaveq/fxrstorq enforcement
    
    I became aware of this constraint's (referring to all legacy registers
    in one go) existence by (accidentally) noticing Linux commit 82024135
    ("x86-64, fpu: Simplify constraints for fxsave/fxtstor").
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
---
 xen/arch/x86/i387.c |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/xen/arch/x86/i387.c b/xen/arch/x86/i387.c
index bd162a8..1230a52 100644
--- a/xen/arch/x86/i387.c
+++ b/xen/arch/x86/i387.c
@@ -96,8 +96,7 @@ static inline void fpu_fxrstor(struct vcpu *v)
             ".previous                \n"
             _ASM_EXTABLE(1b, 2b)
             :
-            : "m" (*fpu_ctxt), "i" (sizeof(*fpu_ctxt) / 4),
-              "cdaSDb" (fpu_ctxt) );
+            : "m" (*fpu_ctxt), "i" (sizeof(*fpu_ctxt) / 4), "R" (fpu_ctxt) );
         break;
     case 4: case 2:
         asm volatile (
@@ -162,7 +161,7 @@ static inline void fpu_fxsave(struct vcpu *v)
          * addressing mode that doesn't require extended registers.
          */
         asm volatile ( REX64_PREFIX "fxsave (%1)"
-                       : "=m" (*fpu_ctxt) : "cdaSDb" (fpu_ctxt) );
+                       : "=m" (*fpu_ctxt) : "R" (fpu_ctxt) );
 
         /*
          * AMD CPUs don't save/restore FDP/FIP/FOP unless an exception
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 20 03:11:34 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Aug 2013 03:11:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBcLw-0003Pc-I7; Tue, 20 Aug 2013 03:11:28 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcLv-0003PN-DG
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:11:27 +0000
Received: from [193.109.254.147:38066] by server-10.bemta-14.messagelabs.com
	id F3/1E-26557-E5ED2125; Tue, 20 Aug 2013 03:11:26 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1376968285!4881473!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19395 invoked from network); 20 Aug 2013 03:11:26 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-5.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	20 Aug 2013 03:11:26 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcLs-0005IF-PI
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:11:24 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcLs-0002dO-Kc
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:11:24 +0000
Date: Tue, 20 Aug 2013 03:11:24 +0000
Message-Id: <E1VBcLs-0002dO-Kc@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] x86/MTRR: fix range check in
	mtrr_add_page()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit f67af6d5803b6a015e30cb490a94f9547cb0437c
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Aug 14 11:20:26 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Aug 14 11:20:26 2013 +0200

    x86/MTRR: fix range check in mtrr_add_page()
    
    Extracted from Yinghai Lu's Linux commit d5c78673 ("x86: Fix /proc/mtrr
    with base/size more than 44bits").
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
---
 xen/arch/x86/cpu/mtrr/main.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/xen/arch/x86/cpu/mtrr/main.c b/xen/arch/x86/cpu/mtrr/main.c
index a201d72..f7fc0a6 100644
--- a/xen/arch/x86/cpu/mtrr/main.c
+++ b/xen/arch/x86/cpu/mtrr/main.c
@@ -340,7 +340,7 @@ int mtrr_add_page(unsigned long base, unsigned long size,
 		return -EINVAL;
 	}
 
-	if (base & size_or_mask || size & size_or_mask) {
+	if ((base | (base + size - 1)) >> (paddr_bits - PAGE_SHIFT)) {
 		printk(KERN_WARNING "mtrr: base or size exceeds the MTRR width\n");
 		return -EINVAL;
 	}
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 20 03:11:34 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Aug 2013 03:11:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBcLw-0003Pc-I7; Tue, 20 Aug 2013 03:11:28 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcLv-0003PN-DG
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:11:27 +0000
Received: from [193.109.254.147:38066] by server-10.bemta-14.messagelabs.com
	id F3/1E-26557-E5ED2125; Tue, 20 Aug 2013 03:11:26 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1376968285!4881473!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19395 invoked from network); 20 Aug 2013 03:11:26 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-5.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	20 Aug 2013 03:11:26 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcLs-0005IF-PI
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:11:24 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcLs-0002dO-Kc
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:11:24 +0000
Date: Tue, 20 Aug 2013 03:11:24 +0000
Message-Id: <E1VBcLs-0002dO-Kc@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] x86/MTRR: fix range check in
	mtrr_add_page()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit f67af6d5803b6a015e30cb490a94f9547cb0437c
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Aug 14 11:20:26 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Aug 14 11:20:26 2013 +0200

    x86/MTRR: fix range check in mtrr_add_page()
    
    Extracted from Yinghai Lu's Linux commit d5c78673 ("x86: Fix /proc/mtrr
    with base/size more than 44bits").
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
---
 xen/arch/x86/cpu/mtrr/main.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/xen/arch/x86/cpu/mtrr/main.c b/xen/arch/x86/cpu/mtrr/main.c
index a201d72..f7fc0a6 100644
--- a/xen/arch/x86/cpu/mtrr/main.c
+++ b/xen/arch/x86/cpu/mtrr/main.c
@@ -340,7 +340,7 @@ int mtrr_add_page(unsigned long base, unsigned long size,
 		return -EINVAL;
 	}
 
-	if (base & size_or_mask || size & size_or_mask) {
+	if ((base | (base + size - 1)) >> (paddr_bits - PAGE_SHIFT)) {
 		printk(KERN_WARNING "mtrr: base or size exceeds the MTRR width\n");
 		return -EINVAL;
 	}
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 20 03:11:43 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Aug 2013 03:11:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBcM7-0003Qr-L8; Tue, 20 Aug 2013 03:11:39 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcM5-0003Qb-Qh
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:11:37 +0000
Received: from [85.158.137.68:38538] by server-16.bemta-3.messagelabs.com id
	D8/FF-30005-86ED2125; Tue, 20 Aug 2013 03:11:36 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-31.messagelabs.com!1376968295!2490547!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9541 invoked from network); 20 Aug 2013 03:11:36 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-6.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	20 Aug 2013 03:11:36 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcM2-0005IN-V2
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:11:34 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcM2-0002do-Tu
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:11:34 +0000
Date: Tue, 20 Aug 2013 03:11:34 +0000
Message-Id: <E1VBcM2-0002do-Tu@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] x86/time: fix check for negative time
	in __update_vcpu_system_time()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit ab7f9a793c78dfea81c037b34b0dd2db7070d8f8
Author:     Tim Deegan <tim@xen.org>
AuthorDate: Thu Aug 15 13:17:10 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Aug 15 13:17:10 2013 +0200

    x86/time: fix check for negative time in __update_vcpu_system_time()
    
    Clang points out that u64 stime variable is always >= 0.
    
    Signed-off-by: Tim Deegan <tim@xen.org>
---
 xen/arch/x86/time.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
index f047cb3..c31029c 100644
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -817,7 +817,8 @@ static void __update_vcpu_system_time(struct vcpu *v, int force)
 
     if ( d->arch.vtsc )
     {
-        u64 stime = t->stime_local_stamp;
+        s_time_t stime = t->stime_local_stamp;
+
         if ( is_hvm_domain(d) )
         {
             struct pl_time *pl = &v->domain->arch.hvm_domain.pl_time;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 20 03:11:43 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Aug 2013 03:11:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBcM7-0003Qr-L8; Tue, 20 Aug 2013 03:11:39 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcM5-0003Qb-Qh
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:11:37 +0000
Received: from [85.158.137.68:38538] by server-16.bemta-3.messagelabs.com id
	D8/FF-30005-86ED2125; Tue, 20 Aug 2013 03:11:36 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-31.messagelabs.com!1376968295!2490547!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9541 invoked from network); 20 Aug 2013 03:11:36 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-6.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	20 Aug 2013 03:11:36 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcM2-0005IN-V2
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:11:34 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcM2-0002do-Tu
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:11:34 +0000
Date: Tue, 20 Aug 2013 03:11:34 +0000
Message-Id: <E1VBcM2-0002do-Tu@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] x86/time: fix check for negative time
	in __update_vcpu_system_time()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit ab7f9a793c78dfea81c037b34b0dd2db7070d8f8
Author:     Tim Deegan <tim@xen.org>
AuthorDate: Thu Aug 15 13:17:10 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Aug 15 13:17:10 2013 +0200

    x86/time: fix check for negative time in __update_vcpu_system_time()
    
    Clang points out that u64 stime variable is always >= 0.
    
    Signed-off-by: Tim Deegan <tim@xen.org>
---
 xen/arch/x86/time.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
index f047cb3..c31029c 100644
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -817,7 +817,8 @@ static void __update_vcpu_system_time(struct vcpu *v, int force)
 
     if ( d->arch.vtsc )
     {
-        u64 stime = t->stime_local_stamp;
+        s_time_t stime = t->stime_local_stamp;
+
         if ( is_hvm_domain(d) )
         {
             struct pl_time *pl = &v->domain->arch.hvm_domain.pl_time;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 20 03:11:55 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Aug 2013 03:11:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBcMG-0003Sf-O8; Tue, 20 Aug 2013 03:11:48 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcMF-0003SO-LV
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:11:47 +0000
Received: from [85.158.139.211:38202] by server-3.bemta-5.messagelabs.com id
	87/18-19273-27ED2125; Tue, 20 Aug 2013 03:11:46 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-206.messagelabs.com!1376968305!3270618!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16207 invoked from network); 20 Aug 2013 03:11:46 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-14.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	20 Aug 2013 03:11:46 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcMD-0005IU-3d
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:11:45 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcMD-0002eA-26
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:11:45 +0000
Date: Tue, 20 Aug 2013 03:11:45 +0000
Message-Id: <E1VBcMD-0002eA-26@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen: move some arch CFLAGS into the
	common Rules.mk.
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit f5a54e9235a72b6f371c522d16ca2e74c25896cf
Author:     Tim Deegan <tim@xen.org>
AuthorDate: Thu Aug 15 11:20:48 2013 +0100
Commit:     Tim Deegan <tim@xen.org>
CommitDate: Thu Aug 15 16:38:41 2013 +0100

    xen: move some arch CFLAGS into the common Rules.mk.
    
    These are the same on all current architectures, so move them
    into xen/Rules.mk.  Lay them out a little more neatly too.
    
    Signed-off-by: Tim Deegan <tim@xen.org>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
---
 xen/Rules.mk          |    4 ++++
 xen/arch/arm/Rules.mk |    2 --
 xen/arch/x86/Rules.mk |    2 --
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/xen/Rules.mk b/xen/Rules.mk
index 26e5bb6..c432ad6 100644
--- a/xen/Rules.mk
+++ b/xen/Rules.mk
@@ -41,6 +41,10 @@ ALL_OBJS-y               += $(BASEDIR)/xsm/built_in.o
 ALL_OBJS-y               += $(BASEDIR)/arch/$(TARGET_ARCH)/built_in.o
 ALL_OBJS-$(x86)          += $(BASEDIR)/crypto/built_in.o
 
+CFLAGS-y                += -fno-builtin -fno-common
+CFLAGS-y                += -Werror -Wredundant-decls -Wno-pointer-arith
+CFLAGS-y                += -pipe
+CFLAGS-y                += -iwithprefix include
 CFLAGS-y                += -g -D__XEN__ -include $(BASEDIR)/include/xen/config.h
 CFLAGS-$(XSM_ENABLE)    += -DXSM_ENABLE
 CFLAGS-$(FLASK_ENABLE)  += -DFLASK_ENABLE -DXSM_MAGIC=0xf97cff8c
diff --git a/xen/arch/arm/Rules.mk b/xen/arch/arm/Rules.mk
index a18e7fd..d80dfce 100644
--- a/xen/arch/arm/Rules.mk
+++ b/xen/arch/arm/Rules.mk
@@ -10,8 +10,6 @@ HAS_DEVICE_TREE := y
 HAS_VIDEO := y
 HAS_ARM_HDLCD := y
 
-CFLAGS += -fno-builtin -fno-common -Wredundant-decls
-CFLAGS += -iwithprefix include -Werror -Wno-pointer-arith -pipe
 CFLAGS += -I$(BASEDIR)/include
 
 $(call cc-options-add,CFLAGS,CC,$(EMBEDDED_EXTRA_CFLAGS))
diff --git a/xen/arch/x86/Rules.mk b/xen/arch/x86/Rules.mk
index 0a9d68d..f629dff 100644
--- a/xen/arch/x86/Rules.mk
+++ b/xen/arch/x86/Rules.mk
@@ -25,8 +25,6 @@ ifneq ($(XEN_OS),SunOS)
 CFLAGS-$(gcc) += -nostdinc
 endif
 
-CFLAGS += -fno-builtin -fno-common -Wredundant-decls
-CFLAGS += -iwithprefix include -Werror -Wno-pointer-arith -pipe
 CFLAGS += -I$(BASEDIR)/include 
 CFLAGS += -I$(BASEDIR)/include/asm-x86/mach-generic
 CFLAGS += -I$(BASEDIR)/include/asm-x86/mach-default
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 20 03:11:55 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Aug 2013 03:11:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBcMG-0003Sf-O8; Tue, 20 Aug 2013 03:11:48 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcMF-0003SO-LV
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:11:47 +0000
Received: from [85.158.139.211:38202] by server-3.bemta-5.messagelabs.com id
	87/18-19273-27ED2125; Tue, 20 Aug 2013 03:11:46 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-206.messagelabs.com!1376968305!3270618!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16207 invoked from network); 20 Aug 2013 03:11:46 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-14.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	20 Aug 2013 03:11:46 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcMD-0005IU-3d
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:11:45 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcMD-0002eA-26
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:11:45 +0000
Date: Tue, 20 Aug 2013 03:11:45 +0000
Message-Id: <E1VBcMD-0002eA-26@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen: move some arch CFLAGS into the
	common Rules.mk.
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit f5a54e9235a72b6f371c522d16ca2e74c25896cf
Author:     Tim Deegan <tim@xen.org>
AuthorDate: Thu Aug 15 11:20:48 2013 +0100
Commit:     Tim Deegan <tim@xen.org>
CommitDate: Thu Aug 15 16:38:41 2013 +0100

    xen: move some arch CFLAGS into the common Rules.mk.
    
    These are the same on all current architectures, so move them
    into xen/Rules.mk.  Lay them out a little more neatly too.
    
    Signed-off-by: Tim Deegan <tim@xen.org>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
---
 xen/Rules.mk          |    4 ++++
 xen/arch/arm/Rules.mk |    2 --
 xen/arch/x86/Rules.mk |    2 --
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/xen/Rules.mk b/xen/Rules.mk
index 26e5bb6..c432ad6 100644
--- a/xen/Rules.mk
+++ b/xen/Rules.mk
@@ -41,6 +41,10 @@ ALL_OBJS-y               += $(BASEDIR)/xsm/built_in.o
 ALL_OBJS-y               += $(BASEDIR)/arch/$(TARGET_ARCH)/built_in.o
 ALL_OBJS-$(x86)          += $(BASEDIR)/crypto/built_in.o
 
+CFLAGS-y                += -fno-builtin -fno-common
+CFLAGS-y                += -Werror -Wredundant-decls -Wno-pointer-arith
+CFLAGS-y                += -pipe
+CFLAGS-y                += -iwithprefix include
 CFLAGS-y                += -g -D__XEN__ -include $(BASEDIR)/include/xen/config.h
 CFLAGS-$(XSM_ENABLE)    += -DXSM_ENABLE
 CFLAGS-$(FLASK_ENABLE)  += -DFLASK_ENABLE -DXSM_MAGIC=0xf97cff8c
diff --git a/xen/arch/arm/Rules.mk b/xen/arch/arm/Rules.mk
index a18e7fd..d80dfce 100644
--- a/xen/arch/arm/Rules.mk
+++ b/xen/arch/arm/Rules.mk
@@ -10,8 +10,6 @@ HAS_DEVICE_TREE := y
 HAS_VIDEO := y
 HAS_ARM_HDLCD := y
 
-CFLAGS += -fno-builtin -fno-common -Wredundant-decls
-CFLAGS += -iwithprefix include -Werror -Wno-pointer-arith -pipe
 CFLAGS += -I$(BASEDIR)/include
 
 $(call cc-options-add,CFLAGS,CC,$(EMBEDDED_EXTRA_CFLAGS))
diff --git a/xen/arch/x86/Rules.mk b/xen/arch/x86/Rules.mk
index 0a9d68d..f629dff 100644
--- a/xen/arch/x86/Rules.mk
+++ b/xen/arch/x86/Rules.mk
@@ -25,8 +25,6 @@ ifneq ($(XEN_OS),SunOS)
 CFLAGS-$(gcc) += -nostdinc
 endif
 
-CFLAGS += -fno-builtin -fno-common -Wredundant-decls
-CFLAGS += -iwithprefix include -Werror -Wno-pointer-arith -pipe
 CFLAGS += -I$(BASEDIR)/include 
 CFLAGS += -I$(BASEDIR)/include/asm-x86/mach-generic
 CFLAGS += -I$(BASEDIR)/include/asm-x86/mach-default
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 20 03:12:01 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Aug 2013 03:12:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBcMR-0003UI-RJ; Tue, 20 Aug 2013 03:11:59 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcMP-0003Ty-Rt
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:11:58 +0000
Received: from [85.158.139.211:38435] by server-5.bemta-5.messagelabs.com id
	7C/B4-29992-D7ED2125; Tue, 20 Aug 2013 03:11:57 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-206.messagelabs.com!1376968315!3263877!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22617 invoked from network); 20 Aug 2013 03:11:56 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-7.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	20 Aug 2013 03:11:56 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcMN-0005Ic-8i
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:11:55 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcMN-0002f2-78
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:11:55 +0000
Date: Tue, 20 Aug 2013 03:11:55 +0000
Message-Id: <E1VBcMN-0002f2-78@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen: move -nostdinc into common
	Rules.mk.
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 06a9c7e1928da40370d03515c68410a58989c274
Author:     Tim Deegan <tim@xen.org>
AuthorDate: Thu Aug 15 11:57:52 2013 +0100
Commit:     Tim Deegan <tim@xen.org>
CommitDate: Thu Aug 15 16:38:52 2013 +0100

    xen: move -nostdinc into common Rules.mk.
    
    Previously we didn't use it at all the on ARM ports or for clang builds.
    
    For ARM, I think this is just an oversight.
    
    For clang, this used not to work, because '-withprefix include' didn't
    let us see stdarg.h, but that's fixed in clang v3.0.
    
    Also move the '-withprefix include' to beside -nostdinc as it's only
    needed with -nostdinc anyway.
    
    Signed-off-by: Tim Deegan <tim@xen.org>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
---
 xen/Rules.mk          |    6 +++++-
 xen/arch/x86/Rules.mk |    6 ------
 2 files changed, 5 insertions(+), 7 deletions(-)

diff --git a/xen/Rules.mk b/xen/Rules.mk
index c432ad6..bbfc1ac 100644
--- a/xen/Rules.mk
+++ b/xen/Rules.mk
@@ -44,8 +44,12 @@ ALL_OBJS-$(x86)          += $(BASEDIR)/crypto/built_in.o
 CFLAGS-y                += -fno-builtin -fno-common
 CFLAGS-y                += -Werror -Wredundant-decls -Wno-pointer-arith
 CFLAGS-y                += -pipe
-CFLAGS-y                += -iwithprefix include
 CFLAGS-y                += -g -D__XEN__ -include $(BASEDIR)/include/xen/config.h
+# Solaris puts stdarg.h &c in the system include directory.
+ifneq ($(XEN_OS),SunOS)
+CFLAGS-y                += -nostdinc -iwithprefix include
+endif
+
 CFLAGS-$(XSM_ENABLE)    += -DXSM_ENABLE
 CFLAGS-$(FLASK_ENABLE)  += -DFLASK_ENABLE -DXSM_MAGIC=0xf97cff8c
 CFLAGS-$(FLASK_ENABLE)  += -DFLASK_DEVELOP -DFLASK_BOOTPARAM -DFLASK_AVC_STATS
diff --git a/xen/arch/x86/Rules.mk b/xen/arch/x86/Rules.mk
index f629dff..04c1a90 100644
--- a/xen/arch/x86/Rules.mk
+++ b/xen/arch/x86/Rules.mk
@@ -19,12 +19,6 @@ xenoprof := y
 #
 supervisor_mode_kernel ?= n
 
-# Solaris grabs stdarg.h and friends from the system include directory.
-# Clang likewise.
-ifneq ($(XEN_OS),SunOS)
-CFLAGS-$(gcc) += -nostdinc
-endif
-
 CFLAGS += -I$(BASEDIR)/include 
 CFLAGS += -I$(BASEDIR)/include/asm-x86/mach-generic
 CFLAGS += -I$(BASEDIR)/include/asm-x86/mach-default
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 20 03:12:01 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Aug 2013 03:12:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBcMR-0003UI-RJ; Tue, 20 Aug 2013 03:11:59 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcMP-0003Ty-Rt
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:11:58 +0000
Received: from [85.158.139.211:38435] by server-5.bemta-5.messagelabs.com id
	7C/B4-29992-D7ED2125; Tue, 20 Aug 2013 03:11:57 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-206.messagelabs.com!1376968315!3263877!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22617 invoked from network); 20 Aug 2013 03:11:56 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-7.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	20 Aug 2013 03:11:56 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcMN-0005Ic-8i
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:11:55 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcMN-0002f2-78
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:11:55 +0000
Date: Tue, 20 Aug 2013 03:11:55 +0000
Message-Id: <E1VBcMN-0002f2-78@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen: move -nostdinc into common
	Rules.mk.
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 06a9c7e1928da40370d03515c68410a58989c274
Author:     Tim Deegan <tim@xen.org>
AuthorDate: Thu Aug 15 11:57:52 2013 +0100
Commit:     Tim Deegan <tim@xen.org>
CommitDate: Thu Aug 15 16:38:52 2013 +0100

    xen: move -nostdinc into common Rules.mk.
    
    Previously we didn't use it at all the on ARM ports or for clang builds.
    
    For ARM, I think this is just an oversight.
    
    For clang, this used not to work, because '-withprefix include' didn't
    let us see stdarg.h, but that's fixed in clang v3.0.
    
    Also move the '-withprefix include' to beside -nostdinc as it's only
    needed with -nostdinc anyway.
    
    Signed-off-by: Tim Deegan <tim@xen.org>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
---
 xen/Rules.mk          |    6 +++++-
 xen/arch/x86/Rules.mk |    6 ------
 2 files changed, 5 insertions(+), 7 deletions(-)

diff --git a/xen/Rules.mk b/xen/Rules.mk
index c432ad6..bbfc1ac 100644
--- a/xen/Rules.mk
+++ b/xen/Rules.mk
@@ -44,8 +44,12 @@ ALL_OBJS-$(x86)          += $(BASEDIR)/crypto/built_in.o
 CFLAGS-y                += -fno-builtin -fno-common
 CFLAGS-y                += -Werror -Wredundant-decls -Wno-pointer-arith
 CFLAGS-y                += -pipe
-CFLAGS-y                += -iwithprefix include
 CFLAGS-y                += -g -D__XEN__ -include $(BASEDIR)/include/xen/config.h
+# Solaris puts stdarg.h &c in the system include directory.
+ifneq ($(XEN_OS),SunOS)
+CFLAGS-y                += -nostdinc -iwithprefix include
+endif
+
 CFLAGS-$(XSM_ENABLE)    += -DXSM_ENABLE
 CFLAGS-$(FLASK_ENABLE)  += -DFLASK_ENABLE -DXSM_MAGIC=0xf97cff8c
 CFLAGS-$(FLASK_ENABLE)  += -DFLASK_DEVELOP -DFLASK_BOOTPARAM -DFLASK_AVC_STATS
diff --git a/xen/arch/x86/Rules.mk b/xen/arch/x86/Rules.mk
index f629dff..04c1a90 100644
--- a/xen/arch/x86/Rules.mk
+++ b/xen/arch/x86/Rules.mk
@@ -19,12 +19,6 @@ xenoprof := y
 #
 supervisor_mode_kernel ?= n
 
-# Solaris grabs stdarg.h and friends from the system include directory.
-# Clang likewise.
-ifneq ($(XEN_OS),SunOS)
-CFLAGS-$(gcc) += -nostdinc
-endif
-
 CFLAGS += -I$(BASEDIR)/include 
 CFLAGS += -I$(BASEDIR)/include/asm-x86/mach-generic
 CFLAGS += -I$(BASEDIR)/include/asm-x86/mach-default
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 20 03:12:11 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Aug 2013 03:12:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBcMc-0003WO-14; Tue, 20 Aug 2013 03:12:10 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcMa-0003Vy-8p
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:12:08 +0000
Received: from [85.158.137.68:11889] by server-15.bemta-3.messagelabs.com id
	3B/3E-21409-78ED2125; Tue, 20 Aug 2013 03:12:07 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-31.messagelabs.com!1376968325!2637697!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23582 invoked from network); 20 Aug 2013 03:12:06 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-14.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	20 Aug 2013 03:12:06 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcMX-0005JB-E2
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:12:05 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcMX-0002fY-C4
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:12:05 +0000
Date: Tue, 20 Aug 2013 03:12:05 +0000
Message-Id: <E1VBcMX-0002fY-C4@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen: Add stdbool.h workaround for BSD.
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 7b9685ca4ed2fd723600ce66eb20a6d0c115b6cb
Author:     Tim Deegan <tim@xen.org>
AuthorDate: Thu Aug 15 13:00:18 2013 +0100
Commit:     Tim Deegan <tim@xen.org>
CommitDate: Thu Aug 15 22:00:45 2013 +0100

    xen: Add stdbool.h workaround for BSD.
    
    On *BSD, stdbool.h lives in /usr/include, but we don't want to have
    that on the search path in case we pick up any headers from the build
    host's C libraries.
    
    Copy the equivalent hack already in place for stdarg.h: on all
    supported compilers the contents of stdbool.h are trivial, so just
    supply the things we need in a xen/stdbool.h header.
    
    Signed-off-by: Tim Deegan <tim@xen.org>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
    Tested-by: Patrick Welche <prlw1@cam.ac.uk>
---
 xen/include/xen/libelf.h  |    4 ++--
 xen/include/xen/stdbool.h |   13 +++++++++++++
 2 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/xen/include/xen/libelf.h b/xen/include/xen/libelf.h
index e65db6d..6393040 100644
--- a/xen/include/xen/libelf.h
+++ b/xen/include/xen/libelf.h
@@ -29,8 +29,6 @@
 #error define architectural endianness
 #endif
 
-#include <stdbool.h>
-
 typedef int elf_errorstatus; /* 0: ok; -ve (normally -1): error */
 typedef int elf_negerrnoval; /* 0: ok; -EFOO: error */
 
@@ -39,12 +37,14 @@ typedef int elf_negerrnoval; /* 0: ok; -EFOO: error */
 #ifdef __XEN__
 #include <public/elfnote.h>
 #include <public/features.h>
+#include <xen/stdbool.h>
 #include <xen/string.h>
 #else
 #include <xen/elfnote.h>
 #include <xen/features.h>
 
 #include <stdarg.h>
+#include <stdbool.h>
 #include <string.h>
 
 struct elf_binary;
diff --git a/xen/include/xen/stdbool.h b/xen/include/xen/stdbool.h
new file mode 100644
index 0000000..2eecd52
--- /dev/null
+++ b/xen/include/xen/stdbool.h
@@ -0,0 +1,13 @@
+#ifndef __XEN_STDBOOL_H__
+#define __XEN_STDBOOL_H__
+
+#if defined(__OpenBSD__) || defined(__NetBSD__)
+#  define bool _Bool
+#  define true 1
+#  define false 0
+#  define __bool_true_false_are_defined   1
+#else
+#  include <stdbool.h>
+#endif
+
+#endif /* __XEN_STDBOOL_H__ */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 20 03:12:11 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Aug 2013 03:12:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBcMc-0003WO-14; Tue, 20 Aug 2013 03:12:10 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcMa-0003Vy-8p
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:12:08 +0000
Received: from [85.158.137.68:11889] by server-15.bemta-3.messagelabs.com id
	3B/3E-21409-78ED2125; Tue, 20 Aug 2013 03:12:07 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-31.messagelabs.com!1376968325!2637697!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23582 invoked from network); 20 Aug 2013 03:12:06 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-14.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	20 Aug 2013 03:12:06 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcMX-0005JB-E2
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:12:05 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcMX-0002fY-C4
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:12:05 +0000
Date: Tue, 20 Aug 2013 03:12:05 +0000
Message-Id: <E1VBcMX-0002fY-C4@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen: Add stdbool.h workaround for BSD.
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 7b9685ca4ed2fd723600ce66eb20a6d0c115b6cb
Author:     Tim Deegan <tim@xen.org>
AuthorDate: Thu Aug 15 13:00:18 2013 +0100
Commit:     Tim Deegan <tim@xen.org>
CommitDate: Thu Aug 15 22:00:45 2013 +0100

    xen: Add stdbool.h workaround for BSD.
    
    On *BSD, stdbool.h lives in /usr/include, but we don't want to have
    that on the search path in case we pick up any headers from the build
    host's C libraries.
    
    Copy the equivalent hack already in place for stdarg.h: on all
    supported compilers the contents of stdbool.h are trivial, so just
    supply the things we need in a xen/stdbool.h header.
    
    Signed-off-by: Tim Deegan <tim@xen.org>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
    Tested-by: Patrick Welche <prlw1@cam.ac.uk>
---
 xen/include/xen/libelf.h  |    4 ++--
 xen/include/xen/stdbool.h |   13 +++++++++++++
 2 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/xen/include/xen/libelf.h b/xen/include/xen/libelf.h
index e65db6d..6393040 100644
--- a/xen/include/xen/libelf.h
+++ b/xen/include/xen/libelf.h
@@ -29,8 +29,6 @@
 #error define architectural endianness
 #endif
 
-#include <stdbool.h>
-
 typedef int elf_errorstatus; /* 0: ok; -ve (normally -1): error */
 typedef int elf_negerrnoval; /* 0: ok; -EFOO: error */
 
@@ -39,12 +37,14 @@ typedef int elf_negerrnoval; /* 0: ok; -EFOO: error */
 #ifdef __XEN__
 #include <public/elfnote.h>
 #include <public/features.h>
+#include <xen/stdbool.h>
 #include <xen/string.h>
 #else
 #include <xen/elfnote.h>
 #include <xen/features.h>
 
 #include <stdarg.h>
+#include <stdbool.h>
 #include <string.h>
 
 struct elf_binary;
diff --git a/xen/include/xen/stdbool.h b/xen/include/xen/stdbool.h
new file mode 100644
index 0000000..2eecd52
--- /dev/null
+++ b/xen/include/xen/stdbool.h
@@ -0,0 +1,13 @@
+#ifndef __XEN_STDBOOL_H__
+#define __XEN_STDBOOL_H__
+
+#if defined(__OpenBSD__) || defined(__NetBSD__)
+#  define bool _Bool
+#  define true 1
+#  define false 0
+#  define __bool_true_false_are_defined   1
+#else
+#  include <stdbool.h>
+#endif
+
+#endif /* __XEN_STDBOOL_H__ */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 20 03:12:21 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Aug 2013 03:12:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBcMm-0003YT-4B; Tue, 20 Aug 2013 03:12:20 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcMk-0003Xv-0V
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:12:18 +0000
Received: from [193.109.254.147:39659] by server-7.bemta-14.messagelabs.com id
	D1/4E-04456-19ED2125; Tue, 20 Aug 2013 03:12:17 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1376968335!4855670!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19690 invoked from network); 20 Aug 2013 03:12:16 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-2.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	20 Aug 2013 03:12:16 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcMh-0005JK-JX
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:12:15 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcMh-0002fw-Hc
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:12:15 +0000
Date: Tue, 20 Aug 2013 03:12:15 +0000
Message-Id: <E1VBcMh-0002fw-Hc@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] x86/boot: Remove stack segment
	parameter from smpboot
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 1e30327eeb08420e75f6296aac0625f361948028
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Fri Aug 16 11:46:25 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Fri Aug 16 11:46:25 2013 +0200

    x86/boot: Remove stack segment parameter from smpboot
    
    The stack segment is legacy remnant of a 32bit hypervisor, and not used in
    64bit.  Furthermore, the unsigned short in the structure actually aliases
    whatever the linker decides to put next in the data section.
    
    Drop the extern struct definition and change it to a simple void pointer,
    which matches its definition in arch/x86/boot/x86_64.S
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/smpboot.c |    9 +++------
 1 files changed, 3 insertions(+), 6 deletions(-)

diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
index 3df4e88..9f81c7b 100644
--- a/xen/arch/x86/smpboot.c
+++ b/xen/arch/x86/smpboot.c
@@ -393,10 +393,7 @@ void start_secondary(void *unused)
     startup_cpu_idle_loop();
 }
 
-extern struct {
-    void * esp;
-    unsigned short ss;
-} stack_start;
+extern void *stack_start;
 
 static int wakeup_secondary_cpu(int phys_apicid, unsigned long start_eip)
 {
@@ -555,7 +552,7 @@ static int do_boot_cpu(int apicid, int cpu)
         printk("Booting processor %d/%d eip %lx\n",
                cpu, apicid, start_eip);
 
-    stack_start.esp = stack_base[cpu];
+    stack_start = stack_base[cpu];
 
     /* This grunge runs the startup process for the targeted processor. */
 
@@ -734,7 +731,7 @@ void __init smp_prepare_cpus(unsigned int max_cpus)
     boot_cpu_physical_apicid = get_apic_id();
     x86_cpu_to_apicid[0] = boot_cpu_physical_apicid;
 
-    stack_base[0] = stack_start.esp;
+    stack_base[0] = stack_start;
 
     if ( !zalloc_cpumask_var(&per_cpu(cpu_sibling_mask, 0)) ||
          !zalloc_cpumask_var(&per_cpu(cpu_core_mask, 0)) )
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 20 03:12:21 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Aug 2013 03:12:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBcMm-0003YT-4B; Tue, 20 Aug 2013 03:12:20 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcMk-0003Xv-0V
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:12:18 +0000
Received: from [193.109.254.147:39659] by server-7.bemta-14.messagelabs.com id
	D1/4E-04456-19ED2125; Tue, 20 Aug 2013 03:12:17 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-27.messagelabs.com!1376968335!4855670!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19690 invoked from network); 20 Aug 2013 03:12:16 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-2.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	20 Aug 2013 03:12:16 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcMh-0005JK-JX
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:12:15 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcMh-0002fw-Hc
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:12:15 +0000
Date: Tue, 20 Aug 2013 03:12:15 +0000
Message-Id: <E1VBcMh-0002fw-Hc@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] x86/boot: Remove stack segment
	parameter from smpboot
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 1e30327eeb08420e75f6296aac0625f361948028
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Fri Aug 16 11:46:25 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Fri Aug 16 11:46:25 2013 +0200

    x86/boot: Remove stack segment parameter from smpboot
    
    The stack segment is legacy remnant of a 32bit hypervisor, and not used in
    64bit.  Furthermore, the unsigned short in the structure actually aliases
    whatever the linker decides to put next in the data section.
    
    Drop the extern struct definition and change it to a simple void pointer,
    which matches its definition in arch/x86/boot/x86_64.S
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
 xen/arch/x86/smpboot.c |    9 +++------
 1 files changed, 3 insertions(+), 6 deletions(-)

diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
index 3df4e88..9f81c7b 100644
--- a/xen/arch/x86/smpboot.c
+++ b/xen/arch/x86/smpboot.c
@@ -393,10 +393,7 @@ void start_secondary(void *unused)
     startup_cpu_idle_loop();
 }
 
-extern struct {
-    void * esp;
-    unsigned short ss;
-} stack_start;
+extern void *stack_start;
 
 static int wakeup_secondary_cpu(int phys_apicid, unsigned long start_eip)
 {
@@ -555,7 +552,7 @@ static int do_boot_cpu(int apicid, int cpu)
         printk("Booting processor %d/%d eip %lx\n",
                cpu, apicid, start_eip);
 
-    stack_start.esp = stack_base[cpu];
+    stack_start = stack_base[cpu];
 
     /* This grunge runs the startup process for the targeted processor. */
 
@@ -734,7 +731,7 @@ void __init smp_prepare_cpus(unsigned int max_cpus)
     boot_cpu_physical_apicid = get_apic_id();
     x86_cpu_to_apicid[0] = boot_cpu_physical_apicid;
 
-    stack_base[0] = stack_start.esp;
+    stack_base[0] = stack_start;
 
     if ( !zalloc_cpumask_var(&per_cpu(cpu_sibling_mask, 0)) ||
          !zalloc_cpumask_var(&per_cpu(cpu_core_mask, 0)) )
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 20 03:12:30 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Aug 2013 03:12:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBcMv-0003ai-7P; Tue, 20 Aug 2013 03:12:29 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcMu-0003aG-5q
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:12:28 +0000
Received: from [193.109.254.147:39883] by server-2.bemta-14.messagelabs.com id
	CB/A4-18933-B9ED2125; Tue, 20 Aug 2013 03:12:27 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1376968345!4875902!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12907 invoked from network); 20 Aug 2013 03:12:26 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-10.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	20 Aug 2013 03:12:26 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcMr-0005JQ-Qi
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:12:25 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcMr-0002gL-O0
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:12:25 +0000
Date: Tue, 20 Aug 2013 03:12:25 +0000
Message-Id: <E1VBcMr-0002gL-O0@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen/x86: hypervisor build fixes for
	FreeBSD.
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 3da32f9dafe6016decb9ebbad008cca6fab818ca
Author:     Tim Deegan <tim@xen.org>
AuthorDate: Thu Aug 15 16:38:25 2013 +0100
Commit:     Tim Deegan <tim@xen.org>
CommitDate: Fri Aug 16 18:28:36 2013 +0100

    xen/x86: hypervisor build fixes for FreeBSD.
    
    These allow an x86_64 hypervisor to build on FreeBSD 9.1/amd64.
    - like OpenBSD, needs a different arch passed to ld.
    - like OpenBSD, stdarg.h and stdbool.h are in /usr/include.
    
    Signed-off-by: Tim Deegan <tim@xen.org>
    Acked-by: Keir Fraser <keir@xen.org>
---
 config/x86_64.mk          |    4 ++++
 xen/include/xen/stdarg.h  |    2 +-
 xen/include/xen/stdbool.h |    2 +-
 3 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/config/x86_64.mk b/config/x86_64.mk
index 70c0d8d..d925b23 100644
--- a/config/x86_64.mk
+++ b/config/x86_64.mk
@@ -20,5 +20,9 @@ EFI_DIR ?= /usr/lib64/efi
 ifeq ($(XEN_OS),OpenBSD)
 LDFLAGS_DIRECT += -melf_x86_64_obsd
 else
+ifeq ($(XEN_OS),FreeBSD)
+LDFLAGS_DIRECT += -melf_x86_64_fbsd
+else
 LDFLAGS_DIRECT += -melf_x86_64
 endif
+endif
diff --git a/xen/include/xen/stdarg.h b/xen/include/xen/stdarg.h
index ade7a65..d1b2540 100644
--- a/xen/include/xen/stdarg.h
+++ b/xen/include/xen/stdarg.h
@@ -1,7 +1,7 @@
 #ifndef __XEN_STDARG_H__
 #define __XEN_STDARG_H__
 
-#if defined(__OpenBSD__) || defined (__NetBSD__)
+#if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__)
    typedef __builtin_va_list va_list;
 #  ifdef __GNUC__
 #    define __GNUC_PREREQ__(x, y)                                       \
diff --git a/xen/include/xen/stdbool.h b/xen/include/xen/stdbool.h
index 2eecd52..f0faedf 100644
--- a/xen/include/xen/stdbool.h
+++ b/xen/include/xen/stdbool.h
@@ -1,7 +1,7 @@
 #ifndef __XEN_STDBOOL_H__
 #define __XEN_STDBOOL_H__
 
-#if defined(__OpenBSD__) || defined(__NetBSD__)
+#if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__)
 #  define bool _Bool
 #  define true 1
 #  define false 0
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 20 03:12:30 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Aug 2013 03:12:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBcMv-0003ai-7P; Tue, 20 Aug 2013 03:12:29 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcMu-0003aG-5q
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:12:28 +0000
Received: from [193.109.254.147:39883] by server-2.bemta-14.messagelabs.com id
	CB/A4-18933-B9ED2125; Tue, 20 Aug 2013 03:12:27 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1376968345!4875902!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12907 invoked from network); 20 Aug 2013 03:12:26 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-10.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	20 Aug 2013 03:12:26 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcMr-0005JQ-Qi
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:12:25 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcMr-0002gL-O0
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:12:25 +0000
Date: Tue, 20 Aug 2013 03:12:25 +0000
Message-Id: <E1VBcMr-0002gL-O0@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen/x86: hypervisor build fixes for
	FreeBSD.
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 3da32f9dafe6016decb9ebbad008cca6fab818ca
Author:     Tim Deegan <tim@xen.org>
AuthorDate: Thu Aug 15 16:38:25 2013 +0100
Commit:     Tim Deegan <tim@xen.org>
CommitDate: Fri Aug 16 18:28:36 2013 +0100

    xen/x86: hypervisor build fixes for FreeBSD.
    
    These allow an x86_64 hypervisor to build on FreeBSD 9.1/amd64.
    - like OpenBSD, needs a different arch passed to ld.
    - like OpenBSD, stdarg.h and stdbool.h are in /usr/include.
    
    Signed-off-by: Tim Deegan <tim@xen.org>
    Acked-by: Keir Fraser <keir@xen.org>
---
 config/x86_64.mk          |    4 ++++
 xen/include/xen/stdarg.h  |    2 +-
 xen/include/xen/stdbool.h |    2 +-
 3 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/config/x86_64.mk b/config/x86_64.mk
index 70c0d8d..d925b23 100644
--- a/config/x86_64.mk
+++ b/config/x86_64.mk
@@ -20,5 +20,9 @@ EFI_DIR ?= /usr/lib64/efi
 ifeq ($(XEN_OS),OpenBSD)
 LDFLAGS_DIRECT += -melf_x86_64_obsd
 else
+ifeq ($(XEN_OS),FreeBSD)
+LDFLAGS_DIRECT += -melf_x86_64_fbsd
+else
 LDFLAGS_DIRECT += -melf_x86_64
 endif
+endif
diff --git a/xen/include/xen/stdarg.h b/xen/include/xen/stdarg.h
index ade7a65..d1b2540 100644
--- a/xen/include/xen/stdarg.h
+++ b/xen/include/xen/stdarg.h
@@ -1,7 +1,7 @@
 #ifndef __XEN_STDARG_H__
 #define __XEN_STDARG_H__
 
-#if defined(__OpenBSD__) || defined (__NetBSD__)
+#if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__)
    typedef __builtin_va_list va_list;
 #  ifdef __GNUC__
 #    define __GNUC_PREREQ__(x, y)                                       \
diff --git a/xen/include/xen/stdbool.h b/xen/include/xen/stdbool.h
index 2eecd52..f0faedf 100644
--- a/xen/include/xen/stdbool.h
+++ b/xen/include/xen/stdbool.h
@@ -1,7 +1,7 @@
 #ifndef __XEN_STDBOOL_H__
 #define __XEN_STDBOOL_H__
 
-#if defined(__OpenBSD__) || defined(__NetBSD__)
+#if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__)
 #  define bool _Bool
 #  define true 1
 #  define false 0
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 20 03:12:40 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Aug 2013 03:12:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBcN5-0003cU-Ap; Tue, 20 Aug 2013 03:12:39 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcN4-0003cG-CV
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:12:38 +0000
Received: from [193.109.254.147:3857] by server-4.bemta-14.messagelabs.com id
	96/61-05823-5AED2125; Tue, 20 Aug 2013 03:12:37 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-27.messagelabs.com!1376968356!4866974!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7597 invoked from network); 20 Aug 2013 03:12:37 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-13.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	20 Aug 2013 03:12:37 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcN2-0005JY-4F
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:12:36 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcN2-0002gm-0M
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:12:36 +0000
Date: Tue, 20 Aug 2013 03:12:36 +0000
Message-Id: <E1VBcN2-0002gm-0M@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] tools: xen-mceinj: Add missing return
	value checks
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 1efe90faa31be104a24fe75323429d227eae1d9f
Author:     Bastian Blank <bastian@waldi.eu.org>
AuthorDate: Sun Aug 11 22:10:20 2013 +0200
Commit:     Ian Jackson <Ian.Jackson@eu.citrix.com>
CommitDate: Mon Aug 19 15:31:13 2013 +0100

    tools: xen-mceinj: Add missing return value checks
    
    The return value of vasprintf must be checked. This check is enforced
    with the compiler options used in Debian by request and in Ubuntu by
    default.
    
    Check the return value and abort on error.
    
    Signed-off-by: Bastian Blank <waldi@debian.org>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/tests/mce-test/tools/xen-mceinj.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/tools/tests/mce-test/tools/xen-mceinj.c b/tools/tests/mce-test/tools/xen-mceinj.c
index e3e62f7..21a488b 100644
--- a/tools/tests/mce-test/tools/xen-mceinj.c
+++ b/tools/tests/mce-test/tools/xen-mceinj.c
@@ -92,7 +92,8 @@ static void Lprintf(const char *fmt, ...)
     va_list args;
 
     va_start(args, fmt);
-    vasprintf(&buf, fmt, args);
+    if (vasprintf(&buf, fmt, args) < 0)
+        abort();
     fprintf(LOGFILE, "%s", buf);
     va_end(args);
     free(buf);
@@ -104,7 +105,8 @@ static void err(xc_interface *xc_handle, const char *fmt, ...)
     va_list args;
 
     va_start(args, fmt);
-    vasprintf(&buf, fmt, args);
+    if (vasprintf(&buf, fmt, args) < 0)
+        abort();
     perror(buf);
     va_end(args);
     free(buf);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 20 03:12:40 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Aug 2013 03:12:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBcN5-0003cU-Ap; Tue, 20 Aug 2013 03:12:39 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcN4-0003cG-CV
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:12:38 +0000
Received: from [193.109.254.147:3857] by server-4.bemta-14.messagelabs.com id
	96/61-05823-5AED2125; Tue, 20 Aug 2013 03:12:37 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-13.tower-27.messagelabs.com!1376968356!4866974!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7597 invoked from network); 20 Aug 2013 03:12:37 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-13.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	20 Aug 2013 03:12:37 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcN2-0005JY-4F
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:12:36 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBcN2-0002gm-0M
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 03:12:36 +0000
Date: Tue, 20 Aug 2013 03:12:36 +0000
Message-Id: <E1VBcN2-0002gm-0M@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] tools: xen-mceinj: Add missing return
	value checks
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 1efe90faa31be104a24fe75323429d227eae1d9f
Author:     Bastian Blank <bastian@waldi.eu.org>
AuthorDate: Sun Aug 11 22:10:20 2013 +0200
Commit:     Ian Jackson <Ian.Jackson@eu.citrix.com>
CommitDate: Mon Aug 19 15:31:13 2013 +0100

    tools: xen-mceinj: Add missing return value checks
    
    The return value of vasprintf must be checked. This check is enforced
    with the compiler options used in Debian by request and in Ubuntu by
    default.
    
    Check the return value and abort on error.
    
    Signed-off-by: Bastian Blank <waldi@debian.org>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/tests/mce-test/tools/xen-mceinj.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/tools/tests/mce-test/tools/xen-mceinj.c b/tools/tests/mce-test/tools/xen-mceinj.c
index e3e62f7..21a488b 100644
--- a/tools/tests/mce-test/tools/xen-mceinj.c
+++ b/tools/tests/mce-test/tools/xen-mceinj.c
@@ -92,7 +92,8 @@ static void Lprintf(const char *fmt, ...)
     va_list args;
 
     va_start(args, fmt);
-    vasprintf(&buf, fmt, args);
+    if (vasprintf(&buf, fmt, args) < 0)
+        abort();
     fprintf(LOGFILE, "%s", buf);
     va_end(args);
     free(buf);
@@ -104,7 +105,8 @@ static void err(xc_interface *xc_handle, const char *fmt, ...)
     va_list args;
 
     va_start(args, fmt);
-    vasprintf(&buf, fmt, args);
+    if (vasprintf(&buf, fmt, args) < 0)
+        abort();
     perror(buf);
     va_end(args);
     free(buf);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 20 06:00:15 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Aug 2013 06:00:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBezB-0004JL-Tb; Tue, 20 Aug 2013 06:00:09 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBezA-0004JG-SU
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 06:00:08 +0000
Received: from [85.158.137.68:19995] by server-10.bemta-3.messagelabs.com id
	4E/B9-30473-8E503125; Tue, 20 Aug 2013 06:00:08 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-31.messagelabs.com!1376978406!2662856!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16733 invoked from network); 20 Aug 2013 06:00:07 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-3.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	20 Aug 2013 06:00:07 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBez7-0007Jq-QO
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 06:00:05 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBez6-0007Z7-BG
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 06:00:05 +0000
Date: Tue, 20 Aug 2013 06:00:04 +0000
Message-Id: <E1VBez6-0007Z7-BG@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.1] x86: explicit suffix in inline
	assembler (for clang).
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit e737f237a373c673537062a7a3324f345120a113
Author:     Tim Deegan <tim@xen.org>
AuthorDate: Fri Aug 16 12:11:21 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Fri Aug 16 12:11:21 2013 +0200

    x86: explicit suffix in inline assembler (for clang).
    
    This fixes the clang build, and has no effect on gcc's output.
    
    Signed-off-by: Tim Deegan <tim@xen.org>
    Committed-by: Jan Beulich <jbeulich@suse.com>
    
    master commit: 59a28b5f045331641cbf0c1fc8d5d67afe328939
    master date: 2013-02-14 14:20:06 +0100
    
    Note that this isn't just a build fix - if the "delta" input ends up
    in memory, gas would default to 32-bit operand size (and should really
    warn about the ambiguity).
---
 xen/arch/x86/time.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
index 20edfd7..c3b0b86 100644
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -140,7 +140,7 @@ static inline u64 scale_delta(u64 delta, struct time_scale *scale)
         : "a" ((u32)delta), "1" ((u32)(delta >> 32)), "2" (scale->mul_frac) );
 #else
     asm (
-        "mul %2 ; shrd $32,%1,%0"
+        "mulq %2 ; shrd $32,%1,%0"
         : "=a" (product), "=d" (delta)
         : "rm" (delta), "0" ((u64)scale->mul_frac) );
 #endif
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.1

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 20 06:00:15 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Aug 2013 06:00:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBezB-0004JL-Tb; Tue, 20 Aug 2013 06:00:09 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBezA-0004JG-SU
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 06:00:08 +0000
Received: from [85.158.137.68:19995] by server-10.bemta-3.messagelabs.com id
	4E/B9-30473-8E503125; Tue, 20 Aug 2013 06:00:08 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-31.messagelabs.com!1376978406!2662856!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16733 invoked from network); 20 Aug 2013 06:00:07 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-3.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	20 Aug 2013 06:00:07 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBez7-0007Jq-QO
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 06:00:05 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBez6-0007Z7-BG
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 06:00:05 +0000
Date: Tue, 20 Aug 2013 06:00:04 +0000
Message-Id: <E1VBez6-0007Z7-BG@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.1] x86: explicit suffix in inline
	assembler (for clang).
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit e737f237a373c673537062a7a3324f345120a113
Author:     Tim Deegan <tim@xen.org>
AuthorDate: Fri Aug 16 12:11:21 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Fri Aug 16 12:11:21 2013 +0200

    x86: explicit suffix in inline assembler (for clang).
    
    This fixes the clang build, and has no effect on gcc's output.
    
    Signed-off-by: Tim Deegan <tim@xen.org>
    Committed-by: Jan Beulich <jbeulich@suse.com>
    
    master commit: 59a28b5f045331641cbf0c1fc8d5d67afe328939
    master date: 2013-02-14 14:20:06 +0100
    
    Note that this isn't just a build fix - if the "delta" input ends up
    in memory, gas would default to 32-bit operand size (and should really
    warn about the ambiguity).
---
 xen/arch/x86/time.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
index 20edfd7..c3b0b86 100644
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -140,7 +140,7 @@ static inline u64 scale_delta(u64 delta, struct time_scale *scale)
         : "a" ((u32)delta), "1" ((u32)(delta >> 32)), "2" (scale->mul_frac) );
 #else
     asm (
-        "mul %2 ; shrd $32,%1,%0"
+        "mulq %2 ; shrd $32,%1,%0"
         : "=a" (product), "=d" (delta)
         : "rm" (delta), "0" ((u64)scale->mul_frac) );
 #endif
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.1

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 20 19:55:23 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Aug 2013 19:55:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBs1N-0000sk-Fc; Tue, 20 Aug 2013 19:55:17 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBs1M-0000sG-1x
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 19:55:16 +0000
Received: from [85.158.137.68:16266] by server-8.bemta-3.messagelabs.com id
	A7/47-28652-3A9C3125; Tue, 20 Aug 2013 19:55:15 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-31.messagelabs.com!1377028513!2850561!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23982 invoked from network); 20 Aug 2013 19:55:14 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-8.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	20 Aug 2013 19:55:14 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBs19-0000KI-Hd
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 19:55:09 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBs19-0007TV-48
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 19:55:03 +0000
Date: Tue, 20 Aug 2013 19:55:03 +0000
Message-Id: <E1VBs19-0007TV-48@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.2] libelf: Fix typo in header guard
	macro
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 676b32cb09cb94546d8641919057b3feb46c9948
Author:     Patrick Welche <prlw1@cam.ac.uk>
AuthorDate: Tue Aug 20 15:33:14 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 20 15:33:14 2013 +0200

    libelf: Fix typo in header guard macro
    
    s/__LIBELF_PRIVATE_H_/__LIBELF_PRIVATE_H__/
    
    Signed-off-by: Patrick Welche <prlw1@cam.ac.uk>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
    master commit: 0aec8823501f8ee058c1ba673d2ac3e0f3f2e8db
    master date: 2013-08-08 12:47:38 +0100
---
 xen/common/libelf/libelf-private.h |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/common/libelf/libelf-private.h b/xen/common/libelf/libelf-private.h
index 277be04..13ae731 100644
--- a/xen/common/libelf/libelf-private.h
+++ b/xen/common/libelf/libelf-private.h
@@ -14,7 +14,7 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
  */
 #ifndef __LIBELF_PRIVATE_H__
-#define __LIBELF_PRIVATE_H_
+#define __LIBELF_PRIVATE_H__
 
 #ifdef __XEN__
 
@@ -99,7 +99,7 @@ do { strncpy((d),(s),sizeof((d))-1);            \
    * of memcpy, memset, memmove and strcpy.  Every call site
    * must either use elf_mem*_unchecked, or elf_mem*_safe. */
 
-#endif /* __LIBELF_PRIVATE_H_ */
+#endif /* __LIBELF_PRIVATE_H__ */
 
 /*
  * Local variables:
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.2

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 20 19:55:23 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Aug 2013 19:55:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBs1N-0000sk-Fc; Tue, 20 Aug 2013 19:55:17 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBs1M-0000sG-1x
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 19:55:16 +0000
Received: from [85.158.137.68:16266] by server-8.bemta-3.messagelabs.com id
	A7/47-28652-3A9C3125; Tue, 20 Aug 2013 19:55:15 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-31.messagelabs.com!1377028513!2850561!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23982 invoked from network); 20 Aug 2013 19:55:14 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-8.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	20 Aug 2013 19:55:14 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBs19-0000KI-Hd
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 19:55:09 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBs19-0007TV-48
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 19:55:03 +0000
Date: Tue, 20 Aug 2013 19:55:03 +0000
Message-Id: <E1VBs19-0007TV-48@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.2] libelf: Fix typo in header guard
	macro
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 676b32cb09cb94546d8641919057b3feb46c9948
Author:     Patrick Welche <prlw1@cam.ac.uk>
AuthorDate: Tue Aug 20 15:33:14 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 20 15:33:14 2013 +0200

    libelf: Fix typo in header guard macro
    
    s/__LIBELF_PRIVATE_H_/__LIBELF_PRIVATE_H__/
    
    Signed-off-by: Patrick Welche <prlw1@cam.ac.uk>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
    master commit: 0aec8823501f8ee058c1ba673d2ac3e0f3f2e8db
    master date: 2013-08-08 12:47:38 +0100
---
 xen/common/libelf/libelf-private.h |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/common/libelf/libelf-private.h b/xen/common/libelf/libelf-private.h
index 277be04..13ae731 100644
--- a/xen/common/libelf/libelf-private.h
+++ b/xen/common/libelf/libelf-private.h
@@ -14,7 +14,7 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
  */
 #ifndef __LIBELF_PRIVATE_H__
-#define __LIBELF_PRIVATE_H_
+#define __LIBELF_PRIVATE_H__
 
 #ifdef __XEN__
 
@@ -99,7 +99,7 @@ do { strncpy((d),(s),sizeof((d))-1);            \
    * of memcpy, memset, memmove and strcpy.  Every call site
    * must either use elf_mem*_unchecked, or elf_mem*_safe. */
 
-#endif /* __LIBELF_PRIVATE_H_ */
+#endif /* __LIBELF_PRIVATE_H__ */
 
 /*
  * Local variables:
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.2

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 20 19:55:30 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Aug 2013 19:55:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBs1W-0000up-IY; Tue, 20 Aug 2013 19:55:26 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBs1W-0000uV-39
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 19:55:26 +0000
Received: from [85.158.143.35:25455] by server-3.bemta-4.messagelabs.com id
	BB/B7-08835-DA9C3125; Tue, 20 Aug 2013 19:55:25 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1377028523!5479340!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29211 invoked from network); 20 Aug 2013 19:55:24 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-5.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	20 Aug 2013 19:55:24 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBs1T-0000KL-EN
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 19:55:23 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBs1T-0007UV-BN
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 19:55:23 +0000
Date: Tue, 20 Aug 2013 19:55:23 +0000
Message-Id: <E1VBs1T-0007UV-BN@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.2] x86/AMD: Fix nested svm crash due
	to assertion in __virt_to_maddr
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit cadf4cd094edbd62d0d1df552ad8a83b62132f86
Author:     Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
AuthorDate: Tue Aug 20 15:35:09 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 20 15:35:09 2013 +0200

    x86/AMD: Fix nested svm crash due to assertion in __virt_to_maddr
    
    Fix assertion in __virt_to_maddr when starting nested SVM guest
    in debug mode. Investigation has shown that svm_vmsave/svm_vmload
    make use of __pa() with invalid address.
    
    Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
    Reviewed-by: Tim Deegan <tim@xen.org>
    master commit: 85fc517ec3055e8e8d9c9e36e15a81e630237252
    master date: 2013-08-13 14:22:14 +0200
---
 xen/arch/x86/hvm/svm/svm.c        |   52 ++++++++++++++++++++++++++++++------
 xen/include/asm-x86/hvm/svm/svm.h |   11 +++++---
 2 files changed, 50 insertions(+), 13 deletions(-)

diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index 59ac6ab..db7b063 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -1813,6 +1813,32 @@ svm_vmexit_do_vmrun(struct cpu_user_regs *regs,
     return;
 }
 
+static struct page_info *
+nsvm_get_nvmcb_page(struct vcpu *v, uint64_t vmcbaddr)
+{
+    p2m_type_t p2mt;
+    struct page_info *page;
+    struct nestedvcpu *nv = &vcpu_nestedhvm(v);
+
+    if ( !nestedsvm_vmcb_map(v, vmcbaddr) )
+        return NULL;
+
+    /* Need to translate L1-GPA to MPA */
+    page = get_page_from_gfn(v->domain,
+                            nv->nv_vvmcxaddr >> PAGE_SHIFT,
+                            &p2mt, P2M_ALLOC | P2M_UNSHARE);
+    if ( !page )
+        return NULL;
+
+    if ( !p2m_is_ram(p2mt) || p2m_is_readonly(p2mt) )
+    {
+        put_page(page);
+        return NULL;
+    }
+
+    return  page;
+}
+
 static void
 svm_vmexit_do_vmload(struct vmcb_struct *vmcb,
                      struct cpu_user_regs *regs,
@@ -1820,7 +1846,7 @@ svm_vmexit_do_vmload(struct vmcb_struct *vmcb,
 {
     int ret;
     unsigned int inst_len;
-    struct nestedvcpu *nv = &vcpu_nestedhvm(v);
+    struct page_info *page;
 
     if ( (inst_len = __get_instruction_length(v, INSTR_VMLOAD)) == 0 )
         return;
@@ -1831,13 +1857,18 @@ svm_vmexit_do_vmload(struct vmcb_struct *vmcb,
         goto inject;
     }
 
-    if (!nestedsvm_vmcb_map(v, vmcbaddr)) {
-        gdprintk(XENLOG_ERR, "VMLOAD: mapping vmcb failed, injecting #UD\n");
+    page = nsvm_get_nvmcb_page(v, vmcbaddr);
+    if ( !page )
+    {
+        gdprintk(XENLOG_ERR,
+            "VMLOAD: mapping failed, injecting #UD\n");
         ret = TRAP_invalid_op;
         goto inject;
     }
 
-    svm_vmload(nv->nv_vvmcx);
+    svm_vmload_pa(page_to_maddr(page));
+    put_page(page);
+
     /* State in L1 VMCB is stale now */
     v->arch.hvm_svm.vmcb_in_sync = 0;
 
@@ -1856,7 +1887,7 @@ svm_vmexit_do_vmsave(struct vmcb_struct *vmcb,
 {
     int ret;
     unsigned int inst_len;
-    struct nestedvcpu *nv = &vcpu_nestedhvm(v);
+    struct page_info *page;
 
     if ( (inst_len = __get_instruction_length(v, INSTR_VMSAVE)) == 0 )
         return;
@@ -1867,14 +1898,17 @@ svm_vmexit_do_vmsave(struct vmcb_struct *vmcb,
         goto inject;
     }
 
-    if (!nestedsvm_vmcb_map(v, vmcbaddr)) {
-        gdprintk(XENLOG_ERR, "VMSAVE: mapping vmcb failed, injecting #UD\n");
+    page = nsvm_get_nvmcb_page(v, vmcbaddr);
+    if ( !page )
+    {
+        gdprintk(XENLOG_ERR,
+            "VMSAVE: mapping vmcb failed, injecting #UD\n");
         ret = TRAP_invalid_op;
         goto inject;
     }
 
-    svm_vmsave(nv->nv_vvmcx);
-
+    svm_vmsave_pa(page_to_maddr(page));
+    put_page(page);
     __update_guest_eip(regs, inst_len);
     return;
 
diff --git a/xen/include/asm-x86/hvm/svm/svm.h b/xen/include/asm-x86/hvm/svm/svm.h
index 8a9e660..16adc08 100644
--- a/xen/include/asm-x86/hvm/svm/svm.h
+++ b/xen/include/asm-x86/hvm/svm/svm.h
@@ -41,18 +41,21 @@
 #define SVM_REG_R14 (14)
 #define SVM_REG_R15 (15)
 
-static inline void svm_vmload(void *vmcb)
+#define svm_vmload(x)     svm_vmload_pa(__pa(x))
+#define svm_vmsave(x)     svm_vmsave_pa(__pa(x))
+
+static inline void svm_vmload_pa(unsigned long vmcb)
 {
     asm volatile (
         ".byte 0x0f,0x01,0xda" /* vmload */
-        : : "a" (__pa(vmcb)) : "memory" );
+        : : "a" (vmcb) : "memory" );
 }
 
-static inline void svm_vmsave(void *vmcb)
+static inline void svm_vmsave_pa(unsigned long vmcb)
 {
     asm volatile (
         ".byte 0x0f,0x01,0xdb" /* vmsave */
-        : : "a" (__pa(vmcb)) : "memory" );
+        : : "a" (vmcb) : "memory" );
 }
 
 static inline void svm_invlpga(unsigned long vaddr, uint32_t asid)
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.2

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 20 19:55:30 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Aug 2013 19:55:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBs1W-0000up-IY; Tue, 20 Aug 2013 19:55:26 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBs1W-0000uV-39
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 19:55:26 +0000
Received: from [85.158.143.35:25455] by server-3.bemta-4.messagelabs.com id
	BB/B7-08835-DA9C3125; Tue, 20 Aug 2013 19:55:25 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1377028523!5479340!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 29211 invoked from network); 20 Aug 2013 19:55:24 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-5.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	20 Aug 2013 19:55:24 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBs1T-0000KL-EN
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 19:55:23 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBs1T-0007UV-BN
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 19:55:23 +0000
Date: Tue, 20 Aug 2013 19:55:23 +0000
Message-Id: <E1VBs1T-0007UV-BN@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.2] x86/AMD: Fix nested svm crash due
	to assertion in __virt_to_maddr
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit cadf4cd094edbd62d0d1df552ad8a83b62132f86
Author:     Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
AuthorDate: Tue Aug 20 15:35:09 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 20 15:35:09 2013 +0200

    x86/AMD: Fix nested svm crash due to assertion in __virt_to_maddr
    
    Fix assertion in __virt_to_maddr when starting nested SVM guest
    in debug mode. Investigation has shown that svm_vmsave/svm_vmload
    make use of __pa() with invalid address.
    
    Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
    Reviewed-by: Tim Deegan <tim@xen.org>
    master commit: 85fc517ec3055e8e8d9c9e36e15a81e630237252
    master date: 2013-08-13 14:22:14 +0200
---
 xen/arch/x86/hvm/svm/svm.c        |   52 ++++++++++++++++++++++++++++++------
 xen/include/asm-x86/hvm/svm/svm.h |   11 +++++---
 2 files changed, 50 insertions(+), 13 deletions(-)

diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index 59ac6ab..db7b063 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -1813,6 +1813,32 @@ svm_vmexit_do_vmrun(struct cpu_user_regs *regs,
     return;
 }
 
+static struct page_info *
+nsvm_get_nvmcb_page(struct vcpu *v, uint64_t vmcbaddr)
+{
+    p2m_type_t p2mt;
+    struct page_info *page;
+    struct nestedvcpu *nv = &vcpu_nestedhvm(v);
+
+    if ( !nestedsvm_vmcb_map(v, vmcbaddr) )
+        return NULL;
+
+    /* Need to translate L1-GPA to MPA */
+    page = get_page_from_gfn(v->domain,
+                            nv->nv_vvmcxaddr >> PAGE_SHIFT,
+                            &p2mt, P2M_ALLOC | P2M_UNSHARE);
+    if ( !page )
+        return NULL;
+
+    if ( !p2m_is_ram(p2mt) || p2m_is_readonly(p2mt) )
+    {
+        put_page(page);
+        return NULL;
+    }
+
+    return  page;
+}
+
 static void
 svm_vmexit_do_vmload(struct vmcb_struct *vmcb,
                      struct cpu_user_regs *regs,
@@ -1820,7 +1846,7 @@ svm_vmexit_do_vmload(struct vmcb_struct *vmcb,
 {
     int ret;
     unsigned int inst_len;
-    struct nestedvcpu *nv = &vcpu_nestedhvm(v);
+    struct page_info *page;
 
     if ( (inst_len = __get_instruction_length(v, INSTR_VMLOAD)) == 0 )
         return;
@@ -1831,13 +1857,18 @@ svm_vmexit_do_vmload(struct vmcb_struct *vmcb,
         goto inject;
     }
 
-    if (!nestedsvm_vmcb_map(v, vmcbaddr)) {
-        gdprintk(XENLOG_ERR, "VMLOAD: mapping vmcb failed, injecting #UD\n");
+    page = nsvm_get_nvmcb_page(v, vmcbaddr);
+    if ( !page )
+    {
+        gdprintk(XENLOG_ERR,
+            "VMLOAD: mapping failed, injecting #UD\n");
         ret = TRAP_invalid_op;
         goto inject;
     }
 
-    svm_vmload(nv->nv_vvmcx);
+    svm_vmload_pa(page_to_maddr(page));
+    put_page(page);
+
     /* State in L1 VMCB is stale now */
     v->arch.hvm_svm.vmcb_in_sync = 0;
 
@@ -1856,7 +1887,7 @@ svm_vmexit_do_vmsave(struct vmcb_struct *vmcb,
 {
     int ret;
     unsigned int inst_len;
-    struct nestedvcpu *nv = &vcpu_nestedhvm(v);
+    struct page_info *page;
 
     if ( (inst_len = __get_instruction_length(v, INSTR_VMSAVE)) == 0 )
         return;
@@ -1867,14 +1898,17 @@ svm_vmexit_do_vmsave(struct vmcb_struct *vmcb,
         goto inject;
     }
 
-    if (!nestedsvm_vmcb_map(v, vmcbaddr)) {
-        gdprintk(XENLOG_ERR, "VMSAVE: mapping vmcb failed, injecting #UD\n");
+    page = nsvm_get_nvmcb_page(v, vmcbaddr);
+    if ( !page )
+    {
+        gdprintk(XENLOG_ERR,
+            "VMSAVE: mapping vmcb failed, injecting #UD\n");
         ret = TRAP_invalid_op;
         goto inject;
     }
 
-    svm_vmsave(nv->nv_vvmcx);
-
+    svm_vmsave_pa(page_to_maddr(page));
+    put_page(page);
     __update_guest_eip(regs, inst_len);
     return;
 
diff --git a/xen/include/asm-x86/hvm/svm/svm.h b/xen/include/asm-x86/hvm/svm/svm.h
index 8a9e660..16adc08 100644
--- a/xen/include/asm-x86/hvm/svm/svm.h
+++ b/xen/include/asm-x86/hvm/svm/svm.h
@@ -41,18 +41,21 @@
 #define SVM_REG_R14 (14)
 #define SVM_REG_R15 (15)
 
-static inline void svm_vmload(void *vmcb)
+#define svm_vmload(x)     svm_vmload_pa(__pa(x))
+#define svm_vmsave(x)     svm_vmsave_pa(__pa(x))
+
+static inline void svm_vmload_pa(unsigned long vmcb)
 {
     asm volatile (
         ".byte 0x0f,0x01,0xda" /* vmload */
-        : : "a" (__pa(vmcb)) : "memory" );
+        : : "a" (vmcb) : "memory" );
 }
 
-static inline void svm_vmsave(void *vmcb)
+static inline void svm_vmsave_pa(unsigned long vmcb)
 {
     asm volatile (
         ".byte 0x0f,0x01,0xdb" /* vmsave */
-        : : "a" (__pa(vmcb)) : "memory" );
+        : : "a" (vmcb) : "memory" );
 }
 
 static inline void svm_invlpga(unsigned long vaddr, uint32_t asid)
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.2

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 20 19:55:39 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Aug 2013 19:55:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBs1h-0000xN-Lm; Tue, 20 Aug 2013 19:55:37 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBs1g-0000wx-AS
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 19:55:36 +0000
Received: from [193.109.254.147:23423] by server-6.bemta-14.messagelabs.com id
	CD/93-20235-7B9C3125; Tue, 20 Aug 2013 19:55:35 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-27.messagelabs.com!1377028534!5053045!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24235 invoked from network); 20 Aug 2013 19:55:34 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-9.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	20 Aug 2013 19:55:34 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBs1d-0000KW-Ov
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 19:55:33 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBs1d-0007V0-M1
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 19:55:33 +0000
Date: Tue, 20 Aug 2013 19:55:33 +0000
Message-Id: <E1VBs1d-0007V0-M1@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.2] x86/AMD: Inject #GP instead of #UD
	when unable to map vmcb
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 70ac97c6150f7a2e182c10654f191490cde90303
Author:     Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
AuthorDate: Tue Aug 20 15:36:20 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 20 15:36:20 2013 +0200

    x86/AMD: Inject #GP instead of #UD when unable to map vmcb
    
    According to AMD Programmer's Manual vol2, vmrun, vmsave and vmload
    should inject #GP instead of #UD when unable to access memory
    location for vmcb.  Also, the code should make sure that L1 guest
    EFER.SVME is not zero.  Otherwise, #UD should be injected.
    
    Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
    Reviewed-by: Tim Deegan <tim@xen.org>
    master commit: 910daaf5aaa837624099c0fc5c373bea7202ff43
    master date: 2013-08-13 14:24:16 +0200
---
 xen/arch/x86/hvm/svm/svm.c              |   24 ++++++++++++++----------
 xen/include/asm-x86/hvm/svm/nestedsvm.h |    2 +-
 2 files changed, 15 insertions(+), 11 deletions(-)

diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index db7b063..e74984e 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -1797,15 +1797,17 @@ static void
 svm_vmexit_do_vmrun(struct cpu_user_regs *regs,
                     struct vcpu *v, uint64_t vmcbaddr)
 {
-    if (!nestedhvm_enabled(v->domain)) {
+    if ( !nsvm_efer_svm_enabled(v) )
+    {
         gdprintk(XENLOG_ERR, "VMRUN: nestedhvm disabled, injecting #UD\n");
         hvm_inject_hw_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE);
         return;
     }
 
-    if (!nestedsvm_vmcb_map(v, vmcbaddr)) {
-        gdprintk(XENLOG_ERR, "VMRUN: mapping vmcb failed, injecting #UD\n");
-        hvm_inject_hw_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE);
+    if ( !nestedsvm_vmcb_map(v, vmcbaddr) )
+    {
+        gdprintk(XENLOG_ERR, "VMRUN: mapping vmcb failed, injecting #GP\n");
+        hvm_inject_hw_exception(TRAP_gp_fault, HVM_DELIVER_NO_ERROR_CODE);
         return;
     }
 
@@ -1851,7 +1853,8 @@ svm_vmexit_do_vmload(struct vmcb_struct *vmcb,
     if ( (inst_len = __get_instruction_length(v, INSTR_VMLOAD)) == 0 )
         return;
 
-    if (!nestedhvm_enabled(v->domain)) {
+    if ( !nsvm_efer_svm_enabled(v) )
+    {
         gdprintk(XENLOG_ERR, "VMLOAD: nestedhvm disabled, injecting #UD\n");
         ret = TRAP_invalid_op;
         goto inject;
@@ -1861,8 +1864,8 @@ svm_vmexit_do_vmload(struct vmcb_struct *vmcb,
     if ( !page )
     {
         gdprintk(XENLOG_ERR,
-            "VMLOAD: mapping failed, injecting #UD\n");
-        ret = TRAP_invalid_op;
+            "VMLOAD: mapping failed, injecting #GP\n");
+        ret = TRAP_gp_fault;
         goto inject;
     }
 
@@ -1892,7 +1895,8 @@ svm_vmexit_do_vmsave(struct vmcb_struct *vmcb,
     if ( (inst_len = __get_instruction_length(v, INSTR_VMSAVE)) == 0 )
         return;
 
-    if (!nestedhvm_enabled(v->domain)) {
+    if ( !nsvm_efer_svm_enabled(v) )
+    {
         gdprintk(XENLOG_ERR, "VMSAVE: nestedhvm disabled, injecting #UD\n");
         ret = TRAP_invalid_op;
         goto inject;
@@ -1902,8 +1906,8 @@ svm_vmexit_do_vmsave(struct vmcb_struct *vmcb,
     if ( !page )
     {
         gdprintk(XENLOG_ERR,
-            "VMSAVE: mapping vmcb failed, injecting #UD\n");
-        ret = TRAP_invalid_op;
+            "VMSAVE: mapping vmcb failed, injecting #GP\n");
+        ret = TRAP_gp_fault;
         goto inject;
     }
 
diff --git a/xen/include/asm-x86/hvm/svm/nestedsvm.h b/xen/include/asm-x86/hvm/svm/nestedsvm.h
index fa83023..b6ed9e4 100644
--- a/xen/include/asm-x86/hvm/svm/nestedsvm.h
+++ b/xen/include/asm-x86/hvm/svm/nestedsvm.h
@@ -94,7 +94,7 @@ struct nestedsvm {
 #define vcpu_nestedsvm(v) (vcpu_nestedhvm(v).u.nsvm)
 
 /* True when l1 guest enabled SVM in EFER */
-#define hvm_svm_enabled(v) \
+#define nsvm_efer_svm_enabled(v) \
     (!!((v)->arch.hvm_vcpu.guest_efer & EFER_SVME))
 
 int nestedsvm_vmcb_map(struct vcpu *v, uint64_t vmcbaddr);
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.2

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 20 19:55:39 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Aug 2013 19:55:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBs1h-0000xN-Lm; Tue, 20 Aug 2013 19:55:37 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBs1g-0000wx-AS
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 19:55:36 +0000
Received: from [193.109.254.147:23423] by server-6.bemta-14.messagelabs.com id
	CD/93-20235-7B9C3125; Tue, 20 Aug 2013 19:55:35 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-27.messagelabs.com!1377028534!5053045!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24235 invoked from network); 20 Aug 2013 19:55:34 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-9.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	20 Aug 2013 19:55:34 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBs1d-0000KW-Ov
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 19:55:33 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBs1d-0007V0-M1
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 19:55:33 +0000
Date: Tue, 20 Aug 2013 19:55:33 +0000
Message-Id: <E1VBs1d-0007V0-M1@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.2] x86/AMD: Inject #GP instead of #UD
	when unable to map vmcb
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 70ac97c6150f7a2e182c10654f191490cde90303
Author:     Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
AuthorDate: Tue Aug 20 15:36:20 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 20 15:36:20 2013 +0200

    x86/AMD: Inject #GP instead of #UD when unable to map vmcb
    
    According to AMD Programmer's Manual vol2, vmrun, vmsave and vmload
    should inject #GP instead of #UD when unable to access memory
    location for vmcb.  Also, the code should make sure that L1 guest
    EFER.SVME is not zero.  Otherwise, #UD should be injected.
    
    Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
    Reviewed-by: Tim Deegan <tim@xen.org>
    master commit: 910daaf5aaa837624099c0fc5c373bea7202ff43
    master date: 2013-08-13 14:24:16 +0200
---
 xen/arch/x86/hvm/svm/svm.c              |   24 ++++++++++++++----------
 xen/include/asm-x86/hvm/svm/nestedsvm.h |    2 +-
 2 files changed, 15 insertions(+), 11 deletions(-)

diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index db7b063..e74984e 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -1797,15 +1797,17 @@ static void
 svm_vmexit_do_vmrun(struct cpu_user_regs *regs,
                     struct vcpu *v, uint64_t vmcbaddr)
 {
-    if (!nestedhvm_enabled(v->domain)) {
+    if ( !nsvm_efer_svm_enabled(v) )
+    {
         gdprintk(XENLOG_ERR, "VMRUN: nestedhvm disabled, injecting #UD\n");
         hvm_inject_hw_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE);
         return;
     }
 
-    if (!nestedsvm_vmcb_map(v, vmcbaddr)) {
-        gdprintk(XENLOG_ERR, "VMRUN: mapping vmcb failed, injecting #UD\n");
-        hvm_inject_hw_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE);
+    if ( !nestedsvm_vmcb_map(v, vmcbaddr) )
+    {
+        gdprintk(XENLOG_ERR, "VMRUN: mapping vmcb failed, injecting #GP\n");
+        hvm_inject_hw_exception(TRAP_gp_fault, HVM_DELIVER_NO_ERROR_CODE);
         return;
     }
 
@@ -1851,7 +1853,8 @@ svm_vmexit_do_vmload(struct vmcb_struct *vmcb,
     if ( (inst_len = __get_instruction_length(v, INSTR_VMLOAD)) == 0 )
         return;
 
-    if (!nestedhvm_enabled(v->domain)) {
+    if ( !nsvm_efer_svm_enabled(v) )
+    {
         gdprintk(XENLOG_ERR, "VMLOAD: nestedhvm disabled, injecting #UD\n");
         ret = TRAP_invalid_op;
         goto inject;
@@ -1861,8 +1864,8 @@ svm_vmexit_do_vmload(struct vmcb_struct *vmcb,
     if ( !page )
     {
         gdprintk(XENLOG_ERR,
-            "VMLOAD: mapping failed, injecting #UD\n");
-        ret = TRAP_invalid_op;
+            "VMLOAD: mapping failed, injecting #GP\n");
+        ret = TRAP_gp_fault;
         goto inject;
     }
 
@@ -1892,7 +1895,8 @@ svm_vmexit_do_vmsave(struct vmcb_struct *vmcb,
     if ( (inst_len = __get_instruction_length(v, INSTR_VMSAVE)) == 0 )
         return;
 
-    if (!nestedhvm_enabled(v->domain)) {
+    if ( !nsvm_efer_svm_enabled(v) )
+    {
         gdprintk(XENLOG_ERR, "VMSAVE: nestedhvm disabled, injecting #UD\n");
         ret = TRAP_invalid_op;
         goto inject;
@@ -1902,8 +1906,8 @@ svm_vmexit_do_vmsave(struct vmcb_struct *vmcb,
     if ( !page )
     {
         gdprintk(XENLOG_ERR,
-            "VMSAVE: mapping vmcb failed, injecting #UD\n");
-        ret = TRAP_invalid_op;
+            "VMSAVE: mapping vmcb failed, injecting #GP\n");
+        ret = TRAP_gp_fault;
         goto inject;
     }
 
diff --git a/xen/include/asm-x86/hvm/svm/nestedsvm.h b/xen/include/asm-x86/hvm/svm/nestedsvm.h
index fa83023..b6ed9e4 100644
--- a/xen/include/asm-x86/hvm/svm/nestedsvm.h
+++ b/xen/include/asm-x86/hvm/svm/nestedsvm.h
@@ -94,7 +94,7 @@ struct nestedsvm {
 #define vcpu_nestedsvm(v) (vcpu_nestedhvm(v).u.nsvm)
 
 /* True when l1 guest enabled SVM in EFER */
-#define hvm_svm_enabled(v) \
+#define nsvm_efer_svm_enabled(v) \
     (!!((v)->arch.hvm_vcpu.guest_efer & EFER_SVME))
 
 int nestedsvm_vmcb_map(struct vcpu *v, uint64_t vmcbaddr);
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.2

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 20 19:55:51 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Aug 2013 19:55:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBs1r-0000zs-P4; Tue, 20 Aug 2013 19:55:47 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBs1q-0000zV-EP
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 19:55:46 +0000
Received: from [85.158.143.35:28123] by server-1.bemta-4.messagelabs.com id
	1C/7D-16125-1C9C3125; Tue, 20 Aug 2013 19:55:45 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1377028544!5447424!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15168 invoked from network); 20 Aug 2013 19:55:44 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-7.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	20 Aug 2013 19:55:44 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBs1n-0000Kf-To
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 19:55:43 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBs1n-0007VS-SN
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 19:55:43 +0000
Date: Tue, 20 Aug 2013 19:55:43 +0000
Message-Id: <E1VBs1n-0007VS-SN@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.2] VT-d: protect against bogus
	information coming from BIOS
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 4d1549ec621b69741177b3386648b99c8d643ca1
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Tue Aug 20 15:38:24 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 20 15:38:24 2013 +0200

    VT-d: protect against bogus information coming from BIOS
    
    Add checks similar to those done by Linux: The DRHD address must not
    be all zeros or all ones (Linux only checks for zero), and capabilities
    as well as extended capabilities must not be all ones.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Ben Guthro <benjamin.guthro@citrix.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Tested-by: Ben Guthro <benjamin.guthro@citrix.com>
    Acked by: Yang Zhang <yang.z.zhang@intel.com>
    Acked-by: Xiantao Zhang <xiantao.zhang@intel.com>
    master commit: e8e8b030ecf916fea19639f0b6a446c1c9dbe174
    master date: 2013-08-14 11:18:24 +0200
---
 xen/drivers/passthrough/vtd/dmar.c  |    3 +++
 xen/drivers/passthrough/vtd/iommu.c |    3 +++
 2 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/xen/drivers/passthrough/vtd/dmar.c b/xen/drivers/passthrough/vtd/dmar.c
index 464c14a..309a985 100644
--- a/xen/drivers/passthrough/vtd/dmar.c
+++ b/xen/drivers/passthrough/vtd/dmar.c
@@ -405,6 +405,9 @@ acpi_parse_one_drhd(struct acpi_dmar_header *header)
     if ( (ret = acpi_dmar_check_length(header, sizeof(*drhd))) != 0 )
         return ret;
 
+    if ( !drhd->address || !(drhd->address + 1) )
+        return -ENODEV;
+
     dmaru = xzalloc(struct acpi_drhd_unit);
     if ( !dmaru )
         return -ENOMEM;
diff --git a/xen/drivers/passthrough/vtd/iommu.c b/xen/drivers/passthrough/vtd/iommu.c
index 071a91b..8c24c04 100644
--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
@@ -1198,6 +1198,9 @@ int __init iommu_alloc(struct acpi_drhd_unit *drhd)
         dprintk(VTDPREFIX,
                 "cap = %"PRIx64" ecap = %"PRIx64"\n", iommu->cap, iommu->ecap);
     }
+    if ( !(iommu->cap + 1) || !(iommu->ecap + 1) )
+        return -ENODEV;
+
     if ( cap_fault_reg_offset(iommu->cap) +
          cap_num_fault_regs(iommu->cap) * PRIMARY_FAULT_REG_LEN >= PAGE_SIZE ||
          ecap_iotlb_offset(iommu->ecap) >= PAGE_SIZE )
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.2

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 20 19:55:51 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Aug 2013 19:55:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBs1r-0000zs-P4; Tue, 20 Aug 2013 19:55:47 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBs1q-0000zV-EP
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 19:55:46 +0000
Received: from [85.158.143.35:28123] by server-1.bemta-4.messagelabs.com id
	1C/7D-16125-1C9C3125; Tue, 20 Aug 2013 19:55:45 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1377028544!5447424!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15168 invoked from network); 20 Aug 2013 19:55:44 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-7.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	20 Aug 2013 19:55:44 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBs1n-0000Kf-To
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 19:55:43 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBs1n-0007VS-SN
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 19:55:43 +0000
Date: Tue, 20 Aug 2013 19:55:43 +0000
Message-Id: <E1VBs1n-0007VS-SN@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.2] VT-d: protect against bogus
	information coming from BIOS
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 4d1549ec621b69741177b3386648b99c8d643ca1
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Tue Aug 20 15:38:24 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 20 15:38:24 2013 +0200

    VT-d: protect against bogus information coming from BIOS
    
    Add checks similar to those done by Linux: The DRHD address must not
    be all zeros or all ones (Linux only checks for zero), and capabilities
    as well as extended capabilities must not be all ones.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Ben Guthro <benjamin.guthro@citrix.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Tested-by: Ben Guthro <benjamin.guthro@citrix.com>
    Acked by: Yang Zhang <yang.z.zhang@intel.com>
    Acked-by: Xiantao Zhang <xiantao.zhang@intel.com>
    master commit: e8e8b030ecf916fea19639f0b6a446c1c9dbe174
    master date: 2013-08-14 11:18:24 +0200
---
 xen/drivers/passthrough/vtd/dmar.c  |    3 +++
 xen/drivers/passthrough/vtd/iommu.c |    3 +++
 2 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/xen/drivers/passthrough/vtd/dmar.c b/xen/drivers/passthrough/vtd/dmar.c
index 464c14a..309a985 100644
--- a/xen/drivers/passthrough/vtd/dmar.c
+++ b/xen/drivers/passthrough/vtd/dmar.c
@@ -405,6 +405,9 @@ acpi_parse_one_drhd(struct acpi_dmar_header *header)
     if ( (ret = acpi_dmar_check_length(header, sizeof(*drhd))) != 0 )
         return ret;
 
+    if ( !drhd->address || !(drhd->address + 1) )
+        return -ENODEV;
+
     dmaru = xzalloc(struct acpi_drhd_unit);
     if ( !dmaru )
         return -ENOMEM;
diff --git a/xen/drivers/passthrough/vtd/iommu.c b/xen/drivers/passthrough/vtd/iommu.c
index 071a91b..8c24c04 100644
--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
@@ -1198,6 +1198,9 @@ int __init iommu_alloc(struct acpi_drhd_unit *drhd)
         dprintk(VTDPREFIX,
                 "cap = %"PRIx64" ecap = %"PRIx64"\n", iommu->cap, iommu->ecap);
     }
+    if ( !(iommu->cap + 1) || !(iommu->ecap + 1) )
+        return -ENODEV;
+
     if ( cap_fault_reg_offset(iommu->cap) +
          cap_num_fault_regs(iommu->cap) * PRIMARY_FAULT_REG_LEN >= PAGE_SIZE ||
          ecap_iotlb_offset(iommu->ecap) >= PAGE_SIZE )
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.2

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 20 19:55:59 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Aug 2013 19:55:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBs21-00012n-SN; Tue, 20 Aug 2013 19:55:57 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBs20-00012G-HX
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 19:55:56 +0000
Received: from [85.158.143.35:28525] by server-1.bemta-4.messagelabs.com id
	5D/8D-16125-BC9C3125; Tue, 20 Aug 2013 19:55:55 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1377028554!3374425!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11117 invoked from network); 20 Aug 2013 19:55:55 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-2.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	20 Aug 2013 19:55:55 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBs1y-0000Km-2v
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 19:55:54 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBs1y-0007W6-0i
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 19:55:54 +0000
Date: Tue, 20 Aug 2013 19:55:54 +0000
Message-Id: <E1VBs1y-0007W6-0i@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.2] x86/MTRR: fix range check in
	mtrr_add_page()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit d1eca89587990c47edf54091dabe187d8317bafb
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Tue Aug 20 15:39:07 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 20 15:39:07 2013 +0200

    x86/MTRR: fix range check in mtrr_add_page()
    
    Extracted from Yinghai Lu's Linux commit d5c78673 ("x86: Fix /proc/mtrr
    with base/size more than 44bits").
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
    master commit: f67af6d5803b6a015e30cb490a94f9547cb0437c
    master date: 2013-08-14 11:20:26 +0200
---
 xen/arch/x86/cpu/mtrr/main.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/xen/arch/x86/cpu/mtrr/main.c b/xen/arch/x86/cpu/mtrr/main.c
index 45d0898..2b3d29f 100644
--- a/xen/arch/x86/cpu/mtrr/main.c
+++ b/xen/arch/x86/cpu/mtrr/main.c
@@ -350,7 +350,7 @@ int mtrr_add_page(unsigned long base, unsigned long size,
 		return -EINVAL;
 	}
 
-	if (base & size_or_mask || size & size_or_mask) {
+	if ((base | (base + size - 1)) >> (paddr_bits - PAGE_SHIFT)) {
 		printk(KERN_WARNING "mtrr: base or size exceeds the MTRR width\n");
 		return -EINVAL;
 	}
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.2

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 20 19:55:59 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Aug 2013 19:55:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBs21-00012n-SN; Tue, 20 Aug 2013 19:55:57 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBs20-00012G-HX
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 19:55:56 +0000
Received: from [85.158.143.35:28525] by server-1.bemta-4.messagelabs.com id
	5D/8D-16125-BC9C3125; Tue, 20 Aug 2013 19:55:55 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1377028554!3374425!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11117 invoked from network); 20 Aug 2013 19:55:55 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-2.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	20 Aug 2013 19:55:55 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBs1y-0000Km-2v
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 19:55:54 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBs1y-0007W6-0i
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 19:55:54 +0000
Date: Tue, 20 Aug 2013 19:55:54 +0000
Message-Id: <E1VBs1y-0007W6-0i@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.2] x86/MTRR: fix range check in
	mtrr_add_page()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit d1eca89587990c47edf54091dabe187d8317bafb
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Tue Aug 20 15:39:07 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 20 15:39:07 2013 +0200

    x86/MTRR: fix range check in mtrr_add_page()
    
    Extracted from Yinghai Lu's Linux commit d5c78673 ("x86: Fix /proc/mtrr
    with base/size more than 44bits").
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
    master commit: f67af6d5803b6a015e30cb490a94f9547cb0437c
    master date: 2013-08-14 11:20:26 +0200
---
 xen/arch/x86/cpu/mtrr/main.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/xen/arch/x86/cpu/mtrr/main.c b/xen/arch/x86/cpu/mtrr/main.c
index 45d0898..2b3d29f 100644
--- a/xen/arch/x86/cpu/mtrr/main.c
+++ b/xen/arch/x86/cpu/mtrr/main.c
@@ -350,7 +350,7 @@ int mtrr_add_page(unsigned long base, unsigned long size,
 		return -EINVAL;
 	}
 
-	if (base & size_or_mask || size & size_or_mask) {
+	if ((base | (base + size - 1)) >> (paddr_bits - PAGE_SHIFT)) {
 		printk(KERN_WARNING "mtrr: base or size exceeds the MTRR width\n");
 		return -EINVAL;
 	}
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.2

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 20 19:56:09 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Aug 2013 19:56:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBs2B-00015k-Vw; Tue, 20 Aug 2013 19:56:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBs2A-00015D-PW
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 19:56:06 +0000
Received: from [85.158.143.35:28934] by server-1.bemta-4.messagelabs.com id
	D9/9D-16125-6D9C3125; Tue, 20 Aug 2013 19:56:06 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1377028564!5466699!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23960 invoked from network); 20 Aug 2013 19:56:05 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-11.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	20 Aug 2013 19:56:05 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBs28-0000LN-DH
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 19:56:04 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBs28-0007We-7y
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 19:56:04 +0000
Date: Tue, 20 Aug 2013 19:56:04 +0000
Message-Id: <E1VBs28-0007We-7y@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.2] x86/time: fix check for negative
	time in __update_vcpu_system_time()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit df047d6936000f0656c6679220baae91f6b8cda3
Author:     Tim Deegan <tim@xen.org>
AuthorDate: Tue Aug 20 15:39:39 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 20 15:39:39 2013 +0200

    x86/time: fix check for negative time in __update_vcpu_system_time()
    
    Clang points out that u64 stime variable is always >= 0.
    
    Signed-off-by: Tim Deegan <tim@xen.org>
    master commit: ab7f9a793c78dfea81c037b34b0dd2db7070d8f8
    master date: 2013-08-15 13:17:10 +0200
---
 xen/arch/x86/time.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
index 9187520..92b1226 100644
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -828,7 +828,8 @@ static void __update_vcpu_system_time(struct vcpu *v, int force)
 
     if ( d->arch.vtsc )
     {
-        u64 stime = t->stime_local_stamp;
+        s_time_t stime = t->stime_local_stamp;
+
         if ( is_hvm_domain(d) )
         {
             struct pl_time *pl = &v->domain->arch.hvm_domain.pl_time;
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.2

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 20 19:56:09 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Aug 2013 19:56:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBs2B-00015k-Vw; Tue, 20 Aug 2013 19:56:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBs2A-00015D-PW
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 19:56:06 +0000
Received: from [85.158.143.35:28934] by server-1.bemta-4.messagelabs.com id
	D9/9D-16125-6D9C3125; Tue, 20 Aug 2013 19:56:06 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1377028564!5466699!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23960 invoked from network); 20 Aug 2013 19:56:05 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-11.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	20 Aug 2013 19:56:05 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBs28-0000LN-DH
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 19:56:04 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBs28-0007We-7y
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 19:56:04 +0000
Date: Tue, 20 Aug 2013 19:56:04 +0000
Message-Id: <E1VBs28-0007We-7y@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.2] x86/time: fix check for negative
	time in __update_vcpu_system_time()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit df047d6936000f0656c6679220baae91f6b8cda3
Author:     Tim Deegan <tim@xen.org>
AuthorDate: Tue Aug 20 15:39:39 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 20 15:39:39 2013 +0200

    x86/time: fix check for negative time in __update_vcpu_system_time()
    
    Clang points out that u64 stime variable is always >= 0.
    
    Signed-off-by: Tim Deegan <tim@xen.org>
    master commit: ab7f9a793c78dfea81c037b34b0dd2db7070d8f8
    master date: 2013-08-15 13:17:10 +0200
---
 xen/arch/x86/time.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
index 9187520..92b1226 100644
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -828,7 +828,8 @@ static void __update_vcpu_system_time(struct vcpu *v, int force)
 
     if ( d->arch.vtsc )
     {
-        u64 stime = t->stime_local_stamp;
+        s_time_t stime = t->stime_local_stamp;
+
         if ( is_hvm_domain(d) )
         {
             struct pl_time *pl = &v->domain->arch.hvm_domain.pl_time;
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.2

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 20 19:56:20 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Aug 2013 19:56:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBs2M-00018w-35; Tue, 20 Aug 2013 19:56:18 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBs2K-00018M-Va
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 19:56:17 +0000
Received: from [193.109.254.147:10381] by server-2.bemta-14.messagelabs.com id
	B0/59-18933-0E9C3125; Tue, 20 Aug 2013 19:56:16 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1377028574!5042031!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18527 invoked from network); 20 Aug 2013 19:56:15 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-16.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	20 Aug 2013 19:56:15 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBs2I-0000LT-Iz
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 19:56:14 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBs2I-0007Xn-GQ
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 19:56:14 +0000
Date: Tue, 20 Aug 2013 19:56:14 +0000
Message-Id: <E1VBs2I-0007Xn-GQ@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.2] xen: Add stdbool.h workaround for
	BSD.
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit c5137a955a7a8bedef526127970b49f5cca8f78c
Author:     Tim Deegan <tim@xen.org>
AuthorDate: Tue Aug 20 15:40:38 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 20 15:40:38 2013 +0200

    xen: Add stdbool.h workaround for BSD.
    
    On *BSD, stdbool.h lives in /usr/include, but we don't want to have
    that on the search path in case we pick up any headers from the build
    host's C libraries.
    
    Copy the equivalent hack already in place for stdarg.h: on all
    supported compilers the contents of stdbool.h are trivial, so just
    supply the things we need in a xen/stdbool.h header.
    
    Signed-off-by: Tim Deegan <tim@xen.org>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
    Tested-by: Patrick Welche <prlw1@cam.ac.uk>
    master commit: 7b9685ca4ed2fd723600ce66eb20a6d0c115b6cb
    master date: 2013-08-15 22:00:45 +0100
---
 xen/include/xen/libelf.h  |    4 ++--
 xen/include/xen/stdbool.h |   13 +++++++++++++
 2 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/xen/include/xen/libelf.h b/xen/include/xen/libelf.h
index 36b2b3f..0ced7b1 100644
--- a/xen/include/xen/libelf.h
+++ b/xen/include/xen/libelf.h
@@ -29,8 +29,6 @@
 #error define architectural endianness
 #endif
 
-#include <stdbool.h>
-
 typedef int elf_errorstatus; /* 0: ok; -ve (normally -1): error */
 typedef int elf_negerrnoval; /* 0: ok; -EFOO: error */
 
@@ -39,11 +37,13 @@ typedef int elf_negerrnoval; /* 0: ok; -EFOO: error */
 #ifdef __XEN__
 #include <public/elfnote.h>
 #include <public/features.h>
+#include <xen/stdbool.h>
 #else
 #include <xen/elfnote.h>
 #include <xen/features.h>
 
 #include <stdarg.h>
+#include <stdbool.h>
 
 struct elf_binary;
 typedef void elf_log_callback(struct elf_binary*, void *caller_data,
diff --git a/xen/include/xen/stdbool.h b/xen/include/xen/stdbool.h
new file mode 100644
index 0000000..2eecd52
--- /dev/null
+++ b/xen/include/xen/stdbool.h
@@ -0,0 +1,13 @@
+#ifndef __XEN_STDBOOL_H__
+#define __XEN_STDBOOL_H__
+
+#if defined(__OpenBSD__) || defined(__NetBSD__)
+#  define bool _Bool
+#  define true 1
+#  define false 0
+#  define __bool_true_false_are_defined   1
+#else
+#  include <stdbool.h>
+#endif
+
+#endif /* __XEN_STDBOOL_H__ */
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.2

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 20 19:56:20 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Aug 2013 19:56:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBs2M-00018w-35; Tue, 20 Aug 2013 19:56:18 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBs2K-00018M-Va
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 19:56:17 +0000
Received: from [193.109.254.147:10381] by server-2.bemta-14.messagelabs.com id
	B0/59-18933-0E9C3125; Tue, 20 Aug 2013 19:56:16 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-27.messagelabs.com!1377028574!5042031!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18527 invoked from network); 20 Aug 2013 19:56:15 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-16.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	20 Aug 2013 19:56:15 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBs2I-0000LT-Iz
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 19:56:14 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBs2I-0007Xn-GQ
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 19:56:14 +0000
Date: Tue, 20 Aug 2013 19:56:14 +0000
Message-Id: <E1VBs2I-0007Xn-GQ@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.2] xen: Add stdbool.h workaround for
	BSD.
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit c5137a955a7a8bedef526127970b49f5cca8f78c
Author:     Tim Deegan <tim@xen.org>
AuthorDate: Tue Aug 20 15:40:38 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 20 15:40:38 2013 +0200

    xen: Add stdbool.h workaround for BSD.
    
    On *BSD, stdbool.h lives in /usr/include, but we don't want to have
    that on the search path in case we pick up any headers from the build
    host's C libraries.
    
    Copy the equivalent hack already in place for stdarg.h: on all
    supported compilers the contents of stdbool.h are trivial, so just
    supply the things we need in a xen/stdbool.h header.
    
    Signed-off-by: Tim Deegan <tim@xen.org>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
    Tested-by: Patrick Welche <prlw1@cam.ac.uk>
    master commit: 7b9685ca4ed2fd723600ce66eb20a6d0c115b6cb
    master date: 2013-08-15 22:00:45 +0100
---
 xen/include/xen/libelf.h  |    4 ++--
 xen/include/xen/stdbool.h |   13 +++++++++++++
 2 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/xen/include/xen/libelf.h b/xen/include/xen/libelf.h
index 36b2b3f..0ced7b1 100644
--- a/xen/include/xen/libelf.h
+++ b/xen/include/xen/libelf.h
@@ -29,8 +29,6 @@
 #error define architectural endianness
 #endif
 
-#include <stdbool.h>
-
 typedef int elf_errorstatus; /* 0: ok; -ve (normally -1): error */
 typedef int elf_negerrnoval; /* 0: ok; -EFOO: error */
 
@@ -39,11 +37,13 @@ typedef int elf_negerrnoval; /* 0: ok; -EFOO: error */
 #ifdef __XEN__
 #include <public/elfnote.h>
 #include <public/features.h>
+#include <xen/stdbool.h>
 #else
 #include <xen/elfnote.h>
 #include <xen/features.h>
 
 #include <stdarg.h>
+#include <stdbool.h>
 
 struct elf_binary;
 typedef void elf_log_callback(struct elf_binary*, void *caller_data,
diff --git a/xen/include/xen/stdbool.h b/xen/include/xen/stdbool.h
new file mode 100644
index 0000000..2eecd52
--- /dev/null
+++ b/xen/include/xen/stdbool.h
@@ -0,0 +1,13 @@
+#ifndef __XEN_STDBOOL_H__
+#define __XEN_STDBOOL_H__
+
+#if defined(__OpenBSD__) || defined(__NetBSD__)
+#  define bool _Bool
+#  define true 1
+#  define false 0
+#  define __bool_true_false_are_defined   1
+#else
+#  include <stdbool.h>
+#endif
+
+#endif /* __XEN_STDBOOL_H__ */
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.2

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 20 20:44:13 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Aug 2013 20:44:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBsmd-000241-SV; Tue, 20 Aug 2013 20:44:07 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBsmc-00023q-Ot
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 20:44:06 +0000
Received: from [193.109.254.147:23983] by server-10.bemta-14.messagelabs.com
	id A6/81-26557-515D3125; Tue, 20 Aug 2013 20:44:05 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1377031443!5038550!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22834 invoked from network); 20 Aug 2013 20:44:04 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-15.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	20 Aug 2013 20:44:04 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBsmZ-00010e-K2
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 20:44:03 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBsmZ-0000YL-8c
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 20:44:03 +0000
Date: Tue, 20 Aug 2013 20:44:03 +0000
Message-Id: <E1VBsmZ-0000YL-8c@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.3] libelf: Fix typo in header guard
	macro
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit a5515a54dca2beaed466bead21e4af9efc74416a
Author:     Patrick Welche <prlw1@cam.ac.uk>
AuthorDate: Tue Aug 20 14:43:32 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 20 14:43:32 2013 +0200

    libelf: Fix typo in header guard macro
    
    s/__LIBELF_PRIVATE_H_/__LIBELF_PRIVATE_H__/
    
    Signed-off-by: Patrick Welche <prlw1@cam.ac.uk>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
    master commit: 0aec8823501f8ee058c1ba673d2ac3e0f3f2e8db
    master date: 2013-08-08 12:47:38 +0100
---
 xen/common/libelf/libelf-private.h |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/common/libelf/libelf-private.h b/xen/common/libelf/libelf-private.h
index ea7e197..f4b79c7 100644
--- a/xen/common/libelf/libelf-private.h
+++ b/xen/common/libelf/libelf-private.h
@@ -14,7 +14,7 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
  */
 #ifndef __LIBELF_PRIVATE_H__
-#define __LIBELF_PRIVATE_H_
+#define __LIBELF_PRIVATE_H__
 
 #ifdef __XEN__
 
@@ -99,7 +99,7 @@ do { strncpy((d),(s),sizeof((d))-1);            \
    * of memcpy, memset, memmove and strcpy.  Every call site
    * must either use elf_mem*_unchecked, or elf_mem*_safe. */
 
-#endif /* __LIBELF_PRIVATE_H_ */
+#endif /* __LIBELF_PRIVATE_H__ */
 
 /*
  * Local variables:
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 20 20:44:13 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Aug 2013 20:44:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBsmd-000241-SV; Tue, 20 Aug 2013 20:44:07 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBsmc-00023q-Ot
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 20:44:06 +0000
Received: from [193.109.254.147:23983] by server-10.bemta-14.messagelabs.com
	id A6/81-26557-515D3125; Tue, 20 Aug 2013 20:44:05 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1377031443!5038550!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22834 invoked from network); 20 Aug 2013 20:44:04 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-15.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	20 Aug 2013 20:44:04 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBsmZ-00010e-K2
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 20:44:03 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBsmZ-0000YL-8c
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 20:44:03 +0000
Date: Tue, 20 Aug 2013 20:44:03 +0000
Message-Id: <E1VBsmZ-0000YL-8c@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.3] libelf: Fix typo in header guard
	macro
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit a5515a54dca2beaed466bead21e4af9efc74416a
Author:     Patrick Welche <prlw1@cam.ac.uk>
AuthorDate: Tue Aug 20 14:43:32 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 20 14:43:32 2013 +0200

    libelf: Fix typo in header guard macro
    
    s/__LIBELF_PRIVATE_H_/__LIBELF_PRIVATE_H__/
    
    Signed-off-by: Patrick Welche <prlw1@cam.ac.uk>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
    master commit: 0aec8823501f8ee058c1ba673d2ac3e0f3f2e8db
    master date: 2013-08-08 12:47:38 +0100
---
 xen/common/libelf/libelf-private.h |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/common/libelf/libelf-private.h b/xen/common/libelf/libelf-private.h
index ea7e197..f4b79c7 100644
--- a/xen/common/libelf/libelf-private.h
+++ b/xen/common/libelf/libelf-private.h
@@ -14,7 +14,7 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
  */
 #ifndef __LIBELF_PRIVATE_H__
-#define __LIBELF_PRIVATE_H_
+#define __LIBELF_PRIVATE_H__
 
 #ifdef __XEN__
 
@@ -99,7 +99,7 @@ do { strncpy((d),(s),sizeof((d))-1);            \
    * of memcpy, memset, memmove and strcpy.  Every call site
    * must either use elf_mem*_unchecked, or elf_mem*_safe. */
 
-#endif /* __LIBELF_PRIVATE_H_ */
+#endif /* __LIBELF_PRIVATE_H__ */
 
 /*
  * Local variables:
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 20 20:44:20 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Aug 2013 20:44:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBsmn-000253-VR; Tue, 20 Aug 2013 20:44:17 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBsmm-00024t-A0
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 20:44:16 +0000
Received: from [85.158.143.35:18174] by server-1.bemta-4.messagelabs.com id
	F6/CE-16125-F15D3125; Tue, 20 Aug 2013 20:44:15 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1377031454!5452143!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25713 invoked from network); 20 Aug 2013 20:44:14 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-7.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	20 Aug 2013 20:44:14 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBsmj-00010k-PP
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 20:44:13 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBsmj-0000Zd-Nm
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 20:44:13 +0000
Date: Tue, 20 Aug 2013 20:44:13 +0000
Message-Id: <E1VBsmj-0000Zd-Nm@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.3] x86/AMD: Fix nested svm crash due
	to assertion in __virt_to_maddr
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 2b41852f939d8529d1bb05297d80a731c32130cf
Author:     Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
AuthorDate: Tue Aug 20 14:56:17 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 20 14:56:17 2013 +0200

    x86/AMD: Fix nested svm crash due to assertion in __virt_to_maddr
    
    Fix assertion in __virt_to_maddr when starting nested SVM guest
    in debug mode. Investigation has shown that svm_vmsave/svm_vmload
    make use of __pa() with invalid address.
    
    Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
    Reviewed-by: Tim Deegan <tim@xen.org>
    master commit: 85fc517ec3055e8e8d9c9e36e15a81e630237252
    master date: 2013-08-13 14:22:14 +0200
---
 xen/arch/x86/hvm/svm/svm.c        |   52 ++++++++++++++++++++++++++++++------
 xen/include/asm-x86/hvm/svm/svm.h |   11 +++++---
 2 files changed, 50 insertions(+), 13 deletions(-)

diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index 4a7aeee..86e6fb8 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -1792,6 +1792,32 @@ svm_vmexit_do_vmrun(struct cpu_user_regs *regs,
     return;
 }
 
+static struct page_info *
+nsvm_get_nvmcb_page(struct vcpu *v, uint64_t vmcbaddr)
+{
+    p2m_type_t p2mt;
+    struct page_info *page;
+    struct nestedvcpu *nv = &vcpu_nestedhvm(v);
+
+    if ( !nestedsvm_vmcb_map(v, vmcbaddr) )
+        return NULL;
+
+    /* Need to translate L1-GPA to MPA */
+    page = get_page_from_gfn(v->domain,
+                            nv->nv_vvmcxaddr >> PAGE_SHIFT,
+                            &p2mt, P2M_ALLOC | P2M_UNSHARE);
+    if ( !page )
+        return NULL;
+
+    if ( !p2m_is_ram(p2mt) || p2m_is_readonly(p2mt) )
+    {
+        put_page(page);
+        return NULL;
+    }
+
+    return  page;
+}
+
 static void
 svm_vmexit_do_vmload(struct vmcb_struct *vmcb,
                      struct cpu_user_regs *regs,
@@ -1799,7 +1825,7 @@ svm_vmexit_do_vmload(struct vmcb_struct *vmcb,
 {
     int ret;
     unsigned int inst_len;
-    struct nestedvcpu *nv = &vcpu_nestedhvm(v);
+    struct page_info *page;
 
     if ( (inst_len = __get_instruction_length(v, INSTR_VMLOAD)) == 0 )
         return;
@@ -1810,13 +1836,18 @@ svm_vmexit_do_vmload(struct vmcb_struct *vmcb,
         goto inject;
     }
 
-    if (!nestedsvm_vmcb_map(v, vmcbaddr)) {
-        gdprintk(XENLOG_ERR, "VMLOAD: mapping vmcb failed, injecting #UD\n");
+    page = nsvm_get_nvmcb_page(v, vmcbaddr);
+    if ( !page )
+    {
+        gdprintk(XENLOG_ERR,
+            "VMLOAD: mapping failed, injecting #UD\n");
         ret = TRAP_invalid_op;
         goto inject;
     }
 
-    svm_vmload(nv->nv_vvmcx);
+    svm_vmload_pa(page_to_maddr(page));
+    put_page(page);
+
     /* State in L1 VMCB is stale now */
     v->arch.hvm_svm.vmcb_in_sync = 0;
 
@@ -1835,7 +1866,7 @@ svm_vmexit_do_vmsave(struct vmcb_struct *vmcb,
 {
     int ret;
     unsigned int inst_len;
-    struct nestedvcpu *nv = &vcpu_nestedhvm(v);
+    struct page_info *page;
 
     if ( (inst_len = __get_instruction_length(v, INSTR_VMSAVE)) == 0 )
         return;
@@ -1846,14 +1877,17 @@ svm_vmexit_do_vmsave(struct vmcb_struct *vmcb,
         goto inject;
     }
 
-    if (!nestedsvm_vmcb_map(v, vmcbaddr)) {
-        gdprintk(XENLOG_ERR, "VMSAVE: mapping vmcb failed, injecting #UD\n");
+    page = nsvm_get_nvmcb_page(v, vmcbaddr);
+    if ( !page )
+    {
+        gdprintk(XENLOG_ERR,
+            "VMSAVE: mapping vmcb failed, injecting #UD\n");
         ret = TRAP_invalid_op;
         goto inject;
     }
 
-    svm_vmsave(nv->nv_vvmcx);
-
+    svm_vmsave_pa(page_to_maddr(page));
+    put_page(page);
     __update_guest_eip(regs, inst_len);
     return;
 
diff --git a/xen/include/asm-x86/hvm/svm/svm.h b/xen/include/asm-x86/hvm/svm/svm.h
index 64e7e25..1ffe6d6 100644
--- a/xen/include/asm-x86/hvm/svm/svm.h
+++ b/xen/include/asm-x86/hvm/svm/svm.h
@@ -41,18 +41,21 @@
 #define SVM_REG_R14 (14)
 #define SVM_REG_R15 (15)
 
-static inline void svm_vmload(void *vmcb)
+#define svm_vmload(x)     svm_vmload_pa(__pa(x))
+#define svm_vmsave(x)     svm_vmsave_pa(__pa(x))
+
+static inline void svm_vmload_pa(paddr_t vmcb)
 {
     asm volatile (
         ".byte 0x0f,0x01,0xda" /* vmload */
-        : : "a" (__pa(vmcb)) : "memory" );
+        : : "a" (vmcb) : "memory" );
 }
 
-static inline void svm_vmsave(void *vmcb)
+static inline void svm_vmsave_pa(paddr_t vmcb)
 {
     asm volatile (
         ".byte 0x0f,0x01,0xdb" /* vmsave */
-        : : "a" (__pa(vmcb)) : "memory" );
+        : : "a" (vmcb) : "memory" );
 }
 
 static inline void svm_invlpga(unsigned long vaddr, uint32_t asid)
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 20 20:44:20 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Aug 2013 20:44:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBsmn-000253-VR; Tue, 20 Aug 2013 20:44:17 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBsmm-00024t-A0
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 20:44:16 +0000
Received: from [85.158.143.35:18174] by server-1.bemta-4.messagelabs.com id
	F6/CE-16125-F15D3125; Tue, 20 Aug 2013 20:44:15 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1377031454!5452143!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25713 invoked from network); 20 Aug 2013 20:44:14 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-7.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	20 Aug 2013 20:44:14 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBsmj-00010k-PP
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 20:44:13 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBsmj-0000Zd-Nm
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 20:44:13 +0000
Date: Tue, 20 Aug 2013 20:44:13 +0000
Message-Id: <E1VBsmj-0000Zd-Nm@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.3] x86/AMD: Fix nested svm crash due
	to assertion in __virt_to_maddr
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 2b41852f939d8529d1bb05297d80a731c32130cf
Author:     Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
AuthorDate: Tue Aug 20 14:56:17 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 20 14:56:17 2013 +0200

    x86/AMD: Fix nested svm crash due to assertion in __virt_to_maddr
    
    Fix assertion in __virt_to_maddr when starting nested SVM guest
    in debug mode. Investigation has shown that svm_vmsave/svm_vmload
    make use of __pa() with invalid address.
    
    Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
    Reviewed-by: Tim Deegan <tim@xen.org>
    master commit: 85fc517ec3055e8e8d9c9e36e15a81e630237252
    master date: 2013-08-13 14:22:14 +0200
---
 xen/arch/x86/hvm/svm/svm.c        |   52 ++++++++++++++++++++++++++++++------
 xen/include/asm-x86/hvm/svm/svm.h |   11 +++++---
 2 files changed, 50 insertions(+), 13 deletions(-)

diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index 4a7aeee..86e6fb8 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -1792,6 +1792,32 @@ svm_vmexit_do_vmrun(struct cpu_user_regs *regs,
     return;
 }
 
+static struct page_info *
+nsvm_get_nvmcb_page(struct vcpu *v, uint64_t vmcbaddr)
+{
+    p2m_type_t p2mt;
+    struct page_info *page;
+    struct nestedvcpu *nv = &vcpu_nestedhvm(v);
+
+    if ( !nestedsvm_vmcb_map(v, vmcbaddr) )
+        return NULL;
+
+    /* Need to translate L1-GPA to MPA */
+    page = get_page_from_gfn(v->domain,
+                            nv->nv_vvmcxaddr >> PAGE_SHIFT,
+                            &p2mt, P2M_ALLOC | P2M_UNSHARE);
+    if ( !page )
+        return NULL;
+
+    if ( !p2m_is_ram(p2mt) || p2m_is_readonly(p2mt) )
+    {
+        put_page(page);
+        return NULL;
+    }
+
+    return  page;
+}
+
 static void
 svm_vmexit_do_vmload(struct vmcb_struct *vmcb,
                      struct cpu_user_regs *regs,
@@ -1799,7 +1825,7 @@ svm_vmexit_do_vmload(struct vmcb_struct *vmcb,
 {
     int ret;
     unsigned int inst_len;
-    struct nestedvcpu *nv = &vcpu_nestedhvm(v);
+    struct page_info *page;
 
     if ( (inst_len = __get_instruction_length(v, INSTR_VMLOAD)) == 0 )
         return;
@@ -1810,13 +1836,18 @@ svm_vmexit_do_vmload(struct vmcb_struct *vmcb,
         goto inject;
     }
 
-    if (!nestedsvm_vmcb_map(v, vmcbaddr)) {
-        gdprintk(XENLOG_ERR, "VMLOAD: mapping vmcb failed, injecting #UD\n");
+    page = nsvm_get_nvmcb_page(v, vmcbaddr);
+    if ( !page )
+    {
+        gdprintk(XENLOG_ERR,
+            "VMLOAD: mapping failed, injecting #UD\n");
         ret = TRAP_invalid_op;
         goto inject;
     }
 
-    svm_vmload(nv->nv_vvmcx);
+    svm_vmload_pa(page_to_maddr(page));
+    put_page(page);
+
     /* State in L1 VMCB is stale now */
     v->arch.hvm_svm.vmcb_in_sync = 0;
 
@@ -1835,7 +1866,7 @@ svm_vmexit_do_vmsave(struct vmcb_struct *vmcb,
 {
     int ret;
     unsigned int inst_len;
-    struct nestedvcpu *nv = &vcpu_nestedhvm(v);
+    struct page_info *page;
 
     if ( (inst_len = __get_instruction_length(v, INSTR_VMSAVE)) == 0 )
         return;
@@ -1846,14 +1877,17 @@ svm_vmexit_do_vmsave(struct vmcb_struct *vmcb,
         goto inject;
     }
 
-    if (!nestedsvm_vmcb_map(v, vmcbaddr)) {
-        gdprintk(XENLOG_ERR, "VMSAVE: mapping vmcb failed, injecting #UD\n");
+    page = nsvm_get_nvmcb_page(v, vmcbaddr);
+    if ( !page )
+    {
+        gdprintk(XENLOG_ERR,
+            "VMSAVE: mapping vmcb failed, injecting #UD\n");
         ret = TRAP_invalid_op;
         goto inject;
     }
 
-    svm_vmsave(nv->nv_vvmcx);
-
+    svm_vmsave_pa(page_to_maddr(page));
+    put_page(page);
     __update_guest_eip(regs, inst_len);
     return;
 
diff --git a/xen/include/asm-x86/hvm/svm/svm.h b/xen/include/asm-x86/hvm/svm/svm.h
index 64e7e25..1ffe6d6 100644
--- a/xen/include/asm-x86/hvm/svm/svm.h
+++ b/xen/include/asm-x86/hvm/svm/svm.h
@@ -41,18 +41,21 @@
 #define SVM_REG_R14 (14)
 #define SVM_REG_R15 (15)
 
-static inline void svm_vmload(void *vmcb)
+#define svm_vmload(x)     svm_vmload_pa(__pa(x))
+#define svm_vmsave(x)     svm_vmsave_pa(__pa(x))
+
+static inline void svm_vmload_pa(paddr_t vmcb)
 {
     asm volatile (
         ".byte 0x0f,0x01,0xda" /* vmload */
-        : : "a" (__pa(vmcb)) : "memory" );
+        : : "a" (vmcb) : "memory" );
 }
 
-static inline void svm_vmsave(void *vmcb)
+static inline void svm_vmsave_pa(paddr_t vmcb)
 {
     asm volatile (
         ".byte 0x0f,0x01,0xdb" /* vmsave */
-        : : "a" (__pa(vmcb)) : "memory" );
+        : : "a" (vmcb) : "memory" );
 }
 
 static inline void svm_invlpga(unsigned long vaddr, uint32_t asid)
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 20 20:44:30 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Aug 2013 20:44:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBsmy-00026B-1s; Tue, 20 Aug 2013 20:44:28 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBsmw-00025t-Q6
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 20:44:27 +0000
Received: from [85.158.139.211:33030] by server-7.bemta-5.messagelabs.com id
	30/08-24315-A25D3125; Tue, 20 Aug 2013 20:44:26 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-206.messagelabs.com!1377031464!3450961!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19365 invoked from network); 20 Aug 2013 20:44:25 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-10.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	20 Aug 2013 20:44:25 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBsmt-00010t-V6
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 20:44:23 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBsmt-0000a1-TF
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 20:44:23 +0000
Date: Tue, 20 Aug 2013 20:44:23 +0000
Message-Id: <E1VBsmt-0000a1-TF@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.3] x86/AMD: Inject #GP instead of #UD
	when unable to map vmcb
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 6d548540781ca4a0a67ed912333c65c2b8873499
Author:     Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
AuthorDate: Tue Aug 20 14:58:12 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 20 14:58:12 2013 +0200

    x86/AMD: Inject #GP instead of #UD when unable to map vmcb
    
    According to AMD Programmer's Manual vol2, vmrun, vmsave and vmload
    should inject #GP instead of #UD when unable to access memory
    location for vmcb.  Also, the code should make sure that L1 guest
    EFER.SVME is not zero.  Otherwise, #UD should be injected.
    
    Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
    Reviewed-by: Tim Deegan <tim@xen.org>
    master commit: 910daaf5aaa837624099c0fc5c373bea7202ff43
    master date: 2013-08-13 14:24:16 +0200
---
 xen/arch/x86/hvm/svm/svm.c              |   24 ++++++++++++++----------
 xen/include/asm-x86/hvm/svm/nestedsvm.h |    2 +-
 2 files changed, 15 insertions(+), 11 deletions(-)

diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index 86e6fb8..e52c18c 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -1776,15 +1776,17 @@ static void
 svm_vmexit_do_vmrun(struct cpu_user_regs *regs,
                     struct vcpu *v, uint64_t vmcbaddr)
 {
-    if (!nestedhvm_enabled(v->domain)) {
+    if ( !nsvm_efer_svm_enabled(v) )
+    {
         gdprintk(XENLOG_ERR, "VMRUN: nestedhvm disabled, injecting #UD\n");
         hvm_inject_hw_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE);
         return;
     }
 
-    if (!nestedsvm_vmcb_map(v, vmcbaddr)) {
-        gdprintk(XENLOG_ERR, "VMRUN: mapping vmcb failed, injecting #UD\n");
-        hvm_inject_hw_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE);
+    if ( !nestedsvm_vmcb_map(v, vmcbaddr) )
+    {
+        gdprintk(XENLOG_ERR, "VMRUN: mapping vmcb failed, injecting #GP\n");
+        hvm_inject_hw_exception(TRAP_gp_fault, HVM_DELIVER_NO_ERROR_CODE);
         return;
     }
 
@@ -1830,7 +1832,8 @@ svm_vmexit_do_vmload(struct vmcb_struct *vmcb,
     if ( (inst_len = __get_instruction_length(v, INSTR_VMLOAD)) == 0 )
         return;
 
-    if (!nestedhvm_enabled(v->domain)) {
+    if ( !nsvm_efer_svm_enabled(v) )
+    {
         gdprintk(XENLOG_ERR, "VMLOAD: nestedhvm disabled, injecting #UD\n");
         ret = TRAP_invalid_op;
         goto inject;
@@ -1840,8 +1843,8 @@ svm_vmexit_do_vmload(struct vmcb_struct *vmcb,
     if ( !page )
     {
         gdprintk(XENLOG_ERR,
-            "VMLOAD: mapping failed, injecting #UD\n");
-        ret = TRAP_invalid_op;
+            "VMLOAD: mapping failed, injecting #GP\n");
+        ret = TRAP_gp_fault;
         goto inject;
     }
 
@@ -1871,7 +1874,8 @@ svm_vmexit_do_vmsave(struct vmcb_struct *vmcb,
     if ( (inst_len = __get_instruction_length(v, INSTR_VMSAVE)) == 0 )
         return;
 
-    if (!nestedhvm_enabled(v->domain)) {
+    if ( !nsvm_efer_svm_enabled(v) )
+    {
         gdprintk(XENLOG_ERR, "VMSAVE: nestedhvm disabled, injecting #UD\n");
         ret = TRAP_invalid_op;
         goto inject;
@@ -1881,8 +1885,8 @@ svm_vmexit_do_vmsave(struct vmcb_struct *vmcb,
     if ( !page )
     {
         gdprintk(XENLOG_ERR,
-            "VMSAVE: mapping vmcb failed, injecting #UD\n");
-        ret = TRAP_invalid_op;
+            "VMSAVE: mapping vmcb failed, injecting #GP\n");
+        ret = TRAP_gp_fault;
         goto inject;
     }
 
diff --git a/xen/include/asm-x86/hvm/svm/nestedsvm.h b/xen/include/asm-x86/hvm/svm/nestedsvm.h
index 0bc663a..f88b1bd 100644
--- a/xen/include/asm-x86/hvm/svm/nestedsvm.h
+++ b/xen/include/asm-x86/hvm/svm/nestedsvm.h
@@ -94,7 +94,7 @@ struct nestedsvm {
 #define vcpu_nestedsvm(v) (vcpu_nestedhvm(v).u.nsvm)
 
 /* True when l1 guest enabled SVM in EFER */
-#define hvm_svm_enabled(v) \
+#define nsvm_efer_svm_enabled(v) \
     (!!((v)->arch.hvm_vcpu.guest_efer & EFER_SVME))
 
 int nestedsvm_vmcb_map(struct vcpu *v, uint64_t vmcbaddr);
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 20 20:44:30 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Aug 2013 20:44:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBsmy-00026B-1s; Tue, 20 Aug 2013 20:44:28 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBsmw-00025t-Q6
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 20:44:27 +0000
Received: from [85.158.139.211:33030] by server-7.bemta-5.messagelabs.com id
	30/08-24315-A25D3125; Tue, 20 Aug 2013 20:44:26 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-206.messagelabs.com!1377031464!3450961!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19365 invoked from network); 20 Aug 2013 20:44:25 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-10.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	20 Aug 2013 20:44:25 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBsmt-00010t-V6
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 20:44:23 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBsmt-0000a1-TF
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 20:44:23 +0000
Date: Tue, 20 Aug 2013 20:44:23 +0000
Message-Id: <E1VBsmt-0000a1-TF@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.3] x86/AMD: Inject #GP instead of #UD
	when unable to map vmcb
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 6d548540781ca4a0a67ed912333c65c2b8873499
Author:     Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
AuthorDate: Tue Aug 20 14:58:12 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 20 14:58:12 2013 +0200

    x86/AMD: Inject #GP instead of #UD when unable to map vmcb
    
    According to AMD Programmer's Manual vol2, vmrun, vmsave and vmload
    should inject #GP instead of #UD when unable to access memory
    location for vmcb.  Also, the code should make sure that L1 guest
    EFER.SVME is not zero.  Otherwise, #UD should be injected.
    
    Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
    Reviewed-by: Tim Deegan <tim@xen.org>
    master commit: 910daaf5aaa837624099c0fc5c373bea7202ff43
    master date: 2013-08-13 14:24:16 +0200
---
 xen/arch/x86/hvm/svm/svm.c              |   24 ++++++++++++++----------
 xen/include/asm-x86/hvm/svm/nestedsvm.h |    2 +-
 2 files changed, 15 insertions(+), 11 deletions(-)

diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index 86e6fb8..e52c18c 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -1776,15 +1776,17 @@ static void
 svm_vmexit_do_vmrun(struct cpu_user_regs *regs,
                     struct vcpu *v, uint64_t vmcbaddr)
 {
-    if (!nestedhvm_enabled(v->domain)) {
+    if ( !nsvm_efer_svm_enabled(v) )
+    {
         gdprintk(XENLOG_ERR, "VMRUN: nestedhvm disabled, injecting #UD\n");
         hvm_inject_hw_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE);
         return;
     }
 
-    if (!nestedsvm_vmcb_map(v, vmcbaddr)) {
-        gdprintk(XENLOG_ERR, "VMRUN: mapping vmcb failed, injecting #UD\n");
-        hvm_inject_hw_exception(TRAP_invalid_op, HVM_DELIVER_NO_ERROR_CODE);
+    if ( !nestedsvm_vmcb_map(v, vmcbaddr) )
+    {
+        gdprintk(XENLOG_ERR, "VMRUN: mapping vmcb failed, injecting #GP\n");
+        hvm_inject_hw_exception(TRAP_gp_fault, HVM_DELIVER_NO_ERROR_CODE);
         return;
     }
 
@@ -1830,7 +1832,8 @@ svm_vmexit_do_vmload(struct vmcb_struct *vmcb,
     if ( (inst_len = __get_instruction_length(v, INSTR_VMLOAD)) == 0 )
         return;
 
-    if (!nestedhvm_enabled(v->domain)) {
+    if ( !nsvm_efer_svm_enabled(v) )
+    {
         gdprintk(XENLOG_ERR, "VMLOAD: nestedhvm disabled, injecting #UD\n");
         ret = TRAP_invalid_op;
         goto inject;
@@ -1840,8 +1843,8 @@ svm_vmexit_do_vmload(struct vmcb_struct *vmcb,
     if ( !page )
     {
         gdprintk(XENLOG_ERR,
-            "VMLOAD: mapping failed, injecting #UD\n");
-        ret = TRAP_invalid_op;
+            "VMLOAD: mapping failed, injecting #GP\n");
+        ret = TRAP_gp_fault;
         goto inject;
     }
 
@@ -1871,7 +1874,8 @@ svm_vmexit_do_vmsave(struct vmcb_struct *vmcb,
     if ( (inst_len = __get_instruction_length(v, INSTR_VMSAVE)) == 0 )
         return;
 
-    if (!nestedhvm_enabled(v->domain)) {
+    if ( !nsvm_efer_svm_enabled(v) )
+    {
         gdprintk(XENLOG_ERR, "VMSAVE: nestedhvm disabled, injecting #UD\n");
         ret = TRAP_invalid_op;
         goto inject;
@@ -1881,8 +1885,8 @@ svm_vmexit_do_vmsave(struct vmcb_struct *vmcb,
     if ( !page )
     {
         gdprintk(XENLOG_ERR,
-            "VMSAVE: mapping vmcb failed, injecting #UD\n");
-        ret = TRAP_invalid_op;
+            "VMSAVE: mapping vmcb failed, injecting #GP\n");
+        ret = TRAP_gp_fault;
         goto inject;
     }
 
diff --git a/xen/include/asm-x86/hvm/svm/nestedsvm.h b/xen/include/asm-x86/hvm/svm/nestedsvm.h
index 0bc663a..f88b1bd 100644
--- a/xen/include/asm-x86/hvm/svm/nestedsvm.h
+++ b/xen/include/asm-x86/hvm/svm/nestedsvm.h
@@ -94,7 +94,7 @@ struct nestedsvm {
 #define vcpu_nestedsvm(v) (vcpu_nestedhvm(v).u.nsvm)
 
 /* True when l1 guest enabled SVM in EFER */
-#define hvm_svm_enabled(v) \
+#define nsvm_efer_svm_enabled(v) \
     (!!((v)->arch.hvm_vcpu.guest_efer & EFER_SVME))
 
 int nestedsvm_vmcb_map(struct vcpu *v, uint64_t vmcbaddr);
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 20 20:44:39 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Aug 2013 20:44:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBsn8-00027a-5B; Tue, 20 Aug 2013 20:44:38 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBsn7-00027P-0J
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 20:44:37 +0000
Received: from [85.158.143.35:18984] by server-1.bemta-4.messagelabs.com id
	37/EE-16125-435D3125; Tue, 20 Aug 2013 20:44:36 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1377031474!5484138!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14705 invoked from network); 20 Aug 2013 20:44:35 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-5.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	20 Aug 2013 20:44:35 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBsn4-000111-4H
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 20:44:34 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBsn4-0000aT-2L
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 20:44:34 +0000
Date: Tue, 20 Aug 2013 20:44:34 +0000
Message-Id: <E1VBsn4-0000aT-2L@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.3] VMX: add boot parameter to
	enable/disable APIC-v dynamically
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 12e46b462595b53ff4bc637184de7d562d5fd50f
Author:     Yang Zhang <yang.z.zhang@Intel.com>
AuthorDate: Tue Aug 20 14:59:07 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 20 14:59:07 2013 +0200

    VMX: add boot parameter to enable/disable APIC-v dynamically
    
    Add a boot parameter to enable/disable the APIC-v dynamically. APIC-v is
    enabled by default. User can use apicv=0 to disable it.
    
    Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com>
    master commit: 0c006b41a283a0a569c863d44abde5aa5750ae01
    master date: 2013-08-13 17:47:16 +0200
---
 xen/arch/x86/hvm/vmx/vmcs.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/hvm/vmx/vmcs.c b/xen/arch/x86/hvm/vmx/vmcs.c
index ef0ee7f..d4b3ec9 100644
--- a/xen/arch/x86/hvm/vmx/vmcs.c
+++ b/xen/arch/x86/hvm/vmx/vmcs.c
@@ -46,6 +46,9 @@ boolean_param("vpid", opt_vpid_enabled);
 static bool_t __read_mostly opt_unrestricted_guest_enabled = 1;
 boolean_param("unrestricted_guest", opt_unrestricted_guest_enabled);
 
+static bool_t __read_mostly opt_apicv_enabled = 1;
+boolean_param("apicv", opt_apicv_enabled);
+
 /*
  * These two parameters are used to config the controls for Pause-Loop Exiting:
  * ple_gap:    upper bound on the amount of time between two successive
@@ -196,12 +199,12 @@ static int vmx_init_vmcs_config(void)
          * "APIC Register Virtualization" and "Virtual Interrupt Delivery"
          * can be set only when "use TPR shadow" is set
          */
-        if ( _vmx_cpu_based_exec_control & CPU_BASED_TPR_SHADOW )
+        if ( (_vmx_cpu_based_exec_control & CPU_BASED_TPR_SHADOW) &&
+             opt_apicv_enabled )
             opt |= SECONDARY_EXEC_APIC_REGISTER_VIRT |
                    SECONDARY_EXEC_VIRTUAL_INTR_DELIVERY |
                    SECONDARY_EXEC_VIRTUALIZE_X2APIC_MODE;
 
-
         _vmx_secondary_exec_control = adjust_vmx_controls(
             "Secondary Exec Control", min, opt,
             MSR_IA32_VMX_PROCBASED_CTLS2, &mismatch);
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 20 20:44:39 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Aug 2013 20:44:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBsn8-00027a-5B; Tue, 20 Aug 2013 20:44:38 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBsn7-00027P-0J
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 20:44:37 +0000
Received: from [85.158.143.35:18984] by server-1.bemta-4.messagelabs.com id
	37/EE-16125-435D3125; Tue, 20 Aug 2013 20:44:36 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1377031474!5484138!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14705 invoked from network); 20 Aug 2013 20:44:35 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-5.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	20 Aug 2013 20:44:35 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBsn4-000111-4H
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 20:44:34 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBsn4-0000aT-2L
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 20:44:34 +0000
Date: Tue, 20 Aug 2013 20:44:34 +0000
Message-Id: <E1VBsn4-0000aT-2L@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.3] VMX: add boot parameter to
	enable/disable APIC-v dynamically
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 12e46b462595b53ff4bc637184de7d562d5fd50f
Author:     Yang Zhang <yang.z.zhang@Intel.com>
AuthorDate: Tue Aug 20 14:59:07 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 20 14:59:07 2013 +0200

    VMX: add boot parameter to enable/disable APIC-v dynamically
    
    Add a boot parameter to enable/disable the APIC-v dynamically. APIC-v is
    enabled by default. User can use apicv=0 to disable it.
    
    Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com>
    master commit: 0c006b41a283a0a569c863d44abde5aa5750ae01
    master date: 2013-08-13 17:47:16 +0200
---
 xen/arch/x86/hvm/vmx/vmcs.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/hvm/vmx/vmcs.c b/xen/arch/x86/hvm/vmx/vmcs.c
index ef0ee7f..d4b3ec9 100644
--- a/xen/arch/x86/hvm/vmx/vmcs.c
+++ b/xen/arch/x86/hvm/vmx/vmcs.c
@@ -46,6 +46,9 @@ boolean_param("vpid", opt_vpid_enabled);
 static bool_t __read_mostly opt_unrestricted_guest_enabled = 1;
 boolean_param("unrestricted_guest", opt_unrestricted_guest_enabled);
 
+static bool_t __read_mostly opt_apicv_enabled = 1;
+boolean_param("apicv", opt_apicv_enabled);
+
 /*
  * These two parameters are used to config the controls for Pause-Loop Exiting:
  * ple_gap:    upper bound on the amount of time between two successive
@@ -196,12 +199,12 @@ static int vmx_init_vmcs_config(void)
          * "APIC Register Virtualization" and "Virtual Interrupt Delivery"
          * can be set only when "use TPR shadow" is set
          */
-        if ( _vmx_cpu_based_exec_control & CPU_BASED_TPR_SHADOW )
+        if ( (_vmx_cpu_based_exec_control & CPU_BASED_TPR_SHADOW) &&
+             opt_apicv_enabled )
             opt |= SECONDARY_EXEC_APIC_REGISTER_VIRT |
                    SECONDARY_EXEC_VIRTUAL_INTR_DELIVERY |
                    SECONDARY_EXEC_VIRTUALIZE_X2APIC_MODE;
 
-
         _vmx_secondary_exec_control = adjust_vmx_controls(
             "Secondary Exec Control", min, opt,
             MSR_IA32_VMX_PROCBASED_CTLS2, &mismatch);
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 20 20:44:49 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Aug 2013 20:44:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBsnI-00029Z-8Q; Tue, 20 Aug 2013 20:44:48 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBsnG-00029B-V4
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 20:44:47 +0000
Received: from [85.158.137.68:4576] by server-14.bemta-3.messagelabs.com id
	FD/C6-00990-E35D3125; Tue, 20 Aug 2013 20:44:46 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-31.messagelabs.com!1377031484!2855573!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10151 invoked from network); 20 Aug 2013 20:44:45 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-8.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	20 Aug 2013 20:44:45 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBsnE-000117-9C
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 20:44:44 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBsnE-0000ar-7z
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 20:44:44 +0000
Date: Tue, 20 Aug 2013 20:44:44 +0000
Message-Id: <E1VBsnE-0000ar-7z@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.3] VT-d: protect against bogus
	information coming from BIOS
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit c2c3d78cb84f1b47757cb3f5c1495ba662fae3a3
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Tue Aug 20 15:00:13 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 20 15:00:13 2013 +0200

    VT-d: protect against bogus information coming from BIOS
    
    Add checks similar to those done by Linux: The DRHD address must not
    be all zeros or all ones (Linux only checks for zero), and capabilities
    as well as extended capabilities must not be all ones.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Ben Guthro <benjamin.guthro@citrix.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Tested-by: Ben Guthro <benjamin.guthro@citrix.com>
    Acked by: Yang Zhang <yang.z.zhang@intel.com>
    Acked-by: Xiantao Zhang <xiantao.zhang@intel.com>
    master commit: e8e8b030ecf916fea19639f0b6a446c1c9dbe174
    master date: 2013-08-14 11:18:24 +0200
---
 xen/drivers/passthrough/vtd/dmar.c  |    3 +++
 xen/drivers/passthrough/vtd/iommu.c |    3 +++
 2 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/xen/drivers/passthrough/vtd/dmar.c b/xen/drivers/passthrough/vtd/dmar.c
index c810dbc..8e162ff 100644
--- a/xen/drivers/passthrough/vtd/dmar.c
+++ b/xen/drivers/passthrough/vtd/dmar.c
@@ -447,6 +447,9 @@ acpi_parse_one_drhd(struct acpi_dmar_header *header)
     if ( (ret = acpi_dmar_check_length(header, sizeof(*drhd))) != 0 )
         return ret;
 
+    if ( !drhd->address || !(drhd->address + 1) )
+        return -ENODEV;
+
     dmaru = xzalloc(struct acpi_drhd_unit);
     if ( !dmaru )
         return -ENOMEM;
diff --git a/xen/drivers/passthrough/vtd/iommu.c b/xen/drivers/passthrough/vtd/iommu.c
index 0fc10de..d09b1c8 100644
--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
@@ -1159,6 +1159,9 @@ int __init iommu_alloc(struct acpi_drhd_unit *drhd)
         dprintk(VTDPREFIX,
                 "cap = %"PRIx64" ecap = %"PRIx64"\n", iommu->cap, iommu->ecap);
     }
+    if ( !(iommu->cap + 1) || !(iommu->ecap + 1) )
+        return -ENODEV;
+
     if ( cap_fault_reg_offset(iommu->cap) +
          cap_num_fault_regs(iommu->cap) * PRIMARY_FAULT_REG_LEN >= PAGE_SIZE ||
          ecap_iotlb_offset(iommu->ecap) >= PAGE_SIZE )
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 20 20:44:49 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Aug 2013 20:44:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBsnI-00029Z-8Q; Tue, 20 Aug 2013 20:44:48 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBsnG-00029B-V4
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 20:44:47 +0000
Received: from [85.158.137.68:4576] by server-14.bemta-3.messagelabs.com id
	FD/C6-00990-E35D3125; Tue, 20 Aug 2013 20:44:46 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-31.messagelabs.com!1377031484!2855573!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10151 invoked from network); 20 Aug 2013 20:44:45 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-8.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	20 Aug 2013 20:44:45 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBsnE-000117-9C
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 20:44:44 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBsnE-0000ar-7z
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 20:44:44 +0000
Date: Tue, 20 Aug 2013 20:44:44 +0000
Message-Id: <E1VBsnE-0000ar-7z@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.3] VT-d: protect against bogus
	information coming from BIOS
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit c2c3d78cb84f1b47757cb3f5c1495ba662fae3a3
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Tue Aug 20 15:00:13 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 20 15:00:13 2013 +0200

    VT-d: protect against bogus information coming from BIOS
    
    Add checks similar to those done by Linux: The DRHD address must not
    be all zeros or all ones (Linux only checks for zero), and capabilities
    as well as extended capabilities must not be all ones.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Ben Guthro <benjamin.guthro@citrix.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Tested-by: Ben Guthro <benjamin.guthro@citrix.com>
    Acked by: Yang Zhang <yang.z.zhang@intel.com>
    Acked-by: Xiantao Zhang <xiantao.zhang@intel.com>
    master commit: e8e8b030ecf916fea19639f0b6a446c1c9dbe174
    master date: 2013-08-14 11:18:24 +0200
---
 xen/drivers/passthrough/vtd/dmar.c  |    3 +++
 xen/drivers/passthrough/vtd/iommu.c |    3 +++
 2 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/xen/drivers/passthrough/vtd/dmar.c b/xen/drivers/passthrough/vtd/dmar.c
index c810dbc..8e162ff 100644
--- a/xen/drivers/passthrough/vtd/dmar.c
+++ b/xen/drivers/passthrough/vtd/dmar.c
@@ -447,6 +447,9 @@ acpi_parse_one_drhd(struct acpi_dmar_header *header)
     if ( (ret = acpi_dmar_check_length(header, sizeof(*drhd))) != 0 )
         return ret;
 
+    if ( !drhd->address || !(drhd->address + 1) )
+        return -ENODEV;
+
     dmaru = xzalloc(struct acpi_drhd_unit);
     if ( !dmaru )
         return -ENOMEM;
diff --git a/xen/drivers/passthrough/vtd/iommu.c b/xen/drivers/passthrough/vtd/iommu.c
index 0fc10de..d09b1c8 100644
--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
@@ -1159,6 +1159,9 @@ int __init iommu_alloc(struct acpi_drhd_unit *drhd)
         dprintk(VTDPREFIX,
                 "cap = %"PRIx64" ecap = %"PRIx64"\n", iommu->cap, iommu->ecap);
     }
+    if ( !(iommu->cap + 1) || !(iommu->ecap + 1) )
+        return -ENODEV;
+
     if ( cap_fault_reg_offset(iommu->cap) +
          cap_num_fault_regs(iommu->cap) * PRIMARY_FAULT_REG_LEN >= PAGE_SIZE ||
          ecap_iotlb_offset(iommu->ecap) >= PAGE_SIZE )
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 20 20:44:59 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Aug 2013 20:44:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBsnS-0002Bc-Bu; Tue, 20 Aug 2013 20:44:58 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBsnR-0002BE-0f
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 20:44:57 +0000
Received: from [85.158.139.211:12447] by server-2.bemta-5.messagelabs.com id
	98/8F-26841-845D3125; Tue, 20 Aug 2013 20:44:56 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-206.messagelabs.com!1377031494!3453538!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14763 invoked from network); 20 Aug 2013 20:44:55 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-8.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	20 Aug 2013 20:44:55 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBsnO-00011G-Eg
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 20:44:54 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBsnO-0000bE-Ct
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 20:44:54 +0000
Date: Tue, 20 Aug 2013 20:44:54 +0000
Message-Id: <E1VBsnO-0000bE-Ct@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.3] x86/MTRR: fix range check in
	mtrr_add_page()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit d1e92ff4f98181eca51e39e9370b18c47f0607b6
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Tue Aug 20 15:01:10 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 20 15:01:10 2013 +0200

    x86/MTRR: fix range check in mtrr_add_page()
    
    Extracted from Yinghai Lu's Linux commit d5c78673 ("x86: Fix /proc/mtrr
    with base/size more than 44bits").
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
    master commit: f67af6d5803b6a015e30cb490a94f9547cb0437c
    master date: 2013-08-14 11:20:26 +0200
---
 xen/arch/x86/cpu/mtrr/main.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/xen/arch/x86/cpu/mtrr/main.c b/xen/arch/x86/cpu/mtrr/main.c
index a201d72..f7fc0a6 100644
--- a/xen/arch/x86/cpu/mtrr/main.c
+++ b/xen/arch/x86/cpu/mtrr/main.c
@@ -340,7 +340,7 @@ int mtrr_add_page(unsigned long base, unsigned long size,
 		return -EINVAL;
 	}
 
-	if (base & size_or_mask || size & size_or_mask) {
+	if ((base | (base + size - 1)) >> (paddr_bits - PAGE_SHIFT)) {
 		printk(KERN_WARNING "mtrr: base or size exceeds the MTRR width\n");
 		return -EINVAL;
 	}
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 20 20:44:59 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Aug 2013 20:44:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBsnS-0002Bc-Bu; Tue, 20 Aug 2013 20:44:58 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBsnR-0002BE-0f
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 20:44:57 +0000
Received: from [85.158.139.211:12447] by server-2.bemta-5.messagelabs.com id
	98/8F-26841-845D3125; Tue, 20 Aug 2013 20:44:56 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-206.messagelabs.com!1377031494!3453538!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14763 invoked from network); 20 Aug 2013 20:44:55 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-8.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	20 Aug 2013 20:44:55 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBsnO-00011G-Eg
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 20:44:54 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBsnO-0000bE-Ct
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 20:44:54 +0000
Date: Tue, 20 Aug 2013 20:44:54 +0000
Message-Id: <E1VBsnO-0000bE-Ct@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.3] x86/MTRR: fix range check in
	mtrr_add_page()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit d1e92ff4f98181eca51e39e9370b18c47f0607b6
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Tue Aug 20 15:01:10 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 20 15:01:10 2013 +0200

    x86/MTRR: fix range check in mtrr_add_page()
    
    Extracted from Yinghai Lu's Linux commit d5c78673 ("x86: Fix /proc/mtrr
    with base/size more than 44bits").
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
    master commit: f67af6d5803b6a015e30cb490a94f9547cb0437c
    master date: 2013-08-14 11:20:26 +0200
---
 xen/arch/x86/cpu/mtrr/main.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/xen/arch/x86/cpu/mtrr/main.c b/xen/arch/x86/cpu/mtrr/main.c
index a201d72..f7fc0a6 100644
--- a/xen/arch/x86/cpu/mtrr/main.c
+++ b/xen/arch/x86/cpu/mtrr/main.c
@@ -340,7 +340,7 @@ int mtrr_add_page(unsigned long base, unsigned long size,
 		return -EINVAL;
 	}
 
-	if (base & size_or_mask || size & size_or_mask) {
+	if ((base | (base + size - 1)) >> (paddr_bits - PAGE_SHIFT)) {
 		printk(KERN_WARNING "mtrr: base or size exceeds the MTRR width\n");
 		return -EINVAL;
 	}
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 20 20:45:13 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Aug 2013 20:45:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBsng-0002DP-FT; Tue, 20 Aug 2013 20:45:12 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBsnc-0002Ch-8A
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 20:45:10 +0000
Received: from [85.158.139.211:19017] by server-13.bemta-5.messagelabs.com id
	5D/45-23010-355D3125; Tue, 20 Aug 2013 20:45:07 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-206.messagelabs.com!1377031505!3448779!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21586 invoked from network); 20 Aug 2013 20:45:06 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-7.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	20 Aug 2013 20:45:06 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBsnY-00012F-Le
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 20:45:05 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBsnY-0000br-J3
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 20:45:04 +0000
Date: Tue, 20 Aug 2013 20:45:04 +0000
Message-Id: <E1VBsnY-0000br-J3@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.3] x86/time: fix check for negative
	time in __update_vcpu_system_time()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 0c98c1cbf24195ddbfc25caf72f42d56b432a5aa
Author:     Tim Deegan <tim@xen.org>
AuthorDate: Tue Aug 20 15:01:47 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 20 15:01:47 2013 +0200

    x86/time: fix check for negative time in __update_vcpu_system_time()
    
    Clang points out that u64 stime variable is always >= 0.
    
    Signed-off-by: Tim Deegan <tim@xen.org>
    master commit: ab7f9a793c78dfea81c037b34b0dd2db7070d8f8
    master date: 2013-08-15 13:17:10 +0200
---
 xen/arch/x86/time.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
index f047cb3..c31029c 100644
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -817,7 +817,8 @@ static void __update_vcpu_system_time(struct vcpu *v, int force)
 
     if ( d->arch.vtsc )
     {
-        u64 stime = t->stime_local_stamp;
+        s_time_t stime = t->stime_local_stamp;
+
         if ( is_hvm_domain(d) )
         {
             struct pl_time *pl = &v->domain->arch.hvm_domain.pl_time;
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 20 20:45:13 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Aug 2013 20:45:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBsng-0002DP-FT; Tue, 20 Aug 2013 20:45:12 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBsnc-0002Ch-8A
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 20:45:10 +0000
Received: from [85.158.139.211:19017] by server-13.bemta-5.messagelabs.com id
	5D/45-23010-355D3125; Tue, 20 Aug 2013 20:45:07 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-206.messagelabs.com!1377031505!3448779!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21586 invoked from network); 20 Aug 2013 20:45:06 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-7.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	20 Aug 2013 20:45:06 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBsnY-00012F-Le
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 20:45:05 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBsnY-0000br-J3
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 20:45:04 +0000
Date: Tue, 20 Aug 2013 20:45:04 +0000
Message-Id: <E1VBsnY-0000br-J3@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.3] x86/time: fix check for negative
	time in __update_vcpu_system_time()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 0c98c1cbf24195ddbfc25caf72f42d56b432a5aa
Author:     Tim Deegan <tim@xen.org>
AuthorDate: Tue Aug 20 15:01:47 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 20 15:01:47 2013 +0200

    x86/time: fix check for negative time in __update_vcpu_system_time()
    
    Clang points out that u64 stime variable is always >= 0.
    
    Signed-off-by: Tim Deegan <tim@xen.org>
    master commit: ab7f9a793c78dfea81c037b34b0dd2db7070d8f8
    master date: 2013-08-15 13:17:10 +0200
---
 xen/arch/x86/time.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
index f047cb3..c31029c 100644
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -817,7 +817,8 @@ static void __update_vcpu_system_time(struct vcpu *v, int force)
 
     if ( d->arch.vtsc )
     {
-        u64 stime = t->stime_local_stamp;
+        s_time_t stime = t->stime_local_stamp;
+
         if ( is_hvm_domain(d) )
         {
             struct pl_time *pl = &v->domain->arch.hvm_domain.pl_time;
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 20 20:45:21 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Aug 2013 20:45:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBsnn-0002GL-Kp; Tue, 20 Aug 2013 20:45:19 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBsnl-0002Fs-UO
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 20:45:18 +0000
Received: from [85.158.143.35:44043] by server-2.bemta-4.messagelabs.com id
	BB/44-26052-D55D3125; Tue, 20 Aug 2013 20:45:17 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1377031515!5471684!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7422 invoked from network); 20 Aug 2013 20:45:16 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-11.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	20 Aug 2013 20:45:16 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBsnj-00012L-Ei
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 20:45:15 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBsnj-0000cq-Co
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 20:45:15 +0000
Date: Tue, 20 Aug 2013 20:45:15 +0000
Message-Id: <E1VBsnj-0000cq-Co@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.3] xen: Add stdbool.h workaround for
	BSD.
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 0b2346aa05d4b427b5f421bd714e99b6679a66b2
Author:     Tim Deegan <tim@xen.org>
AuthorDate: Tue Aug 20 15:02:57 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 20 15:02:57 2013 +0200

    xen: Add stdbool.h workaround for BSD.
    
    On *BSD, stdbool.h lives in /usr/include, but we don't want to have
    that on the search path in case we pick up any headers from the build
    host's C libraries.
    
    Copy the equivalent hack already in place for stdarg.h: on all
    supported compilers the contents of stdbool.h are trivial, so just
    supply the things we need in a xen/stdbool.h header.
    
    Signed-off-by: Tim Deegan <tim@xen.org>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
    Tested-by: Patrick Welche <prlw1@cam.ac.uk>
    master commit: 7b9685ca4ed2fd723600ce66eb20a6d0c115b6cb
    master date: 2013-08-15 22:00:45 +0100
---
 xen/include/xen/libelf.h  |    4 ++--
 xen/include/xen/stdbool.h |   13 +++++++++++++
 2 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/xen/include/xen/libelf.h b/xen/include/xen/libelf.h
index 2a6fa54..735067c 100644
--- a/xen/include/xen/libelf.h
+++ b/xen/include/xen/libelf.h
@@ -29,8 +29,6 @@
 #error define architectural endianness
 #endif
 
-#include <stdbool.h>
-
 typedef int elf_errorstatus; /* 0: ok; -ve (normally -1): error */
 typedef int elf_negerrnoval; /* 0: ok; -EFOO: error */
 
@@ -39,11 +37,13 @@ typedef int elf_negerrnoval; /* 0: ok; -EFOO: error */
 #ifdef __XEN__
 #include <public/elfnote.h>
 #include <public/features.h>
+#include <xen/stdbool.h>
 #else
 #include <xen/elfnote.h>
 #include <xen/features.h>
 
 #include <stdarg.h>
+#include <stdbool.h>
 
 struct elf_binary;
 typedef void elf_log_callback(struct elf_binary*, void *caller_data,
diff --git a/xen/include/xen/stdbool.h b/xen/include/xen/stdbool.h
new file mode 100644
index 0000000..2eecd52
--- /dev/null
+++ b/xen/include/xen/stdbool.h
@@ -0,0 +1,13 @@
+#ifndef __XEN_STDBOOL_H__
+#define __XEN_STDBOOL_H__
+
+#if defined(__OpenBSD__) || defined(__NetBSD__)
+#  define bool _Bool
+#  define true 1
+#  define false 0
+#  define __bool_true_false_are_defined   1
+#else
+#  include <stdbool.h>
+#endif
+
+#endif /* __XEN_STDBOOL_H__ */
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 20 20:45:21 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Aug 2013 20:45:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBsnn-0002GL-Kp; Tue, 20 Aug 2013 20:45:19 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBsnl-0002Fs-UO
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 20:45:18 +0000
Received: from [85.158.143.35:44043] by server-2.bemta-4.messagelabs.com id
	BB/44-26052-D55D3125; Tue, 20 Aug 2013 20:45:17 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1377031515!5471684!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7422 invoked from network); 20 Aug 2013 20:45:16 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-11.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	20 Aug 2013 20:45:16 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBsnj-00012L-Ei
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 20:45:15 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBsnj-0000cq-Co
	for xen-changelog@lists.xensource.com; Tue, 20 Aug 2013 20:45:15 +0000
Date: Tue, 20 Aug 2013 20:45:15 +0000
Message-Id: <E1VBsnj-0000cq-Co@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.3] xen: Add stdbool.h workaround for
	BSD.
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 0b2346aa05d4b427b5f421bd714e99b6679a66b2
Author:     Tim Deegan <tim@xen.org>
AuthorDate: Tue Aug 20 15:02:57 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 20 15:02:57 2013 +0200

    xen: Add stdbool.h workaround for BSD.
    
    On *BSD, stdbool.h lives in /usr/include, but we don't want to have
    that on the search path in case we pick up any headers from the build
    host's C libraries.
    
    Copy the equivalent hack already in place for stdarg.h: on all
    supported compilers the contents of stdbool.h are trivial, so just
    supply the things we need in a xen/stdbool.h header.
    
    Signed-off-by: Tim Deegan <tim@xen.org>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
    Tested-by: Patrick Welche <prlw1@cam.ac.uk>
    master commit: 7b9685ca4ed2fd723600ce66eb20a6d0c115b6cb
    master date: 2013-08-15 22:00:45 +0100
---
 xen/include/xen/libelf.h  |    4 ++--
 xen/include/xen/stdbool.h |   13 +++++++++++++
 2 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/xen/include/xen/libelf.h b/xen/include/xen/libelf.h
index 2a6fa54..735067c 100644
--- a/xen/include/xen/libelf.h
+++ b/xen/include/xen/libelf.h
@@ -29,8 +29,6 @@
 #error define architectural endianness
 #endif
 
-#include <stdbool.h>
-
 typedef int elf_errorstatus; /* 0: ok; -ve (normally -1): error */
 typedef int elf_negerrnoval; /* 0: ok; -EFOO: error */
 
@@ -39,11 +37,13 @@ typedef int elf_negerrnoval; /* 0: ok; -EFOO: error */
 #ifdef __XEN__
 #include <public/elfnote.h>
 #include <public/features.h>
+#include <xen/stdbool.h>
 #else
 #include <xen/elfnote.h>
 #include <xen/features.h>
 
 #include <stdarg.h>
+#include <stdbool.h>
 
 struct elf_binary;
 typedef void elf_log_callback(struct elf_binary*, void *caller_data,
diff --git a/xen/include/xen/stdbool.h b/xen/include/xen/stdbool.h
new file mode 100644
index 0000000..2eecd52
--- /dev/null
+++ b/xen/include/xen/stdbool.h
@@ -0,0 +1,13 @@
+#ifndef __XEN_STDBOOL_H__
+#define __XEN_STDBOOL_H__
+
+#if defined(__OpenBSD__) || defined(__NetBSD__)
+#  define bool _Bool
+#  define true 1
+#  define false 0
+#  define __bool_true_false_are_defined   1
+#else
+#  include <stdbool.h>
+#endif
+
+#endif /* __XEN_STDBOOL_H__ */
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:44:19 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:44:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzL7-0002Hb-7K; Wed, 21 Aug 2013 03:44:09 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzL5-0002HP-IY
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:44:07 +0000
Received: from [85.158.137.68:61516] by server-7.bemta-3.messagelabs.com id
	43/F1-24536-68734125; Wed, 21 Aug 2013 03:44:06 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-31.messagelabs.com!1377056644!2888280!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11946 invoked from network); 21 Aug 2013 03:44:05 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-8.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:44:05 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzL2-0004As-Hm
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:44:04 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzL2-0004UD-BA
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:44:04 +0000
Date: Wed, 21 Aug 2013 03:44:04 +0000
Message-Id: <E1VBzL2-0004UD-BA@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen/arm: Start to implement an ARM
	decoder instruction
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit e1b87f4e531e9ec257bc332859770f3c00b1fbca
Author:     Julien Grall <julien.grall@linaro.org>
AuthorDate: Thu Aug 8 13:56:50 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:17:07 2013 +0100

    xen/arm: Start to implement an ARM decoder instruction
    
    Some errata on ARM processor requires to decode the instruction.
    The decoder will, obviously, decode and fill the ISS fields of the hsr_dabt.
    
    For the moment, the decoder only supports:
        - THUMB2 store instruction
        - THUMB single load/store instruction
    
    Signed-off-by: Julien Grall <julien.grall@linaro.org>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 xen/arch/arm/Makefile |    1 +
 xen/arch/arm/decode.c |  165 +++++++++++++++++++++++++++++++++++++++++++++++++
 xen/arch/arm/decode.h |   49 +++++++++++++++
 3 files changed, 215 insertions(+), 0 deletions(-)

diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 6e1208f..003ac84 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -30,6 +30,7 @@ obj-y += vtimer.o
 obj-y += vuart.o
 obj-y += hvm.o
 obj-y += device.o
+obj-y += decode.o
 
 #obj-bin-y += ....o
 
diff --git a/xen/arch/arm/decode.c b/xen/arch/arm/decode.c
new file mode 100644
index 0000000..abe9f26
--- /dev/null
+++ b/xen/arch/arm/decode.c
@@ -0,0 +1,165 @@
+/*
+ * xen/arch/arm/decode.c
+ *
+ * Instruction decoder
+ *
+ * Julien Grall <julien.grall@linaro.org>
+ * Copyright (C) 2013 Linaro Limited.
+ *
+ * This program 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.
+ *
+ * This program 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.
+ */
+
+#include <xen/types.h>
+#include <xen/sched.h>
+#include <asm/current.h>
+#include <asm/guest_access.h>
+#include <xen/lib.h>
+
+#include "decode.h"
+
+static void update_dabt(struct hsr_dabt *dabt, int reg,
+                        uint8_t size, bool_t sign)
+{
+    dabt->reg = reg;
+    dabt->size = size;
+    dabt->sign = sign;
+}
+
+static int decode_thumb2(register_t pc, struct hsr_dabt *dabt, uint16_t hw1)
+{
+    uint16_t hw2;
+    int rc;
+    uint16_t rt;
+
+    rc = raw_copy_from_guest(&hw2, (void *__user)(pc + 2), sizeof (hw2));
+    if ( rc )
+        return rc;
+
+    rt = (hw2 >> 12) & 0x7;
+
+    switch ( (hw1 >> 9) & 0xf )
+    {
+    case 12:
+    {
+        bool_t sign = !!(hw1 & (1 << 8));
+        bool_t load = !!(hw1 & (1 << 4));
+
+        if ( (hw1 & 0x0110) == 0x0100 )
+            /* NEON instruction */
+            goto bad_thumb2;
+
+        if ( (hw1 & 0x0070) == 0x0070 )
+            /* Undefined opcodes */
+            goto bad_thumb2;
+
+        /* Store/Load single data item */
+        if ( rt == 15 )
+            /* XXX: Rt == 15 is only invalid for store instruction */
+            goto bad_thumb2;
+
+        if ( !load && sign )
+            /* Store instruction doesn't support sign extension */
+            goto bad_thumb2;
+
+        update_dabt(dabt, rt, (hw1 >> 5) & 3, sign);
+
+        break;
+    }
+    default:
+        goto bad_thumb2;
+    }
+
+    return 0;
+
+bad_thumb2:
+    gdprintk(XENLOG_ERR, "unhandled THUMB2 instruction 0x%x%x\n", hw1, hw2);
+
+    return 1;
+}
+
+static int decode_thumb(register_t pc, struct hsr_dabt *dabt)
+{
+    uint16_t instr;
+    int rc;
+
+    rc = raw_copy_from_guest(&instr, (void * __user)pc, sizeof (instr));
+    if ( rc )
+        return rc;
+
+    switch ( instr >> 12 )
+    {
+    case 5:
+    {
+        /* Load/Store register */
+        uint16_t opB = (instr >> 9) & 0x7;
+        int reg = instr & 7;
+
+        switch ( opB & 0x3 )
+        {
+        case 0: /* Non-signed word */
+            update_dabt(dabt, reg, 2, 0);
+            break;
+        case 1: /* Non-signed halfword */
+            update_dabt(dabt, reg, 1, 0);
+            break;
+        case 2: /* Non-signed byte */
+            update_dabt(dabt, reg, 0, 0);
+            break;
+        case 3: /* Signed byte */
+            update_dabt(dabt, reg, 0, 1);
+            break;
+        }
+
+        break;
+    }
+    case 6:
+        /* Load/Store word immediate offset */
+        update_dabt(dabt, instr & 7, 2, 0);
+        break;
+    case 7:
+        /* Load/Store byte immediate offset */
+        update_dabt(dabt, instr & 7, 0, 0);
+        break;
+    case 8:
+        /* Load/Store halfword immediate offset */
+        update_dabt(dabt, instr & 7, 1, 0);
+        break;
+    case 9:
+        /* Load/Store word sp offset */
+        update_dabt(dabt, (instr >> 8) & 7, 2, 0);
+        break;
+    case 14:
+        if ( instr & (1 << 11) )
+            return decode_thumb2(pc, dabt, instr);
+        goto bad_thumb;
+    case 15:
+        return decode_thumb2(pc, dabt, instr);
+    default:
+        goto bad_thumb;
+    }
+
+    return 0;
+
+bad_thumb:
+    gdprintk(XENLOG_ERR, "unhandled THUMB instruction 0x%x\n", instr);
+    return 1;
+}
+
+int decode_instruction(const struct cpu_user_regs *regs, struct hsr_dabt *dabt)
+{
+    if ( is_pv32_domain(current->domain) && regs->cpsr & PSR_THUMB )
+        return decode_thumb(regs->pc, dabt);
+
+    /* TODO: Handle ARM instruction */
+    gdprintk(XENLOG_ERR, "unhandled ARM instruction\n");
+
+    return 1;
+}
diff --git a/xen/arch/arm/decode.h b/xen/arch/arm/decode.h
new file mode 100644
index 0000000..4613763
--- /dev/null
+++ b/xen/arch/arm/decode.h
@@ -0,0 +1,49 @@
+/*
+ * xen/arch/arm/decode.h
+ *
+ * Instruction decoder
+ *
+ * Julien Grall <julien.grall@linaro.org>
+ * Copyright (C) 2013 Linaro Limited.
+ *
+ * This program 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.
+ *
+ * This program 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.
+ */
+
+#ifndef __ARCH_ARM_DECODE_H_
+#define __ARCH_ARM_DECODE_H_
+
+#include <asm/regs.h>
+#include <asm/processor.h>
+
+/**
+ * Decode an instruction from pc
+ * /!\ This function is not intended to fully decode an instruction. It
+ * considers that the instruction is valid.
+ *
+ * This function will get:
+ *  - The transfer register
+ *  - Sign bit
+ *  - Size
+ */
+
+int decode_instruction(const struct cpu_user_regs *regs,
+                       struct hsr_dabt *dabt);
+
+#endif /* __ARCH_ARM_DECODE_H_ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:44:19 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:44:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzL7-0002Hb-7K; Wed, 21 Aug 2013 03:44:09 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzL5-0002HP-IY
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:44:07 +0000
Received: from [85.158.137.68:61516] by server-7.bemta-3.messagelabs.com id
	43/F1-24536-68734125; Wed, 21 Aug 2013 03:44:06 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-31.messagelabs.com!1377056644!2888280!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11946 invoked from network); 21 Aug 2013 03:44:05 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-8.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:44:05 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzL2-0004As-Hm
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:44:04 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzL2-0004UD-BA
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:44:04 +0000
Date: Wed, 21 Aug 2013 03:44:04 +0000
Message-Id: <E1VBzL2-0004UD-BA@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen/arm: Start to implement an ARM
	decoder instruction
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit e1b87f4e531e9ec257bc332859770f3c00b1fbca
Author:     Julien Grall <julien.grall@linaro.org>
AuthorDate: Thu Aug 8 13:56:50 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:17:07 2013 +0100

    xen/arm: Start to implement an ARM decoder instruction
    
    Some errata on ARM processor requires to decode the instruction.
    The decoder will, obviously, decode and fill the ISS fields of the hsr_dabt.
    
    For the moment, the decoder only supports:
        - THUMB2 store instruction
        - THUMB single load/store instruction
    
    Signed-off-by: Julien Grall <julien.grall@linaro.org>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 xen/arch/arm/Makefile |    1 +
 xen/arch/arm/decode.c |  165 +++++++++++++++++++++++++++++++++++++++++++++++++
 xen/arch/arm/decode.h |   49 +++++++++++++++
 3 files changed, 215 insertions(+), 0 deletions(-)

diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 6e1208f..003ac84 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -30,6 +30,7 @@ obj-y += vtimer.o
 obj-y += vuart.o
 obj-y += hvm.o
 obj-y += device.o
+obj-y += decode.o
 
 #obj-bin-y += ....o
 
diff --git a/xen/arch/arm/decode.c b/xen/arch/arm/decode.c
new file mode 100644
index 0000000..abe9f26
--- /dev/null
+++ b/xen/arch/arm/decode.c
@@ -0,0 +1,165 @@
+/*
+ * xen/arch/arm/decode.c
+ *
+ * Instruction decoder
+ *
+ * Julien Grall <julien.grall@linaro.org>
+ * Copyright (C) 2013 Linaro Limited.
+ *
+ * This program 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.
+ *
+ * This program 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.
+ */
+
+#include <xen/types.h>
+#include <xen/sched.h>
+#include <asm/current.h>
+#include <asm/guest_access.h>
+#include <xen/lib.h>
+
+#include "decode.h"
+
+static void update_dabt(struct hsr_dabt *dabt, int reg,
+                        uint8_t size, bool_t sign)
+{
+    dabt->reg = reg;
+    dabt->size = size;
+    dabt->sign = sign;
+}
+
+static int decode_thumb2(register_t pc, struct hsr_dabt *dabt, uint16_t hw1)
+{
+    uint16_t hw2;
+    int rc;
+    uint16_t rt;
+
+    rc = raw_copy_from_guest(&hw2, (void *__user)(pc + 2), sizeof (hw2));
+    if ( rc )
+        return rc;
+
+    rt = (hw2 >> 12) & 0x7;
+
+    switch ( (hw1 >> 9) & 0xf )
+    {
+    case 12:
+    {
+        bool_t sign = !!(hw1 & (1 << 8));
+        bool_t load = !!(hw1 & (1 << 4));
+
+        if ( (hw1 & 0x0110) == 0x0100 )
+            /* NEON instruction */
+            goto bad_thumb2;
+
+        if ( (hw1 & 0x0070) == 0x0070 )
+            /* Undefined opcodes */
+            goto bad_thumb2;
+
+        /* Store/Load single data item */
+        if ( rt == 15 )
+            /* XXX: Rt == 15 is only invalid for store instruction */
+            goto bad_thumb2;
+
+        if ( !load && sign )
+            /* Store instruction doesn't support sign extension */
+            goto bad_thumb2;
+
+        update_dabt(dabt, rt, (hw1 >> 5) & 3, sign);
+
+        break;
+    }
+    default:
+        goto bad_thumb2;
+    }
+
+    return 0;
+
+bad_thumb2:
+    gdprintk(XENLOG_ERR, "unhandled THUMB2 instruction 0x%x%x\n", hw1, hw2);
+
+    return 1;
+}
+
+static int decode_thumb(register_t pc, struct hsr_dabt *dabt)
+{
+    uint16_t instr;
+    int rc;
+
+    rc = raw_copy_from_guest(&instr, (void * __user)pc, sizeof (instr));
+    if ( rc )
+        return rc;
+
+    switch ( instr >> 12 )
+    {
+    case 5:
+    {
+        /* Load/Store register */
+        uint16_t opB = (instr >> 9) & 0x7;
+        int reg = instr & 7;
+
+        switch ( opB & 0x3 )
+        {
+        case 0: /* Non-signed word */
+            update_dabt(dabt, reg, 2, 0);
+            break;
+        case 1: /* Non-signed halfword */
+            update_dabt(dabt, reg, 1, 0);
+            break;
+        case 2: /* Non-signed byte */
+            update_dabt(dabt, reg, 0, 0);
+            break;
+        case 3: /* Signed byte */
+            update_dabt(dabt, reg, 0, 1);
+            break;
+        }
+
+        break;
+    }
+    case 6:
+        /* Load/Store word immediate offset */
+        update_dabt(dabt, instr & 7, 2, 0);
+        break;
+    case 7:
+        /* Load/Store byte immediate offset */
+        update_dabt(dabt, instr & 7, 0, 0);
+        break;
+    case 8:
+        /* Load/Store halfword immediate offset */
+        update_dabt(dabt, instr & 7, 1, 0);
+        break;
+    case 9:
+        /* Load/Store word sp offset */
+        update_dabt(dabt, (instr >> 8) & 7, 2, 0);
+        break;
+    case 14:
+        if ( instr & (1 << 11) )
+            return decode_thumb2(pc, dabt, instr);
+        goto bad_thumb;
+    case 15:
+        return decode_thumb2(pc, dabt, instr);
+    default:
+        goto bad_thumb;
+    }
+
+    return 0;
+
+bad_thumb:
+    gdprintk(XENLOG_ERR, "unhandled THUMB instruction 0x%x\n", instr);
+    return 1;
+}
+
+int decode_instruction(const struct cpu_user_regs *regs, struct hsr_dabt *dabt)
+{
+    if ( is_pv32_domain(current->domain) && regs->cpsr & PSR_THUMB )
+        return decode_thumb(regs->pc, dabt);
+
+    /* TODO: Handle ARM instruction */
+    gdprintk(XENLOG_ERR, "unhandled ARM instruction\n");
+
+    return 1;
+}
diff --git a/xen/arch/arm/decode.h b/xen/arch/arm/decode.h
new file mode 100644
index 0000000..4613763
--- /dev/null
+++ b/xen/arch/arm/decode.h
@@ -0,0 +1,49 @@
+/*
+ * xen/arch/arm/decode.h
+ *
+ * Instruction decoder
+ *
+ * Julien Grall <julien.grall@linaro.org>
+ * Copyright (C) 2013 Linaro Limited.
+ *
+ * This program 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.
+ *
+ * This program 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.
+ */
+
+#ifndef __ARCH_ARM_DECODE_H_
+#define __ARCH_ARM_DECODE_H_
+
+#include <asm/regs.h>
+#include <asm/processor.h>
+
+/**
+ * Decode an instruction from pc
+ * /!\ This function is not intended to fully decode an instruction. It
+ * considers that the instruction is valid.
+ *
+ * This function will get:
+ *  - The transfer register
+ *  - Sign bit
+ *  - Size
+ */
+
+int decode_instruction(const struct cpu_user_regs *regs,
+                       struct hsr_dabt *dabt);
+
+#endif /* __ARCH_ARM_DECODE_H_ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:44:24 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:44:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzLG-0002ID-Ac; Wed, 21 Aug 2013 03:44:18 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzLF-0002I5-Hg
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:44:17 +0000
Received: from [85.158.139.211:61339] by server-16.bemta-5.messagelabs.com id
	17/C5-03533-09734125; Wed, 21 Aug 2013 03:44:16 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-206.messagelabs.com!1377056655!3485731!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2980 invoked from network); 21 Aug 2013 03:44:16 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-16.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:44:16 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzLC-0004Av-OP
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:44:14 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzLC-0004Ub-Mw
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:44:14 +0000
Date: Wed, 21 Aug 2013 03:44:14 +0000
Message-Id: <E1VBzLC-0004Ub-Mw@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen/arm: erratum 766422: decode thumb
	store during data abort
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============1516682119688484702=="
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

--===============1516682119688484702==
Content-Type: text/plain

commit 2960e5e2aabedb9a188fe7c0483c3df43875abf3
Author:     Julien Grall <julien.grall@linaro.org>
AuthorDate: Thu Aug 8 13:56:51 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:17:17 2013 +0100

    xen/arm: erratum 766422: decode thumb store during data abort
    
    From the errata document:
    
    When a non-secure non-hypervisor memory operation instruction generates a
    stage2 page table translation fault, a trap to the hypervisor will be triggered.
    For an architecturally defined subset of instructions, the Hypervisor Syndrome
    Register (HSR) will have the Instruction Syndrome Valid (ISV) bit set to 1’b1,
    and the Rt field should reflect the source register (for stores) or destination
    register for loads.
    On Cortex-A15, for Thumb and ThumbEE stores, the Rt value may be incorrect
    and should not be used, even if the ISV bit is set. All loads, and all ARM
    instruction set loads and stores, will have the correct Rt value if the ISV
    bit is set.
    
    To avoid this issue, Xen needs to decode thumb store instruction and update
    the transfer register.
    
    Signed-off-by: Julien Grall <julien.grall@linaro.org>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 xen/arch/arm/traps.c                  |   15 +++++++++++++++
 xen/include/asm-arm/arm32/processor.h |    4 ++++
 xen/include/asm-arm/arm64/processor.h |    2 ++
 3 files changed, 21 insertions(+), 0 deletions(-)

diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
index 6b5fa51..a30797c 100644
--- a/xen/arch/arm/traps.c
+++ b/xen/arch/arm/traps.c
@@ -36,6 +36,7 @@
 #include <asm/cpregs.h>
 #include <asm/psci.h>
 
+#include "decode.h"
 #include "io.h"
 #include "vtimer.h"
 #include <asm/gic.h>
@@ -1336,6 +1337,20 @@ static void do_trap_data_abort_guest(struct cpu_user_regs *regs,
     if ( !dabt.valid )
         goto bad_data_abort;
 
+    /*
+     * Erratum 766422: Thumb store translation fault to Hypervisor may
+     * not have correct HSR Rt value.
+     */
+    if ( cpu_has_erratum_766422() && (regs->cpsr & PSR_THUMB) && dabt.write )
+    {
+        rc = decode_instruction(regs, &info.dabt);
+        if ( rc )
+        {
+            gdprintk(XENLOG_ERR, "Unable to decode instruction\n");
+            goto bad_data_abort;
+        }
+    }
+
     if (handle_mmio(&info))
     {
         advance_pc(regs, hsr);
diff --git a/xen/include/asm-arm/arm32/processor.h b/xen/include/asm-arm/arm32/processor.h
index b266252..d1b89d0 100644
--- a/xen/include/asm-arm/arm32/processor.h
+++ b/xen/include/asm-arm/arm32/processor.h
@@ -111,6 +111,10 @@ struct cpu_user_regs
 #define READ_SYSREG(R...)       READ_SYSREG32(R)
 #define WRITE_SYSREG(V, R...)   WRITE_SYSREG32(V, R)
 
+/* Erratum 766422: only Cortex A15 r0p4 is affected */
+#define cpu_has_erratum_766422()                             \
+    (unlikely(current_cpu_data.midr.bits == 0x410fc0f4))
+
 #endif /* __ASSEMBLY__ */
 
 #endif /* __ASM_ARM_ARM32_PROCESSOR_H */
diff --git a/xen/include/asm-arm/arm64/processor.h b/xen/include/asm-arm/arm64/processor.h
index c8d4609..5bf0867 100644
--- a/xen/include/asm-arm/arm64/processor.h
+++ b/xen/include/asm-arm/arm64/processor.h
@@ -104,6 +104,8 @@ struct cpu_user_regs
 #define READ_SYSREG(name)     READ_SYSREG64(name)
 #define WRITE_SYSREG(v, name) WRITE_SYSREG64(v, name)
 
+#define cpu_has_erratum_766422() 0
+
 #endif /* __ASSEMBLY__ */
 
 #endif /* __ASM_ARM_ARM64_PROCESSOR_H */
--
generated by git-patchbot for /home/xen/git/xen.git#master


--===============1516682119688484702==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog
--===============1516682119688484702==--

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:44:24 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:44:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzLG-0002ID-Ac; Wed, 21 Aug 2013 03:44:18 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzLF-0002I5-Hg
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:44:17 +0000
Received: from [85.158.139.211:61339] by server-16.bemta-5.messagelabs.com id
	17/C5-03533-09734125; Wed, 21 Aug 2013 03:44:16 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-206.messagelabs.com!1377056655!3485731!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2980 invoked from network); 21 Aug 2013 03:44:16 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-16.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:44:16 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzLC-0004Av-OP
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:44:14 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzLC-0004Ub-Mw
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:44:14 +0000
Date: Wed, 21 Aug 2013 03:44:14 +0000
Message-Id: <E1VBzLC-0004Ub-Mw@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen/arm: erratum 766422: decode thumb
	store during data abort
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============1516682119688484702=="
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

--===============1516682119688484702==
Content-Type: text/plain

commit 2960e5e2aabedb9a188fe7c0483c3df43875abf3
Author:     Julien Grall <julien.grall@linaro.org>
AuthorDate: Thu Aug 8 13:56:51 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:17:17 2013 +0100

    xen/arm: erratum 766422: decode thumb store during data abort
    
    From the errata document:
    
    When a non-secure non-hypervisor memory operation instruction generates a
    stage2 page table translation fault, a trap to the hypervisor will be triggered.
    For an architecturally defined subset of instructions, the Hypervisor Syndrome
    Register (HSR) will have the Instruction Syndrome Valid (ISV) bit set to 1’b1,
    and the Rt field should reflect the source register (for stores) or destination
    register for loads.
    On Cortex-A15, for Thumb and ThumbEE stores, the Rt value may be incorrect
    and should not be used, even if the ISV bit is set. All loads, and all ARM
    instruction set loads and stores, will have the correct Rt value if the ISV
    bit is set.
    
    To avoid this issue, Xen needs to decode thumb store instruction and update
    the transfer register.
    
    Signed-off-by: Julien Grall <julien.grall@linaro.org>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 xen/arch/arm/traps.c                  |   15 +++++++++++++++
 xen/include/asm-arm/arm32/processor.h |    4 ++++
 xen/include/asm-arm/arm64/processor.h |    2 ++
 3 files changed, 21 insertions(+), 0 deletions(-)

diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
index 6b5fa51..a30797c 100644
--- a/xen/arch/arm/traps.c
+++ b/xen/arch/arm/traps.c
@@ -36,6 +36,7 @@
 #include <asm/cpregs.h>
 #include <asm/psci.h>
 
+#include "decode.h"
 #include "io.h"
 #include "vtimer.h"
 #include <asm/gic.h>
@@ -1336,6 +1337,20 @@ static void do_trap_data_abort_guest(struct cpu_user_regs *regs,
     if ( !dabt.valid )
         goto bad_data_abort;
 
+    /*
+     * Erratum 766422: Thumb store translation fault to Hypervisor may
+     * not have correct HSR Rt value.
+     */
+    if ( cpu_has_erratum_766422() && (regs->cpsr & PSR_THUMB) && dabt.write )
+    {
+        rc = decode_instruction(regs, &info.dabt);
+        if ( rc )
+        {
+            gdprintk(XENLOG_ERR, "Unable to decode instruction\n");
+            goto bad_data_abort;
+        }
+    }
+
     if (handle_mmio(&info))
     {
         advance_pc(regs, hsr);
diff --git a/xen/include/asm-arm/arm32/processor.h b/xen/include/asm-arm/arm32/processor.h
index b266252..d1b89d0 100644
--- a/xen/include/asm-arm/arm32/processor.h
+++ b/xen/include/asm-arm/arm32/processor.h
@@ -111,6 +111,10 @@ struct cpu_user_regs
 #define READ_SYSREG(R...)       READ_SYSREG32(R)
 #define WRITE_SYSREG(V, R...)   WRITE_SYSREG32(V, R)
 
+/* Erratum 766422: only Cortex A15 r0p4 is affected */
+#define cpu_has_erratum_766422()                             \
+    (unlikely(current_cpu_data.midr.bits == 0x410fc0f4))
+
 #endif /* __ASSEMBLY__ */
 
 #endif /* __ASM_ARM_ARM32_PROCESSOR_H */
diff --git a/xen/include/asm-arm/arm64/processor.h b/xen/include/asm-arm/arm64/processor.h
index c8d4609..5bf0867 100644
--- a/xen/include/asm-arm/arm64/processor.h
+++ b/xen/include/asm-arm/arm64/processor.h
@@ -104,6 +104,8 @@ struct cpu_user_regs
 #define READ_SYSREG(name)     READ_SYSREG64(name)
 #define WRITE_SYSREG(v, name) WRITE_SYSREG64(v, name)
 
+#define cpu_has_erratum_766422() 0
+
 #endif /* __ASSEMBLY__ */
 
 #endif /* __ASM_ARM_ARM64_PROCESSOR_H */
--
generated by git-patchbot for /home/xen/git/xen.git#master


--===============1516682119688484702==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog
--===============1516682119688484702==--

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:44:33 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:44:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzLR-0002JN-Do; Wed, 21 Aug 2013 03:44:29 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzLQ-0002JB-29
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:44:28 +0000
Received: from [85.158.137.68:27805] by server-11.bemta-3.messagelabs.com id
	92/5C-16607-B9734125; Wed, 21 Aug 2013 03:44:27 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-31.messagelabs.com!1377056665!2855914!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30886 invoked from network); 21 Aug 2013 03:44:26 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-9.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:44:26 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzLN-0004B1-0K
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:44:25 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzLM-0004Uy-RQ
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:44:24 +0000
Date: Wed, 21 Aug 2013 03:44:24 +0000
Message-Id: <E1VBzLM-0004Uy-RQ@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] tools: Cull more ia64 and ppc code
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit c8ed9db1fa7100b296c017b24369cc5d94e5c16f
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Aug 13 14:17:19 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:18:29 2013 +0100

    tools: Cull more ia64 and ppc code
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Ian Campbell <Ian.Campbell@citrix.com>
---
 tools/libfsimage/common/fsimage_grub.c |   46 ---------------------------
 tools/python/xen/lowlevel/xc/xc.c      |   53 --------------------------------
 2 files changed, 0 insertions(+), 99 deletions(-)

diff --git a/tools/libfsimage/common/fsimage_grub.c b/tools/libfsimage/common/fsimage_grub.c
index c58790d..ef71d6c 100644
--- a/tools/libfsimage/common/fsimage_grub.c
+++ b/tools/libfsimage/common/fsimage_grub.c
@@ -138,52 +138,6 @@ fsig_log2 (unsigned long word)
   return word;
 }
 
-#elif defined(__ia64__)
-
-#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
-# define ia64_popcnt(x) __builtin_popcountl(x)
-#else
-# define ia64_popcnt(x)                                     \
-  ({                                                        \
-    uint64_t ia64_intri_res;                                \
-    asm ("popcnt %0=%1" : "=r" (ia64_intri_res) : "r" (x)); \
-    ia64_intri_res;                                         \
-  })
-#endif
-
-unsigned long
-fsig_log2 (unsigned long word)
-{
-  unsigned long result;
-
-  result = ia64_popcnt((word - 1) & ~word);
-  return result;
-}
-
-#elif defined(__powerpc__)
-
-#ifdef __powerpc64__
-#define PPC_CNTLZL "cntlzd"
-#else
-#define PPC_CNTLZL "cntlzw"
-#endif
-#define BITS_PER_LONG (sizeof(long) * 8)
-
-static int
-__ilog2(unsigned long x)
-{
-  int lz;
-
-  asm (PPC_CNTLZL " %0,%1" : "=r" (lz) : "r" (x));
-  return BITS_PER_LONG - 1 - lz;
-}
-
-unsigned long
-fsig_log2 (unsigned long word)
-{
-  return __ilog2(word & -word);
-}
-
 #else /* Unoptimized */
 
 unsigned long
diff --git a/tools/python/xen/lowlevel/xc/xc.c b/tools/python/xen/lowlevel/xc/xc.c
index e611b24..2625fc4 100644
--- a/tools/python/xen/lowlevel/xc/xc.c
+++ b/tools/python/xen/lowlevel/xc/xc.c
@@ -178,10 +178,6 @@ static PyObject *pyxc_domain_unpause(XcObject *self, PyObject *args)
 
 static PyObject *pyxc_domain_destroy_hook(XcObject *self, PyObject *args)
 {
-#ifdef __ia64__
-    dom_op(self, args, xc_ia64_save_to_nvram);
-#endif
-
     Py_INCREF(zero);
     return zero;
 }
@@ -779,39 +775,6 @@ static PyObject *pyxc_get_device_group(XcObject *self,
     return Pystr;
 }
 
-#ifdef __ia64__
-static PyObject *pyxc_nvram_init(XcObject *self,
-                                 PyObject *args)
-{
-    char *dom_name;
-    uint32_t dom;
-
-    if ( !PyArg_ParseTuple(args, "si", &dom_name, &dom) )
-        return NULL;
-
-    xc_ia64_nvram_init(self->xc_handle, dom_name, dom);
-
-    Py_INCREF(zero);
-    return zero;
-}
-
-static PyObject *pyxc_set_os_type(XcObject *self,
-                                  PyObject *args)
-{
-    char *os_type;
-    uint32_t dom;
-
-    if ( !PyArg_ParseTuple(args, "si", &os_type, &dom) )
-        return NULL;
-
-    xc_ia64_set_os_type(self->xc_handle, os_type, dom);
-
-    Py_INCREF(zero);
-    return zero;
-}
-#endif /* __ia64__ */
-
-
 #if defined(__i386__) || defined(__x86_64__)
 static void pyxc_dom_extract_cpuid(PyObject *config,
                                   char **regs)
@@ -950,10 +913,8 @@ static PyObject *pyxc_hvm_build(XcObject *self,
                                 PyObject *kwds)
 {
     uint32_t dom;
-#if !defined(__ia64__)
     struct hvm_info_table *va_hvm;
     uint8_t *va_map, sum;
-#endif
     int i;
     char *image;
     int memsize, target=-1, vcpus = 1, acpi = 0, apic = 1;
@@ -1000,7 +961,6 @@ static PyObject *pyxc_hvm_build(XcObject *self,
                                  target, image) != 0 )
         return pyxc_error_to_exception(self->xc_handle);
 
-#if !defined(__ia64__)
     /* Fix up the HVM info table. */
     va_map = xc_map_foreign_range(self->xc_handle, dom, XC_PAGE_SIZE,
                                   PROT_READ | PROT_WRITE,
@@ -1015,7 +975,6 @@ static PyObject *pyxc_hvm_build(XcObject *self,
         sum += ((uint8_t *)va_hvm)[i];
     va_hvm->checksum -= sum;
     munmap(va_map, XC_PAGE_SIZE);
-#endif
 
     return Py_BuildValue("{}");
 }
@@ -2713,18 +2672,6 @@ static PyMethodDef pyxc_methods[] = {
       " map_limitkb [int]: .\n"
       "Returns: [int] 0 on success; -1 on error.\n" },
 
-#ifdef __ia64__
-    { "nvram_init",
-      (PyCFunction)pyxc_nvram_init,
-      METH_VARARGS, "\n"
-      "Init nvram in IA64 platform\n"
-      "Returns: [int] 0 on success; -1 on error.\n" },
-    { "set_os_type",
-      (PyCFunction)pyxc_set_os_type,
-      METH_VARARGS, "\n"
-      "Set guest OS type on IA64 platform\n"
-      "Returns: [int] 0 on success; -1 on error.\n" },
-#endif /* __ia64__ */
     { "domain_ioport_permission",
       (PyCFunction)pyxc_domain_ioport_permission,
       METH_VARARGS | METH_KEYWORDS, "\n"
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:44:33 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:44:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzLR-0002JN-Do; Wed, 21 Aug 2013 03:44:29 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzLQ-0002JB-29
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:44:28 +0000
Received: from [85.158.137.68:27805] by server-11.bemta-3.messagelabs.com id
	92/5C-16607-B9734125; Wed, 21 Aug 2013 03:44:27 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-31.messagelabs.com!1377056665!2855914!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30886 invoked from network); 21 Aug 2013 03:44:26 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-9.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:44:26 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzLN-0004B1-0K
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:44:25 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzLM-0004Uy-RQ
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:44:24 +0000
Date: Wed, 21 Aug 2013 03:44:24 +0000
Message-Id: <E1VBzLM-0004Uy-RQ@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] tools: Cull more ia64 and ppc code
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit c8ed9db1fa7100b296c017b24369cc5d94e5c16f
Author:     Andrew Cooper <andrew.cooper3@citrix.com>
AuthorDate: Tue Aug 13 14:17:19 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:18:29 2013 +0100

    tools: Cull more ia64 and ppc code
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Ian Campbell <Ian.Campbell@citrix.com>
---
 tools/libfsimage/common/fsimage_grub.c |   46 ---------------------------
 tools/python/xen/lowlevel/xc/xc.c      |   53 --------------------------------
 2 files changed, 0 insertions(+), 99 deletions(-)

diff --git a/tools/libfsimage/common/fsimage_grub.c b/tools/libfsimage/common/fsimage_grub.c
index c58790d..ef71d6c 100644
--- a/tools/libfsimage/common/fsimage_grub.c
+++ b/tools/libfsimage/common/fsimage_grub.c
@@ -138,52 +138,6 @@ fsig_log2 (unsigned long word)
   return word;
 }
 
-#elif defined(__ia64__)
-
-#if __GNUC__ >= 4 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
-# define ia64_popcnt(x) __builtin_popcountl(x)
-#else
-# define ia64_popcnt(x)                                     \
-  ({                                                        \
-    uint64_t ia64_intri_res;                                \
-    asm ("popcnt %0=%1" : "=r" (ia64_intri_res) : "r" (x)); \
-    ia64_intri_res;                                         \
-  })
-#endif
-
-unsigned long
-fsig_log2 (unsigned long word)
-{
-  unsigned long result;
-
-  result = ia64_popcnt((word - 1) & ~word);
-  return result;
-}
-
-#elif defined(__powerpc__)
-
-#ifdef __powerpc64__
-#define PPC_CNTLZL "cntlzd"
-#else
-#define PPC_CNTLZL "cntlzw"
-#endif
-#define BITS_PER_LONG (sizeof(long) * 8)
-
-static int
-__ilog2(unsigned long x)
-{
-  int lz;
-
-  asm (PPC_CNTLZL " %0,%1" : "=r" (lz) : "r" (x));
-  return BITS_PER_LONG - 1 - lz;
-}
-
-unsigned long
-fsig_log2 (unsigned long word)
-{
-  return __ilog2(word & -word);
-}
-
 #else /* Unoptimized */
 
 unsigned long
diff --git a/tools/python/xen/lowlevel/xc/xc.c b/tools/python/xen/lowlevel/xc/xc.c
index e611b24..2625fc4 100644
--- a/tools/python/xen/lowlevel/xc/xc.c
+++ b/tools/python/xen/lowlevel/xc/xc.c
@@ -178,10 +178,6 @@ static PyObject *pyxc_domain_unpause(XcObject *self, PyObject *args)
 
 static PyObject *pyxc_domain_destroy_hook(XcObject *self, PyObject *args)
 {
-#ifdef __ia64__
-    dom_op(self, args, xc_ia64_save_to_nvram);
-#endif
-
     Py_INCREF(zero);
     return zero;
 }
@@ -779,39 +775,6 @@ static PyObject *pyxc_get_device_group(XcObject *self,
     return Pystr;
 }
 
-#ifdef __ia64__
-static PyObject *pyxc_nvram_init(XcObject *self,
-                                 PyObject *args)
-{
-    char *dom_name;
-    uint32_t dom;
-
-    if ( !PyArg_ParseTuple(args, "si", &dom_name, &dom) )
-        return NULL;
-
-    xc_ia64_nvram_init(self->xc_handle, dom_name, dom);
-
-    Py_INCREF(zero);
-    return zero;
-}
-
-static PyObject *pyxc_set_os_type(XcObject *self,
-                                  PyObject *args)
-{
-    char *os_type;
-    uint32_t dom;
-
-    if ( !PyArg_ParseTuple(args, "si", &os_type, &dom) )
-        return NULL;
-
-    xc_ia64_set_os_type(self->xc_handle, os_type, dom);
-
-    Py_INCREF(zero);
-    return zero;
-}
-#endif /* __ia64__ */
-
-
 #if defined(__i386__) || defined(__x86_64__)
 static void pyxc_dom_extract_cpuid(PyObject *config,
                                   char **regs)
@@ -950,10 +913,8 @@ static PyObject *pyxc_hvm_build(XcObject *self,
                                 PyObject *kwds)
 {
     uint32_t dom;
-#if !defined(__ia64__)
     struct hvm_info_table *va_hvm;
     uint8_t *va_map, sum;
-#endif
     int i;
     char *image;
     int memsize, target=-1, vcpus = 1, acpi = 0, apic = 1;
@@ -1000,7 +961,6 @@ static PyObject *pyxc_hvm_build(XcObject *self,
                                  target, image) != 0 )
         return pyxc_error_to_exception(self->xc_handle);
 
-#if !defined(__ia64__)
     /* Fix up the HVM info table. */
     va_map = xc_map_foreign_range(self->xc_handle, dom, XC_PAGE_SIZE,
                                   PROT_READ | PROT_WRITE,
@@ -1015,7 +975,6 @@ static PyObject *pyxc_hvm_build(XcObject *self,
         sum += ((uint8_t *)va_hvm)[i];
     va_hvm->checksum -= sum;
     munmap(va_map, XC_PAGE_SIZE);
-#endif
 
     return Py_BuildValue("{}");
 }
@@ -2713,18 +2672,6 @@ static PyMethodDef pyxc_methods[] = {
       " map_limitkb [int]: .\n"
       "Returns: [int] 0 on success; -1 on error.\n" },
 
-#ifdef __ia64__
-    { "nvram_init",
-      (PyCFunction)pyxc_nvram_init,
-      METH_VARARGS, "\n"
-      "Init nvram in IA64 platform\n"
-      "Returns: [int] 0 on success; -1 on error.\n" },
-    { "set_os_type",
-      (PyCFunction)pyxc_set_os_type,
-      METH_VARARGS, "\n"
-      "Set guest OS type on IA64 platform\n"
-      "Returns: [int] 0 on success; -1 on error.\n" },
-#endif /* __ia64__ */
     { "domain_ioport_permission",
       (PyCFunction)pyxc_domain_ioport_permission,
       METH_VARARGS | METH_KEYWORDS, "\n"
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:44:42 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:44:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzLa-0002Kf-H0; Wed, 21 Aug 2013 03:44:38 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzLZ-0002KU-H9
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:44:37 +0000
Received: from [193.109.254.147:33703] by server-1.bemta-14.messagelabs.com id
	5C/74-22234-4A734125; Wed, 21 Aug 2013 03:44:36 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1377056675!5081028!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2176 invoked from network); 21 Aug 2013 03:44:36 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-10.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:44:36 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzLX-0004B9-6d
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:44:35 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzLX-0004VO-56
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:44:35 +0000
Date: Wed, 21 Aug 2013 03:44:35 +0000
Message-Id: <E1VBzLX-0004VO-56@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] PL011: don't force baud rate of 38400
	bps
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit db58a28b9b41722aee7c812d6621360c88317049
Author:     Andre Przywara <andre.przywara@linaro.org>
AuthorDate: Tue Aug 13 17:12:52 2013 +0200
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:20:39 2013 +0100

    PL011: don't force baud rate of 38400 bps
    
    The PL011 driver currently sets the baudrate to a hardcoded value of
    38400 bits/second. This will break Calxeda Midway, which uses 115200
    bps.
    Instead don't tinker with the baud rate register at all and rely on
    the firmware or bootloader setting the correct value in here.
    This works fine on Versatile Express and Calxeda Midway.
    
    Signed-off-by: Andre Przywara <andre.przywara@linaro.org>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 xen/drivers/char/pl011.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/xen/drivers/char/pl011.c b/xen/drivers/char/pl011.c
index 05d034f..3747c16 100644
--- a/xen/drivers/char/pl011.c
+++ b/xen/drivers/char/pl011.c
@@ -229,7 +229,7 @@ static int __init pl011_uart_init(struct dt_device_node *dev,
     uart = &pl011_com;
 
     uart->clock_hz  = 0x16e3600;
-    uart->baud      = 38400;
+    uart->baud      = BAUD_AUTO;
     uart->data_bits = 8;
     uart->parity    = PARITY_NONE;
     uart->stop_bits = 1;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:44:42 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:44:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzLa-0002Kf-H0; Wed, 21 Aug 2013 03:44:38 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzLZ-0002KU-H9
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:44:37 +0000
Received: from [193.109.254.147:33703] by server-1.bemta-14.messagelabs.com id
	5C/74-22234-4A734125; Wed, 21 Aug 2013 03:44:36 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1377056675!5081028!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2176 invoked from network); 21 Aug 2013 03:44:36 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-10.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:44:36 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzLX-0004B9-6d
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:44:35 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzLX-0004VO-56
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:44:35 +0000
Date: Wed, 21 Aug 2013 03:44:35 +0000
Message-Id: <E1VBzLX-0004VO-56@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] PL011: don't force baud rate of 38400
	bps
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit db58a28b9b41722aee7c812d6621360c88317049
Author:     Andre Przywara <andre.przywara@linaro.org>
AuthorDate: Tue Aug 13 17:12:52 2013 +0200
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:20:39 2013 +0100

    PL011: don't force baud rate of 38400 bps
    
    The PL011 driver currently sets the baudrate to a hardcoded value of
    38400 bits/second. This will break Calxeda Midway, which uses 115200
    bps.
    Instead don't tinker with the baud rate register at all and rely on
    the firmware or bootloader setting the correct value in here.
    This works fine on Versatile Express and Calxeda Midway.
    
    Signed-off-by: Andre Przywara <andre.przywara@linaro.org>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 xen/drivers/char/pl011.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/xen/drivers/char/pl011.c b/xen/drivers/char/pl011.c
index 05d034f..3747c16 100644
--- a/xen/drivers/char/pl011.c
+++ b/xen/drivers/char/pl011.c
@@ -229,7 +229,7 @@ static int __init pl011_uart_init(struct dt_device_node *dev,
     uart = &pl011_com;
 
     uart->clock_hz  = 0x16e3600;
-    uart->baud      = 38400;
+    uart->baud      = BAUD_AUTO;
     uart->data_bits = 8;
     uart->parity    = PARITY_NONE;
     uart->stop_bits = 1;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:44:51 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:44:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzLl-0002MH-Kn; Wed, 21 Aug 2013 03:44:49 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzLk-0002Lq-1U
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:44:48 +0000
Received: from [85.158.143.35:20263] by server-2.bemta-4.messagelabs.com id
	71/87-26052-FA734125; Wed, 21 Aug 2013 03:44:47 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1377056685!1190702!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15043 invoked from network); 21 Aug 2013 03:44:46 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-10.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:44:46 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzLh-0004BI-Ab
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:44:45 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzLh-0004WT-9R
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:44:45 +0000
Date: Wed, 21 Aug 2013 03:44:45 +0000
Message-Id: <E1VBzLh-0004WT-9R@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] vif-bridge: fix cut behavior change
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 9f01050aca6ea0c6181e53a2ed80b931147c7fcf
Author:     Bob Proulx <bob@proulx.com>
AuthorDate: Fri Aug 9 01:18:19 2013 -0600
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:21:56 2013 +0100

    vif-bridge: fix cut behavior change
    
    A recent change in GNU cut disallows use of a newline as a field
    delimiter.  Avoid the problematic use of cut in vif-bridge.
    
    Signed-off-by: Bob Proulx <bob@proulx.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/hotplug/Linux/vif-bridge |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/tools/hotplug/Linux/vif-bridge b/tools/hotplug/Linux/vif-bridge
index f489519..9a6f82a 100644
--- a/tools/hotplug/Linux/vif-bridge
+++ b/tools/hotplug/Linux/vif-bridge
@@ -37,8 +37,7 @@ bridge=$(xenstore_read_default "$XENBUS_PATH/bridge" "$bridge")
 
 if [ -z "$bridge" ]
 then
-  bridge=$(brctl show | cut -d "
-" -f 2 | cut -f 1)
+  bridge=$(brctl show | awk 'NR==2{print$1}')
 
   if [ -z "$bridge" ]
   then
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:44:51 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:44:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzLl-0002MH-Kn; Wed, 21 Aug 2013 03:44:49 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzLk-0002Lq-1U
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:44:48 +0000
Received: from [85.158.143.35:20263] by server-2.bemta-4.messagelabs.com id
	71/87-26052-FA734125; Wed, 21 Aug 2013 03:44:47 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1377056685!1190702!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15043 invoked from network); 21 Aug 2013 03:44:46 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-10.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:44:46 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzLh-0004BI-Ab
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:44:45 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzLh-0004WT-9R
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:44:45 +0000
Date: Wed, 21 Aug 2013 03:44:45 +0000
Message-Id: <E1VBzLh-0004WT-9R@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] vif-bridge: fix cut behavior change
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 9f01050aca6ea0c6181e53a2ed80b931147c7fcf
Author:     Bob Proulx <bob@proulx.com>
AuthorDate: Fri Aug 9 01:18:19 2013 -0600
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:21:56 2013 +0100

    vif-bridge: fix cut behavior change
    
    A recent change in GNU cut disallows use of a newline as a field
    delimiter.  Avoid the problematic use of cut in vif-bridge.
    
    Signed-off-by: Bob Proulx <bob@proulx.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 tools/hotplug/Linux/vif-bridge |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/tools/hotplug/Linux/vif-bridge b/tools/hotplug/Linux/vif-bridge
index f489519..9a6f82a 100644
--- a/tools/hotplug/Linux/vif-bridge
+++ b/tools/hotplug/Linux/vif-bridge
@@ -37,8 +37,7 @@ bridge=$(xenstore_read_default "$XENBUS_PATH/bridge" "$bridge")
 
 if [ -z "$bridge" ]
 then
-  bridge=$(brctl show | cut -d "
-" -f 2 | cut -f 1)
+  bridge=$(brctl show | awk 'NR==2{print$1}')
 
   if [ -z "$bridge" ]
   then
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:45:01 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:45:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzLv-0002OU-Pe; Wed, 21 Aug 2013 03:44:59 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzLu-0002Nw-0g
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:44:58 +0000
Received: from [85.158.139.211:35313] by server-15.bemta-5.messagelabs.com id
	41/6A-01145-9B734125; Wed, 21 Aug 2013 03:44:57 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-206.messagelabs.com!1377056695!3476882!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3987 invoked from network); 21 Aug 2013 03:44:56 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-3.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:44:56 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzLr-0004BR-HZ
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:44:55 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzLr-0004Wp-Ev
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:44:55 +0000
Date: Wed, 21 Aug 2013 03:44:55 +0000
Message-Id: <E1VBzLr-0004Wp-Ev@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] libxc: silence HVM domain creation
	messages
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 0cf2554189351848e1fc4eb13607b7d0b0f6d2b1
Author:     Matthew Daley <mattjd@gmail.com>
AuthorDate: Thu Aug 15 10:20:54 2013 +1200
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:23:13 2013 +0100

    libxc: silence HVM domain creation messages
    
    There's no need for xl to output these messages on HVM domain creation
    to stderr by default.
    
    Change their loglevels from XTL_INFO to XTL_DETAIL; then the messages
    output by xl are the same as those for PV domain creation. These
    now-silenced messages can still be seen using verbose (-v) mode.
    
    Signed-off-by: Matthew Daley <mattjd@gmail.com>
---
 tools/libxc/xc_hvm_build_x86.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/libxc/xc_hvm_build_x86.c b/tools/libxc/xc_hvm_build_x86.c
index 8bb0178..77bd365 100644
--- a/tools/libxc/xc_hvm_build_x86.c
+++ b/tools/libxc/xc_hvm_build_x86.c
@@ -281,7 +281,7 @@ static int setup_guest(xc_interface *xch,
         goto error_out;
     }
 
-    IPRINTF("VIRTUAL MEMORY ARRANGEMENT:\n"
+    DPRINTF("VIRTUAL MEMORY ARRANGEMENT:\n"
             "  Loader:        %016"PRIx64"->%016"PRIx64"\n"
             "  Modules:       %016"PRIx64"->%016"PRIx64"\n"
             "  TOTAL:         %016"PRIx64"->%016"PRIx64"\n"
@@ -443,7 +443,7 @@ static int setup_guest(xc_interface *xch,
         goto error_out;
     }
 
-    IPRINTF("PHYSICAL MEMORY ALLOCATION:\n"
+    DPRINTF("PHYSICAL MEMORY ALLOCATION:\n"
             "  4KB PAGES: 0x%016lx\n"
             "  2MB PAGES: 0x%016lx\n"
             "  1GB PAGES: 0x%016lx\n",
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:45:01 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:45:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzLv-0002OU-Pe; Wed, 21 Aug 2013 03:44:59 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzLu-0002Nw-0g
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:44:58 +0000
Received: from [85.158.139.211:35313] by server-15.bemta-5.messagelabs.com id
	41/6A-01145-9B734125; Wed, 21 Aug 2013 03:44:57 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-206.messagelabs.com!1377056695!3476882!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3987 invoked from network); 21 Aug 2013 03:44:56 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-3.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:44:56 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzLr-0004BR-HZ
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:44:55 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzLr-0004Wp-Ev
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:44:55 +0000
Date: Wed, 21 Aug 2013 03:44:55 +0000
Message-Id: <E1VBzLr-0004Wp-Ev@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] libxc: silence HVM domain creation
	messages
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 0cf2554189351848e1fc4eb13607b7d0b0f6d2b1
Author:     Matthew Daley <mattjd@gmail.com>
AuthorDate: Thu Aug 15 10:20:54 2013 +1200
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:23:13 2013 +0100

    libxc: silence HVM domain creation messages
    
    There's no need for xl to output these messages on HVM domain creation
    to stderr by default.
    
    Change their loglevels from XTL_INFO to XTL_DETAIL; then the messages
    output by xl are the same as those for PV domain creation. These
    now-silenced messages can still be seen using verbose (-v) mode.
    
    Signed-off-by: Matthew Daley <mattjd@gmail.com>
---
 tools/libxc/xc_hvm_build_x86.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/libxc/xc_hvm_build_x86.c b/tools/libxc/xc_hvm_build_x86.c
index 8bb0178..77bd365 100644
--- a/tools/libxc/xc_hvm_build_x86.c
+++ b/tools/libxc/xc_hvm_build_x86.c
@@ -281,7 +281,7 @@ static int setup_guest(xc_interface *xch,
         goto error_out;
     }
 
-    IPRINTF("VIRTUAL MEMORY ARRANGEMENT:\n"
+    DPRINTF("VIRTUAL MEMORY ARRANGEMENT:\n"
             "  Loader:        %016"PRIx64"->%016"PRIx64"\n"
             "  Modules:       %016"PRIx64"->%016"PRIx64"\n"
             "  TOTAL:         %016"PRIx64"->%016"PRIx64"\n"
@@ -443,7 +443,7 @@ static int setup_guest(xc_interface *xch,
         goto error_out;
     }
 
-    IPRINTF("PHYSICAL MEMORY ALLOCATION:\n"
+    DPRINTF("PHYSICAL MEMORY ALLOCATION:\n"
             "  4KB PAGES: 0x%016lx\n"
             "  2MB PAGES: 0x%016lx\n"
             "  1GB PAGES: 0x%016lx\n",
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:45:17 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:45:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzM9-0002RE-VV; Wed, 21 Aug 2013 03:45:13 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzM8-0002Qv-Ny
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:45:12 +0000
Received: from [85.158.137.68:34813] by server-10.bemta-3.messagelabs.com id
	4C/5C-30473-7C734125; Wed, 21 Aug 2013 03:45:11 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-31.messagelabs.com!1377056710!2888387!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13596 invoked from network); 21 Aug 2013 03:45:11 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-8.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:45:11 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzM1-0004CR-Vk
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:45:09 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzM1-0004XT-LK
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:45:05 +0000
Date: Wed, 21 Aug 2013 03:45:05 +0000
Message-Id: <E1VBzM1-0004XT-LK@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] ARM: add Calxeda Midway platform
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit d72e8bcf12eb0b9e0fcfbc48406b5c4cbf9a84ef
Author:     Andre Przywara <andre.przywara@linaro.org>
AuthorDate: Tue Aug 13 17:13:07 2013 +0200
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:24:06 2013 +0100

    ARM: add Calxeda Midway platform
    
    Calxeda Midway is an ARMv7 server platform with Cortex-A15 cores.
    The peripheral side has many similarities with the machine known as
    Highbank.
    Add Calxeda Midway to the list of supported platforms to avoid a
    warning on boot and provide the proper reset method.
    
    Signed-off-by: Andre Przywara <andre.przywara@linaro.org>
---
 xen/arch/arm/platforms/Makefile        |    1 +
 xen/arch/arm/platforms/midway.c        |   62 ++++++++++++++++++++++++++++++++
 xen/include/asm-arm/platforms/midway.h |   21 +++++++++++
 3 files changed, 84 insertions(+), 0 deletions(-)

diff --git a/xen/arch/arm/platforms/Makefile b/xen/arch/arm/platforms/Makefile
index ff2b65b..6ee8e6a 100644
--- a/xen/arch/arm/platforms/Makefile
+++ b/xen/arch/arm/platforms/Makefile
@@ -1,2 +1,3 @@
 obj-y += vexpress.o
 obj-y += exynos5.o
+obj-y += midway.o
diff --git a/xen/arch/arm/platforms/midway.c b/xen/arch/arm/platforms/midway.c
new file mode 100644
index 0000000..2d3be1b
--- /dev/null
+++ b/xen/arch/arm/platforms/midway.c
@@ -0,0 +1,62 @@
+/*
+ * xen/arch/arm/platforms/midway.c
+ *
+ * Calxeda Midway specific settings
+ *
+ * Andre Przywara <andre.przywara@linaro.org>
+ * Copyright (c) 2013 Linaro Limited.
+ *
+ * This program 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.
+ *
+ * This program 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.
+ */
+
+#include <xen/mm.h>
+#include <xen/vmap.h>
+#include <asm/platforms/midway.h>
+#include <asm/platform.h>
+
+static void midway_reset(void)
+{
+    void __iomem *pmu;
+
+    BUILD_BUG_ON((MW_SREG_PWR_REQ & PAGE_MASK) !=
+                 (MW_SREG_A15_PWR_CTRL & PAGE_MASK));
+
+    pmu = ioremap_nocache(MW_SREG_PWR_REQ & PAGE_MASK, PAGE_SIZE);
+    if ( !pmu )
+    {
+        dprintk(XENLOG_ERR, "Unable to map PMU\n");
+        return;
+    }
+
+    iowritel(pmu + (MW_SREG_PWR_REQ & ~PAGE_MASK), MW_PWR_HARD_RESET);
+    iowritel(pmu + (MW_SREG_A15_PWR_CTRL & ~PAGE_MASK), 1);
+    iounmap(pmu);
+}
+
+static const char const *midway_dt_compat[] __initdata =
+{
+    "calxeda,ecx-2000",
+    NULL
+};
+
+PLATFORM_START(midway, "CALXEDA MIDWAY")
+    .compatible = midway_dt_compat,
+    .reset = midway_reset,
+PLATFORM_END
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/include/asm-arm/platforms/midway.h b/xen/include/asm-arm/platforms/midway.h
new file mode 100644
index 0000000..099e435
--- /dev/null
+++ b/xen/include/asm-arm/platforms/midway.h
@@ -0,0 +1,21 @@
+#ifndef __ASM_ARM_PLATFORMS_MIDWAY_H
+#define __ASM_ASM_PLATFORMS_MIDWAY_H
+
+/* addresses of SREG registers for resetting the SoC */
+#define MW_SREG_PWR_REQ             0xfff3cf00
+#define MW_SREG_A15_PWR_CTRL        0xfff3c200
+
+#define MW_PWR_SUSPEND              0
+#define MW_PWR_SOFT_RESET           1
+#define MW_PWR_HARD_RESET           2
+#define MW_PWR_SHUTDOWN             3
+
+#endif /* __ASM_ARM_PLATFORMS_MIDWAY_H */
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:45:17 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:45:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzM9-0002RE-VV; Wed, 21 Aug 2013 03:45:13 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzM8-0002Qv-Ny
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:45:12 +0000
Received: from [85.158.137.68:34813] by server-10.bemta-3.messagelabs.com id
	4C/5C-30473-7C734125; Wed, 21 Aug 2013 03:45:11 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-31.messagelabs.com!1377056710!2888387!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13596 invoked from network); 21 Aug 2013 03:45:11 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-8.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:45:11 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzM1-0004CR-Vk
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:45:09 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzM1-0004XT-LK
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:45:05 +0000
Date: Wed, 21 Aug 2013 03:45:05 +0000
Message-Id: <E1VBzM1-0004XT-LK@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] ARM: add Calxeda Midway platform
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit d72e8bcf12eb0b9e0fcfbc48406b5c4cbf9a84ef
Author:     Andre Przywara <andre.przywara@linaro.org>
AuthorDate: Tue Aug 13 17:13:07 2013 +0200
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:24:06 2013 +0100

    ARM: add Calxeda Midway platform
    
    Calxeda Midway is an ARMv7 server platform with Cortex-A15 cores.
    The peripheral side has many similarities with the machine known as
    Highbank.
    Add Calxeda Midway to the list of supported platforms to avoid a
    warning on boot and provide the proper reset method.
    
    Signed-off-by: Andre Przywara <andre.przywara@linaro.org>
---
 xen/arch/arm/platforms/Makefile        |    1 +
 xen/arch/arm/platforms/midway.c        |   62 ++++++++++++++++++++++++++++++++
 xen/include/asm-arm/platforms/midway.h |   21 +++++++++++
 3 files changed, 84 insertions(+), 0 deletions(-)

diff --git a/xen/arch/arm/platforms/Makefile b/xen/arch/arm/platforms/Makefile
index ff2b65b..6ee8e6a 100644
--- a/xen/arch/arm/platforms/Makefile
+++ b/xen/arch/arm/platforms/Makefile
@@ -1,2 +1,3 @@
 obj-y += vexpress.o
 obj-y += exynos5.o
+obj-y += midway.o
diff --git a/xen/arch/arm/platforms/midway.c b/xen/arch/arm/platforms/midway.c
new file mode 100644
index 0000000..2d3be1b
--- /dev/null
+++ b/xen/arch/arm/platforms/midway.c
@@ -0,0 +1,62 @@
+/*
+ * xen/arch/arm/platforms/midway.c
+ *
+ * Calxeda Midway specific settings
+ *
+ * Andre Przywara <andre.przywara@linaro.org>
+ * Copyright (c) 2013 Linaro Limited.
+ *
+ * This program 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.
+ *
+ * This program 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.
+ */
+
+#include <xen/mm.h>
+#include <xen/vmap.h>
+#include <asm/platforms/midway.h>
+#include <asm/platform.h>
+
+static void midway_reset(void)
+{
+    void __iomem *pmu;
+
+    BUILD_BUG_ON((MW_SREG_PWR_REQ & PAGE_MASK) !=
+                 (MW_SREG_A15_PWR_CTRL & PAGE_MASK));
+
+    pmu = ioremap_nocache(MW_SREG_PWR_REQ & PAGE_MASK, PAGE_SIZE);
+    if ( !pmu )
+    {
+        dprintk(XENLOG_ERR, "Unable to map PMU\n");
+        return;
+    }
+
+    iowritel(pmu + (MW_SREG_PWR_REQ & ~PAGE_MASK), MW_PWR_HARD_RESET);
+    iowritel(pmu + (MW_SREG_A15_PWR_CTRL & ~PAGE_MASK), 1);
+    iounmap(pmu);
+}
+
+static const char const *midway_dt_compat[] __initdata =
+{
+    "calxeda,ecx-2000",
+    NULL
+};
+
+PLATFORM_START(midway, "CALXEDA MIDWAY")
+    .compatible = midway_dt_compat,
+    .reset = midway_reset,
+PLATFORM_END
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/include/asm-arm/platforms/midway.h b/xen/include/asm-arm/platforms/midway.h
new file mode 100644
index 0000000..099e435
--- /dev/null
+++ b/xen/include/asm-arm/platforms/midway.h
@@ -0,0 +1,21 @@
+#ifndef __ASM_ARM_PLATFORMS_MIDWAY_H
+#define __ASM_ASM_PLATFORMS_MIDWAY_H
+
+/* addresses of SREG registers for resetting the SoC */
+#define MW_SREG_PWR_REQ             0xfff3cf00
+#define MW_SREG_A15_PWR_CTRL        0xfff3c200
+
+#define MW_PWR_SUSPEND              0
+#define MW_PWR_SOFT_RESET           1
+#define MW_PWR_HARD_RESET           2
+#define MW_PWR_SHUTDOWN             3
+
+#endif /* __ASM_ARM_PLATFORMS_MIDWAY_H */
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:45:28 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:45:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzMM-0002Th-2h; Wed, 21 Aug 2013 03:45:26 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzMJ-0002TH-TN
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:45:24 +0000
Received: from [193.109.254.147:4755] by server-13.bemta-14.messagelabs.com id
	6D/C7-01215-3D734125; Wed, 21 Aug 2013 03:45:23 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1377056721!5084012!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8149 invoked from network); 21 Aug 2013 03:45:22 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-4.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:45:22 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzMG-0004CY-TK
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:45:20 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzMG-0004Xr-RF
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:45:20 +0000
Date: Wed, 21 Aug 2013 03:45:20 +0000
Message-Id: <E1VBzMG-0004Xr-RF@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] tools: move xm and xend under tools
	python
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 9af42f3598ba6f4b38384fdd2038c30f7ec763b9
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed Jul 31 16:15:49 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:33:37 2013 +0100

    tools: move xm and xend under tools python
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Matt Wilson <msw@amazon.com>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/misc/Makefile        |    2 +-
 tools/misc/xend            |  110 --------------------------------------------
 tools/misc/xm              |    7 ---
 tools/python/Makefile      |    4 ++
 tools/python/xen/xend/xend |  110 ++++++++++++++++++++++++++++++++++++++++++++
 tools/python/xen/xm/xm     |    7 +++
 6 files changed, 122 insertions(+), 118 deletions(-)

diff --git a/tools/misc/Makefile b/tools/misc/Makefile
index 520ef80..73b55dd 100644
--- a/tools/misc/Makefile
+++ b/tools/misc/Makefile
@@ -22,7 +22,7 @@ INSTALL_BIN-y := xencons xencov_split
 INSTALL_BIN-$(CONFIG_X86) += xen-detect
 INSTALL_BIN := $(INSTALL_BIN-y)
 
-INSTALL_SBIN-y := xm xen-bugtool xen-python-path xend xenperf xsview xenpm xen-tmem-list-parse gtraceview \
+INSTALL_SBIN-y := xen-bugtool xen-python-path xenperf xsview xenpm xen-tmem-list-parse gtraceview \
 	gtracestat xenlockprof xenwatchdogd xen-ringwatch xencov
 INSTALL_SBIN-$(CONFIG_X86) += xen-hvmctx xen-hvmcrash xen-lowmemd
 INSTALL_SBIN-$(CONFIG_MIGRATE) += xen-hptool
diff --git a/tools/misc/xend b/tools/misc/xend
deleted file mode 100644
index 9ef0210..0000000
--- a/tools/misc/xend
+++ /dev/null
@@ -1,110 +0,0 @@
-#!/usr/bin/env python
-#  -*- mode: python; -*-
-#============================================================================
-# Copyright (C) 2004 Mike Wray <mike.wray@hp.com>
-# Copyright (C) 2005-2006 XenSource Inc
-#============================================================================
-
-"""Xen management daemon.
-   Provides console server and HTTP management api.
-
-   Run:
-   xend start
-
-   Restart:
-   xend restart
-
-   The daemon is stopped with:
-   xend stop
-
-   The daemon should reconnect to device control interfaces
-   and recover its state when restarted.
-
-   On Solaris, the daemons are SMF managed, and you should not attempt
-   to start xend by hand.
-"""
-import fcntl
-import glob
-import os
-import os.path
-import sys
-import socket
-import signal
-import time
-import commands
-
-from xen.xend.server import SrvDaemon
-
-class CheckError(ValueError):
-    pass
-
-def hline():
-    print >>sys.stderr, "*" * 70
-
-def msg(message):
-    print >>sys.stderr, "*" * 3, message
-
-def check_logging():
-    """Check python logging is installed and raise an error if not.
-    Logging is standard from Python 2.3 on.
-    """
-    try:
-        import logging
-    except ImportError:
-        hline()
-        msg("Python logging is not installed.")
-        msg("Use 'make install-logging' at the xen root to install.")
-        msg("")
-        msg("Alternatively download and install from")
-        msg("http://www.red-dove.com/python_logging.html")
-        hline()
-        raise CheckError("logging is not installed")
-
-def check_user():
-    """Check that the effective user id is 0 (root).
-    """
-    if os.geteuid() != 0:
-        hline()
-        msg("Xend must be run as root.")
-        hline()
-        raise CheckError("invalid user")
-
-def start_daemon(daemon, *args):
-    if os.fork() == 0:
-        os.execvp(daemon, (daemon,) + args)
-
-def start_blktapctrl():
-    start_daemon("blktapctrl", "")
-
-def main():
-    try:
-        check_logging()
-        check_user()
-    except CheckError:
-        sys.exit(1)
-    
-    daemon = SrvDaemon.instance()
-    if not sys.argv[1:]:
-        print 'usage: %s {start|stop|reload|restart}' % sys.argv[0]
-    elif sys.argv[1] == 'start':
-        if os.uname()[0] != "SunOS":
-            start_blktapctrl()
-        return daemon.start()
-    elif sys.argv[1] == 'trace_start':
-        start_blktapctrl()
-        return daemon.start(trace=1)
-    elif sys.argv[1] == 'stop':
-        return daemon.stop()
-    elif sys.argv[1] == 'reload':
-        return daemon.reloadConfig()
-    elif sys.argv[1] == 'restart':
-        start_blktapctrl()
-        return daemon.stop() or daemon.start()
-    elif sys.argv[1] == 'status':
-        return daemon.status()
-    else:
-        print 'not an option:', sys.argv[1]
-    return 1
-
-if __name__ == '__main__':
-    sys.exit(main())
diff --git a/tools/misc/xm b/tools/misc/xm
deleted file mode 100755
index f4fd200..0000000
--- a/tools/misc/xm
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/usr/bin/env python
-#  -*- mode: python; -*-
-import sys
-
-from xen.xm import main
-
-main.main(sys.argv)
diff --git a/tools/python/Makefile b/tools/python/Makefile
index 9be1122..8461d0f 100644
--- a/tools/python/Makefile
+++ b/tools/python/Makefile
@@ -23,6 +23,10 @@ install: install-dtd
 	CC="$(CC)" CFLAGS="$(CFLAGS)" $(PYTHON) setup.py install \
 		$(PYTHON_PREFIX_ARG) --root="$(DESTDIR)" --force
 
+	$(INSTALL_DIR) $(DESTDIR)$(SBINDIR)
+	$(INSTALL_PYTHON_PROG) xen/xm/xm $(DESTDIR)$(SBINDIR)/xm
+	$(INSTALL_PYTHON_PROG) xen/xend/xend $(DESTDIR)$(SBINDIR)/xend
+
 install-dtd: all
 	$(INSTALL_DIR) $(DESTDIR)$(SHAREDIR)/xen
 	$(INSTALL_DATA) xen/xm/create.dtd $(DESTDIR)$(SHAREDIR)/xen
diff --git a/tools/python/xen/xend/xend b/tools/python/xen/xend/xend
new file mode 100644
index 0000000..9ef0210
--- /dev/null
+++ b/tools/python/xen/xend/xend
@@ -0,0 +1,110 @@
+#!/usr/bin/env python
+#  -*- mode: python; -*-
+#============================================================================
+# Copyright (C) 2004 Mike Wray <mike.wray@hp.com>
+# Copyright (C) 2005-2006 XenSource Inc
+#============================================================================
+
+"""Xen management daemon.
+   Provides console server and HTTP management api.
+
+   Run:
+   xend start
+
+   Restart:
+   xend restart
+
+   The daemon is stopped with:
+   xend stop
+
+   The daemon should reconnect to device control interfaces
+   and recover its state when restarted.
+
+   On Solaris, the daemons are SMF managed, and you should not attempt
+   to start xend by hand.
+"""
+import fcntl
+import glob
+import os
+import os.path
+import sys
+import socket
+import signal
+import time
+import commands
+
+from xen.xend.server import SrvDaemon
+
+class CheckError(ValueError):
+    pass
+
+def hline():
+    print >>sys.stderr, "*" * 70
+
+def msg(message):
+    print >>sys.stderr, "*" * 3, message
+
+def check_logging():
+    """Check python logging is installed and raise an error if not.
+    Logging is standard from Python 2.3 on.
+    """
+    try:
+        import logging
+    except ImportError:
+        hline()
+        msg("Python logging is not installed.")
+        msg("Use 'make install-logging' at the xen root to install.")
+        msg("")
+        msg("Alternatively download and install from")
+        msg("http://www.red-dove.com/python_logging.html")
+        hline()
+        raise CheckError("logging is not installed")
+
+def check_user():
+    """Check that the effective user id is 0 (root).
+    """
+    if os.geteuid() != 0:
+        hline()
+        msg("Xend must be run as root.")
+        hline()
+        raise CheckError("invalid user")
+
+def start_daemon(daemon, *args):
+    if os.fork() == 0:
+        os.execvp(daemon, (daemon,) + args)
+
+def start_blktapctrl():
+    start_daemon("blktapctrl", "")
+
+def main():
+    try:
+        check_logging()
+        check_user()
+    except CheckError:
+        sys.exit(1)
+    
+    daemon = SrvDaemon.instance()
+    if not sys.argv[1:]:
+        print 'usage: %s {start|stop|reload|restart}' % sys.argv[0]
+    elif sys.argv[1] == 'start':
+        if os.uname()[0] != "SunOS":
+            start_blktapctrl()
+        return daemon.start()
+    elif sys.argv[1] == 'trace_start':
+        start_blktapctrl()
+        return daemon.start(trace=1)
+    elif sys.argv[1] == 'stop':
+        return daemon.stop()
+    elif sys.argv[1] == 'reload':
+        return daemon.reloadConfig()
+    elif sys.argv[1] == 'restart':
+        start_blktapctrl()
+        return daemon.stop() or daemon.start()
+    elif sys.argv[1] == 'status':
+        return daemon.status()
+    else:
+        print 'not an option:', sys.argv[1]
+    return 1
+
+if __name__ == '__main__':
+    sys.exit(main())
diff --git a/tools/python/xen/xm/xm b/tools/python/xen/xm/xm
new file mode 100755
index 0000000..f4fd200
--- /dev/null
+++ b/tools/python/xen/xm/xm
@@ -0,0 +1,7 @@
+#!/usr/bin/env python
+#  -*- mode: python; -*-
+import sys
+
+from xen.xm import main
+
+main.main(sys.argv)
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:45:28 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:45:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzMM-0002Th-2h; Wed, 21 Aug 2013 03:45:26 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzMJ-0002TH-TN
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:45:24 +0000
Received: from [193.109.254.147:4755] by server-13.bemta-14.messagelabs.com id
	6D/C7-01215-3D734125; Wed, 21 Aug 2013 03:45:23 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-27.messagelabs.com!1377056721!5084012!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8149 invoked from network); 21 Aug 2013 03:45:22 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-4.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:45:22 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzMG-0004CY-TK
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:45:20 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzMG-0004Xr-RF
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:45:20 +0000
Date: Wed, 21 Aug 2013 03:45:20 +0000
Message-Id: <E1VBzMG-0004Xr-RF@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] tools: move xm and xend under tools
	python
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 9af42f3598ba6f4b38384fdd2038c30f7ec763b9
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed Jul 31 16:15:49 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:33:37 2013 +0100

    tools: move xm and xend under tools python
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Matt Wilson <msw@amazon.com>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/misc/Makefile        |    2 +-
 tools/misc/xend            |  110 --------------------------------------------
 tools/misc/xm              |    7 ---
 tools/python/Makefile      |    4 ++
 tools/python/xen/xend/xend |  110 ++++++++++++++++++++++++++++++++++++++++++++
 tools/python/xen/xm/xm     |    7 +++
 6 files changed, 122 insertions(+), 118 deletions(-)

diff --git a/tools/misc/Makefile b/tools/misc/Makefile
index 520ef80..73b55dd 100644
--- a/tools/misc/Makefile
+++ b/tools/misc/Makefile
@@ -22,7 +22,7 @@ INSTALL_BIN-y := xencons xencov_split
 INSTALL_BIN-$(CONFIG_X86) += xen-detect
 INSTALL_BIN := $(INSTALL_BIN-y)
 
-INSTALL_SBIN-y := xm xen-bugtool xen-python-path xend xenperf xsview xenpm xen-tmem-list-parse gtraceview \
+INSTALL_SBIN-y := xen-bugtool xen-python-path xenperf xsview xenpm xen-tmem-list-parse gtraceview \
 	gtracestat xenlockprof xenwatchdogd xen-ringwatch xencov
 INSTALL_SBIN-$(CONFIG_X86) += xen-hvmctx xen-hvmcrash xen-lowmemd
 INSTALL_SBIN-$(CONFIG_MIGRATE) += xen-hptool
diff --git a/tools/misc/xend b/tools/misc/xend
deleted file mode 100644
index 9ef0210..0000000
--- a/tools/misc/xend
+++ /dev/null
@@ -1,110 +0,0 @@
-#!/usr/bin/env python
-#  -*- mode: python; -*-
-#============================================================================
-# Copyright (C) 2004 Mike Wray <mike.wray@hp.com>
-# Copyright (C) 2005-2006 XenSource Inc
-#============================================================================
-
-"""Xen management daemon.
-   Provides console server and HTTP management api.
-
-   Run:
-   xend start
-
-   Restart:
-   xend restart
-
-   The daemon is stopped with:
-   xend stop
-
-   The daemon should reconnect to device control interfaces
-   and recover its state when restarted.
-
-   On Solaris, the daemons are SMF managed, and you should not attempt
-   to start xend by hand.
-"""
-import fcntl
-import glob
-import os
-import os.path
-import sys
-import socket
-import signal
-import time
-import commands
-
-from xen.xend.server import SrvDaemon
-
-class CheckError(ValueError):
-    pass
-
-def hline():
-    print >>sys.stderr, "*" * 70
-
-def msg(message):
-    print >>sys.stderr, "*" * 3, message
-
-def check_logging():
-    """Check python logging is installed and raise an error if not.
-    Logging is standard from Python 2.3 on.
-    """
-    try:
-        import logging
-    except ImportError:
-        hline()
-        msg("Python logging is not installed.")
-        msg("Use 'make install-logging' at the xen root to install.")
-        msg("")
-        msg("Alternatively download and install from")
-        msg("http://www.red-dove.com/python_logging.html")
-        hline()
-        raise CheckError("logging is not installed")
-
-def check_user():
-    """Check that the effective user id is 0 (root).
-    """
-    if os.geteuid() != 0:
-        hline()
-        msg("Xend must be run as root.")
-        hline()
-        raise CheckError("invalid user")
-
-def start_daemon(daemon, *args):
-    if os.fork() == 0:
-        os.execvp(daemon, (daemon,) + args)
-
-def start_blktapctrl():
-    start_daemon("blktapctrl", "")
-
-def main():
-    try:
-        check_logging()
-        check_user()
-    except CheckError:
-        sys.exit(1)
-    
-    daemon = SrvDaemon.instance()
-    if not sys.argv[1:]:
-        print 'usage: %s {start|stop|reload|restart}' % sys.argv[0]
-    elif sys.argv[1] == 'start':
-        if os.uname()[0] != "SunOS":
-            start_blktapctrl()
-        return daemon.start()
-    elif sys.argv[1] == 'trace_start':
-        start_blktapctrl()
-        return daemon.start(trace=1)
-    elif sys.argv[1] == 'stop':
-        return daemon.stop()
-    elif sys.argv[1] == 'reload':
-        return daemon.reloadConfig()
-    elif sys.argv[1] == 'restart':
-        start_blktapctrl()
-        return daemon.stop() or daemon.start()
-    elif sys.argv[1] == 'status':
-        return daemon.status()
-    else:
-        print 'not an option:', sys.argv[1]
-    return 1
-
-if __name__ == '__main__':
-    sys.exit(main())
diff --git a/tools/misc/xm b/tools/misc/xm
deleted file mode 100755
index f4fd200..0000000
--- a/tools/misc/xm
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/usr/bin/env python
-#  -*- mode: python; -*-
-import sys
-
-from xen.xm import main
-
-main.main(sys.argv)
diff --git a/tools/python/Makefile b/tools/python/Makefile
index 9be1122..8461d0f 100644
--- a/tools/python/Makefile
+++ b/tools/python/Makefile
@@ -23,6 +23,10 @@ install: install-dtd
 	CC="$(CC)" CFLAGS="$(CFLAGS)" $(PYTHON) setup.py install \
 		$(PYTHON_PREFIX_ARG) --root="$(DESTDIR)" --force
 
+	$(INSTALL_DIR) $(DESTDIR)$(SBINDIR)
+	$(INSTALL_PYTHON_PROG) xen/xm/xm $(DESTDIR)$(SBINDIR)/xm
+	$(INSTALL_PYTHON_PROG) xen/xend/xend $(DESTDIR)$(SBINDIR)/xend
+
 install-dtd: all
 	$(INSTALL_DIR) $(DESTDIR)$(SHAREDIR)/xen
 	$(INSTALL_DATA) xen/xm/create.dtd $(DESTDIR)$(SHAREDIR)/xen
diff --git a/tools/python/xen/xend/xend b/tools/python/xen/xend/xend
new file mode 100644
index 0000000..9ef0210
--- /dev/null
+++ b/tools/python/xen/xend/xend
@@ -0,0 +1,110 @@
+#!/usr/bin/env python
+#  -*- mode: python; -*-
+#============================================================================
+# Copyright (C) 2004 Mike Wray <mike.wray@hp.com>
+# Copyright (C) 2005-2006 XenSource Inc
+#============================================================================
+
+"""Xen management daemon.
+   Provides console server and HTTP management api.
+
+   Run:
+   xend start
+
+   Restart:
+   xend restart
+
+   The daemon is stopped with:
+   xend stop
+
+   The daemon should reconnect to device control interfaces
+   and recover its state when restarted.
+
+   On Solaris, the daemons are SMF managed, and you should not attempt
+   to start xend by hand.
+"""
+import fcntl
+import glob
+import os
+import os.path
+import sys
+import socket
+import signal
+import time
+import commands
+
+from xen.xend.server import SrvDaemon
+
+class CheckError(ValueError):
+    pass
+
+def hline():
+    print >>sys.stderr, "*" * 70
+
+def msg(message):
+    print >>sys.stderr, "*" * 3, message
+
+def check_logging():
+    """Check python logging is installed and raise an error if not.
+    Logging is standard from Python 2.3 on.
+    """
+    try:
+        import logging
+    except ImportError:
+        hline()
+        msg("Python logging is not installed.")
+        msg("Use 'make install-logging' at the xen root to install.")
+        msg("")
+        msg("Alternatively download and install from")
+        msg("http://www.red-dove.com/python_logging.html")
+        hline()
+        raise CheckError("logging is not installed")
+
+def check_user():
+    """Check that the effective user id is 0 (root).
+    """
+    if os.geteuid() != 0:
+        hline()
+        msg("Xend must be run as root.")
+        hline()
+        raise CheckError("invalid user")
+
+def start_daemon(daemon, *args):
+    if os.fork() == 0:
+        os.execvp(daemon, (daemon,) + args)
+
+def start_blktapctrl():
+    start_daemon("blktapctrl", "")
+
+def main():
+    try:
+        check_logging()
+        check_user()
+    except CheckError:
+        sys.exit(1)
+    
+    daemon = SrvDaemon.instance()
+    if not sys.argv[1:]:
+        print 'usage: %s {start|stop|reload|restart}' % sys.argv[0]
+    elif sys.argv[1] == 'start':
+        if os.uname()[0] != "SunOS":
+            start_blktapctrl()
+        return daemon.start()
+    elif sys.argv[1] == 'trace_start':
+        start_blktapctrl()
+        return daemon.start(trace=1)
+    elif sys.argv[1] == 'stop':
+        return daemon.stop()
+    elif sys.argv[1] == 'reload':
+        return daemon.reloadConfig()
+    elif sys.argv[1] == 'restart':
+        start_blktapctrl()
+        return daemon.stop() or daemon.start()
+    elif sys.argv[1] == 'status':
+        return daemon.status()
+    else:
+        print 'not an option:', sys.argv[1]
+    return 1
+
+if __name__ == '__main__':
+    sys.exit(main())
diff --git a/tools/python/xen/xm/xm b/tools/python/xen/xm/xm
new file mode 100755
index 0000000..f4fd200
--- /dev/null
+++ b/tools/python/xen/xm/xm
@@ -0,0 +1,7 @@
+#!/usr/bin/env python
+#  -*- mode: python; -*-
+import sys
+
+from xen.xm import main
+
+main.main(sys.argv)
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:45:38 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:45:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzMW-0002VV-5z; Wed, 21 Aug 2013 03:45:36 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzMT-0002V4-So
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:45:34 +0000
Received: from [193.109.254.147:34433] by server-13.bemta-14.messagelabs.com
	id BC/D7-01215-DD734125; Wed, 21 Aug 2013 03:45:33 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1377056731!5083991!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=UPPERCASE_25_50
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18243 invoked from network); 21 Aug 2013 03:45:32 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-7.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:45:32 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzMR-0004Cd-4Y
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:45:31 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzMR-0004YE-25
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:45:31 +0000
Date: Wed, 21 Aug 2013 03:45:31 +0000
Message-Id: <E1VBzMR-0004YE-25@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] tools: make building xend configurable.
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 03145f0fe42c007834c1ef50d95fe6c4f58a326a
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed Jul 31 16:15:50 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:33:54 2013 +0100

    tools: make building xend configurable.
    
    xend has been deprecated for 2 releases now. Lets make it possible to not even
    build it.
    
    For now I'm leaving the default of on but I would like to change that before
    the 4.4 release.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Matt Wilson <msw@amazon.com>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 config/Tools.mk.in            |    1 +
 tools/configure               |   26 ++++++++++++++++++++++++++
 tools/configure.ac            |    1 +
 tools/examples/Makefile       |   33 ++++++++++++++++-----------------
 tools/hotplug/Linux/Makefile  |    5 ++++-
 tools/hotplug/NetBSD/Makefile |    3 ++-
 tools/python/Makefile         |   10 ++++++++--
 tools/python/setup.py         |   35 ++++++++++++++++++++++++++---------
 8 files changed, 84 insertions(+), 30 deletions(-)

diff --git a/config/Tools.mk.in b/config/Tools.mk.in
index 5e2c6d8..ef41c2a 100644
--- a/config/Tools.mk.in
+++ b/config/Tools.mk.in
@@ -52,6 +52,7 @@ CONFIG_LOMOUNT      := @lomount@
 CONFIG_OVMF         := @ovmf@
 CONFIG_ROMBIOS      := @rombios@
 CONFIG_SEABIOS      := @seabios@
+CONFIG_XEND         := @xend@
 
 #System options
 CONFIG_SYSTEM_LIBAIO:= @system_aio@
diff --git a/tools/configure b/tools/configure
index 079646c..6e2f758 100755
--- a/tools/configure
+++ b/tools/configure
@@ -654,6 +654,7 @@ APPEND_LIB
 APPEND_INCLUDES
 PREPEND_LIB
 PREPEND_INCLUDES
+xend
 debug
 seabios
 rombios
@@ -734,6 +735,7 @@ enable_ovmf
 enable_rombios
 enable_seabios
 enable_debug
+enable_xend
 '
       ac_precious_vars='build_alias
 host_alias
@@ -1394,6 +1396,7 @@ Optional Features:
   --disable-rombios       Disable ROM BIOS (default is ENABLED)
   --disable-seabios       Disable SeaBIOS (default is ENABLED)
   --disable-debug         Disable debug build of tools (default is ENABLED)
+  --disable-xend          Disable xend toolstack (default is ENABLED)
 
 Some influential environment variables:
   CC          C compiler command
@@ -3654,6 +3657,29 @@ debug=$ax_cv_debug
 
 
 
+# Check whether --enable-xend was given.
+if test "${enable_xend+set}" = set; then :
+  enableval=$enable_xend;
+fi
+
+
+if test "x$enable_xend" = "xno"; then :
+
+    ax_cv_xend="n"
+
+elif test "x$enable_xend" = "xyes"; then :
+
+    ax_cv_xend="y"
+
+elif test -z $ax_cv_xend; then :
+
+    ax_cv_xend="y"
+
+fi
+xend=$ax_cv_xend
+
+
+
 
 
 
diff --git a/tools/configure.ac b/tools/configure.ac
index 4f5e688..d6eba44 100644
--- a/tools/configure.ac
+++ b/tools/configure.ac
@@ -59,6 +59,7 @@ AX_ARG_DEFAULT_DISABLE([ovmf], [Enable OVMF])
 AX_ARG_DEFAULT_ENABLE([rombios], [Disable ROM BIOS])
 AX_ARG_DEFAULT_ENABLE([seabios], [Disable SeaBIOS])
 AX_ARG_DEFAULT_ENABLE([debug], [Disable debug build of tools])
+AX_ARG_DEFAULT_ENABLE([xend], [Disable xend toolstack])
 
 AC_ARG_VAR([PREPEND_INCLUDES],
     [List of include folders to prepend to CFLAGS (without -I)])
diff --git a/tools/examples/Makefile b/tools/examples/Makefile
index 8cea724..cc853fa 100644
--- a/tools/examples/Makefile
+++ b/tools/examples/Makefile
@@ -1,31 +1,30 @@
 XEN_ROOT = $(CURDIR)/../..
 include $(XEN_ROOT)/tools/Rules.mk
 
-# Init scripts.
-XEND_INITD = init.d/xend
-XENDOMAINS_INITD = init.d/xendomains
-XENDOMAINS_SYSCONFIG = init.d/sysconfig.xendomains
-
 # Xen configuration dir and configs to go there.
 XEN_READMES = README
 XEN_READMES += README.incompatibilities
-XEN_CONFIGS = xend-config.sxp
-XEN_CONFIGS += xm-config.xml
-XEN_CONFIGS += xmexample1 
-XEN_CONFIGS += xmexample2
-XEN_CONFIGS += xmexample3
-XEN_CONFIGS += xmexample.hvm
-XEN_CONFIGS += xmexample.hvm-stubdom
-XEN_CONFIGS += xmexample.pv-grub
-XEN_CONFIGS += xmexample.nbd
-XEN_CONFIGS += xmexample.vti
+
+XEN_CONFIGS-$(CONFIG_XEND) += xend-config.sxp
+XEN_CONFIGS-$(CONFIG_XEND) += xm-config.xml
+XEN_CONFIGS-$(CONFIG_XEND) += xmexample1
+XEN_CONFIGS-$(CONFIG_XEND) += xmexample2
+XEN_CONFIGS-$(CONFIG_XEND) += xmexample3
+XEN_CONFIGS-$(CONFIG_XEND) += xmexample.hvm
+XEN_CONFIGS-$(CONFIG_XEND) += xmexample.hvm-stubdom
+XEN_CONFIGS-$(CONFIG_XEND) += xmexample.pv-grub
+XEN_CONFIGS-$(CONFIG_XEND) += xmexample.nbd
+XEN_CONFIGS-$(CONFIG_XEND) += xmexample.vti
+XEN_CONFIGS-$(CONFIG_XEND) += xend-pci-quirks.sxp
+XEN_CONFIGS-$(CONFIG_XEND) += xend-pci-permissive.sxp
+
 XEN_CONFIGS += xlexample.hvm
 XEN_CONFIGS += xlexample.pvlinux
-XEN_CONFIGS += xend-pci-quirks.sxp
-XEN_CONFIGS += xend-pci-permissive.sxp
 XEN_CONFIGS += xl.conf
 XEN_CONFIGS += cpupool
 
+XEN_CONFIGS += $(XEN_CONFIGS-y)
+
 .PHONY: all
 all:
 
diff --git a/tools/hotplug/Linux/Makefile b/tools/hotplug/Linux/Makefile
index 8b0d7f4..b7737ab 100644
--- a/tools/hotplug/Linux/Makefile
+++ b/tools/hotplug/Linux/Makefile
@@ -28,7 +28,8 @@ XEN_SCRIPT_DATA += xen-hotplug-common.sh xen-network-common.sh vif-common.sh
 XEN_SCRIPT_DATA += block-common.sh
 
 UDEV_RULES_DIR = $(CONFIG_DIR)/udev
-UDEV_RULES = xen-backend.rules xend.rules
+UDEV_RULES-$(CONFIG_XEND) = xend.rules
+UDEV_RULES = xen-backend.rules $(UDEV_RULES-y)
 
 .PHONY: all
 all:
@@ -44,7 +45,9 @@ install: all install-initd install-scripts install-udev
 install-initd:
 	[ -d $(DESTDIR)$(INITD_DIR) ] || $(INSTALL_DIR) $(DESTDIR)$(INITD_DIR)
 	[ -d $(DESTDIR)$(SYSCONFIG_DIR) ] || $(INSTALL_DIR) $(DESTDIR)$(SYSCONFIG_DIR)
+ifeq ($(CONFIG_XEND),y)
 	$(INSTALL_PROG) $(XEND_INITD) $(DESTDIR)$(INITD_DIR)
+endif
 	$(INSTALL_PROG) $(XENDOMAINS_INITD) $(DESTDIR)$(INITD_DIR)
 	$(INSTALL_DATA) $(XENDOMAINS_SYSCONFIG) $(DESTDIR)$(SYSCONFIG_DIR)/xendomains
 	$(INSTALL_PROG) $(XENCOMMONS_INITD) $(DESTDIR)$(INITD_DIR)
diff --git a/tools/hotplug/NetBSD/Makefile b/tools/hotplug/NetBSD/Makefile
index 2ae5a34..3d7f222 100644
--- a/tools/hotplug/NetBSD/Makefile
+++ b/tools/hotplug/NetBSD/Makefile
@@ -8,7 +8,8 @@ XEN_SCRIPTS += vif-bridge
 XEN_SCRIPTS += vif-ip
 
 XEN_SCRIPT_DATA =
-XEN_RCD_PROG = rc.d/xencommons rc.d/xend rc.d/xendomains rc.d/xen-watchdog
+XEN_RCD_PROG-$(CONFIG_XEND) = rc.d/xend
+XEN_RCD_PROG = rc.d/xencommons $(XEN_RCD_PROG-y) rc.d/xendomains rc.d/xen-watchdog
 
 .PHONY: all
 all:
diff --git a/tools/python/Makefile b/tools/python/Makefile
index 8461d0f..3d0f8f0 100644
--- a/tools/python/Makefile
+++ b/tools/python/Makefile
@@ -16,20 +16,26 @@ build: genpath genwrap.py $(XEN_ROOT)/tools/libxl/libxl_types.idl \
 		$(XEN_ROOT)/tools/libxl/libxl_types.idl \
 		xen/lowlevel/xl/_pyxl_types.h \
 		xen/lowlevel/xl/_pyxl_types.c
-	CC="$(CC)" CFLAGS="$(CFLAGS)" $(PYTHON) setup.py build
+	CC="$(CC)" CFLAGS="$(CFLAGS)" $(PYTHON) setup.py build --xend=$(CONFIG_XEND)
 
 .PHONY: install
 install: install-dtd
 	CC="$(CC)" CFLAGS="$(CFLAGS)" $(PYTHON) setup.py install \
-		$(PYTHON_PREFIX_ARG) --root="$(DESTDIR)" --force
+		$(PYTHON_PREFIX_ARG) --root="$(DESTDIR)" --force --xend=$(CONFIG_XEND)
 
 	$(INSTALL_DIR) $(DESTDIR)$(SBINDIR)
+ifeq ($(CONFIG_XEND),y)
 	$(INSTALL_PYTHON_PROG) xen/xm/xm $(DESTDIR)$(SBINDIR)/xm
 	$(INSTALL_PYTHON_PROG) xen/xend/xend $(DESTDIR)$(SBINDIR)/xend
+endif
 
 install-dtd: all
+ifeq ($(CONFIG_XEND),y)
 	$(INSTALL_DIR) $(DESTDIR)$(SHAREDIR)/xen
 	$(INSTALL_DATA) xen/xm/create.dtd $(DESTDIR)$(SHAREDIR)/xen
+else
+	:
+endif
 
 .PHONY: test
 test:
diff --git a/tools/python/setup.py b/tools/python/setup.py
index 42a70fc..4f66564 100644
--- a/tools/python/setup.py
+++ b/tools/python/setup.py
@@ -1,6 +1,6 @@
 
 from distutils.core import setup, Extension
-import os
+import os, sys
 
 XEN_ROOT = "../.."
 
@@ -95,11 +95,19 @@ if plat == 'SunOS':
 if plat == 'Linux':
     modules.extend([ checkpoint, netlink ])
 
-setup(name            = 'xen',
-      version         = '3.0',
-      description     = 'Xen',
-      packages        = ['xen',
-                         'xen.lowlevel',
+enable_xend = True
+new_argv = []
+for arg in sys.argv:
+    if arg == "--xend=y":
+        enable_xend = True
+    elif arg == "--xend=n":
+        enable_xend = False
+    else:
+        new_argv.append(arg)
+sys.argv = new_argv
+
+if enable_xend:
+    xend_packages = [
                          'xen.util',
                          'xen.util.xsm',
                          'xen.util.xsm.dummy',
@@ -110,14 +118,23 @@ setup(name            = 'xen',
                          'xen.xend.xenstore',
                          'xen.xm',
                          'xen.web',
-                         'xen.sv',
-                         'xen.xsview',
                          'xen.remus',
                          'xen.xend.tests',
                          'xen.xend.server.tests',
                          'xen.xend.xenstore.tests',
                          'xen.xm.tests'
-                         ],
+    ]
+else:
+    xend_packages = []
+
+setup(name            = 'xen',
+      version         = '3.0',
+      description     = 'Xen',
+      packages        = ['xen',
+                         'xen.lowlevel',
+                         'xen.sv',
+                         'xen.xsview',
+                         ] + xend_packages,
       ext_package = "xen.lowlevel",
       ext_modules = modules
       )
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:45:38 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:45:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzMW-0002VV-5z; Wed, 21 Aug 2013 03:45:36 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzMT-0002V4-So
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:45:34 +0000
Received: from [193.109.254.147:34433] by server-13.bemta-14.messagelabs.com
	id BC/D7-01215-DD734125; Wed, 21 Aug 2013 03:45:33 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1377056731!5083991!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=UPPERCASE_25_50
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18243 invoked from network); 21 Aug 2013 03:45:32 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-7.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:45:32 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzMR-0004Cd-4Y
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:45:31 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzMR-0004YE-25
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:45:31 +0000
Date: Wed, 21 Aug 2013 03:45:31 +0000
Message-Id: <E1VBzMR-0004YE-25@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] tools: make building xend configurable.
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 03145f0fe42c007834c1ef50d95fe6c4f58a326a
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed Jul 31 16:15:50 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:33:54 2013 +0100

    tools: make building xend configurable.
    
    xend has been deprecated for 2 releases now. Lets make it possible to not even
    build it.
    
    For now I'm leaving the default of on but I would like to change that before
    the 4.4 release.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Matt Wilson <msw@amazon.com>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 config/Tools.mk.in            |    1 +
 tools/configure               |   26 ++++++++++++++++++++++++++
 tools/configure.ac            |    1 +
 tools/examples/Makefile       |   33 ++++++++++++++++-----------------
 tools/hotplug/Linux/Makefile  |    5 ++++-
 tools/hotplug/NetBSD/Makefile |    3 ++-
 tools/python/Makefile         |   10 ++++++++--
 tools/python/setup.py         |   35 ++++++++++++++++++++++++++---------
 8 files changed, 84 insertions(+), 30 deletions(-)

diff --git a/config/Tools.mk.in b/config/Tools.mk.in
index 5e2c6d8..ef41c2a 100644
--- a/config/Tools.mk.in
+++ b/config/Tools.mk.in
@@ -52,6 +52,7 @@ CONFIG_LOMOUNT      := @lomount@
 CONFIG_OVMF         := @ovmf@
 CONFIG_ROMBIOS      := @rombios@
 CONFIG_SEABIOS      := @seabios@
+CONFIG_XEND         := @xend@
 
 #System options
 CONFIG_SYSTEM_LIBAIO:= @system_aio@
diff --git a/tools/configure b/tools/configure
index 079646c..6e2f758 100755
--- a/tools/configure
+++ b/tools/configure
@@ -654,6 +654,7 @@ APPEND_LIB
 APPEND_INCLUDES
 PREPEND_LIB
 PREPEND_INCLUDES
+xend
 debug
 seabios
 rombios
@@ -734,6 +735,7 @@ enable_ovmf
 enable_rombios
 enable_seabios
 enable_debug
+enable_xend
 '
       ac_precious_vars='build_alias
 host_alias
@@ -1394,6 +1396,7 @@ Optional Features:
   --disable-rombios       Disable ROM BIOS (default is ENABLED)
   --disable-seabios       Disable SeaBIOS (default is ENABLED)
   --disable-debug         Disable debug build of tools (default is ENABLED)
+  --disable-xend          Disable xend toolstack (default is ENABLED)
 
 Some influential environment variables:
   CC          C compiler command
@@ -3654,6 +3657,29 @@ debug=$ax_cv_debug
 
 
 
+# Check whether --enable-xend was given.
+if test "${enable_xend+set}" = set; then :
+  enableval=$enable_xend;
+fi
+
+
+if test "x$enable_xend" = "xno"; then :
+
+    ax_cv_xend="n"
+
+elif test "x$enable_xend" = "xyes"; then :
+
+    ax_cv_xend="y"
+
+elif test -z $ax_cv_xend; then :
+
+    ax_cv_xend="y"
+
+fi
+xend=$ax_cv_xend
+
+
+
 
 
 
diff --git a/tools/configure.ac b/tools/configure.ac
index 4f5e688..d6eba44 100644
--- a/tools/configure.ac
+++ b/tools/configure.ac
@@ -59,6 +59,7 @@ AX_ARG_DEFAULT_DISABLE([ovmf], [Enable OVMF])
 AX_ARG_DEFAULT_ENABLE([rombios], [Disable ROM BIOS])
 AX_ARG_DEFAULT_ENABLE([seabios], [Disable SeaBIOS])
 AX_ARG_DEFAULT_ENABLE([debug], [Disable debug build of tools])
+AX_ARG_DEFAULT_ENABLE([xend], [Disable xend toolstack])
 
 AC_ARG_VAR([PREPEND_INCLUDES],
     [List of include folders to prepend to CFLAGS (without -I)])
diff --git a/tools/examples/Makefile b/tools/examples/Makefile
index 8cea724..cc853fa 100644
--- a/tools/examples/Makefile
+++ b/tools/examples/Makefile
@@ -1,31 +1,30 @@
 XEN_ROOT = $(CURDIR)/../..
 include $(XEN_ROOT)/tools/Rules.mk
 
-# Init scripts.
-XEND_INITD = init.d/xend
-XENDOMAINS_INITD = init.d/xendomains
-XENDOMAINS_SYSCONFIG = init.d/sysconfig.xendomains
-
 # Xen configuration dir and configs to go there.
 XEN_READMES = README
 XEN_READMES += README.incompatibilities
-XEN_CONFIGS = xend-config.sxp
-XEN_CONFIGS += xm-config.xml
-XEN_CONFIGS += xmexample1 
-XEN_CONFIGS += xmexample2
-XEN_CONFIGS += xmexample3
-XEN_CONFIGS += xmexample.hvm
-XEN_CONFIGS += xmexample.hvm-stubdom
-XEN_CONFIGS += xmexample.pv-grub
-XEN_CONFIGS += xmexample.nbd
-XEN_CONFIGS += xmexample.vti
+
+XEN_CONFIGS-$(CONFIG_XEND) += xend-config.sxp
+XEN_CONFIGS-$(CONFIG_XEND) += xm-config.xml
+XEN_CONFIGS-$(CONFIG_XEND) += xmexample1
+XEN_CONFIGS-$(CONFIG_XEND) += xmexample2
+XEN_CONFIGS-$(CONFIG_XEND) += xmexample3
+XEN_CONFIGS-$(CONFIG_XEND) += xmexample.hvm
+XEN_CONFIGS-$(CONFIG_XEND) += xmexample.hvm-stubdom
+XEN_CONFIGS-$(CONFIG_XEND) += xmexample.pv-grub
+XEN_CONFIGS-$(CONFIG_XEND) += xmexample.nbd
+XEN_CONFIGS-$(CONFIG_XEND) += xmexample.vti
+XEN_CONFIGS-$(CONFIG_XEND) += xend-pci-quirks.sxp
+XEN_CONFIGS-$(CONFIG_XEND) += xend-pci-permissive.sxp
+
 XEN_CONFIGS += xlexample.hvm
 XEN_CONFIGS += xlexample.pvlinux
-XEN_CONFIGS += xend-pci-quirks.sxp
-XEN_CONFIGS += xend-pci-permissive.sxp
 XEN_CONFIGS += xl.conf
 XEN_CONFIGS += cpupool
 
+XEN_CONFIGS += $(XEN_CONFIGS-y)
+
 .PHONY: all
 all:
 
diff --git a/tools/hotplug/Linux/Makefile b/tools/hotplug/Linux/Makefile
index 8b0d7f4..b7737ab 100644
--- a/tools/hotplug/Linux/Makefile
+++ b/tools/hotplug/Linux/Makefile
@@ -28,7 +28,8 @@ XEN_SCRIPT_DATA += xen-hotplug-common.sh xen-network-common.sh vif-common.sh
 XEN_SCRIPT_DATA += block-common.sh
 
 UDEV_RULES_DIR = $(CONFIG_DIR)/udev
-UDEV_RULES = xen-backend.rules xend.rules
+UDEV_RULES-$(CONFIG_XEND) = xend.rules
+UDEV_RULES = xen-backend.rules $(UDEV_RULES-y)
 
 .PHONY: all
 all:
@@ -44,7 +45,9 @@ install: all install-initd install-scripts install-udev
 install-initd:
 	[ -d $(DESTDIR)$(INITD_DIR) ] || $(INSTALL_DIR) $(DESTDIR)$(INITD_DIR)
 	[ -d $(DESTDIR)$(SYSCONFIG_DIR) ] || $(INSTALL_DIR) $(DESTDIR)$(SYSCONFIG_DIR)
+ifeq ($(CONFIG_XEND),y)
 	$(INSTALL_PROG) $(XEND_INITD) $(DESTDIR)$(INITD_DIR)
+endif
 	$(INSTALL_PROG) $(XENDOMAINS_INITD) $(DESTDIR)$(INITD_DIR)
 	$(INSTALL_DATA) $(XENDOMAINS_SYSCONFIG) $(DESTDIR)$(SYSCONFIG_DIR)/xendomains
 	$(INSTALL_PROG) $(XENCOMMONS_INITD) $(DESTDIR)$(INITD_DIR)
diff --git a/tools/hotplug/NetBSD/Makefile b/tools/hotplug/NetBSD/Makefile
index 2ae5a34..3d7f222 100644
--- a/tools/hotplug/NetBSD/Makefile
+++ b/tools/hotplug/NetBSD/Makefile
@@ -8,7 +8,8 @@ XEN_SCRIPTS += vif-bridge
 XEN_SCRIPTS += vif-ip
 
 XEN_SCRIPT_DATA =
-XEN_RCD_PROG = rc.d/xencommons rc.d/xend rc.d/xendomains rc.d/xen-watchdog
+XEN_RCD_PROG-$(CONFIG_XEND) = rc.d/xend
+XEN_RCD_PROG = rc.d/xencommons $(XEN_RCD_PROG-y) rc.d/xendomains rc.d/xen-watchdog
 
 .PHONY: all
 all:
diff --git a/tools/python/Makefile b/tools/python/Makefile
index 8461d0f..3d0f8f0 100644
--- a/tools/python/Makefile
+++ b/tools/python/Makefile
@@ -16,20 +16,26 @@ build: genpath genwrap.py $(XEN_ROOT)/tools/libxl/libxl_types.idl \
 		$(XEN_ROOT)/tools/libxl/libxl_types.idl \
 		xen/lowlevel/xl/_pyxl_types.h \
 		xen/lowlevel/xl/_pyxl_types.c
-	CC="$(CC)" CFLAGS="$(CFLAGS)" $(PYTHON) setup.py build
+	CC="$(CC)" CFLAGS="$(CFLAGS)" $(PYTHON) setup.py build --xend=$(CONFIG_XEND)
 
 .PHONY: install
 install: install-dtd
 	CC="$(CC)" CFLAGS="$(CFLAGS)" $(PYTHON) setup.py install \
-		$(PYTHON_PREFIX_ARG) --root="$(DESTDIR)" --force
+		$(PYTHON_PREFIX_ARG) --root="$(DESTDIR)" --force --xend=$(CONFIG_XEND)
 
 	$(INSTALL_DIR) $(DESTDIR)$(SBINDIR)
+ifeq ($(CONFIG_XEND),y)
 	$(INSTALL_PYTHON_PROG) xen/xm/xm $(DESTDIR)$(SBINDIR)/xm
 	$(INSTALL_PYTHON_PROG) xen/xend/xend $(DESTDIR)$(SBINDIR)/xend
+endif
 
 install-dtd: all
+ifeq ($(CONFIG_XEND),y)
 	$(INSTALL_DIR) $(DESTDIR)$(SHAREDIR)/xen
 	$(INSTALL_DATA) xen/xm/create.dtd $(DESTDIR)$(SHAREDIR)/xen
+else
+	:
+endif
 
 .PHONY: test
 test:
diff --git a/tools/python/setup.py b/tools/python/setup.py
index 42a70fc..4f66564 100644
--- a/tools/python/setup.py
+++ b/tools/python/setup.py
@@ -1,6 +1,6 @@
 
 from distutils.core import setup, Extension
-import os
+import os, sys
 
 XEN_ROOT = "../.."
 
@@ -95,11 +95,19 @@ if plat == 'SunOS':
 if plat == 'Linux':
     modules.extend([ checkpoint, netlink ])
 
-setup(name            = 'xen',
-      version         = '3.0',
-      description     = 'Xen',
-      packages        = ['xen',
-                         'xen.lowlevel',
+enable_xend = True
+new_argv = []
+for arg in sys.argv:
+    if arg == "--xend=y":
+        enable_xend = True
+    elif arg == "--xend=n":
+        enable_xend = False
+    else:
+        new_argv.append(arg)
+sys.argv = new_argv
+
+if enable_xend:
+    xend_packages = [
                          'xen.util',
                          'xen.util.xsm',
                          'xen.util.xsm.dummy',
@@ -110,14 +118,23 @@ setup(name            = 'xen',
                          'xen.xend.xenstore',
                          'xen.xm',
                          'xen.web',
-                         'xen.sv',
-                         'xen.xsview',
                          'xen.remus',
                          'xen.xend.tests',
                          'xen.xend.server.tests',
                          'xen.xend.xenstore.tests',
                          'xen.xm.tests'
-                         ],
+    ]
+else:
+    xend_packages = []
+
+setup(name            = 'xen',
+      version         = '3.0',
+      description     = 'Xen',
+      packages        = ['xen',
+                         'xen.lowlevel',
+                         'xen.sv',
+                         'xen.xsview',
+                         ] + xend_packages,
       ext_package = "xen.lowlevel",
       ext_modules = modules
       )
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:45:51 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:45:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzMk-0002Xi-CF; Wed, 21 Aug 2013 03:45:50 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzMi-0002XO-4y
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:45:48 +0000
Received: from [85.158.143.35:47581] by server-2.bemta-4.messagelabs.com id
	71/D7-26052-BE734125; Wed, 21 Aug 2013 03:45:47 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1377056741!5512609!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9459 invoked from network); 21 Aug 2013 03:45:42 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-15.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:45:42 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzMb-0004Ck-Av
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:45:41 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzMb-0004Z9-8l
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:45:41 +0000
Date: Wed, 21 Aug 2013 03:45:41 +0000
Message-Id: <E1VBzMb-0004Z9-8l@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] tools: remove in tree libaio
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 3d4678108a2157db6ae8c290897f67aaed14cdfa
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed Jul 31 16:15:51 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:34:03 2013 +0100

    tools: remove in tree libaio
    
    We have defaulted to using the system libaio for a while now and I din't think
    there are any relevant distros which don't have it that running Xen 4.4 would
    be reasonable on.
    
    Also it has caused confusion because it is not ever wanted on ARM, but the
    build system doesn't express that (could be fixed, but deleting is the right
    thing to do anyway).
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Matt Wilson <msw@amazon.com>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 .gitignore                              |    2 -
 .hgignore                               |    2 -
 README                                  |    2 +-
 config/Tools.mk.in                      |    1 -
 tools/Makefile                          |    6 -
 tools/blktap/drivers/Makefile           |    6 -
 tools/blktap2/drivers/Makefile          |    7 -
 tools/config.h.in                       |    3 +
 tools/configure                         |    9 +-
 tools/configure.ac                      |    2 +-
 tools/libaio/COPYING                    |  515 -------------------------------
 tools/libaio/ChangeLog                  |   43 ---
 tools/libaio/INSTALL                    |   18 -
 tools/libaio/Makefile                   |   40 ---
 tools/libaio/TODO                       |    4 -
 tools/libaio/harness/Makefile           |   37 ---
 tools/libaio/harness/README             |   19 --
 tools/libaio/harness/attic/0.t          |    9 -
 tools/libaio/harness/attic/1.t          |    9 -
 tools/libaio/harness/cases/10.t         |   53 ----
 tools/libaio/harness/cases/11.t         |   39 ---
 tools/libaio/harness/cases/12.t         |   49 ---
 tools/libaio/harness/cases/13.t         |   66 ----
 tools/libaio/harness/cases/14.t         |   90 ------
 tools/libaio/harness/cases/2.t          |   41 ---
 tools/libaio/harness/cases/3.t          |   25 --
 tools/libaio/harness/cases/4.t          |   72 -----
 tools/libaio/harness/cases/5.t          |   47 ---
 tools/libaio/harness/cases/6.t          |   57 ----
 tools/libaio/harness/cases/7.t          |   27 --
 tools/libaio/harness/cases/8.t          |   49 ---
 tools/libaio/harness/cases/aio_setup.h  |   98 ------
 tools/libaio/harness/cases/common-7-8.h |   37 ---
 tools/libaio/harness/main.c             |   39 ---
 tools/libaio/harness/runtests.sh        |   19 --
 tools/libaio/libaio.spec                |  187 -----------
 tools/libaio/man/aio.3                  |  315 -------------------
 tools/libaio/man/aio_cancel.3           |  137 --------
 tools/libaio/man/aio_cancel64.3         |   50 ---
 tools/libaio/man/aio_error.3            |   81 -----
 tools/libaio/man/aio_error64.3          |   64 ----
 tools/libaio/man/aio_fsync.3            |  139 ---------
 tools/libaio/man/aio_fsync64.3          |   51 ---
 tools/libaio/man/aio_init.3             |   96 ------
 tools/libaio/man/aio_read.3             |  146 ---------
 tools/libaio/man/aio_read64.3           |   60 ----
 tools/libaio/man/aio_return.3           |   71 -----
 tools/libaio/man/aio_return64.3         |   51 ---
 tools/libaio/man/aio_suspend.3          |  123 --------
 tools/libaio/man/aio_suspend64.3        |   51 ---
 tools/libaio/man/aio_write.3            |  176 -----------
 tools/libaio/man/aio_write64.3          |   61 ----
 tools/libaio/man/io.3                   |  351 ---------------------
 tools/libaio/man/io_cancel.1            |   21 --
 tools/libaio/man/io_cancel.3            |   65 ----
 tools/libaio/man/io_destroy.1           |   17 -
 tools/libaio/man/io_fsync.3             |   82 -----
 tools/libaio/man/io_getevents.1         |   29 --
 tools/libaio/man/io_getevents.3         |   79 -----
 tools/libaio/man/io_prep_fsync.3        |   89 ------
 tools/libaio/man/io_prep_pread.3        |   79 -----
 tools/libaio/man/io_prep_pwrite.3       |   77 -----
 tools/libaio/man/io_queue_init.3        |   63 ----
 tools/libaio/man/io_queue_release.3     |   48 ---
 tools/libaio/man/io_queue_run.3         |   50 ---
 tools/libaio/man/io_queue_wait.3        |   56 ----
 tools/libaio/man/io_set_callback.3      |   44 ---
 tools/libaio/man/io_setup.1             |   15 -
 tools/libaio/man/io_submit.1            |  109 -------
 tools/libaio/man/io_submit.3            |  135 --------
 tools/libaio/man/lio_listio.3           |  229 --------------
 tools/libaio/man/lio_listio64.3         |   39 ---
 tools/libaio/src/Makefile               |   67 ----
 tools/libaio/src/compat-0_1.c           |   62 ----
 tools/libaio/src/io_cancel.c            |   23 --
 tools/libaio/src/io_destroy.c           |   23 --
 tools/libaio/src/io_getevents.c         |   57 ----
 tools/libaio/src/io_queue_init.c        |   33 --
 tools/libaio/src/io_queue_release.c     |   27 --
 tools/libaio/src/io_queue_run.c         |   39 ---
 tools/libaio/src/io_queue_wait.c        |   31 --
 tools/libaio/src/io_setup.c             |   23 --
 tools/libaio/src/io_submit.c            |   23 --
 tools/libaio/src/libaio.h               |  222 -------------
 tools/libaio/src/libaio.map             |   22 --
 tools/libaio/src/raw_syscall.c          |   19 --
 tools/libaio/src/syscall-alpha.h        |  209 -------------
 tools/libaio/src/syscall-i386.h         |   72 -----
 tools/libaio/src/syscall-ppc.h          |   98 ------
 tools/libaio/src/syscall-s390.h         |  131 --------
 tools/libaio/src/syscall-x86_64.h       |   63 ----
 tools/libaio/src/syscall.h              |   27 --
 tools/libaio/src/vsys_def.h             |   24 --
 93 files changed, 12 insertions(+), 6361 deletions(-)

diff --git a/.gitignore b/.gitignore
index 960c29e..62462b4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -208,8 +208,6 @@ tools/libxl/testenum.c
 tools/libxl/tmp.*
 tools/libxl/_libxl.api-for-check
 tools/libxl/*.api-ok
-tools/libaio/src/*.ol
-tools/libaio/src/*.os
 tools/misc/cpuperf/cpuperf-perfcntr
 tools/misc/cpuperf/cpuperf-xen
 tools/misc/lomount/lomount
diff --git a/.hgignore b/.hgignore
index f3877a9..9822a8d 100644
--- a/.hgignore
+++ b/.hgignore
@@ -201,8 +201,6 @@
 ^tools/libxl/_libxl\.api-for-check
 ^tools/libxl/libxl\.api-ok
 ^tools/libvchan/vchan-node[12]$
-^tools/libaio/src/.*\.ol$
-^tools/libaio/src/.*\.os$
 ^tools/misc/cpuperf/cpuperf-perfcntr$
 ^tools/misc/cpuperf/cpuperf-xen$
 ^tools/misc/lomount/lomount$
diff --git a/README b/README
index 9f6c9f5..8689ce1 100644
--- a/README
+++ b/README
@@ -51,7 +51,7 @@ provided by your OS distributor:
     * Development install of uuid (e.g. uuid-dev)
     * Development install of yajl (e.g. libyajl-dev)
     * Development install of libaio (e.g. libaio-dev) version 0.3.107 or
-      greater. Set CONFIG_SYSTEM_LIBAIO in .config if this is not available.
+      greater.
     * Development install of GLib v2.0 (e.g. libglib2.0-dev)
     * Development install of Pixman (e.g. libpixman-1-dev)
     * pkg-config
diff --git a/config/Tools.mk.in b/config/Tools.mk.in
index ef41c2a..bb3acbd 100644
--- a/config/Tools.mk.in
+++ b/config/Tools.mk.in
@@ -55,7 +55,6 @@ CONFIG_SEABIOS      := @seabios@
 CONFIG_XEND         := @xend@
 
 #System options
-CONFIG_SYSTEM_LIBAIO:= @system_aio@
 ZLIB                := @zlib@
 CONFIG_LIBICONV     := @libiconv@
 CONFIG_GCRYPT       := @libgcrypt@
diff --git a/tools/Makefile b/tools/Makefile
index 6791829..553aa33 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -1,10 +1,6 @@
 XEN_ROOT = $(CURDIR)/..
 include $(XEN_ROOT)/tools/Rules.mk
 
-ifneq ($(CONFIG_SYSTEM_LIBAIO),y)
-SUBDIRS-libaio := libaio
-endif
-
 SUBDIRS-y :=
 SUBDIRS-y += include
 SUBDIRS-y += libxc
@@ -19,13 +15,11 @@ SUBDIRS-$(CONFIG_X86) += firmware
 SUBDIRS-y += console
 SUBDIRS-y += xenmon
 SUBDIRS-y += xenstat
-SUBDIRS-$(CONFIG_Linux) += $(SUBDIRS-libaio)
 SUBDIRS-$(CONFIG_Linux) += memshr 
 ifeq ($(CONFIG_X86),y)
 SUBDIRS-$(CONFIG_Linux) += blktap
 endif
 SUBDIRS-$(CONFIG_Linux) += blktap2
-SUBDIRS-$(CONFIG_NetBSD) += $(SUBDIRS-libaio)
 SUBDIRS-$(CONFIG_NetBSD) += blktap2
 SUBDIRS-$(CONFIG_NetBSD) += xenbackendd
 SUBDIRS-y += libfsimage
diff --git a/tools/blktap/drivers/Makefile b/tools/blktap/drivers/Makefile
index 941592e..7461a95 100644
--- a/tools/blktap/drivers/Makefile
+++ b/tools/blktap/drivers/Makefile
@@ -27,13 +27,7 @@ CFLAGS += -I $(MEMSHR_DIR)
 MEMSHRLIBS += $(MEMSHR_DIR)/libmemshr.a
 endif
 
-ifneq ($(CONFIG_SYSTEM_LIBAIO),y)
-LIBAIO_DIR   = ../../libaio/src
-CFLAGS      += -I $(LIBAIO_DIR)
-AIOLIBS     := $(LIBAIO_DIR)/libaio.a
-else
 AIOLIBS     := -laio
-endif
 
 CFLAGS += $(PTHREAD_CFLAGS)
 LDFLAGS += $(PTHREAD_LDFLAGS)
diff --git a/tools/blktap2/drivers/Makefile b/tools/blktap2/drivers/Makefile
index f47abb3..5c6ab6a 100644
--- a/tools/blktap2/drivers/Makefile
+++ b/tools/blktap2/drivers/Makefile
@@ -28,14 +28,7 @@ REMUS-OBJS  += hashtable.o
 REMUS-OBJS  += hashtable_itr.o
 REMUS-OBJS  += hashtable_utility.o
 
-ifneq ($(CONFIG_SYSTEM_LIBAIO),y)
-CFLAGS    += -I $(LIBAIO_DIR)
-LIBAIO_DIR = $(XEN_ROOT)/tools/libaio/src
-tapdisk2 tapdisk-stream tapdisk-diff $(QCOW_UTIL): AIOLIBS := $(LIBAIO_DIR)/libaio.a 
-tapdisk-client tapdisk-stream tapdisk-diff $(QCOW_UTIL): CFLAGS  += -I$(LIBAIO_DIR)
-else
 tapdisk2 tapdisk-stream tapdisk-diff $(QCOW_UTIL): AIOLIBS := -laio
-endif
 
 MEMSHRLIBS :=
 ifeq ($(CONFIG_Linux), __fixme__)
diff --git a/tools/config.h.in b/tools/config.h.in
index a67910b..8bda0bd 100644
--- a/tools/config.h.in
+++ b/tools/config.h.in
@@ -3,6 +3,9 @@
 /* Define to 1 if you have the <inttypes.h> header file. */
 #undef HAVE_INTTYPES_H
 
+/* Define to 1 if you have the `aio' library (-laio). */
+#undef HAVE_LIBAIO
+
 /* Define to 1 if you have the `crypto' library (-lcrypto). */
 #undef HAVE_LIBCRYPTO
 
diff --git a/tools/configure b/tools/configure
index 6e2f758..b52dd2a 100755
--- a/tools/configure
+++ b/tools/configure
@@ -7375,9 +7375,14 @@ fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_aio_io_setup" >&5
 $as_echo "$ac_cv_lib_aio_io_setup" >&6; }
 if test "x$ac_cv_lib_aio_io_setup" = x""yes; then :
-  system_aio="y"
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBAIO 1
+_ACEOF
+
+  LIBS="-laio $LIBS"
+
 else
-  system_aio="n"
+  as_fn_error $? "Could not find libaio" "$LINENO" 5
 fi
 
 
diff --git a/tools/configure.ac b/tools/configure.ac
index d6eba44..f629318 100644
--- a/tools/configure.ac
+++ b/tools/configure.ac
@@ -155,7 +155,7 @@ AC_CHECK_HEADER([lzo/lzo1x.h], [
 AC_CHECK_LIB([lzo2], [lzo1x_decompress], [zlib="$zlib -DHAVE_LZO1X -llzo2"])
 ])
 AC_SUBST(zlib)
-AC_CHECK_LIB([aio], [io_setup], [system_aio="y"], [system_aio="n"])
+AC_CHECK_LIB([aio], [io_setup], [], [AC_MSG_ERROR([Could not find libaio])])
 AC_SUBST(system_aio)
 AC_CHECK_LIB([crypto], [MD5], [], [AC_MSG_ERROR([Could not find libcrypto])])
 AX_CHECK_EXTFS
diff --git a/tools/libaio/COPYING b/tools/libaio/COPYING
deleted file mode 100644
index c4792dd..0000000
--- a/tools/libaio/COPYING
+++ /dev/null
@@ -1,515 +0,0 @@
-
-                  GNU LESSER GENERAL PUBLIC LICENSE
-                       Version 2.1, February 1999
-
- Copyright (C) 1991, 1999 Free Software Foundation, Inc.
-     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-[This is the first released version of the Lesser GPL.  It also counts
- as the successor of the GNU Library Public License, version 2, hence
- the version number 2.1.]
-
-                            Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-Licenses are intended to guarantee your freedom to share and change
-free software--to make sure the software is free for all its users.
-
-  This license, the Lesser General Public License, applies to some
-specially designated software packages--typically libraries--of the
-Free Software Foundation and other authors who decide to use it.  You
-can use it too, but we suggest you first think carefully about whether
-this license or the ordinary General Public License is the better
-strategy to use in any particular case, based on the explanations
-below.
-
-  When we speak of free software, we are referring to freedom of use,
-not price.  Our General Public Licenses are designed to make sure that
-you have the freedom to distribute copies of free software (and charge
-for this service if you wish); that you receive source code or can get
-it if you want it; that you can change the software and use pieces of
-it in new free programs; and that you are informed that you can do
-these things.
-
-  To protect your rights, we need to make restrictions that forbid
-distributors to deny you these rights or to ask you to surrender these
-rights.  These restrictions translate to certain responsibilities for
-you if you distribute copies of the library or if you modify it.
-
-  For example, if you distribute copies of the library, whether gratis
-or for a fee, you must give the recipients all the rights that we gave
-you.  You must make sure that they, too, receive or can get the source
-code.  If you link other code with the library, you must provide
-complete object files to the recipients, so that they can relink them
-with the library after making changes to the library and recompiling
-it.  And you must show them these terms so they know their rights.
-
-  We protect your rights with a two-step method: (1) we copyright the
-library, and (2) we offer you this license, which gives you legal
-permission to copy, distribute and/or modify the library.
-
-  To protect each distributor, we want to make it very clear that
-there is no warranty for the free library.  Also, if the library is
-modified by someone else and passed on, the recipients should know
-that what they have is not the original version, so that the original
-author's reputation will not be affected by problems that might be
-introduced by others.
-^L
-  Finally, software patents pose a constant threat to the existence of
-any free program.  We wish to make sure that a company cannot
-effectively restrict the users of a free program by obtaining a
-restrictive license from a patent holder.  Therefore, we insist that
-any patent license obtained for a version of the library must be
-consistent with the full freedom of use specified in this license.
-
-  Most GNU software, including some libraries, is covered by the
-ordinary GNU General Public License.  This license, the GNU Lesser
-General Public License, applies to certain designated libraries, and
-is quite different from the ordinary General Public License.  We use
-this license for certain libraries in order to permit linking those
-libraries into non-free programs.
-
-  When a program is linked with a library, whether statically or using
-a shared library, the combination of the two is legally speaking a
-combined work, a derivative of the original library.  The ordinary
-General Public License therefore permits such linking only if the
-entire combination fits its criteria of freedom.  The Lesser General
-Public License permits more lax criteria for linking other code with
-the library.
-
-  We call this license the "Lesser" General Public License because it
-does Less to protect the user's freedom than the ordinary General
-Public License.  It also provides other free software developers Less
-of an advantage over competing non-free programs.  These disadvantages
-are the reason we use the ordinary General Public License for many
-libraries.  However, the Lesser license provides advantages in certain
-special circumstances.
-
-  For example, on rare occasions, there may be a special need to
-encourage the widest possible use of a certain library, so that it
-becomes
-a de-facto standard.  To achieve this, non-free programs must be
-allowed to use the library.  A more frequent case is that a free
-library does the same job as widely used non-free libraries.  In this
-case, there is little to gain by limiting the free library to free
-software only, so we use the Lesser General Public License.
-
-  In other cases, permission to use a particular library in non-free
-programs enables a greater number of people to use a large body of
-free software.  For example, permission to use the GNU C Library in
-non-free programs enables many more people to use the whole GNU
-operating system, as well as its variant, the GNU/Linux operating
-system.
-
-  Although the Lesser General Public License is Less protective of the
-users' freedom, it does ensure that the user of a program that is
-linked with the Library has the freedom and the wherewithal to run
-that program using a modified version of the Library.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.  Pay close attention to the difference between a
-"work based on the library" and a "work that uses the library".  The
-former contains code derived from the library, whereas the latter must
-be combined with the library in order to run.
-^L
-                  GNU LESSER GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License Agreement applies to any software library or other
-program which contains a notice placed by the copyright holder or
-other authorized party saying it may be distributed under the terms of
-this Lesser General Public License (also called "this License").
-Each licensee is addressed as "you".
-
-  A "library" means a collection of software functions and/or data
-prepared so as to be conveniently linked with application programs
-(which use some of those functions and data) to form executables.
-
-  The "Library", below, refers to any such software library or work
-which has been distributed under these terms.  A "work based on the
-Library" means either the Library or any derivative work under
-copyright law: that is to say, a work containing the Library or a
-portion of it, either verbatim or with modifications and/or translated
-straightforwardly into another language.  (Hereinafter, translation is
-included without limitation in the term "modification".)
-
-  "Source code" for a work means the preferred form of the work for
-making modifications to it.  For a library, complete source code means
-all the source code for all modules it contains, plus any associated
-interface definition files, plus the scripts used to control
-compilation
-and installation of the library.
-
-  Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running a program using the Library is not restricted, and output from
-such a program is covered only if its contents constitute a work based
-on the Library (independent of the use of the Library in a tool for
-writing it).  Whether that is true depends on what the Library does
-and what the program that uses the Library does.
-
-  1. You may copy and distribute verbatim copies of the Library's
-complete source code as you receive it, in any medium, provided that
-you conspicuously and appropriately publish on each copy an
-appropriate copyright notice and disclaimer of warranty; keep intact
-all the notices that refer to this License and to the absence of any
-warranty; and distribute a copy of this License along with the
-Library.
-
-  You may charge a fee for the physical act of transferring a copy,
-and you may at your option offer warranty protection in exchange for a
-fee.
-
-  2. You may modify your copy or copies of the Library or any portion
-of it, thus forming a work based on the Library, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) The modified work must itself be a software library.
-
-    b) You must cause the files modified to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    c) You must cause the whole of the work to be licensed at no
-    charge to all third parties under the terms of this License.
-
-    d) If a facility in the modified Library refers to a function or a
-    table of data to be supplied by an application program that uses
-    the facility, other than as an argument passed when the facility
-    is invoked, then you must make a good faith effort to ensure that,
-    in the event an application does not supply such function or
-    table, the facility still operates, and performs whatever part of
-    its purpose remains meaningful.
-
-    (For example, a function in a library to compute square roots has
-    a purpose that is entirely well-defined independent of the
-    application.  Therefore, Subsection 2d requires that any
-    application-supplied function or table used by this function must
-    be optional: if the application does not supply it, the square
-    root function must still compute square roots.)
-
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Library,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Library, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote
-it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Library.
-
-In addition, mere aggregation of another work not based on the Library
-with the Library (or with a work based on the Library) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may opt to apply the terms of the ordinary GNU General Public
-License instead of this License to a given copy of the Library.  To do
-this, you must alter all the notices that refer to this License, so
-that they refer to the ordinary GNU General Public License, version 2,
-instead of to this License.  (If a newer version than version 2 of the
-ordinary GNU General Public License has appeared, then you can specify
-that version instead if you wish.)  Do not make any other change in
-these notices.
-^L
-  Once this change is made in a given copy, it is irreversible for
-that copy, so the ordinary GNU General Public License applies to all
-subsequent copies and derivative works made from that copy.
-
-  This option is useful when you wish to copy part of the code of
-the Library into a program that is not a library.
-
-  4. You may copy and distribute the Library (or a portion or
-derivative of it, under Section 2) in object code or executable form
-under the terms of Sections 1 and 2 above provided that you accompany
-it with the complete corresponding machine-readable source code, which
-must be distributed under the terms of Sections 1 and 2 above on a
-medium customarily used for software interchange.
-
-  If distribution of object code is made by offering access to copy
-from a designated place, then offering equivalent access to copy the
-source code from the same place satisfies the requirement to
-distribute the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-  5. A program that contains no derivative of any portion of the
-Library, but is designed to work with the Library by being compiled or
-linked with it, is called a "work that uses the Library".  Such a
-work, in isolation, is not a derivative work of the Library, and
-therefore falls outside the scope of this License.
-
-  However, linking a "work that uses the Library" with the Library
-creates an executable that is a derivative of the Library (because it
-contains portions of the Library), rather than a "work that uses the
-library".  The executable is therefore covered by this License.
-Section 6 states terms for distribution of such executables.
-
-  When a "work that uses the Library" uses material from a header file
-that is part of the Library, the object code for the work may be a
-derivative work of the Library even though the source code is not.
-Whether this is true is especially significant if the work can be
-linked without the Library, or if the work is itself a library.  The
-threshold for this to be true is not precisely defined by law.
-
-  If such an object file uses only numerical parameters, data
-structure layouts and accessors, and small macros and small inline
-functions (ten lines or less in length), then the use of the object
-file is unrestricted, regardless of whether it is legally a derivative
-work.  (Executables containing this object code plus portions of the
-Library will still fall under Section 6.)
-
-  Otherwise, if the work is a derivative of the Library, you may
-distribute the object code for the work under the terms of Section 6.
-Any executables containing that work also fall under Section 6,
-whether or not they are linked directly with the Library itself.
-^L
-  6. As an exception to the Sections above, you may also combine or
-link a "work that uses the Library" with the Library to produce a
-work containing portions of the Library, and distribute that work
-under terms of your choice, provided that the terms permit
-modification of the work for the customer's own use and reverse
-engineering for debugging such modifications.
-
-  You must give prominent notice with each copy of the work that the
-Library is used in it and that the Library and its use are covered by
-this License.  You must supply a copy of this License.  If the work
-during execution displays copyright notices, you must include the
-copyright notice for the Library among them, as well as a reference
-directing the user to the copy of this License.  Also, you must do one
-of these things:
-
-    a) Accompany the work with the complete corresponding
-    machine-readable source code for the Library including whatever
-    changes were used in the work (which must be distributed under
-    Sections 1 and 2 above); and, if the work is an executable linked
-    with the Library, with the complete machine-readable "work that
-    uses the Library", as object code and/or source code, so that the
-    user can modify the Library and then relink to produce a modified
-    executable containing the modified Library.  (It is understood
-    that the user who changes the contents of definitions files in the
-    Library will not necessarily be able to recompile the application
-    to use the modified definitions.)
-
-    b) Use a suitable shared library mechanism for linking with the
-    Library.  A suitable mechanism is one that (1) uses at run time a
-    copy of the library already present on the user's computer system,
-    rather than copying library functions into the executable, and (2)
-    will operate properly with a modified version of the library, if
-    the user installs one, as long as the modified version is
-    interface-compatible with the version that the work was made with.
-
-    c) Accompany the work with a written offer, valid for at
-    least three years, to give the same user the materials
-    specified in Subsection 6a, above, for a charge no more
-    than the cost of performing this distribution.
-
-    d) If distribution of the work is made by offering access to copy
-    from a designated place, offer equivalent access to copy the above
-    specified materials from the same place.
-
-    e) Verify that the user has already received a copy of these
-    materials or that you have already sent this user a copy.
-
-  For an executable, the required form of the "work that uses the
-Library" must include any data and utility programs needed for
-reproducing the executable from it.  However, as a special exception,
-the materials to be distributed need not include anything that is
-normally distributed (in either source or binary form) with the major
-components (compiler, kernel, and so on) of the operating system on
-which the executable runs, unless that component itself accompanies
-the executable.
-
-  It may happen that this requirement contradicts the license
-restrictions of other proprietary libraries that do not normally
-accompany the operating system.  Such a contradiction means you cannot
-use both them and the Library together in an executable that you
-distribute.
-^L
-  7. You may place library facilities that are a work based on the
-Library side-by-side in a single library together with other library
-facilities not covered by this License, and distribute such a combined
-library, provided that the separate distribution of the work based on
-the Library and of the other library facilities is otherwise
-permitted, and provided that you do these two things:
-
-    a) Accompany the combined library with a copy of the same work
-    based on the Library, uncombined with any other library
-    facilities.  This must be distributed under the terms of the
-    Sections above.
-
-    b) Give prominent notice with the combined library of the fact
-    that part of it is a work based on the Library, and explaining
-    where to find the accompanying uncombined form of the same work.
-
-  8. You may not copy, modify, sublicense, link with, or distribute
-the Library except as expressly provided under this License.  Any
-attempt otherwise to copy, modify, sublicense, link with, or
-distribute the Library is void, and will automatically terminate your
-rights under this License.  However, parties who have received copies,
-or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.
-
-  9. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Library or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Library (or any work based on the
-Library), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Library or works based on it.
-
-  10. Each time you redistribute the Library (or any work based on the
-Library), the recipient automatically receives a license from the
-original licensor to copy, distribute, link with or modify the Library
-subject to these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties with
-this License.
-^L
-  11. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Library at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Library by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Library.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply, and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-  12. If the distribution and/or use of the Library is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Library under this License
-may add an explicit geographical distribution limitation excluding those
-countries, so that distribution is permitted only in or among
-countries not thus excluded.  In such case, this License incorporates
-the limitation as if written in the body of this License.
-
-  13. The Free Software Foundation may publish revised and/or new
-versions of the Lesser General Public License from time to time.
-Such new versions will be similar in spirit to the present version,
-but may differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Library
-specifies a version number of this License which applies to it and
-"any later version", you have the option of following the terms and
-conditions either of that version or of any later version published by
-the Free Software Foundation.  If the Library does not specify a
-license version number, you may choose any version ever published by
-the Free Software Foundation.
-^L
-  14. If you wish to incorporate parts of the Library into other free
-programs whose distribution conditions are incompatible with these,
-write to the author to ask for permission.  For software which is
-copyrighted by the Free Software Foundation, write to the Free
-Software Foundation; we sometimes make exceptions for this.  Our
-decision will be guided by the two goals of preserving the free status
-of all derivatives of our free software and of promoting the sharing
-and reuse of software generally.
-
-                            NO WARRANTY
-
-  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
-LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.
-
-                     END OF TERMS AND CONDITIONS
-^L
-           How to Apply These Terms to Your New Libraries
-
-  If you develop a new library, and you want it to be of the greatest
-possible use to the public, we recommend making it free software that
-everyone can redistribute and change.  You can do so by permitting
-redistribution under these terms (or, alternatively, under the terms
-of the ordinary General Public License).
-
-  To apply these terms, attach the following notices to the library.
-It is safest to attach them to the start of each source file to most
-effectively convey the exclusion of warranty; and each file should
-have at least the "copyright" line and a pointer to where the full
-notice is found.
-
-
-    <one line to give the library's name and a brief idea of what it
-does.>
-    Copyright (C) <year>  <name of author>
-
-    This library is free software; you can redistribute it and/or
-    modify it under the terms of the GNU Lesser General Public
-    License as published by the Free Software Foundation; either
-    version 2 of the License, or (at your option) any later version.
-
-    This library 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
-    Lesser General Public License for more details.
-
-    You should have received a copy of the GNU Lesser General Public
-    License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA
-
-Also add information on how to contact you by electronic and paper
-mail.
-
-You should also get your employer (if you work as a programmer) or
-your
-school, if any, to sign a "copyright disclaimer" for the library, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the
-  library `Frob' (a library for tweaking knobs) written by James
-Random Hacker.
-
-  <signature of Ty Coon>, 1 April 1990
-  Ty Coon, President of Vice
-
-That's all there is to it!
-
-
diff --git a/tools/libaio/ChangeLog b/tools/libaio/ChangeLog
deleted file mode 100644
index ddcf6e3..0000000
--- a/tools/libaio/ChangeLog
+++ /dev/null
@@ -1,43 +0,0 @@
-0.4.0
-	- remove libredhat-kernel
-	- add rough outline for man pages
-	- make the compiled io_getevents() add the extra parameter and 
-	  pass the timeout for updating as per 2.5
-	- fixes for ia64, now works
-	- fixes for x86-64
-	- powerpc support from Gianni Tedesco <gianni@ecsc.co.uk>
-	- disable the NULL check in harness/cases/4.t on ia64: ia64 
-	  maps the 0 page and causes this check to fail.
-
-0.3.15
-	- use real syscall interface, but don't break source compatibility 
-	  yet (that will happen with 0.4.0)
-
-0.3.13
-	- add test cases
-
-0.3.11
-	- use library versioning of libredhat-kernel to always provide a 
-	  fallback
-
-0.3.9
-	- add io_queue_release function
-
-0.3.8
-	- make clean deletes libredhat-kernel.so.1
-	- const struct timespec *
-	- add make srpm target
-
-0.3.7
-	- fix assembly function .types
-	- export io_getevents
-	- fix io_submit function prototype to match the kernel
-	- provide /usr/lib/libredhat-kernel.so link for compilation
-	  (do NOT link against libredhat-kernel.so directly)
-	- fix soname to libaio.so.1
-	- fix dummy libredhat-kernel's soname
-	- work around nfs bug
-	- provide and install libredhat-kernel.so.1 stub
-	- Makefile improvements
-	- make sure dummy libredhat-kernel.so only returns -ENOSYS
-
diff --git a/tools/libaio/INSTALL b/tools/libaio/INSTALL
deleted file mode 100644
index 29b9077..0000000
--- a/tools/libaio/INSTALL
+++ /dev/null
@@ -1,18 +0,0 @@
-To install the library, execute the command:
-
-	make prefix=`pwd`/usr install
-
-which will install the binaries and header files into the directory 
-usr.  Set prefix=/usr to get them installed into the main system.
-
-Please note:  Do not attempt to install on the system the
-"libredhat-kernel.so" file.  It is a dummy shared library
-provided only for the purpose of being able to bootstrap
-this facility while running on systems without the correct
-libredhat-kernel.so built.  The contents of the included
-libredhat-kernel.so are only stubs; this library is NOT
-functional for anything except the internal purpose of
-linking libaio.so against the provided stubs.  At runtime,
-libaio.so requires a real libredhat-kernel.so library; this
-is provided by the Red Hat kernel RPM packages with async
-I/O functionality.
diff --git a/tools/libaio/Makefile b/tools/libaio/Makefile
deleted file mode 100644
index 7f5c344..0000000
--- a/tools/libaio/Makefile
+++ /dev/null
@@ -1,40 +0,0 @@
-NAME=libaio
-SPECFILE=$(NAME).spec
-VERSION=$(shell awk '/Version:/ { print $$2 }' $(SPECFILE))
-RELEASE=$(shell awk '/Release:/ { print $$2 }' $(SPECFILE))
-CVSTAG = $(NAME)_$(subst .,-,$(VERSION))_$(subst .,-,$(RELEASE))
-RPMBUILD=$(shell `which rpmbuild >&/dev/null` && echo "rpmbuild" || echo "rpm")
-
-prefix=/usr
-includedir=$(prefix)/include
-libdir=$(prefix)/lib
-
-default: all
-
-all:
-	@$(MAKE) -C src
-
-install: all
-
-clean:
-	@$(MAKE) -C src clean
-	@$(MAKE) -C harness clean
-
-tag-archive:
-	@cvs -Q tag -F $(CVSTAG)
-
-create-archive: tag-archive
-	@rm -rf /tmp/$(NAME)
-	@cd /tmp && cvs -Q -d $(CVSROOT) export -r$(CVSTAG) $(NAME) || echo GRRRrrrrr -- ignore [export aborted]
-	@mv /tmp/$(NAME) /tmp/$(NAME)-$(VERSION)
-	@cd /tmp && tar czSpf $(NAME)-$(VERSION).tar.gz $(NAME)-$(VERSION)
-	@rm -rf /tmp/$(NAME)-$(VERSION)
-	@cp /tmp/$(NAME)-$(VERSION).tar.gz .
-	@rm -f /tmp/$(NAME)-$(VERSION).tar.gz 
-	@echo " "
-	@echo "The final archive is ./$(NAME)-$(VERSION).tar.gz."
-
-archive: clean tag-archive create-archive
-
-srpm: create-archive
-	$(RPMBUILD) --define "_sourcedir `pwd`" --define "_srcrpmdir `pwd`" --nodeps -bs $(SPECFILE)
diff --git a/tools/libaio/TODO b/tools/libaio/TODO
deleted file mode 100644
index 0a9ac15..0000000
--- a/tools/libaio/TODO
+++ /dev/null
@@ -1,4 +0,0 @@
-- Write man pages.
-- Make -static links against libaio work.
-- Fallback on userspace if the kernel calls return -ENOSYS.
-
diff --git a/tools/libaio/harness/Makefile b/tools/libaio/harness/Makefile
deleted file mode 100644
index d2483fd..0000000
--- a/tools/libaio/harness/Makefile
+++ /dev/null
@@ -1,37 +0,0 @@
-# foo.
-TEST_SRCS:=$(shell find cases/ -name \*.t | sort -n -t/ -k2)
-PROGS:=$(patsubst %.t,%.p,$(TEST_SRCS))
-HARNESS_SRCS:=main.c
-# io_queue.c
-
-CFLAGS=-Wall -Werror -g -O -laio
-#-lpthread -lrt
-
-all: $(PROGS)
-
-$(PROGS): %.p: %.t $(HARNESS_SRCS)
-	$(CC) $(CFLAGS) -DTEST_NAME=\"$<\" -o $@ main.c
-
-clean:
-	rm -f $(PROGS) *.o runtests.out rofile wofile rwfile
-
-.PHONY:
-
-testdir/rofile: .PHONY
-	rm -f $@
-	echo "test" >$@
-	chmod 400 $@
-
-testdir/wofile: .PHONY
-	rm -f $@
-	echo "test" >$@
-	chmod 200 $@
-
-testdir/rwfile: .PHONY
-	rm -f $@
-	echo "test" >$@
-	chmod 600 $@
-
-check: $(PROGS) testdir/rofile testdir/rwfile testdir/wofile
-	./runtests.sh $(PROGS)
-
diff --git a/tools/libaio/harness/README b/tools/libaio/harness/README
deleted file mode 100644
index 5557370..0000000
--- a/tools/libaio/harness/README
+++ /dev/null
@@ -1,19 +0,0 @@
-Notes on running this test suite:
-
-To run the test suite, run "make check".  All test cases should pass 
-and there should be 0 fails.
-
-Several of the test cases require a directory on the filesystem under 
-test for the creation of test files, as well as the generation of 
-error conditions.  The test cases assume the directories (or symlinks 
-to directories) are as follows:
-
-	testdir/
-		- used for general read/write test cases.  Must have at 
-		  least as much free space as the machine has RAM (up 
-		  to 768MB).
-	testdir.enospc/
-		- a filesystem that has space for writing 8KB out, but 
-		  fails with -ENOSPC beyond 8KB.
-	testdir.ext2/
-		- must be an ext2 filesystem.
diff --git a/tools/libaio/harness/attic/0.t b/tools/libaio/harness/attic/0.t
deleted file mode 100644
index 033e62c..0000000
--- a/tools/libaio/harness/attic/0.t
+++ /dev/null
@@ -1,9 +0,0 @@
-/* 0.t
-	Test harness check: okay.
-*/
-int test_main(void)
-{
-	printf("test_main: okay\n");
-	return 0;
-}
-
diff --git a/tools/libaio/harness/attic/1.t b/tools/libaio/harness/attic/1.t
deleted file mode 100644
index 799ffd1..0000000
--- a/tools/libaio/harness/attic/1.t
+++ /dev/null
@@ -1,9 +0,0 @@
-/* 1.t
-	Test harness check: fail.
-*/
-int test_main(void)
-{
-	printf("test_main: fail\n");
-	return 1;
-}
-
diff --git a/tools/libaio/harness/cases/10.t b/tools/libaio/harness/cases/10.t
deleted file mode 100644
index 9d3beb2..0000000
--- a/tools/libaio/harness/cases/10.t
+++ /dev/null
@@ -1,53 +0,0 @@
-/* 10.t - uses testdir.enospc/rwfile
-- Check results on out-of-space and out-of-quota. (10.t)
-        - write that fills filesystem but does not go over should succeed
-        - write that fills filesystem and goes over should be partial
-        - write to full filesystem should return -ENOSPC
-        - read beyond end of file after ENOSPC should return 0
-*/
-#include "aio_setup.h"
-
-#include <sys/time.h>
-#include <sys/resource.h>
-#include <unistd.h>
-
-int test_main(void)
-{
-/* Note: changing either of these requires updating the ext2-enospc.img
- * filesystem image.  Also, if SIZE is less than PAGE_SIZE, problems 
- * crop up due to ext2's preallocation.
- */
-#define LIMIT	65536
-#define SIZE	65536
-	char *buf;
-	int rwfd;
-	int status = 0, res;
-
-	rwfd = open("testdir.enospc/rwfile", O_RDWR|O_CREAT|O_TRUNC, 0600);
-							assert(rwfd != -1);
-	res = ftruncate(rwfd, 0);			assert(res == 0);
-	buf = malloc(SIZE);				assert(buf != NULL);
-	memset(buf, 0, SIZE);
-
-
-	status |= attempt_rw(rwfd, buf, SIZE,   LIMIT-SIZE, WRITE, SIZE);
-	status |= attempt_rw(rwfd, buf, SIZE,   LIMIT-SIZE,  READ, SIZE);
-
-	status |= attempt_rw(rwfd, buf, SIZE,        LIMIT, WRITE, -ENOSPC);
-	status |= attempt_rw(rwfd, buf, SIZE,        LIMIT,  READ,       0);
-
-	res = ftruncate(rwfd, 0);			assert(res == 0);
-
-	status |= attempt_rw(rwfd, buf, SIZE, 1+LIMIT-SIZE, WRITE, SIZE-1);
-	status |= attempt_rw(rwfd, buf, SIZE, 1+LIMIT-SIZE,  READ, SIZE-1);
-	status |= attempt_rw(rwfd, buf, SIZE,        LIMIT,  READ,      0);
-
-	status |= attempt_rw(rwfd, buf, SIZE,        LIMIT, WRITE, -ENOSPC);
-	status |= attempt_rw(rwfd, buf, SIZE,        LIMIT,  READ,       0);
-	status |= attempt_rw(rwfd, buf,    0,        LIMIT, WRITE,       0);
-
-	res = close(rwfd);				assert(res == 0);
-	res = unlink("testdir.enospc/rwfile");		assert(res == 0);
-	return status;
-}
-
diff --git a/tools/libaio/harness/cases/11.t b/tools/libaio/harness/cases/11.t
deleted file mode 100644
index efcf6d4..0000000
--- a/tools/libaio/harness/cases/11.t
+++ /dev/null
@@ -1,39 +0,0 @@
-/* 11.t - uses testdir/rwfile
-- repeated read / write of same page (to check accounting) (11.t)
-*/
-#include "aio_setup.h"
-
-#include <sys/time.h>
-#include <sys/resource.h>
-#include <unistd.h>
-
-int test_main(void)
-{
-#define COUNT	1000000
-#define SIZE	256
-	char *buf;
-	int rwfd;
-	int status = 0;
-	int i;
-
-	rwfd = open("testdir/rwfile", O_RDWR|O_CREAT|O_TRUNC, 0600);
-							assert(rwfd != -1);
-	buf = malloc(SIZE);				assert(buf != NULL);
-	memset(buf, 0, SIZE);
-
-	for (i=0; i<COUNT; i++) {
-		status |= attempt_rw(rwfd, buf, SIZE, 0, WRITE_SILENT, SIZE);
-		if (status)
-			break;
-	}
-	printf("completed %d out of %d writes\n", i, COUNT);
-	for (i=0; i<COUNT; i++) {
-		status |= attempt_rw(rwfd, buf, SIZE, 0, READ_SILENT, SIZE);
-		if (status)
-			break;
-	}
-	printf("completed %d out of %d reads\n", i, COUNT);
-
-	return status;
-}
-
diff --git a/tools/libaio/harness/cases/12.t b/tools/libaio/harness/cases/12.t
deleted file mode 100644
index 3499204..0000000
--- a/tools/libaio/harness/cases/12.t
+++ /dev/null
@@ -1,49 +0,0 @@
-/* 12.t
-- ioctx access across fork() (12.t)
- */
-#include <sys/types.h>
-#include <sys/wait.h>
-#include <unistd.h>
-#include <signal.h>
-
-#include "aio_setup.h"
-
-void test_child(void)
-{
-	int res;
-	res = attempt_io_submit(io_ctx, 0, NULL, -EINVAL);
-	fflush(stdout);
-	_exit(res);
-}
-
-int test_main(void)
-{
-	int res, status;
-	pid_t pid;
-
-	if (attempt_io_submit(io_ctx, 0, NULL, 0))
-		return 1;
-
-	sigblock(sigmask(SIGCHLD) | siggetmask());
-	fflush(NULL);
-	pid = fork();				assert(pid != -1);
-
-	if (pid == 0)
-		test_child();
-
-	res = waitpid(pid, &status, 0);
-
-	if (WIFEXITED(status)) {
-		int failed = (WEXITSTATUS(status) != 0);
-		printf("child exited with status %d%s\n", WEXITSTATUS(status),
-			failed ? " -- FAILED" : "");
-		return failed;
-	}
-
-	/* anything else: failed */
-	if (WIFSIGNALED(status))
-		printf("child killed by signal %d -- FAILED.\n",
-			WTERMSIG(status));
-
-	return 1;
-}
diff --git a/tools/libaio/harness/cases/13.t b/tools/libaio/harness/cases/13.t
deleted file mode 100644
index 5f18005..0000000
--- a/tools/libaio/harness/cases/13.t
+++ /dev/null
@@ -1,66 +0,0 @@
-/* 13.t - uses testdir/rwfile
-- Submit multiple writes larger than aio-max-size (deadlocks on older
-  aio code)
-*/
-#include "aio_setup.h"
-
-#include <sys/time.h>
-#include <sys/resource.h>
-#include <unistd.h>
-
-int test_main(void)
-{
-#define SIZE	(1024 * 1024)
-#define IOS	8
-	struct iocb	iocbs[IOS];
-	struct iocb	*iocb_list[IOS];
-	char *bufs[IOS];
-	int rwfd;
-	int status = 0, res;
-	int i;
-
-	rwfd = open("testdir/rwfile", O_RDWR|O_CREAT|O_TRUNC, 0600);
-							assert(rwfd != -1);
-	res = ftruncate(rwfd, 0);			assert(res == 0);
-
-	for (i=0; i<IOS; i++) {
-		bufs[i] = malloc(SIZE);
-		assert(bufs[i] != NULL);
-		memset(bufs[i], 0, SIZE);
-
-		io_prep_pwrite(&iocbs[i], rwfd, bufs[i], SIZE, i * SIZE);
-		iocb_list[i] = &iocbs[i];
-	}
-
-	status |= attempt_io_submit(io_ctx, IOS, iocb_list, IOS);
-
-	for (i=0; i<IOS; i++) {
-		struct timespec ts = { tv_sec: 30, tv_nsec: 0 };
-		struct io_event event;
-		struct iocb *iocb;
-
-		res = io_getevents(io_ctx, 0, 1, &event, &ts);
-		if (res != 1) {
-			status |= 1;
-			printf("io_getevents failed [%d] with res=%d [%s]\n",
-				i, res, (res < 0) ? strerror(-res) : "okay");
-			break;
-		}
-
-		if (event.res != SIZE)
-			status |= 1;
-
-		iocb = (void *)event.obj;
-		printf("event[%d]: write[%d] %s, returned: %ld [%s]\n",
-			i, (int)(iocb - &iocbs[0]),
-			(event.res != SIZE) ? "failed" : "okay",
-			(long)event.res,
-			(event.res < 0) ? strerror(-event.res) : "okay"
-			);
-	}
-
-	res = ftruncate(rwfd, 0);			assert(res == 0);
-	res = close(rwfd);				assert(res == 0);
-	return status;
-}
-
diff --git a/tools/libaio/harness/cases/14.t b/tools/libaio/harness/cases/14.t
deleted file mode 100644
index 514622b..0000000
--- a/tools/libaio/harness/cases/14.t
+++ /dev/null
@@ -1,90 +0,0 @@
-#include <sys/types.h>
-#include <sys/wait.h>
-#include <unistd.h>
-#include <signal.h>
-
-#include "aio_setup.h"
-#include <sys/mman.h>
-
-#define SIZE 768*1024*1024
-
-//just submit an I/O
-
-int test_child(void)
-{
-        char *buf;
-        int rwfd;
-        int res;
-        long size;
-        struct iocb iocb;
-        struct iocb *iocbs[] = { &iocb };
-        int loop = 10;
-        int i;
-
-	aio_setup(1024);
-
-        size = SIZE;
-
-        printf("size = %ld\n", size);
-
-        rwfd = open("testdir/rwfile", O_RDWR);          assert(rwfd != 
--1);
-        res = ftruncate(rwfd, 0);                       assert(res == 0);
-        buf = malloc(size);                             assert(buf != 
-NULL);
-
-        for(i=0;i<loop;i++) {
-
-                switch(i%2) {
-                case 0:
-                        io_prep_pwrite(&iocb, rwfd, buf, size, 0);
-                        break;
-                case 1:
-                        io_prep_pread(&iocb, rwfd, buf, size, 0);
-                }
-
-                res = io_submit(io_ctx, 1, iocbs);
-                if (res != 1) {
-                        printf("child: submit: io_submit res=%d [%s]\n", res, 
-strerror(-res));
-                        _exit(1);
-                }
-        }
-
-        res = ftruncate(rwfd, 0);                       assert(res == 0);
-
-        _exit(0);
-}
-
-/* from 12.t */
-int test_main(void)
-{
-	int res, status;
-	pid_t pid;
-
-	if (attempt_io_submit(io_ctx, 0, NULL, 0))
-		return 1;
-
-	sigblock(sigmask(SIGCHLD) | siggetmask());
-	fflush(NULL);
-	pid = fork();				assert(pid != -1);
-
-	if (pid == 0)
-		test_child();
-
-	res = waitpid(pid, &status, 0);
-
-	if (WIFEXITED(status)) {
-		int failed = (WEXITSTATUS(status) != 0);
-		printf("child exited with status %d%s\n", WEXITSTATUS(status),
-			failed ? " -- FAILED" : "");
-		return failed;
-	}
-
-	/* anything else: failed */
-	if (WIFSIGNALED(status))
-		printf("child killed by signal %d -- FAILED.\n",
-			WTERMSIG(status));
-
-	return 1;
-}
diff --git a/tools/libaio/harness/cases/2.t b/tools/libaio/harness/cases/2.t
deleted file mode 100644
index 3a0212d..0000000
--- a/tools/libaio/harness/cases/2.t
+++ /dev/null
@@ -1,41 +0,0 @@
-/* 2.t
-- io_setup (#2)
-        - with invalid context pointer
-        - with maxevents <= 0
-        - with an already initialized ctxp
-*/
-
-int attempt(int n, io_context_t *ctxp, int expect)
-{
-	int res;
-
-	printf("expect %3d: io_setup(%5d, %p) = ", expect, n, ctxp);
-	fflush(stdout);
-	res = io_setup(n, ctxp);
-	printf("%3d [%s]%s\n", res, strerror(-res), 
-		(res != expect) ? " -- FAILED" : "");
-	if (res != expect)
-		return 1;
-
-	return 0;
-}
-
-int test_main(void)
-{
-	io_context_t	ctx;
-	int	status = 0;
-
-	ctx = NULL;
-	status |= attempt(-1000, KERNEL_RW_POINTER, -EFAULT);
-	status |= attempt( 1000, KERNEL_RW_POINTER, -EFAULT);
-	status |= attempt(    0, KERNEL_RW_POINTER, -EFAULT);
-	status |= attempt(-1000, &ctx, -EINVAL);
-	status |= attempt(   -1, &ctx, -EINVAL);
-	status |= attempt(    0, &ctx, -EINVAL);
-	assert(ctx == NULL);
-	status |= attempt(    1, &ctx, 0);
-	status |= attempt(    1, &ctx, -EINVAL);
-
-	return status;
-}
-
diff --git a/tools/libaio/harness/cases/3.t b/tools/libaio/harness/cases/3.t
deleted file mode 100644
index 7773d80..0000000
--- a/tools/libaio/harness/cases/3.t
+++ /dev/null
@@ -1,25 +0,0 @@
-/* 3.t
-- io_submit/io_getevents with invalid addresses (3.t)
-
-*/
-#include "aio_setup.h"
-
-int test_main(void)
-{
-	struct iocb a, b;
-	struct iocb *good_ios[] = { &a, &b };
-	struct iocb *bad1_ios[] = { NULL, &b };
-	struct iocb *bad2_ios[] = { KERNEL_RW_POINTER, &a };
-	int	status = 0;
-
-	status |= attempt_io_submit(BAD_CTX, 1,   good_ios, -EINVAL);
-	status |= attempt_io_submit( io_ctx, 0,   good_ios,       0);
-	status |= attempt_io_submit( io_ctx, 1,       NULL, -EFAULT);
-	status |= attempt_io_submit( io_ctx, 1, (void *)-1, -EFAULT);
-	status |= attempt_io_submit( io_ctx, 2,   bad1_ios, -EFAULT);
-	status |= attempt_io_submit( io_ctx, 2,   bad2_ios, -EFAULT);
-	status |= attempt_io_submit( io_ctx, -1,  good_ios, -EINVAL);
-
-	return status;
-}
-
diff --git a/tools/libaio/harness/cases/4.t b/tools/libaio/harness/cases/4.t
deleted file mode 100644
index 972b4f2..0000000
--- a/tools/libaio/harness/cases/4.t
+++ /dev/null
@@ -1,72 +0,0 @@
-/* 4.t
-- read of descriptor without read permission (4.t)
-- write to descriptor without write permission (4.t)
-- check that O_APPEND writes actually append
-
-*/
-#include "aio_setup.h"
-
-#define SIZE	512
-#define READ	'r'
-#define WRITE	'w'
-int attempt(int fd, void *buf, int count, long long pos, int rw, int expect)
-{
-	struct iocb iocb;
-	int res;
-
-	switch(rw) {
-	case READ:	io_prep_pread (&iocb, fd, buf, count, pos); break;
-	case WRITE:	io_prep_pwrite(&iocb, fd, buf, count, pos); break;
-	}
-
-	printf("expect %3d: (%c), res = ", expect, rw);
-	fflush(stdout);
-	res = sync_submit(&iocb);
-	printf("%3d [%s]%s\n", res, (res <= 0) ? strerror(-res) : "Success",
-		(res != expect) ? " -- FAILED" : "");
-	if (res != expect)
-		return 1;
-
-	return 0;
-}
-
-int test_main(void)
-{
-	char buf[SIZE];
-	int rofd, wofd, rwfd;
-	int	status = 0, res;
-
-	memset(buf, 0, SIZE);
-
-	rofd = open("testdir/rofile", O_RDONLY);	assert(rofd != -1);
-	wofd = open("testdir/wofile", O_WRONLY);	assert(wofd != -1);
-	rwfd = open("testdir/rwfile", O_RDWR);		assert(rwfd != -1);
-
-	status |= attempt(rofd, buf, SIZE,  0, WRITE, -EBADF);
-	status |= attempt(wofd, buf, SIZE,  0,  READ, -EBADF);
-	status |= attempt(rwfd, buf, SIZE,  0, WRITE, SIZE);
-	status |= attempt(rwfd, buf, SIZE,  0,  READ, SIZE);
-	status |= attempt(rwfd, buf, SIZE, -1,  READ, -EINVAL);
-	status |= attempt(rwfd, buf, SIZE, -1, WRITE, -EINVAL);
-
-	rwfd = open("testdir/rwfile", O_RDWR|O_APPEND);	assert(rwfd != -1);
-	res = ftruncate(rwfd, 0);			assert(res == 0);
-	status |= attempt(rwfd, buf,    SIZE, 0,  READ, 0);
-	status |= attempt(rwfd, "1234",    4, 0, WRITE, 4);
-	status |= attempt(rwfd, "5678",    4, 0, WRITE, 4);
-	memset(buf, 0, SIZE);
-	status |= attempt(rwfd,    buf, SIZE, 0,  READ, 8);
-	printf("read after append: [%s]\n", buf);
-	assert(memcmp(buf, "12345678", 8) == 0);
-
-	status |= attempt(rwfd, KERNEL_RW_POINTER, SIZE, 0,  READ, -EFAULT);
-	status |= attempt(rwfd, KERNEL_RW_POINTER, SIZE, 0, WRITE, -EFAULT);
-
-	/* Some architectures map the 0 page.  Ugh. */
-#if !defined(__ia64__)
-	status |= attempt(rwfd,              NULL, SIZE, 0, WRITE, -EFAULT);
-#endif
-
-	return status;
-}
-
diff --git a/tools/libaio/harness/cases/5.t b/tools/libaio/harness/cases/5.t
deleted file mode 100644
index 7669fd7..0000000
--- a/tools/libaio/harness/cases/5.t
+++ /dev/null
@@ -1,47 +0,0 @@
-/* 5.t
-- Write from a mmap() of the same file. (5.t)
-*/
-#include "aio_setup.h"
-#include <sys/mman.h>
-
-int test_main(void)
-{
-	int page_size = getpagesize();
-#define SIZE	512
-	char *buf;
-	int rwfd;
-	int	status = 0, res;
-
-	rwfd = open("testdir/rwfile", O_RDWR);		assert(rwfd != -1);
-	res = ftruncate(rwfd, 512);			assert(res == 0);
-
-	buf = mmap(0, page_size, PROT_READ|PROT_WRITE, MAP_SHARED, rwfd, 0);
-	assert(buf != (char *)-1);
-
-	status |= attempt_rw(rwfd, buf, SIZE,  0, WRITE, SIZE);
-	status |= attempt_rw(rwfd, buf, SIZE,  0,  READ, SIZE);
-
-	res = munmap(buf, page_size);			assert(res == 0);
-	buf = mmap(0, page_size, PROT_READ|PROT_WRITE, MAP_SHARED, rwfd, 0);
-	assert(buf != (char *)-1);
-
-	status |= attempt_rw(rwfd, buf, SIZE,  0,  READ, SIZE);
-	status |= attempt_rw(rwfd, buf, SIZE,  0, WRITE, SIZE);
-
-	res = munmap(buf, page_size);			assert(res == 0);
-	buf = mmap(0, page_size, PROT_READ, MAP_SHARED, rwfd, 0);
-	assert(buf != (char *)-1);
-
-	status |= attempt_rw(rwfd, buf, SIZE,  0, WRITE, SIZE);
-	status |= attempt_rw(rwfd, buf, SIZE,  0,  READ, -EFAULT);
-
-	res = munmap(buf, page_size);			assert(res == 0);
-	buf = mmap(0, page_size, PROT_WRITE, MAP_SHARED, rwfd, 0);
-	assert(buf != (char *)-1);
-
-	status |= attempt_rw(rwfd, buf, SIZE,  0,  READ, SIZE);
-	status |= attempt_rw(rwfd, buf, SIZE,  0, WRITE, -EFAULT);
-
-	return status;
-}
-
diff --git a/tools/libaio/harness/cases/6.t b/tools/libaio/harness/cases/6.t
deleted file mode 100644
index cea4b01..0000000
--- a/tools/libaio/harness/cases/6.t
+++ /dev/null
@@ -1,57 +0,0 @@
-/* 6.t
-- huge reads (pinned pages) (6.t)
-- huge writes (6.t)
-*/
-#include "aio_setup.h"
-#include <sys/mman.h>
-
-long getmemsize(void)
-{
-	FILE *f = fopen("/proc/meminfo", "r");
-	long size;
-	int gotit = 0;
-	char str[256];
-
-	assert(f != NULL);
-	while (NULL != fgets(str, 255, f)) {
-		str[255] = 0;
-		if (0 == memcmp(str, "MemTotal:", 9)) {
-			if (1 == sscanf(str + 9, "%ld", &size)) {
-				gotit = 1;
-				break;
-			}
-		}
-	}
-	fclose(f);
-
-	assert(gotit != 0);
-	return size;
-}
-
-int test_main(void)
-{
-	char *buf;
-	int rwfd;
-	int status = 0, res;
-	long size;
-
-	size = getmemsize();
-	printf("size = %ld\n", size);
-	assert(size >= (16 * 1024));
-	if (size > (768 * 1024))
-		size = 768 * 1024;
-	size *= 1024;
-
-	rwfd = open("testdir/rwfile", O_RDWR);		assert(rwfd != -1);
-	res = ftruncate(rwfd, 0);			assert(res == 0);
-	buf = malloc(size);				assert(buf != NULL);
-
-	//memset(buf, 0, size);
-	status |= attempt_rw(rwfd, buf, size,  0, WRITE, size);
-	status |= attempt_rw(rwfd, buf, size,  0,  READ, size);
-
-	//res = ftruncate(rwfd, 0);			assert(res == 0);
-
-	return status;
-}
-
diff --git a/tools/libaio/harness/cases/7.t b/tools/libaio/harness/cases/7.t
deleted file mode 100644
index d2d6cbc..0000000
--- a/tools/libaio/harness/cases/7.t
+++ /dev/null
@@ -1,27 +0,0 @@
-/* 7.t
-- Write overlapping the file size rlimit boundary: should be a short
-  write. (7.t)
-- Write at the file size rlimit boundary: should give EFBIG.  (I think
-  the spec requires that you do NOT deliver SIGXFSZ in this case, where
-  you would do so for sync IO.) (7.t)
-- Special case: a write of zero bytes at or beyond the file size rlimit
-  boundary must return success. (7.t)
-*/
-
-#include <sys/resource.h>
-
-void SET_RLIMIT(long long limit)
-{
-	struct rlimit rlim;
-	int res;
-
-	rlim.rlim_cur = limit;			assert(rlim.rlim_cur == limit);
-	rlim.rlim_max = limit;			assert(rlim.rlim_max == limit);
-
-	res = setrlimit(RLIMIT_FSIZE, &rlim);	assert(res == 0);
-}
-
-#define LIMIT	8192
-#define FILENAME	"testdir/rwfile"
-
-#include "common-7-8.h"
diff --git a/tools/libaio/harness/cases/8.t b/tools/libaio/harness/cases/8.t
deleted file mode 100644
index 8a3d83e..0000000
--- a/tools/libaio/harness/cases/8.t
+++ /dev/null
@@ -1,49 +0,0 @@
-/* 8.t
-- Ditto for the above three tests at the offset maximum (largest
-  possible ext2/3 file size.) (8.t)
- */
-#include <sys/vfs.h>
-
-#define EXT2_OLD_SUPER_MAGIC	0xEF51
-#define EXT2_SUPER_MAGIC	0xEF53
-
-long long get_fs_limit(int fd)
-{
-	struct statfs s;
-	int res;
-	long long lim = 0;
-
-	res = fstatfs(fd, &s);		assert(res == 0);
-
-	switch(s.f_type) {
-	case EXT2_OLD_SUPER_MAGIC:
-	case EXT2_SUPER_MAGIC:
-#if 0
-	{
-		long long tmp;
-		tmp = s.f_bsize / 4;
-		/* 12 direct + indirect block + dind + tind */
-		lim = 12 + tmp + tmp * tmp + tmp * tmp * tmp;
-		lim *= s.f_bsize;
-		printf("limit(%ld) = %Ld\n", (long)s.f_bsize, lim);
-	}
-#endif
-		switch(s.f_bsize) {
-		case 4096: lim = 2199023251456; break;
-		default:
-			printf("unknown ext2 blocksize %ld\n", (long)s.f_bsize);
-			exit(3);
-		}
-		break;
-	default:
-		printf("unknown filesystem 0x%08lx\n", (long)s.f_type);
-		exit(3);
-	}
-	return lim;
-}
-
-#define SET_RLIMIT(x)	do ; while (0)
-#define LIMIT		get_fs_limit(rwfd)
-#define FILENAME	"testdir.ext2/rwfile"
-
-#include "common-7-8.h"
diff --git a/tools/libaio/harness/cases/aio_setup.h b/tools/libaio/harness/cases/aio_setup.h
deleted file mode 100644
index 37c9618..0000000
--- a/tools/libaio/harness/cases/aio_setup.h
+++ /dev/null
@@ -1,98 +0,0 @@
-io_context_t	io_ctx;
-#define BAD_CTX	((io_context_t)-1)
-
-void aio_setup(int n)
-{
-	int res = io_queue_init(n, &io_ctx);
-	if (res != 0) {
-		printf("io_queue_setup(%d) returned %d (%s)\n",
-			n, res, strerror(-res));
-		exit(3);
-	}
-}
-
-int attempt_io_submit(io_context_t ctx, long nr, struct iocb *ios[], int expect)
-{
-	int res;
-
-	printf("expect %3d: io_submit(%10p, %3ld, %10p) = ", expect, ctx, nr, ios);
-	fflush(stdout);
-	res = io_submit(ctx, nr, ios);
-	printf("%3d [%s]%s\n", res, (res <= 0) ? strerror(-res) : "",
-		(res != expect) ? " -- FAILED" : "");
-	if (res != expect)
-		return 1;
-
-	return 0;
-}
-
-int sync_submit(struct iocb *iocb)
-{
-	struct io_event event;
-	struct iocb *iocbs[] = { iocb };
-	int res;
-
-	/* 30 second timeout should be enough */
-	struct timespec	ts;
-	ts.tv_sec = 30;
-	ts.tv_nsec = 0;
-
-	res = io_submit(io_ctx, 1, iocbs);
-	if (res != 1) {
-		printf("sync_submit: io_submit res=%d [%s]\n", res, strerror(-res));
-		return res;
-	}
-
-	res = io_getevents(io_ctx, 0, 1, &event, &ts);
-	if (res != 1) {
-		printf("sync_submit: io_getevents res=%d [%s]\n", res, strerror(-res));
-		return res;
-	}
-	return event.res;
-}
-
-#define SETUP	aio_setup(1024)
-
-
-#define READ		'r'
-#define WRITE		'w'
-#define READ_SILENT	'R'
-#define WRITE_SILENT	'W'
-int attempt_rw(int fd, void *buf, int count, long long pos, int rw, int expect)
-{
-	struct iocb iocb;
-	int res;
-	int silent = 0;
-
-	switch(rw) {
-	case READ_SILENT:
-		silent = 1;
-	case READ:
-		io_prep_pread (&iocb, fd, buf, count, pos);
-		break;
-	case WRITE_SILENT:
-		silent = 1;
-	case WRITE:
-		io_prep_pwrite(&iocb, fd, buf, count, pos);
-		break;
-	}
-
-	if (!silent) {
-		printf("expect %5d: (%c), res = ", expect, rw);
-		fflush(stdout);
-	}
-	res = sync_submit(&iocb);
-	if (!silent || res != expect) {
-		if (silent)
-			printf("expect %5d: (%c), res = ", expect, rw);
-		printf("%5d [%s]%s\n", res,
-			(res <= 0) ? strerror(-res) : "Success",
-			(res != expect) ? " -- FAILED" : "");
-	}
-
-	if (res != expect)
-		return 1;
-
-	return 0;
-}
-
diff --git a/tools/libaio/harness/cases/common-7-8.h b/tools/libaio/harness/cases/common-7-8.h
deleted file mode 100644
index 3ec2bb4..0000000
--- a/tools/libaio/harness/cases/common-7-8.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/* common-7-8.h
-*/
-#include "aio_setup.h"
-
-#include <unistd.h>
-
-#define SIZE	512
-
-int test_main(void)
-{
-	char *buf;
-	int rwfd;
-	int status = 0, res;
-	long long limit;
-
-	rwfd = open(FILENAME, O_RDWR);		assert(rwfd != -1);
-	res = ftruncate(rwfd, 0);			assert(res == 0);
-	buf = malloc(SIZE);				assert(buf != NULL);
-	memset(buf, 0, SIZE);
-
-	limit = LIMIT;
-
-	SET_RLIMIT(limit);
-
-	status |= attempt_rw(rwfd, buf, SIZE,   limit-SIZE, WRITE, SIZE);
-	status |= attempt_rw(rwfd, buf, SIZE,   limit-SIZE,  READ, SIZE);
-
-	status |= attempt_rw(rwfd, buf, SIZE, 1+limit-SIZE, WRITE, SIZE-1);
-	status |= attempt_rw(rwfd, buf, SIZE, 1+limit-SIZE,  READ, SIZE-1);
-
-	status |= attempt_rw(rwfd, buf, SIZE,        limit, WRITE, -EFBIG);
-	status |= attempt_rw(rwfd, buf, SIZE,        limit,  READ,      0);
-	status |= attempt_rw(rwfd, buf,    0,        limit, WRITE,      0);
-
-	return status;
-}
-
diff --git a/tools/libaio/harness/main.c b/tools/libaio/harness/main.c
deleted file mode 100644
index 74b2764..0000000
--- a/tools/libaio/harness/main.c
+++ /dev/null
@@ -1,39 +0,0 @@
-#include <stdio.h>
-#include <errno.h>
-#include <assert.h>
-#include <stdlib.h>
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <unistd.h>
-
-#include <libaio.h>
-
-#if defined(__i386__)
-#define KERNEL_RW_POINTER	((void *)0xc0010000)
-#else
-//#warning Not really sure where kernel memory is.  Guessing.
-#define KERNEL_RW_POINTER	((void *)0xffffffffc0010000)
-#endif
-
-
-char test_name[] = TEST_NAME;
-
-#include TEST_NAME
-
-int main(void)
-{
-	int res;
-
-#if defined(SETUP)
-	SETUP;
-#endif
-
-	res = test_main();
-	printf("test %s completed %s.\n", test_name, 
-		res ? "FAILED" : "PASSED"
-		);
-	fflush(stdout);
-	return res ? 1 : 0;
-}
diff --git a/tools/libaio/harness/runtests.sh b/tools/libaio/harness/runtests.sh
deleted file mode 100644
index d763d88..0000000
--- a/tools/libaio/harness/runtests.sh
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/sh
-
-passes=0
-fails=0
-
-echo "Test run starting at" `date`
-
-while [ $# -ge 1 ] ; do
-	this_test=$1
-	shift
-	echo "Starting $this_test"
-	$this_test 2>&1
-	res=$?
-	if [ $res -eq 0 ] ; then str="" ; passes=$[passes + 1] ; else str=" -- FAILED" ; fails=$[fails + 1] ; fi
-	echo "Completed $this_test with $res$str".
-done
-
-echo "Pass: $passes  Fail: $fails"
-echo "Test run complete at" `date`
diff --git a/tools/libaio/libaio.spec b/tools/libaio/libaio.spec
deleted file mode 100644
index bdcc5b2..0000000
--- a/tools/libaio/libaio.spec
+++ /dev/null
@@ -1,187 +0,0 @@
-Name: libaio
-Version: 0.3.106
-Release: 1
-Summary: Linux-native asynchronous I/O access library
-Copyright: LGPL
-Group:  System Environment/Libraries
-Source: %{name}-%{version}.tar.gz
-BuildRoot: %{_tmppath}/%{name}-root
-# Fix ExclusiveArch as we implement this functionality on more architectures
-ExclusiveArch: i386 x86_64 ia64 s390 s390x ppc ppc64 ppc64pseries ppc64iseries alpha alphaev6
-
-%description
-The Linux-native asynchronous I/O facility ("async I/O", or "aio") has a
-richer API and capability set than the simple POSIX async I/O facility.
-This library, libaio, provides the Linux-native API for async I/O.
-The POSIX async I/O facility requires this library in order to provide
-kernel-accelerated async I/O capabilities, as do applications which
-require the Linux-native async I/O API.
-
-%package devel
-Summary: Development files for Linux-native asynchronous I/O access
-Group: Development/System
-Requires: libaio
-Provides: libaio.so.1
-
-%description devel
-This package provides header files to include and libraries to link with
-for the Linux-native asynchronous I/O facility ("async I/O", or "aio").
-
-%prep
-%setup
-
-%build
-make
-
-%install
-[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
-
-make install prefix=$RPM_BUILD_ROOT/usr \
- libdir=$RPM_BUILD_ROOT/%{_libdir} \
- root=$RPM_BUILD_ROOT
-
-%clean
-[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
-
-%post -p /sbin/ldconfig
-
-%postun -p /sbin/ldconfig
-
-%files
-%defattr(-,root,root)
-%attr(0755,root,root) %{_libdir}/libaio.so.*
-%doc COPYING TODO
-
-%files devel
-%defattr(-,root,root)
-%attr(0644,root,root) %{_includedir}/*
-%attr(0755,root,root) %{_libdir}/libaio.so
-%attr(0644,root,root) %{_libdir}/libaio.a
-
-%changelog
-* Tue Jan  3 2006 Jeff Moyer <jmoyer@redhat.com> - 0.3.106-1
-- Add a .proc directive for the ia64_aio_raw_syscall macro.  This sounds a lot
-  like the previous entry, but that one fixed the __ia64_raw_syscall macro,
-  located in syscall-ia64.h.  This macro is in raw_syscall.c, which pretty much
-  only exists for ia64.  This bug prevented the package from building with
-  newer version of gcc.
-
-* Mon Aug  1 2005 Jeff Moyer <jmoyer@redhat.com> - 0.3.105-1
-- Add a .proc directive for the ia64 raw syscall macro.
-
-* Fri Apr  1 2005 Jeff Moyer <jmoyer@redhat.com> - 0.3.104-1
-- Add Alpha architecture support.  (Sergey Tikhonov <tsv@solvo.ru>)
-
-* Tue Jan 25 2005 Jeff Moyer <jmoyer@redhat.com> - 0.3.103-1
-- Fix SONAME breakage.  In changing file names around, I also changed the 
-  SONAME, which is a no no.
-
-* Thu Oct 14 2004 Jeff Moyer <jmoyer@redhat.com> - 0.3.102-1
-- S390 asm had a bug; I forgot to update the clobber list.  Lucky for me,
-  newer compilers complain about such things.
-- Also update the s390 asm to look more like the new kernel variants.
-
-* Wed Oct 13 2004 Jeff Moyer <jmoyer@redhat.com> - 0.3.101-1
-- Revert syscall return values to be -ERRNO.  This was an inadvertant bug
-  introduced when clobber lists changed.
-- add ppc64pseries and ppc64iseries to exclusivearch
-
-* Tue Sep 14 2004 Jeff Moyer <jmoyer@redhat.com> - 0.3.100-1
-- Switch around the tests for _PPC_ and _powerpc64_ so that the ppc64 
-  platforms get the right padding.
-
-* Wed Jul 14 2004 Jeff Moyer <jmoyer@redhat.com> - 0.3.99-4
-- Ok, there was a race in moving the cvs module.  Someone rebuild from
-  the old cvs into fc3.  *sigh*  bumping rev.
-
-* Wed Jul 14 2004 Jeff Moyer <jmoyer@redhat.com> - 0.3.99-3
-- Actually provide libaio.so.1.
-
-* Tue Mar 30 2004 Jeff Moyer <jmoyer@redhat.com> - 0.3.99-2
-- Apparently the 0.3.93 patch was not meant for 0.3.96.  Backed it out.
-
-* Tue Mar 30 2004 Jeff Moyer <jmoyer@redhat.com> - 0.3.99-1
-- Fix compat calls.
-- make library .so.1.0.0 and make symlinks properly.
-- Fix header file for inclusion in c++ code.
-
-* Thu Feb 26 2004 Jeff Moyer <jmoyer@redhat.com> 0.3.98-2
-- bah.  fix version nr in changelog.
-
-* Thu Feb 26 2004 Jeff Moyer <jmoyer@redhat.com> 0.3.98-1
-- fix compiler warnings.
-
-* Thu Feb 26 2004 Jeff Moyer <jmoyer@redhat.com> 0.3.97-2
-- make srpm was using rpm to do a build.  changed that to use rpmbuild if
-  it exists, and fallback to rpm if it doesn't.
-
-* Tue Feb 24 2004 Jeff Moyer <jmoyer@redhat.com> 0.3.97-1
-- Use libc syscall(2) instead of rolling our own calling mechanism.  This 
-  change is inspired due to a failure to build with newer gcc, since clobber 
-  lists were wrong.
-- Add -fpic to the CFLAGS for all architectures.  Should address bz #109457.
-- change a #include from <linux/types.h> to <sys/types.h>.  Fixes a build
-  issue on s390.
-
-* Wed Jul  7 2003 Bill Nottingham <notting@redhat.com> 0.3.96-3
-- fix paths on lib64 arches
-
-* Wed Jun 18 2003 Michael K. Johnson <johnsonm@redhat.com> 0.3.96-2
-- optimization in io_getevents from Arjan van de Ven in 0.3.96-1
-- deal with ia64 in 0.3.96-2
-
-* Wed May 28 2003 Michael K. Johnson <johnsonm@redhat.com> 0.3.95-1
-- ppc bugfix from Julie DeWandel
-
-* Tue May 20 2003 Michael K. Johnson <johnsonm@redhat.com> 0.3.94-1
-- symbol versioning fix from Ulrich Drepper
-
-* Mon Jan 27 2003 Benjamin LaHaise <bcrl@redhat.com>
-- bump to 0.3.93-3 for rebuild.
-
-* Mon Dec 16 2002 Benjamin LaHaise <bcrl@redhat.com>
-- libaio 0.3.93 test release
-- add powerpc support from Gianni Tedesco <gianni@ecsc.co.uk>
-- add s/390 support from Arnd Bergmann <arnd@bergmann-dalldorf.de>
-
-* Fri Sep 12 2002 Benjamin LaHaise <bcrl@redhat.com>
-- libaio 0.3.92 test release
-- build on x86-64
-
-* Thu Sep 12 2002 Benjamin LaHaise <bcrl@redhat.com>
-- libaio 0.3.91 test release
-- build on ia64
-- remove libredhat-kernel from the .spec file
-
-* Thu Sep  5 2002 Benjamin LaHaise <bcrl@redhat.com>
-- libaio 0.3.90 test release
-
-* Mon Apr 29 2002 Benjamin LaHaise <bcrl@redhat.com>
-- add requires initscripts >= 6.47-1 to get boot time libredhat-kernel 
-  linkage correct.
-- typo fix
-
-* Thu Apr 25 2002 Benjamin LaHaise <bcrl@redhat.com>
-- make /usr/lib/libredhat-kernel.so point to /lib/libredhat-kernel.so.1.0.0
-
-* Mon Apr 15 2002 Tim Powers <timp@redhat.com>
-- make the post scriptlet not use /bin/sh
-
-* Sat Apr 12 2002 Benjamin LaHaise <bcrl@redhat.com>
-- add /lib/libredhat-kernel* to %files.
-
-* Fri Apr 12 2002 Benjamin LaHaise <bcrl@redhat.com>
-- make the dummy install as /lib/libredhat-kernel.so.1.0.0 so 
-  that ldconfig will link against it if no other is installed.
-
-* Tue Jan 22 2002 Benjamin LaHaise <bcrl@redhat.com>
-- add io_getevents
-
-* Tue Jan 22 2002 Michael K. Johnson <johnsonm@redhat.com>
-- Make linker happy with /usr/lib symlink for libredhat-kernel.so
-
-* Mon Jan 21 2002 Michael K. Johnson <johnsonm@redhat.com>
-- Added stub library
-
-* Sun Jan 20 2002 Michael K. Johnson <johnsonm@redhat.com>
-- Initial packaging
diff --git a/tools/libaio/man/aio.3 b/tools/libaio/man/aio.3
deleted file mode 100644
index 6dc3c63..0000000
--- a/tools/libaio/man/aio.3
+++ /dev/null
@@ -1,315 +0,0 @@
-.TH aio 3 2002-09-12 "Linux 2.4" Linux AIO"
-.SH NAME
-aio \- Asynchronous IO
-.SH SYNOPSIS
-.nf
-.B #include <errno.h>
-.sp
-.br 
-.B #include <aio.h>
-.sp
-.fi
-.SH DESCRIPTION
-The POSIX.1b standard defines a new set of I/O operations which can
-significantly reduce the time an application spends waiting at I/O.  The
-new functions allow a program to initiate one or more I/O operations and
-then immediately resume normal work while the I/O operations are
-executed in parallel.  This functionality is available if the
-.IR "unistd.h"
-file defines the symbol 
-.B "_POSIX_ASYNCHRONOUS_IO"
-.
-
-These functions are part of the library with realtime functions named
-.IR "librt"
-.  They are not actually part of the 
-.IR "libc" 
-binary.
-The implementation of these functions can be done using support in the
-kernel (if available) or using an implementation based on threads at
-userlevel.  In the latter case it might be necessary to link applications
-with the thread library 
-.IR "libpthread"
-in addition to 
-.IR "librt"
-and
-.IR "libaio"
-.
-
-All AIO operations operate on files which were opened previously.  There
-might be arbitrarily many operations running for one file.  The
-asynchronous I/O operations are controlled using a data structure named
-.IR "struct aiocb"
-It is defined in
-.IR "aio.h"
- as follows.
-
-.nf
-struct aiocb
-{
-  int aio_fildes;               /* File desriptor.  */
-  int aio_lio_opcode;           /* Operation to be performed.  */
-  int aio_reqprio;              /* Request priority offset.  */
-  volatile void *aio_buf;       /* Location of buffer.  */
-  size_t aio_nbytes;            /* Length of transfer.  */
-  struct sigevent aio_sigevent; /* Signal number and value.  */
-
-  /* Internal members.  */
-  struct aiocb *__next_prio;
-  int __abs_prio;
-  int __policy;
-  int __error_code;
-  __ssize_t __return_value;
-
-#ifndef __USE_FILE_OFFSET64
-  __off_t aio_offset;           /* File offset.  */
-  char __pad[sizeof (__off64_t) - sizeof (__off_t)];
-#else
-  __off64_t aio_offset;         /* File offset.  */
-#endif
-  char __unused[32];
-};
-
-.fi
-The POSIX.1b standard mandates that the 
-.IR "struct aiocb" 
-structure
-contains at least the members described in the following table.  There
-might be more elements which are used by the implementation, but
-depending upon these elements is not portable and is highly deprecated.
-
-.TP
-.IR "int aio_fildes"
-This element specifies the file descriptor to be used for the
-operation.  It must be a legal descriptor, otherwise the operation will
-fail.
-
-The device on which the file is opened must allow the seek operation.
-I.e., it is not possible to use any of the AIO operations on devices
-like terminals where an 
-.IR "lseek"
- call would lead to an error.
-.TP
-.IR "off_t aio_offset"
-This element specifies the offset in the file at which the operation (input
-or output) is performed.  Since the operations are carried out in arbitrary
-order and more than one operation for one file descriptor can be
-started, one cannot expect a current read/write position of the file
-descriptor.
-.TP
-.IR "volatile void *aio_buf"
-This is a pointer to the buffer with the data to be written or the place
-where the read data is stored.
-.TP
-.IR "size_t aio_nbytes"
-This element specifies the length of the buffer pointed to by 
-.IR "aio_buf"
-.
-.TP
-.IR "int aio_reqprio"
-If the platform has defined 
-.B "_POSIX_PRIORITIZED_IO"
-and
-.B "_POSIX_PRIORITY_SCHEDULING"
-, the AIO requests are
-processed based on the current scheduling priority.  The
-.IR "aio_reqprio"
-element can then be used to lower the priority of the
-AIO operation.
-.TP
-.IR "struct sigevent aio_sigevent"
-This element specifies how the calling process is notified once the
-operation terminates.  If the 
-.IR "sigev_notify"
-element is
-.B "SIGEV_NONE"
-, no notification is sent.  If it is 
-.B "SIGEV_SIGNAL"
-,
-the signal determined by 
-.IR "sigev_signo"
-is sent.  Otherwise,
-.IR "sigev_notify"
-must be 
-.B "SIGEV_THREAD"
-.  In this case, a thread
-is created which starts executing the function pointed to by
-.IR "sigev_notify_function"
-.
-.TP
-.IR "int aio_lio_opcode"
-This element is only used by the 
-.IR "lio_listio"
- and
-.IR "lio_listio64"
- functions.  Since these functions allow an
-arbitrary number of operations to start at once, and each operation can be
-input or output (or nothing), the information must be stored in the
-control block.  The possible values are:
-.TP
-.B "LIO_READ"
-Start a read operation.  Read from the file at position
-.IR "aio_offset"
- and store the next 
-.IR "aio_nbytes"
- bytes in the
-buffer pointed to by 
-.IR "aio_buf"
-.
-.TP
-.B "LIO_WRITE"
-Start a write operation.  Write 
-.IR "aio_nbytes" 
-bytes starting at
-.IR "aio_buf"
-into the file starting at position 
-.IR "aio_offset"
-.
-.TP
-.B "LIO_NOP"
-Do nothing for this control block.  This value is useful sometimes when
-an array of 
-.IR "struct aiocb"
-values contains holes, i.e., some of the
-values must not be handled although the whole array is presented to the
-.IR "lio_listio"
-function.
-
-When the sources are compiled using 
-.B "_FILE_OFFSET_BITS == 64"
-on a
-32 bit machine, this type is in fact 
-.IR "struct aiocb64"
-, since the LFS
-interface transparently replaces the 
-.IR "struct aiocb"
-definition.
-.PP
-For use with the AIO functions defined in the LFS, there is a similar type
-defined which replaces the types of the appropriate members with larger
-types but otherwise is equivalent to 
-.IR "struct aiocb"
-.  Particularly,
-all member names are the same.
-
-.nf
-/* The same for the 64bit offsets.  Please note that the members aio_fildes
-   to __return_value have to be the same in aiocb and aiocb64.  */
-#ifdef __USE_LARGEFILE64
-struct aiocb64
-{
-  int aio_fildes;               /* File desriptor.  */
-  int aio_lio_opcode;           /* Operation to be performed.  */
-  int aio_reqprio;              /* Request priority offset.  */
-  volatile void *aio_buf;       /* Location of buffer.  */
-  size_t aio_nbytes;            /* Length of transfer.  */
-  struct sigevent aio_sigevent; /* Signal number and value.  */
-
-  /* Internal members.  */
-  struct aiocb *__next_prio;
-  int __abs_prio;
-  int __policy;
-  int __error_code;
-  __ssize_t __return_value;
-
-  __off64_t aio_offset;         /* File offset.  */
-  char __unused[32];
-};
-
-.fi
-.TP
-.IR "int aio_fildes"
-This element specifies the file descriptor which is used for the
-operation.  It must be a legal descriptor since otherwise the operation
-fails for obvious reasons.
-The device on which the file is opened must allow the seek operation.
-I.e., it is not possible to use any of the AIO operations on devices
-like terminals where an 
-.IR "lseek"
- call would lead to an error.
-.TP
-.IR "off64_t aio_offset"
-This element specifies at which offset in the file the operation (input
-or output) is performed.  Since the operation are carried in arbitrary
-order and more than one operation for one file descriptor can be
-started, one cannot expect a current read/write position of the file
-descriptor.
-.TP
-.IR "volatile void *aio_buf"
-This is a pointer to the buffer with the data to be written or the place
-where the read data is stored.
-.TP
-.IR "size_t aio_nbytes"
-This element specifies the length of the buffer pointed to by 
-.IR "aio_buf"
-.
-.TP
-.IR "int aio_reqprio"
-If for the platform 
-.B "_POSIX_PRIORITIZED_IO"
-and
-.B "_POSIX_PRIORITY_SCHEDULING"
-are defined the AIO requests are
-processed based on the current scheduling priority.  The
-.IR "aio_reqprio"
-element can then be used to lower the priority of the
-AIO operation.
-.TP
-.IR "struct sigevent aio_sigevent"
-This element specifies how the calling process is notified once the
-operation terminates.  If the 
-.IR "sigev_notify"
-, element is
-.B "SIGEV_NONE"
-no notification is sent.  If it is 
-.B "SIGEV_SIGNAL"
-,
-the signal determined by 
-.IR "sigev_signo"
-is sent.  Otherwise,
-.IR "sigev_notify"
- must be 
-.B "SIGEV_THREAD"
-in which case a thread
-which starts executing the function pointed to by
-.IR "sigev_notify_function"
-.
-.TP
-.IR "int aio_lio_opcode"
-This element is only used by the 
-.IR "lio_listio"
-and
-.IR "lio_listio64"
-functions.  Since these functions allow an
-arbitrary number of operations to start at once, and since each operation can be
-input or output (or nothing), the information must be stored in the
-control block.  See the description of 
-.IR "struct aiocb"
-for a description
-of the possible values.
-.PP
-When the sources are compiled using 
-.B "_FILE_OFFSET_BITS == 64"
-on a
-32 bit machine, this type is available under the name 
-.IR "struct aiocb64"
-, since the LFS transparently replaces the old interface.
-.SH "RETURN VALUES"
-.SH ERRORS
-.SH "SEE ALSO"
-.BR aio_cancel(3),
-.BR aio_cancel64(3),
-.BR aio_error(3),
-.BR aio_error64(3),
-.BR aio_fsync(3),
-.BR aio_fsync64(3),
-.BR aio_init(3),
-.BR aio_read(3),
-.BR aio_read64(3),
-.BR aio_return(3),
-.BR aio_return64(3),
-.BR aio_suspend(3),
-.BR aio_suspend64(3),
-.BR aio_write(3),
-.BR aio_write64(3),
-.BR errno(3),
diff --git a/tools/libaio/man/aio_cancel.3 b/tools/libaio/man/aio_cancel.3
deleted file mode 100644
index 502c83c..0000000
--- a/tools/libaio/man/aio_cancel.3
+++ /dev/null
@@ -1,137 +0,0 @@
-.TH aio_cancel 3 2002-09-12 "Linux 2.4" Linux AIO"
-.SH NAME
-aio_cancel - Cancel asynchronous I/O requests
-.SH SYNOPSYS
-.nf
-.B #include <errno.h>
-.sp
-.br 
-.B #include <aio.h>
-.sp
-.br
-.BI "int aio_cancel (int fildes " , struct aiocb *aiocbp " )"
-.fi
-.SH DESCRIPTION
-When one or more requests are asynchronously processed, it might be
-useful in some situations to cancel a selected operation, e.g., if it
-becomes obvious that the written data is no longer accurate and would
-have to be overwritten soon.  As an example, assume an application, which
-writes data in files in a situation where new incoming data would have
-to be written in a file which will be updated by an enqueued request.
-The POSIX AIO implementation provides such a function, but this function
-is not capable of forcing the cancellation of the request.  It is up to the
-implementation to decide whether it is possible to cancel the operation
-or not.  Therefore using this function is merely a hint.
-.B "The libaio implementation does not implement the cancel operation in the"
-.B "POSIX libraries".
-.PP
-The 
-.IR aio_cancel
-function can be used to cancel one or more
-outstanding requests.  If the 
-.IR aiocbp 
-parameter is 
-.IR NULL
-, the
-function tries to cancel all of the outstanding requests which would process
-the file descriptor 
-.IR fildes 
-(i.e., whose 
-.IR aio_fildes 
-member
-is 
-.IR fildes
-).  If 
-.IR aiocbp is not 
-.IR  NULL
-,
-.IR aio_cancel
-attempts to cancel the specific request pointed to by 
-.IR aiocbp.
-
-For requests which were successfully canceled, the normal notification
-about the termination of the request should take place.  I.e., depending
-on the 
-.IR "struct sigevent" 
-object which controls this, nothing
-happens, a signal is sent or a thread is started.  If the request cannot
-be canceled, it terminates the usual way after performing the operation.
-After a request is successfully canceled, a call to 
-.IR aio_error
-with
-a reference to this request as the parameter will return
-.B ECANCELED
-and a call to 
-.IR aio_return
-will return 
-.IR -1.
-If the request wasn't canceled and is still running the error status is
-still 
-.B EINPROGRESS.
-When the sources are compiled with 
-.IR "_FILE_OFFSET_BITS == 64"
-, this
-function is in fact 
-.IR aio_cancel64
-since the LFS interface
-transparently replaces the normal implementation.
-
-.SH "RETURN VALUES"
-.TP
-.B AIO_CANCELED
-If there were
-requests which haven't terminated and which were successfully canceled.
-.TP
-.B AIO_NOTCANCELED
-If there is one or more requests left which couldn't be canceled,
-.  In this case
-.IR aio_error
-must be used to find out which of the, perhaps multiple, requests (in
-.IR aiocbp
-is 
-.IR NULL
-) weren't successfully canceled.  
-.TP
-.B AIO_ALLDONE
-If all
-requests already terminated at the time 
-.IR aio_cancel 
-is called the
-return value is 
-.
-.SH ERRORS
-If an error occurred during the execution of 
-.IR aio_cancel 
-the
-function returns 
-.IR -1
-and sets 
-.IR errno
-to one of the following
-values.
-.TP
-.B EBADF
-The file descriptor 
-.IR fildes
-is not valid.
-.TP
-.B ENOSYS
-.IR aio_cancel
-is not implemented.
-.SH "SEE ALSO"
-.BR aio(3),
-.BR aio_cancel64(3),
-.BR aio_error(3),
-.BR aio_error64(3),
-.BR aio_fsync(3),
-.BR aio_fsync64(3),
-.BR aio_init(3),
-.BR aio_read(3),
-.BR aio_read64(3),
-.BR aio_return(3),
-.BR aio_return64(3),
-.BR aio_suspend(3),
-.BR aio_suspend64(3),
-.BR aio_write(3),
-.BR aio_write64(3),
-.BR errno(3),
diff --git a/tools/libaio/man/aio_cancel64.3 b/tools/libaio/man/aio_cancel64.3
deleted file mode 100644
index ede775b..0000000
--- a/tools/libaio/man/aio_cancel64.3
+++ /dev/null
@@ -1,50 +0,0 @@
-.TH aio_cancel64 3 2002-09-12 "Linux 2.4" Linux AIO"
-.SH NAME
-aio_cancel64 \- Cancel asynchronous I/O requests
-.SH SYNOPSYS
-.nf
-.B #include <errno.h>
-.sp
-.br 
-.B #include <aio.h>
-.sp
-.br
-.BI "int aio_cancel64 (int fildes, struct aiocb64 *aiocbp)"
-.fi
-.SH DESCRIPTION
-This function is similar to 
-.IR aio_cancel
-with the only difference
-that the argument is a reference to a variable of type 
-.IR struct aiocb64
-.
-
-When the sources are compiled with 
-.IR _FILE_OFFSET_BITS == 64
-, this
-function is available under the name 
-.IR aio_cancel
-and so
-transparently replaces the interface for small files on 32 bit
-machines.
-.SH "RETURN VALUES"
-See aio_cancel(3).
-.SH ERRORS
-See aio_cancel(3).
-.SH "SEE ALSO"
-.BR aio(3),
-.BR aio_cancel(3),
-.BR aio_error(3),
-.BR aio_error64(3),
-.BR aio_fsync(3),
-.BR aio_fsync64(3),
-.BR aio_init(3),
-.BR aio_read(3),
-.BR aio_read64(3),
-.BR aio_return(3),
-.BR aio_return64(3),
-.BR aio_suspend(3),
-.BR aio_suspend64(3),
-.BR aio_write(3),
-.BR aio_write64(3),
-.BR errno(3),
diff --git a/tools/libaio/man/aio_error.3 b/tools/libaio/man/aio_error.3
deleted file mode 100644
index 12b82cf..0000000
--- a/tools/libaio/man/aio_error.3
+++ /dev/null
@@ -1,81 +0,0 @@
-.TH aio_error 3 2002-09-12 "Linux 2.4" Linux AIO"
-.SH NAME
-aio_error \- Getting the Status of AIO Operations
-.SH SYNOPSYS
-.nf
-.B #include <errno.h>
-.sp
-.br 
-.B #include <aio.h>
-.sp
-.br
-.BI "int aio_error (const struct aiocb *aiocbp)"
-.fi
-.SH DESCRIPTION
-The function
-.IR aio_error
-determines the error state of the request described by the
-.IR "struct aiocb"
-variable pointed to by 
-.I aiocbp
-. 
-
-When the operation is performed truly asynchronously (as with
-.IR "aio_read"
-and 
-.IR "aio_write"
-and with 
-.IR "lio_listio"
-when the mode is 
-.IR "LIO_NOWAIT"
-), one sometimes needs to know whether a
-specific request already terminated and if so, what the result was.
-When the sources are compiled with 
-.IR "_FILE_OFFSET_BITS == 64"
-this function is in fact 
-.IR "aio_error64"
-since the LFS interface transparently replaces the normal implementation.
-.SH "RETURN VALUES"
-If the request has not yet terminated the value returned is always
-.IR "EINPROGRESS"
-.  Once the request has terminated the value
-.IR "aio_error"
-returns is either 
-.I 0
-if the request completed successfully or it returns the value which would be stored in the
-.IR "errno"
-variable if the request would have been done using
-.IR "read"
-, 
-.IR "write"
-, or 
-.IR "fsync"
-.
-.SH ERRORS
-.TP
-.IR "ENOSYS"
-if it is not implemented.  It
-could also return 
-.TP
-.IR "EINVAL"
-if the 
-.I aiocbp
-parameter does not
-refer to an asynchronous operation whose return status is not yet known.
-.SH "SEE ALSO"
-.BR aio(3),
-.BR aio_cancel(3),
-.BR aio_cancel64(3),
-.BR aio_error64(3),
-.BR aio_fsync(3),
-.BR aio_fsync64(3),
-.BR aio_init(3),
-.BR aio_read(3),
-.BR aio_read64(3),
-.BR aio_return(3),
-.BR aio_return64(3),
-.BR aio_suspend(3),
-.BR aio_suspend64(3),
-.BR aio_write(3),
-.BR aio_write64(3),
-.BR errno(3),
diff --git a/tools/libaio/man/aio_error64.3 b/tools/libaio/man/aio_error64.3
deleted file mode 100644
index 3333161..0000000
--- a/tools/libaio/man/aio_error64.3
+++ /dev/null
@@ -1,64 +0,0 @@
-.TH aio_error64 3 2002-09-12 "Linux 2.4" Linux AIO"
-.SH NAME
-aio_error64 \- Return errors
-.SH SYNOPSYS
-.nf
-.B #include <errno.h>
-.sp
-.br 
-.B #include <aio.h>
-.sp
-.br
-.BI "int aio_error64 (const struct aiocb64 *aiocbp)"
-.fi
-.SH DESCRIPTION
-This function is similar to 
-.IR aio_error
-with the only difference
-that the argument is a reference to a variable of type 
-.IR "struct aiocb64".
-.PP
-When the sources are compiled with 
-.IR "_FILE_OFFSET_BITS == 64"
-this
-function is available under the name 
-.IR aio_error
-and so
-transparently replaces the interface for small files on 32 bit
-machines.
-.SH "RETURN VALUES"
-If the request has not yet terminated the value returned is always
-.IR "EINPROGRESS"
-.  Once the request has terminated the value
-.IR "aio_error"
-returns is either 
-.I 0
-if the request completed successfully or it returns the value which would be stored in the
-.IR "errno"
-variable if the request would have been done using
-.IR "read"
-, 
-.IR "write"
-, or 
-.IR "fsync"
-.
-.SH ERRORS
-See 
-.IR aio_error(3).
-.SH "SEE ALSO"
-.BR aio(3),
-.BR aio_cancel(3),
-.BR aio_cancel64(3),
-.BR aio_error(3),
-.BR aio_fsync(3),
-.BR aio_fsync64(3),
-.BR aio_init(3),
-.BR aio_read(3),
-.BR aio_read64(3),
-.BR aio_return(3),
-.BR aio_return64(3),
-.BR aio_suspend(3),
-.BR aio_suspend64(3),
-.BR aio_write(3),
-.BR aio_write64(3),
-.BR errno(3),
diff --git a/tools/libaio/man/aio_fsync.3 b/tools/libaio/man/aio_fsync.3
deleted file mode 100644
index 637f0f6..0000000
--- a/tools/libaio/man/aio_fsync.3
+++ /dev/null
@@ -1,139 +0,0 @@
-.TH aio_fsync 3 2002-09-12 "Linux 2.4" Linux AIO"
-.SH NAME
-aio_fsync \- Synchronize a file's complete in-core state with that on disk
-.SH SYNOPSYS
-.nf
-.B #include <errno.h>
-.sp
-.br 
-.B #include <aio.h>
-.sp
-.br
-.BI "int aio_fsync (int op, struct aiocb aiocbp)"
-.fi
-.SH DESCRIPTION
-.PP
-When dealing with asynchronous operations it is sometimes necessary to
-get into a consistent state.  This would mean for AIO that one wants to
-know whether a certain request or a group of request were processed.
-This could be done by waiting for the notification sent by the system
-after the operation terminated, but this sometimes would mean wasting
-resources (mainly computation time).  Instead POSIX.1b defines two
-functions which will help with most kinds of consistency.
-.PP
-The
-.IR aio_fsync
-and 
-.IR "aio_fsync64"
-functions are only available
-if the symbol 
-.IR "_POSIX_SYNCHRONIZED_IO"
-is defined in 
-.I unistd.h
-.
-
-Calling this function forces all I/O operations operating queued at the
-time of the function call operating on the file descriptor
-.IR "aiocbp->aio_fildes"
-into the synchronized I/O completion state .  The 
-.IR "aio_fsync"
-function returns
-immediately but the notification through the method described in
-.IR "aiocbp->aio_sigevent"
-will happen only after all requests for this
-file descriptor have terminated and the file is synchronized.  This also
-means that requests for this very same file descriptor which are queued
-after the synchronization request are not affected.
-
-If 
-.IR "op"
-is 
-.IR "O_DSYNC"
-the synchronization happens as with a call
-to 
-.IR "fdatasync"
-.  Otherwise 
-.IR "op"
-should be 
-.IR "O_SYNC"
-and
-the synchronization happens as with 
-.IR "fsync"
-.
-
-As long as the synchronization has not happened, a call to
-.IR "aio_error"
-with the reference to the object pointed to by
-.IR "aiocbp"
-returns 
-.IR "EINPROGRESS"
-.  Once the synchronization is
-done 
-.IR "aio_error"
-return 
-.IR 0
-if the synchronization was not
-successful.  Otherwise the value returned is the value to which the
-.IR "fsync"
-or 
-.IR "fdatasync"
-function would have set the
-.IR "errno"
-variable.  In this case nothing can be assumed about the
-consistency for the data written to this file descriptor.
-
-.SH "RETURN VALUES"
-The return value of this function is 
-.IR 0
-if the request was
-successfully enqueued.  Otherwise the return value is 
-.IR -1
-and
-.IR "errno".
-.SH ERRORS
-.TP
-.B EAGAIN
-The request could not be enqueued due to temporary lack of resources.
-.TP
-.B EBADF
-The file descriptor 
-.IR "aiocbp->aio_fildes"
-is not valid or not open
-for writing.
-.TP
-.B EINVAL
-The implementation does not support I/O synchronization or the 
-.IR "op"
-parameter is other than 
-.IR "O_DSYNC"
-and 
-.IR "O_SYNC"
-.
-.TP
-.B ENOSYS
-This function is not implemented.
-.PP
-When the sources are compiled with 
-.IR "_FILE_OFFSET_BITS == 64"
- this
-function is in fact 
-.IR "aio_return64"
-since the LFS interface
-transparently replaces the normal implementation.
-.SH "SEE ALSO"
-.BR aio(3),
-.BR aio_cancel(3),
-.BR aio_cancel64(3),
-.BR aio_error(3),
-.BR aio_error64(3),
-.BR aio_fsync64(3),
-.BR aio_init(3),
-.BR aio_read(3),
-.BR aio_read64(3),
-.BR aio_return(3),
-.BR aio_return64(3),
-.BR aio_suspend(3),
-.BR aio_suspend64(3),
-.BR aio_write(3),
-.BR aio_write64(3),
-.BR errno(3),
diff --git a/tools/libaio/man/aio_fsync64.3 b/tools/libaio/man/aio_fsync64.3
deleted file mode 100644
index 5dce22d..0000000
--- a/tools/libaio/man/aio_fsync64.3
+++ /dev/null
@@ -1,51 +0,0 @@
-.TH aio_fsync64 3 2002-09-12 "Linux 2.4" Linux AIO"
-.SH NAME
-aio_fsync64 \- Synchronize a file's complete in-core state with that on disk
-.SH SYNOPSYS
-.nf
-.B #include <errno.h>
-.sp
-.br 
-.B #include <aio.h>
-.sp
-.br
-.BI "int aio_fsync64 (int op, struct aiocb64 *aiocbp)"
-.fi
-.SH DESCRIPTION
-This function is similar to 
-.IR aio_fsync
-with the only difference
-that the argument is a reference to a variable of type 
-.IR "struct aiocb64".
-
-When the sources are compiled with 
-.IR "_FILE_OFFSET_BITS == 64"
-this
-function is available under the name 
-.IR aio_fsync
-and so
-transparently replaces the interface for small files on 32 bit
-machines.
-.SH "RETURN VALUES"
-See 
-.IR aio_fsync.
-.SH ERRORS
-See 
-.IR aio_fsync.
-.SH "SEE ALSO"
-.BR aio(3),
-.BR aio_cancel(3),
-.BR aio_cancel64(3),
-.BR aio_error(3),
-.BR aio_error64(3),
-.BR aio_fsync(3),

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:45:51 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:45:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzMk-0002Xi-CF; Wed, 21 Aug 2013 03:45:50 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzMi-0002XO-4y
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:45:48 +0000
Received: from [85.158.143.35:47581] by server-2.bemta-4.messagelabs.com id
	71/D7-26052-BE734125; Wed, 21 Aug 2013 03:45:47 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1377056741!5512609!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9459 invoked from network); 21 Aug 2013 03:45:42 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-15.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:45:42 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzMb-0004Ck-Av
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:45:41 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzMb-0004Z9-8l
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:45:41 +0000
Date: Wed, 21 Aug 2013 03:45:41 +0000
Message-Id: <E1VBzMb-0004Z9-8l@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] tools: remove in tree libaio
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 3d4678108a2157db6ae8c290897f67aaed14cdfa
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed Jul 31 16:15:51 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:34:03 2013 +0100

    tools: remove in tree libaio
    
    We have defaulted to using the system libaio for a while now and I din't think
    there are any relevant distros which don't have it that running Xen 4.4 would
    be reasonable on.
    
    Also it has caused confusion because it is not ever wanted on ARM, but the
    build system doesn't express that (could be fixed, but deleting is the right
    thing to do anyway).
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Matt Wilson <msw@amazon.com>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 .gitignore                              |    2 -
 .hgignore                               |    2 -
 README                                  |    2 +-
 config/Tools.mk.in                      |    1 -
 tools/Makefile                          |    6 -
 tools/blktap/drivers/Makefile           |    6 -
 tools/blktap2/drivers/Makefile          |    7 -
 tools/config.h.in                       |    3 +
 tools/configure                         |    9 +-
 tools/configure.ac                      |    2 +-
 tools/libaio/COPYING                    |  515 -------------------------------
 tools/libaio/ChangeLog                  |   43 ---
 tools/libaio/INSTALL                    |   18 -
 tools/libaio/Makefile                   |   40 ---
 tools/libaio/TODO                       |    4 -
 tools/libaio/harness/Makefile           |   37 ---
 tools/libaio/harness/README             |   19 --
 tools/libaio/harness/attic/0.t          |    9 -
 tools/libaio/harness/attic/1.t          |    9 -
 tools/libaio/harness/cases/10.t         |   53 ----
 tools/libaio/harness/cases/11.t         |   39 ---
 tools/libaio/harness/cases/12.t         |   49 ---
 tools/libaio/harness/cases/13.t         |   66 ----
 tools/libaio/harness/cases/14.t         |   90 ------
 tools/libaio/harness/cases/2.t          |   41 ---
 tools/libaio/harness/cases/3.t          |   25 --
 tools/libaio/harness/cases/4.t          |   72 -----
 tools/libaio/harness/cases/5.t          |   47 ---
 tools/libaio/harness/cases/6.t          |   57 ----
 tools/libaio/harness/cases/7.t          |   27 --
 tools/libaio/harness/cases/8.t          |   49 ---
 tools/libaio/harness/cases/aio_setup.h  |   98 ------
 tools/libaio/harness/cases/common-7-8.h |   37 ---
 tools/libaio/harness/main.c             |   39 ---
 tools/libaio/harness/runtests.sh        |   19 --
 tools/libaio/libaio.spec                |  187 -----------
 tools/libaio/man/aio.3                  |  315 -------------------
 tools/libaio/man/aio_cancel.3           |  137 --------
 tools/libaio/man/aio_cancel64.3         |   50 ---
 tools/libaio/man/aio_error.3            |   81 -----
 tools/libaio/man/aio_error64.3          |   64 ----
 tools/libaio/man/aio_fsync.3            |  139 ---------
 tools/libaio/man/aio_fsync64.3          |   51 ---
 tools/libaio/man/aio_init.3             |   96 ------
 tools/libaio/man/aio_read.3             |  146 ---------
 tools/libaio/man/aio_read64.3           |   60 ----
 tools/libaio/man/aio_return.3           |   71 -----
 tools/libaio/man/aio_return64.3         |   51 ---
 tools/libaio/man/aio_suspend.3          |  123 --------
 tools/libaio/man/aio_suspend64.3        |   51 ---
 tools/libaio/man/aio_write.3            |  176 -----------
 tools/libaio/man/aio_write64.3          |   61 ----
 tools/libaio/man/io.3                   |  351 ---------------------
 tools/libaio/man/io_cancel.1            |   21 --
 tools/libaio/man/io_cancel.3            |   65 ----
 tools/libaio/man/io_destroy.1           |   17 -
 tools/libaio/man/io_fsync.3             |   82 -----
 tools/libaio/man/io_getevents.1         |   29 --
 tools/libaio/man/io_getevents.3         |   79 -----
 tools/libaio/man/io_prep_fsync.3        |   89 ------
 tools/libaio/man/io_prep_pread.3        |   79 -----
 tools/libaio/man/io_prep_pwrite.3       |   77 -----
 tools/libaio/man/io_queue_init.3        |   63 ----
 tools/libaio/man/io_queue_release.3     |   48 ---
 tools/libaio/man/io_queue_run.3         |   50 ---
 tools/libaio/man/io_queue_wait.3        |   56 ----
 tools/libaio/man/io_set_callback.3      |   44 ---
 tools/libaio/man/io_setup.1             |   15 -
 tools/libaio/man/io_submit.1            |  109 -------
 tools/libaio/man/io_submit.3            |  135 --------
 tools/libaio/man/lio_listio.3           |  229 --------------
 tools/libaio/man/lio_listio64.3         |   39 ---
 tools/libaio/src/Makefile               |   67 ----
 tools/libaio/src/compat-0_1.c           |   62 ----
 tools/libaio/src/io_cancel.c            |   23 --
 tools/libaio/src/io_destroy.c           |   23 --
 tools/libaio/src/io_getevents.c         |   57 ----
 tools/libaio/src/io_queue_init.c        |   33 --
 tools/libaio/src/io_queue_release.c     |   27 --
 tools/libaio/src/io_queue_run.c         |   39 ---
 tools/libaio/src/io_queue_wait.c        |   31 --
 tools/libaio/src/io_setup.c             |   23 --
 tools/libaio/src/io_submit.c            |   23 --
 tools/libaio/src/libaio.h               |  222 -------------
 tools/libaio/src/libaio.map             |   22 --
 tools/libaio/src/raw_syscall.c          |   19 --
 tools/libaio/src/syscall-alpha.h        |  209 -------------
 tools/libaio/src/syscall-i386.h         |   72 -----
 tools/libaio/src/syscall-ppc.h          |   98 ------
 tools/libaio/src/syscall-s390.h         |  131 --------
 tools/libaio/src/syscall-x86_64.h       |   63 ----
 tools/libaio/src/syscall.h              |   27 --
 tools/libaio/src/vsys_def.h             |   24 --
 93 files changed, 12 insertions(+), 6361 deletions(-)

diff --git a/.gitignore b/.gitignore
index 960c29e..62462b4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -208,8 +208,6 @@ tools/libxl/testenum.c
 tools/libxl/tmp.*
 tools/libxl/_libxl.api-for-check
 tools/libxl/*.api-ok
-tools/libaio/src/*.ol
-tools/libaio/src/*.os
 tools/misc/cpuperf/cpuperf-perfcntr
 tools/misc/cpuperf/cpuperf-xen
 tools/misc/lomount/lomount
diff --git a/.hgignore b/.hgignore
index f3877a9..9822a8d 100644
--- a/.hgignore
+++ b/.hgignore
@@ -201,8 +201,6 @@
 ^tools/libxl/_libxl\.api-for-check
 ^tools/libxl/libxl\.api-ok
 ^tools/libvchan/vchan-node[12]$
-^tools/libaio/src/.*\.ol$
-^tools/libaio/src/.*\.os$
 ^tools/misc/cpuperf/cpuperf-perfcntr$
 ^tools/misc/cpuperf/cpuperf-xen$
 ^tools/misc/lomount/lomount$
diff --git a/README b/README
index 9f6c9f5..8689ce1 100644
--- a/README
+++ b/README
@@ -51,7 +51,7 @@ provided by your OS distributor:
     * Development install of uuid (e.g. uuid-dev)
     * Development install of yajl (e.g. libyajl-dev)
     * Development install of libaio (e.g. libaio-dev) version 0.3.107 or
-      greater. Set CONFIG_SYSTEM_LIBAIO in .config if this is not available.
+      greater.
     * Development install of GLib v2.0 (e.g. libglib2.0-dev)
     * Development install of Pixman (e.g. libpixman-1-dev)
     * pkg-config
diff --git a/config/Tools.mk.in b/config/Tools.mk.in
index ef41c2a..bb3acbd 100644
--- a/config/Tools.mk.in
+++ b/config/Tools.mk.in
@@ -55,7 +55,6 @@ CONFIG_SEABIOS      := @seabios@
 CONFIG_XEND         := @xend@
 
 #System options
-CONFIG_SYSTEM_LIBAIO:= @system_aio@
 ZLIB                := @zlib@
 CONFIG_LIBICONV     := @libiconv@
 CONFIG_GCRYPT       := @libgcrypt@
diff --git a/tools/Makefile b/tools/Makefile
index 6791829..553aa33 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -1,10 +1,6 @@
 XEN_ROOT = $(CURDIR)/..
 include $(XEN_ROOT)/tools/Rules.mk
 
-ifneq ($(CONFIG_SYSTEM_LIBAIO),y)
-SUBDIRS-libaio := libaio
-endif
-
 SUBDIRS-y :=
 SUBDIRS-y += include
 SUBDIRS-y += libxc
@@ -19,13 +15,11 @@ SUBDIRS-$(CONFIG_X86) += firmware
 SUBDIRS-y += console
 SUBDIRS-y += xenmon
 SUBDIRS-y += xenstat
-SUBDIRS-$(CONFIG_Linux) += $(SUBDIRS-libaio)
 SUBDIRS-$(CONFIG_Linux) += memshr 
 ifeq ($(CONFIG_X86),y)
 SUBDIRS-$(CONFIG_Linux) += blktap
 endif
 SUBDIRS-$(CONFIG_Linux) += blktap2
-SUBDIRS-$(CONFIG_NetBSD) += $(SUBDIRS-libaio)
 SUBDIRS-$(CONFIG_NetBSD) += blktap2
 SUBDIRS-$(CONFIG_NetBSD) += xenbackendd
 SUBDIRS-y += libfsimage
diff --git a/tools/blktap/drivers/Makefile b/tools/blktap/drivers/Makefile
index 941592e..7461a95 100644
--- a/tools/blktap/drivers/Makefile
+++ b/tools/blktap/drivers/Makefile
@@ -27,13 +27,7 @@ CFLAGS += -I $(MEMSHR_DIR)
 MEMSHRLIBS += $(MEMSHR_DIR)/libmemshr.a
 endif
 
-ifneq ($(CONFIG_SYSTEM_LIBAIO),y)
-LIBAIO_DIR   = ../../libaio/src
-CFLAGS      += -I $(LIBAIO_DIR)
-AIOLIBS     := $(LIBAIO_DIR)/libaio.a
-else
 AIOLIBS     := -laio
-endif
 
 CFLAGS += $(PTHREAD_CFLAGS)
 LDFLAGS += $(PTHREAD_LDFLAGS)
diff --git a/tools/blktap2/drivers/Makefile b/tools/blktap2/drivers/Makefile
index f47abb3..5c6ab6a 100644
--- a/tools/blktap2/drivers/Makefile
+++ b/tools/blktap2/drivers/Makefile
@@ -28,14 +28,7 @@ REMUS-OBJS  += hashtable.o
 REMUS-OBJS  += hashtable_itr.o
 REMUS-OBJS  += hashtable_utility.o
 
-ifneq ($(CONFIG_SYSTEM_LIBAIO),y)
-CFLAGS    += -I $(LIBAIO_DIR)
-LIBAIO_DIR = $(XEN_ROOT)/tools/libaio/src
-tapdisk2 tapdisk-stream tapdisk-diff $(QCOW_UTIL): AIOLIBS := $(LIBAIO_DIR)/libaio.a 
-tapdisk-client tapdisk-stream tapdisk-diff $(QCOW_UTIL): CFLAGS  += -I$(LIBAIO_DIR)
-else
 tapdisk2 tapdisk-stream tapdisk-diff $(QCOW_UTIL): AIOLIBS := -laio
-endif
 
 MEMSHRLIBS :=
 ifeq ($(CONFIG_Linux), __fixme__)
diff --git a/tools/config.h.in b/tools/config.h.in
index a67910b..8bda0bd 100644
--- a/tools/config.h.in
+++ b/tools/config.h.in
@@ -3,6 +3,9 @@
 /* Define to 1 if you have the <inttypes.h> header file. */
 #undef HAVE_INTTYPES_H
 
+/* Define to 1 if you have the `aio' library (-laio). */
+#undef HAVE_LIBAIO
+
 /* Define to 1 if you have the `crypto' library (-lcrypto). */
 #undef HAVE_LIBCRYPTO
 
diff --git a/tools/configure b/tools/configure
index 6e2f758..b52dd2a 100755
--- a/tools/configure
+++ b/tools/configure
@@ -7375,9 +7375,14 @@ fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_aio_io_setup" >&5
 $as_echo "$ac_cv_lib_aio_io_setup" >&6; }
 if test "x$ac_cv_lib_aio_io_setup" = x""yes; then :
-  system_aio="y"
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBAIO 1
+_ACEOF
+
+  LIBS="-laio $LIBS"
+
 else
-  system_aio="n"
+  as_fn_error $? "Could not find libaio" "$LINENO" 5
 fi
 
 
diff --git a/tools/configure.ac b/tools/configure.ac
index d6eba44..f629318 100644
--- a/tools/configure.ac
+++ b/tools/configure.ac
@@ -155,7 +155,7 @@ AC_CHECK_HEADER([lzo/lzo1x.h], [
 AC_CHECK_LIB([lzo2], [lzo1x_decompress], [zlib="$zlib -DHAVE_LZO1X -llzo2"])
 ])
 AC_SUBST(zlib)
-AC_CHECK_LIB([aio], [io_setup], [system_aio="y"], [system_aio="n"])
+AC_CHECK_LIB([aio], [io_setup], [], [AC_MSG_ERROR([Could not find libaio])])
 AC_SUBST(system_aio)
 AC_CHECK_LIB([crypto], [MD5], [], [AC_MSG_ERROR([Could not find libcrypto])])
 AX_CHECK_EXTFS
diff --git a/tools/libaio/COPYING b/tools/libaio/COPYING
deleted file mode 100644
index c4792dd..0000000
--- a/tools/libaio/COPYING
+++ /dev/null
@@ -1,515 +0,0 @@
-
-                  GNU LESSER GENERAL PUBLIC LICENSE
-                       Version 2.1, February 1999
-
- Copyright (C) 1991, 1999 Free Software Foundation, Inc.
-     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-[This is the first released version of the Lesser GPL.  It also counts
- as the successor of the GNU Library Public License, version 2, hence
- the version number 2.1.]
-
-                            Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-Licenses are intended to guarantee your freedom to share and change
-free software--to make sure the software is free for all its users.
-
-  This license, the Lesser General Public License, applies to some
-specially designated software packages--typically libraries--of the
-Free Software Foundation and other authors who decide to use it.  You
-can use it too, but we suggest you first think carefully about whether
-this license or the ordinary General Public License is the better
-strategy to use in any particular case, based on the explanations
-below.
-
-  When we speak of free software, we are referring to freedom of use,
-not price.  Our General Public Licenses are designed to make sure that
-you have the freedom to distribute copies of free software (and charge
-for this service if you wish); that you receive source code or can get
-it if you want it; that you can change the software and use pieces of
-it in new free programs; and that you are informed that you can do
-these things.
-
-  To protect your rights, we need to make restrictions that forbid
-distributors to deny you these rights or to ask you to surrender these
-rights.  These restrictions translate to certain responsibilities for
-you if you distribute copies of the library or if you modify it.
-
-  For example, if you distribute copies of the library, whether gratis
-or for a fee, you must give the recipients all the rights that we gave
-you.  You must make sure that they, too, receive or can get the source
-code.  If you link other code with the library, you must provide
-complete object files to the recipients, so that they can relink them
-with the library after making changes to the library and recompiling
-it.  And you must show them these terms so they know their rights.
-
-  We protect your rights with a two-step method: (1) we copyright the
-library, and (2) we offer you this license, which gives you legal
-permission to copy, distribute and/or modify the library.
-
-  To protect each distributor, we want to make it very clear that
-there is no warranty for the free library.  Also, if the library is
-modified by someone else and passed on, the recipients should know
-that what they have is not the original version, so that the original
-author's reputation will not be affected by problems that might be
-introduced by others.
-^L
-  Finally, software patents pose a constant threat to the existence of
-any free program.  We wish to make sure that a company cannot
-effectively restrict the users of a free program by obtaining a
-restrictive license from a patent holder.  Therefore, we insist that
-any patent license obtained for a version of the library must be
-consistent with the full freedom of use specified in this license.
-
-  Most GNU software, including some libraries, is covered by the
-ordinary GNU General Public License.  This license, the GNU Lesser
-General Public License, applies to certain designated libraries, and
-is quite different from the ordinary General Public License.  We use
-this license for certain libraries in order to permit linking those
-libraries into non-free programs.
-
-  When a program is linked with a library, whether statically or using
-a shared library, the combination of the two is legally speaking a
-combined work, a derivative of the original library.  The ordinary
-General Public License therefore permits such linking only if the
-entire combination fits its criteria of freedom.  The Lesser General
-Public License permits more lax criteria for linking other code with
-the library.
-
-  We call this license the "Lesser" General Public License because it
-does Less to protect the user's freedom than the ordinary General
-Public License.  It also provides other free software developers Less
-of an advantage over competing non-free programs.  These disadvantages
-are the reason we use the ordinary General Public License for many
-libraries.  However, the Lesser license provides advantages in certain
-special circumstances.
-
-  For example, on rare occasions, there may be a special need to
-encourage the widest possible use of a certain library, so that it
-becomes
-a de-facto standard.  To achieve this, non-free programs must be
-allowed to use the library.  A more frequent case is that a free
-library does the same job as widely used non-free libraries.  In this
-case, there is little to gain by limiting the free library to free
-software only, so we use the Lesser General Public License.
-
-  In other cases, permission to use a particular library in non-free
-programs enables a greater number of people to use a large body of
-free software.  For example, permission to use the GNU C Library in
-non-free programs enables many more people to use the whole GNU
-operating system, as well as its variant, the GNU/Linux operating
-system.
-
-  Although the Lesser General Public License is Less protective of the
-users' freedom, it does ensure that the user of a program that is
-linked with the Library has the freedom and the wherewithal to run
-that program using a modified version of the Library.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.  Pay close attention to the difference between a
-"work based on the library" and a "work that uses the library".  The
-former contains code derived from the library, whereas the latter must
-be combined with the library in order to run.
-^L
-                  GNU LESSER GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License Agreement applies to any software library or other
-program which contains a notice placed by the copyright holder or
-other authorized party saying it may be distributed under the terms of
-this Lesser General Public License (also called "this License").
-Each licensee is addressed as "you".
-
-  A "library" means a collection of software functions and/or data
-prepared so as to be conveniently linked with application programs
-(which use some of those functions and data) to form executables.
-
-  The "Library", below, refers to any such software library or work
-which has been distributed under these terms.  A "work based on the
-Library" means either the Library or any derivative work under
-copyright law: that is to say, a work containing the Library or a
-portion of it, either verbatim or with modifications and/or translated
-straightforwardly into another language.  (Hereinafter, translation is
-included without limitation in the term "modification".)
-
-  "Source code" for a work means the preferred form of the work for
-making modifications to it.  For a library, complete source code means
-all the source code for all modules it contains, plus any associated
-interface definition files, plus the scripts used to control
-compilation
-and installation of the library.
-
-  Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running a program using the Library is not restricted, and output from
-such a program is covered only if its contents constitute a work based
-on the Library (independent of the use of the Library in a tool for
-writing it).  Whether that is true depends on what the Library does
-and what the program that uses the Library does.
-
-  1. You may copy and distribute verbatim copies of the Library's
-complete source code as you receive it, in any medium, provided that
-you conspicuously and appropriately publish on each copy an
-appropriate copyright notice and disclaimer of warranty; keep intact
-all the notices that refer to this License and to the absence of any
-warranty; and distribute a copy of this License along with the
-Library.
-
-  You may charge a fee for the physical act of transferring a copy,
-and you may at your option offer warranty protection in exchange for a
-fee.
-
-  2. You may modify your copy or copies of the Library or any portion
-of it, thus forming a work based on the Library, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) The modified work must itself be a software library.
-
-    b) You must cause the files modified to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    c) You must cause the whole of the work to be licensed at no
-    charge to all third parties under the terms of this License.
-
-    d) If a facility in the modified Library refers to a function or a
-    table of data to be supplied by an application program that uses
-    the facility, other than as an argument passed when the facility
-    is invoked, then you must make a good faith effort to ensure that,
-    in the event an application does not supply such function or
-    table, the facility still operates, and performs whatever part of
-    its purpose remains meaningful.
-
-    (For example, a function in a library to compute square roots has
-    a purpose that is entirely well-defined independent of the
-    application.  Therefore, Subsection 2d requires that any
-    application-supplied function or table used by this function must
-    be optional: if the application does not supply it, the square
-    root function must still compute square roots.)
-
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Library,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Library, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote
-it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Library.
-
-In addition, mere aggregation of another work not based on the Library
-with the Library (or with a work based on the Library) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may opt to apply the terms of the ordinary GNU General Public
-License instead of this License to a given copy of the Library.  To do
-this, you must alter all the notices that refer to this License, so
-that they refer to the ordinary GNU General Public License, version 2,
-instead of to this License.  (If a newer version than version 2 of the
-ordinary GNU General Public License has appeared, then you can specify
-that version instead if you wish.)  Do not make any other change in
-these notices.
-^L
-  Once this change is made in a given copy, it is irreversible for
-that copy, so the ordinary GNU General Public License applies to all
-subsequent copies and derivative works made from that copy.
-
-  This option is useful when you wish to copy part of the code of
-the Library into a program that is not a library.
-
-  4. You may copy and distribute the Library (or a portion or
-derivative of it, under Section 2) in object code or executable form
-under the terms of Sections 1 and 2 above provided that you accompany
-it with the complete corresponding machine-readable source code, which
-must be distributed under the terms of Sections 1 and 2 above on a
-medium customarily used for software interchange.
-
-  If distribution of object code is made by offering access to copy
-from a designated place, then offering equivalent access to copy the
-source code from the same place satisfies the requirement to
-distribute the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-  5. A program that contains no derivative of any portion of the
-Library, but is designed to work with the Library by being compiled or
-linked with it, is called a "work that uses the Library".  Such a
-work, in isolation, is not a derivative work of the Library, and
-therefore falls outside the scope of this License.
-
-  However, linking a "work that uses the Library" with the Library
-creates an executable that is a derivative of the Library (because it
-contains portions of the Library), rather than a "work that uses the
-library".  The executable is therefore covered by this License.
-Section 6 states terms for distribution of such executables.
-
-  When a "work that uses the Library" uses material from a header file
-that is part of the Library, the object code for the work may be a
-derivative work of the Library even though the source code is not.
-Whether this is true is especially significant if the work can be
-linked without the Library, or if the work is itself a library.  The
-threshold for this to be true is not precisely defined by law.
-
-  If such an object file uses only numerical parameters, data
-structure layouts and accessors, and small macros and small inline
-functions (ten lines or less in length), then the use of the object
-file is unrestricted, regardless of whether it is legally a derivative
-work.  (Executables containing this object code plus portions of the
-Library will still fall under Section 6.)
-
-  Otherwise, if the work is a derivative of the Library, you may
-distribute the object code for the work under the terms of Section 6.
-Any executables containing that work also fall under Section 6,
-whether or not they are linked directly with the Library itself.
-^L
-  6. As an exception to the Sections above, you may also combine or
-link a "work that uses the Library" with the Library to produce a
-work containing portions of the Library, and distribute that work
-under terms of your choice, provided that the terms permit
-modification of the work for the customer's own use and reverse
-engineering for debugging such modifications.
-
-  You must give prominent notice with each copy of the work that the
-Library is used in it and that the Library and its use are covered by
-this License.  You must supply a copy of this License.  If the work
-during execution displays copyright notices, you must include the
-copyright notice for the Library among them, as well as a reference
-directing the user to the copy of this License.  Also, you must do one
-of these things:
-
-    a) Accompany the work with the complete corresponding
-    machine-readable source code for the Library including whatever
-    changes were used in the work (which must be distributed under
-    Sections 1 and 2 above); and, if the work is an executable linked
-    with the Library, with the complete machine-readable "work that
-    uses the Library", as object code and/or source code, so that the
-    user can modify the Library and then relink to produce a modified
-    executable containing the modified Library.  (It is understood
-    that the user who changes the contents of definitions files in the
-    Library will not necessarily be able to recompile the application
-    to use the modified definitions.)
-
-    b) Use a suitable shared library mechanism for linking with the
-    Library.  A suitable mechanism is one that (1) uses at run time a
-    copy of the library already present on the user's computer system,
-    rather than copying library functions into the executable, and (2)
-    will operate properly with a modified version of the library, if
-    the user installs one, as long as the modified version is
-    interface-compatible with the version that the work was made with.
-
-    c) Accompany the work with a written offer, valid for at
-    least three years, to give the same user the materials
-    specified in Subsection 6a, above, for a charge no more
-    than the cost of performing this distribution.
-
-    d) If distribution of the work is made by offering access to copy
-    from a designated place, offer equivalent access to copy the above
-    specified materials from the same place.
-
-    e) Verify that the user has already received a copy of these
-    materials or that you have already sent this user a copy.
-
-  For an executable, the required form of the "work that uses the
-Library" must include any data and utility programs needed for
-reproducing the executable from it.  However, as a special exception,
-the materials to be distributed need not include anything that is
-normally distributed (in either source or binary form) with the major
-components (compiler, kernel, and so on) of the operating system on
-which the executable runs, unless that component itself accompanies
-the executable.
-
-  It may happen that this requirement contradicts the license
-restrictions of other proprietary libraries that do not normally
-accompany the operating system.  Such a contradiction means you cannot
-use both them and the Library together in an executable that you
-distribute.
-^L
-  7. You may place library facilities that are a work based on the
-Library side-by-side in a single library together with other library
-facilities not covered by this License, and distribute such a combined
-library, provided that the separate distribution of the work based on
-the Library and of the other library facilities is otherwise
-permitted, and provided that you do these two things:
-
-    a) Accompany the combined library with a copy of the same work
-    based on the Library, uncombined with any other library
-    facilities.  This must be distributed under the terms of the
-    Sections above.
-
-    b) Give prominent notice with the combined library of the fact
-    that part of it is a work based on the Library, and explaining
-    where to find the accompanying uncombined form of the same work.
-
-  8. You may not copy, modify, sublicense, link with, or distribute
-the Library except as expressly provided under this License.  Any
-attempt otherwise to copy, modify, sublicense, link with, or
-distribute the Library is void, and will automatically terminate your
-rights under this License.  However, parties who have received copies,
-or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.
-
-  9. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Library or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Library (or any work based on the
-Library), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Library or works based on it.
-
-  10. Each time you redistribute the Library (or any work based on the
-Library), the recipient automatically receives a license from the
-original licensor to copy, distribute, link with or modify the Library
-subject to these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties with
-this License.
-^L
-  11. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Library at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Library by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Library.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply, and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-  12. If the distribution and/or use of the Library is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Library under this License
-may add an explicit geographical distribution limitation excluding those
-countries, so that distribution is permitted only in or among
-countries not thus excluded.  In such case, this License incorporates
-the limitation as if written in the body of this License.
-
-  13. The Free Software Foundation may publish revised and/or new
-versions of the Lesser General Public License from time to time.
-Such new versions will be similar in spirit to the present version,
-but may differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Library
-specifies a version number of this License which applies to it and
-"any later version", you have the option of following the terms and
-conditions either of that version or of any later version published by
-the Free Software Foundation.  If the Library does not specify a
-license version number, you may choose any version ever published by
-the Free Software Foundation.
-^L
-  14. If you wish to incorporate parts of the Library into other free
-programs whose distribution conditions are incompatible with these,
-write to the author to ask for permission.  For software which is
-copyrighted by the Free Software Foundation, write to the Free
-Software Foundation; we sometimes make exceptions for this.  Our
-decision will be guided by the two goals of preserving the free status
-of all derivatives of our free software and of promoting the sharing
-and reuse of software generally.
-
-                            NO WARRANTY
-
-  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
-LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.
-
-                     END OF TERMS AND CONDITIONS
-^L
-           How to Apply These Terms to Your New Libraries
-
-  If you develop a new library, and you want it to be of the greatest
-possible use to the public, we recommend making it free software that
-everyone can redistribute and change.  You can do so by permitting
-redistribution under these terms (or, alternatively, under the terms
-of the ordinary General Public License).
-
-  To apply these terms, attach the following notices to the library.
-It is safest to attach them to the start of each source file to most
-effectively convey the exclusion of warranty; and each file should
-have at least the "copyright" line and a pointer to where the full
-notice is found.
-
-
-    <one line to give the library's name and a brief idea of what it
-does.>
-    Copyright (C) <year>  <name of author>
-
-    This library is free software; you can redistribute it and/or
-    modify it under the terms of the GNU Lesser General Public
-    License as published by the Free Software Foundation; either
-    version 2 of the License, or (at your option) any later version.
-
-    This library 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
-    Lesser General Public License for more details.
-
-    You should have received a copy of the GNU Lesser General Public
-    License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA
-
-Also add information on how to contact you by electronic and paper
-mail.
-
-You should also get your employer (if you work as a programmer) or
-your
-school, if any, to sign a "copyright disclaimer" for the library, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the
-  library `Frob' (a library for tweaking knobs) written by James
-Random Hacker.
-
-  <signature of Ty Coon>, 1 April 1990
-  Ty Coon, President of Vice
-
-That's all there is to it!
-
-
diff --git a/tools/libaio/ChangeLog b/tools/libaio/ChangeLog
deleted file mode 100644
index ddcf6e3..0000000
--- a/tools/libaio/ChangeLog
+++ /dev/null
@@ -1,43 +0,0 @@
-0.4.0
-	- remove libredhat-kernel
-	- add rough outline for man pages
-	- make the compiled io_getevents() add the extra parameter and 
-	  pass the timeout for updating as per 2.5
-	- fixes for ia64, now works
-	- fixes for x86-64
-	- powerpc support from Gianni Tedesco <gianni@ecsc.co.uk>
-	- disable the NULL check in harness/cases/4.t on ia64: ia64 
-	  maps the 0 page and causes this check to fail.
-
-0.3.15
-	- use real syscall interface, but don't break source compatibility 
-	  yet (that will happen with 0.4.0)
-
-0.3.13
-	- add test cases
-
-0.3.11
-	- use library versioning of libredhat-kernel to always provide a 
-	  fallback
-
-0.3.9
-	- add io_queue_release function
-
-0.3.8
-	- make clean deletes libredhat-kernel.so.1
-	- const struct timespec *
-	- add make srpm target
-
-0.3.7
-	- fix assembly function .types
-	- export io_getevents
-	- fix io_submit function prototype to match the kernel
-	- provide /usr/lib/libredhat-kernel.so link for compilation
-	  (do NOT link against libredhat-kernel.so directly)
-	- fix soname to libaio.so.1
-	- fix dummy libredhat-kernel's soname
-	- work around nfs bug
-	- provide and install libredhat-kernel.so.1 stub
-	- Makefile improvements
-	- make sure dummy libredhat-kernel.so only returns -ENOSYS
-
diff --git a/tools/libaio/INSTALL b/tools/libaio/INSTALL
deleted file mode 100644
index 29b9077..0000000
--- a/tools/libaio/INSTALL
+++ /dev/null
@@ -1,18 +0,0 @@
-To install the library, execute the command:
-
-	make prefix=`pwd`/usr install
-
-which will install the binaries and header files into the directory 
-usr.  Set prefix=/usr to get them installed into the main system.
-
-Please note:  Do not attempt to install on the system the
-"libredhat-kernel.so" file.  It is a dummy shared library
-provided only for the purpose of being able to bootstrap
-this facility while running on systems without the correct
-libredhat-kernel.so built.  The contents of the included
-libredhat-kernel.so are only stubs; this library is NOT
-functional for anything except the internal purpose of
-linking libaio.so against the provided stubs.  At runtime,
-libaio.so requires a real libredhat-kernel.so library; this
-is provided by the Red Hat kernel RPM packages with async
-I/O functionality.
diff --git a/tools/libaio/Makefile b/tools/libaio/Makefile
deleted file mode 100644
index 7f5c344..0000000
--- a/tools/libaio/Makefile
+++ /dev/null
@@ -1,40 +0,0 @@
-NAME=libaio
-SPECFILE=$(NAME).spec
-VERSION=$(shell awk '/Version:/ { print $$2 }' $(SPECFILE))
-RELEASE=$(shell awk '/Release:/ { print $$2 }' $(SPECFILE))
-CVSTAG = $(NAME)_$(subst .,-,$(VERSION))_$(subst .,-,$(RELEASE))
-RPMBUILD=$(shell `which rpmbuild >&/dev/null` && echo "rpmbuild" || echo "rpm")
-
-prefix=/usr
-includedir=$(prefix)/include
-libdir=$(prefix)/lib
-
-default: all
-
-all:
-	@$(MAKE) -C src
-
-install: all
-
-clean:
-	@$(MAKE) -C src clean
-	@$(MAKE) -C harness clean
-
-tag-archive:
-	@cvs -Q tag -F $(CVSTAG)
-
-create-archive: tag-archive
-	@rm -rf /tmp/$(NAME)
-	@cd /tmp && cvs -Q -d $(CVSROOT) export -r$(CVSTAG) $(NAME) || echo GRRRrrrrr -- ignore [export aborted]
-	@mv /tmp/$(NAME) /tmp/$(NAME)-$(VERSION)
-	@cd /tmp && tar czSpf $(NAME)-$(VERSION).tar.gz $(NAME)-$(VERSION)
-	@rm -rf /tmp/$(NAME)-$(VERSION)
-	@cp /tmp/$(NAME)-$(VERSION).tar.gz .
-	@rm -f /tmp/$(NAME)-$(VERSION).tar.gz 
-	@echo " "
-	@echo "The final archive is ./$(NAME)-$(VERSION).tar.gz."
-
-archive: clean tag-archive create-archive
-
-srpm: create-archive
-	$(RPMBUILD) --define "_sourcedir `pwd`" --define "_srcrpmdir `pwd`" --nodeps -bs $(SPECFILE)
diff --git a/tools/libaio/TODO b/tools/libaio/TODO
deleted file mode 100644
index 0a9ac15..0000000
--- a/tools/libaio/TODO
+++ /dev/null
@@ -1,4 +0,0 @@
-- Write man pages.
-- Make -static links against libaio work.
-- Fallback on userspace if the kernel calls return -ENOSYS.
-
diff --git a/tools/libaio/harness/Makefile b/tools/libaio/harness/Makefile
deleted file mode 100644
index d2483fd..0000000
--- a/tools/libaio/harness/Makefile
+++ /dev/null
@@ -1,37 +0,0 @@
-# foo.
-TEST_SRCS:=$(shell find cases/ -name \*.t | sort -n -t/ -k2)
-PROGS:=$(patsubst %.t,%.p,$(TEST_SRCS))
-HARNESS_SRCS:=main.c
-# io_queue.c
-
-CFLAGS=-Wall -Werror -g -O -laio
-#-lpthread -lrt
-
-all: $(PROGS)
-
-$(PROGS): %.p: %.t $(HARNESS_SRCS)
-	$(CC) $(CFLAGS) -DTEST_NAME=\"$<\" -o $@ main.c
-
-clean:
-	rm -f $(PROGS) *.o runtests.out rofile wofile rwfile
-
-.PHONY:
-
-testdir/rofile: .PHONY
-	rm -f $@
-	echo "test" >$@
-	chmod 400 $@
-
-testdir/wofile: .PHONY
-	rm -f $@
-	echo "test" >$@
-	chmod 200 $@
-
-testdir/rwfile: .PHONY
-	rm -f $@
-	echo "test" >$@
-	chmod 600 $@
-
-check: $(PROGS) testdir/rofile testdir/rwfile testdir/wofile
-	./runtests.sh $(PROGS)
-
diff --git a/tools/libaio/harness/README b/tools/libaio/harness/README
deleted file mode 100644
index 5557370..0000000
--- a/tools/libaio/harness/README
+++ /dev/null
@@ -1,19 +0,0 @@
-Notes on running this test suite:
-
-To run the test suite, run "make check".  All test cases should pass 
-and there should be 0 fails.
-
-Several of the test cases require a directory on the filesystem under 
-test for the creation of test files, as well as the generation of 
-error conditions.  The test cases assume the directories (or symlinks 
-to directories) are as follows:
-
-	testdir/
-		- used for general read/write test cases.  Must have at 
-		  least as much free space as the machine has RAM (up 
-		  to 768MB).
-	testdir.enospc/
-		- a filesystem that has space for writing 8KB out, but 
-		  fails with -ENOSPC beyond 8KB.
-	testdir.ext2/
-		- must be an ext2 filesystem.
diff --git a/tools/libaio/harness/attic/0.t b/tools/libaio/harness/attic/0.t
deleted file mode 100644
index 033e62c..0000000
--- a/tools/libaio/harness/attic/0.t
+++ /dev/null
@@ -1,9 +0,0 @@
-/* 0.t
-	Test harness check: okay.
-*/
-int test_main(void)
-{
-	printf("test_main: okay\n");
-	return 0;
-}
-
diff --git a/tools/libaio/harness/attic/1.t b/tools/libaio/harness/attic/1.t
deleted file mode 100644
index 799ffd1..0000000
--- a/tools/libaio/harness/attic/1.t
+++ /dev/null
@@ -1,9 +0,0 @@
-/* 1.t
-	Test harness check: fail.
-*/
-int test_main(void)
-{
-	printf("test_main: fail\n");
-	return 1;
-}
-
diff --git a/tools/libaio/harness/cases/10.t b/tools/libaio/harness/cases/10.t
deleted file mode 100644
index 9d3beb2..0000000
--- a/tools/libaio/harness/cases/10.t
+++ /dev/null
@@ -1,53 +0,0 @@
-/* 10.t - uses testdir.enospc/rwfile
-- Check results on out-of-space and out-of-quota. (10.t)
-        - write that fills filesystem but does not go over should succeed
-        - write that fills filesystem and goes over should be partial
-        - write to full filesystem should return -ENOSPC
-        - read beyond end of file after ENOSPC should return 0
-*/
-#include "aio_setup.h"
-
-#include <sys/time.h>
-#include <sys/resource.h>
-#include <unistd.h>
-
-int test_main(void)
-{
-/* Note: changing either of these requires updating the ext2-enospc.img
- * filesystem image.  Also, if SIZE is less than PAGE_SIZE, problems 
- * crop up due to ext2's preallocation.
- */
-#define LIMIT	65536
-#define SIZE	65536
-	char *buf;
-	int rwfd;
-	int status = 0, res;
-
-	rwfd = open("testdir.enospc/rwfile", O_RDWR|O_CREAT|O_TRUNC, 0600);
-							assert(rwfd != -1);
-	res = ftruncate(rwfd, 0);			assert(res == 0);
-	buf = malloc(SIZE);				assert(buf != NULL);
-	memset(buf, 0, SIZE);
-
-
-	status |= attempt_rw(rwfd, buf, SIZE,   LIMIT-SIZE, WRITE, SIZE);
-	status |= attempt_rw(rwfd, buf, SIZE,   LIMIT-SIZE,  READ, SIZE);
-
-	status |= attempt_rw(rwfd, buf, SIZE,        LIMIT, WRITE, -ENOSPC);
-	status |= attempt_rw(rwfd, buf, SIZE,        LIMIT,  READ,       0);
-
-	res = ftruncate(rwfd, 0);			assert(res == 0);
-
-	status |= attempt_rw(rwfd, buf, SIZE, 1+LIMIT-SIZE, WRITE, SIZE-1);
-	status |= attempt_rw(rwfd, buf, SIZE, 1+LIMIT-SIZE,  READ, SIZE-1);
-	status |= attempt_rw(rwfd, buf, SIZE,        LIMIT,  READ,      0);
-
-	status |= attempt_rw(rwfd, buf, SIZE,        LIMIT, WRITE, -ENOSPC);
-	status |= attempt_rw(rwfd, buf, SIZE,        LIMIT,  READ,       0);
-	status |= attempt_rw(rwfd, buf,    0,        LIMIT, WRITE,       0);
-
-	res = close(rwfd);				assert(res == 0);
-	res = unlink("testdir.enospc/rwfile");		assert(res == 0);
-	return status;
-}
-
diff --git a/tools/libaio/harness/cases/11.t b/tools/libaio/harness/cases/11.t
deleted file mode 100644
index efcf6d4..0000000
--- a/tools/libaio/harness/cases/11.t
+++ /dev/null
@@ -1,39 +0,0 @@
-/* 11.t - uses testdir/rwfile
-- repeated read / write of same page (to check accounting) (11.t)
-*/
-#include "aio_setup.h"
-
-#include <sys/time.h>
-#include <sys/resource.h>
-#include <unistd.h>
-
-int test_main(void)
-{
-#define COUNT	1000000
-#define SIZE	256
-	char *buf;
-	int rwfd;
-	int status = 0;
-	int i;
-
-	rwfd = open("testdir/rwfile", O_RDWR|O_CREAT|O_TRUNC, 0600);
-							assert(rwfd != -1);
-	buf = malloc(SIZE);				assert(buf != NULL);
-	memset(buf, 0, SIZE);
-
-	for (i=0; i<COUNT; i++) {
-		status |= attempt_rw(rwfd, buf, SIZE, 0, WRITE_SILENT, SIZE);
-		if (status)
-			break;
-	}
-	printf("completed %d out of %d writes\n", i, COUNT);
-	for (i=0; i<COUNT; i++) {
-		status |= attempt_rw(rwfd, buf, SIZE, 0, READ_SILENT, SIZE);
-		if (status)
-			break;
-	}
-	printf("completed %d out of %d reads\n", i, COUNT);
-
-	return status;
-}
-
diff --git a/tools/libaio/harness/cases/12.t b/tools/libaio/harness/cases/12.t
deleted file mode 100644
index 3499204..0000000
--- a/tools/libaio/harness/cases/12.t
+++ /dev/null
@@ -1,49 +0,0 @@
-/* 12.t
-- ioctx access across fork() (12.t)
- */
-#include <sys/types.h>
-#include <sys/wait.h>
-#include <unistd.h>
-#include <signal.h>
-
-#include "aio_setup.h"
-
-void test_child(void)
-{
-	int res;
-	res = attempt_io_submit(io_ctx, 0, NULL, -EINVAL);
-	fflush(stdout);
-	_exit(res);
-}
-
-int test_main(void)
-{
-	int res, status;
-	pid_t pid;
-
-	if (attempt_io_submit(io_ctx, 0, NULL, 0))
-		return 1;
-
-	sigblock(sigmask(SIGCHLD) | siggetmask());
-	fflush(NULL);
-	pid = fork();				assert(pid != -1);
-
-	if (pid == 0)
-		test_child();
-
-	res = waitpid(pid, &status, 0);
-
-	if (WIFEXITED(status)) {
-		int failed = (WEXITSTATUS(status) != 0);
-		printf("child exited with status %d%s\n", WEXITSTATUS(status),
-			failed ? " -- FAILED" : "");
-		return failed;
-	}
-
-	/* anything else: failed */
-	if (WIFSIGNALED(status))
-		printf("child killed by signal %d -- FAILED.\n",
-			WTERMSIG(status));
-
-	return 1;
-}
diff --git a/tools/libaio/harness/cases/13.t b/tools/libaio/harness/cases/13.t
deleted file mode 100644
index 5f18005..0000000
--- a/tools/libaio/harness/cases/13.t
+++ /dev/null
@@ -1,66 +0,0 @@
-/* 13.t - uses testdir/rwfile
-- Submit multiple writes larger than aio-max-size (deadlocks on older
-  aio code)
-*/
-#include "aio_setup.h"
-
-#include <sys/time.h>
-#include <sys/resource.h>
-#include <unistd.h>
-
-int test_main(void)
-{
-#define SIZE	(1024 * 1024)
-#define IOS	8
-	struct iocb	iocbs[IOS];
-	struct iocb	*iocb_list[IOS];
-	char *bufs[IOS];
-	int rwfd;
-	int status = 0, res;
-	int i;
-
-	rwfd = open("testdir/rwfile", O_RDWR|O_CREAT|O_TRUNC, 0600);
-							assert(rwfd != -1);
-	res = ftruncate(rwfd, 0);			assert(res == 0);
-
-	for (i=0; i<IOS; i++) {
-		bufs[i] = malloc(SIZE);
-		assert(bufs[i] != NULL);
-		memset(bufs[i], 0, SIZE);
-
-		io_prep_pwrite(&iocbs[i], rwfd, bufs[i], SIZE, i * SIZE);
-		iocb_list[i] = &iocbs[i];
-	}
-
-	status |= attempt_io_submit(io_ctx, IOS, iocb_list, IOS);
-
-	for (i=0; i<IOS; i++) {
-		struct timespec ts = { tv_sec: 30, tv_nsec: 0 };
-		struct io_event event;
-		struct iocb *iocb;
-
-		res = io_getevents(io_ctx, 0, 1, &event, &ts);
-		if (res != 1) {
-			status |= 1;
-			printf("io_getevents failed [%d] with res=%d [%s]\n",
-				i, res, (res < 0) ? strerror(-res) : "okay");
-			break;
-		}
-
-		if (event.res != SIZE)
-			status |= 1;
-
-		iocb = (void *)event.obj;
-		printf("event[%d]: write[%d] %s, returned: %ld [%s]\n",
-			i, (int)(iocb - &iocbs[0]),
-			(event.res != SIZE) ? "failed" : "okay",
-			(long)event.res,
-			(event.res < 0) ? strerror(-event.res) : "okay"
-			);
-	}
-
-	res = ftruncate(rwfd, 0);			assert(res == 0);
-	res = close(rwfd);				assert(res == 0);
-	return status;
-}
-
diff --git a/tools/libaio/harness/cases/14.t b/tools/libaio/harness/cases/14.t
deleted file mode 100644
index 514622b..0000000
--- a/tools/libaio/harness/cases/14.t
+++ /dev/null
@@ -1,90 +0,0 @@
-#include <sys/types.h>
-#include <sys/wait.h>
-#include <unistd.h>
-#include <signal.h>
-
-#include "aio_setup.h"
-#include <sys/mman.h>
-
-#define SIZE 768*1024*1024
-
-//just submit an I/O
-
-int test_child(void)
-{
-        char *buf;
-        int rwfd;
-        int res;
-        long size;
-        struct iocb iocb;
-        struct iocb *iocbs[] = { &iocb };
-        int loop = 10;
-        int i;
-
-	aio_setup(1024);
-
-        size = SIZE;
-
-        printf("size = %ld\n", size);
-
-        rwfd = open("testdir/rwfile", O_RDWR);          assert(rwfd != 
--1);
-        res = ftruncate(rwfd, 0);                       assert(res == 0);
-        buf = malloc(size);                             assert(buf != 
-NULL);
-
-        for(i=0;i<loop;i++) {
-
-                switch(i%2) {
-                case 0:
-                        io_prep_pwrite(&iocb, rwfd, buf, size, 0);
-                        break;
-                case 1:
-                        io_prep_pread(&iocb, rwfd, buf, size, 0);
-                }
-
-                res = io_submit(io_ctx, 1, iocbs);
-                if (res != 1) {
-                        printf("child: submit: io_submit res=%d [%s]\n", res, 
-strerror(-res));
-                        _exit(1);
-                }
-        }
-
-        res = ftruncate(rwfd, 0);                       assert(res == 0);
-
-        _exit(0);
-}
-
-/* from 12.t */
-int test_main(void)
-{
-	int res, status;
-	pid_t pid;
-
-	if (attempt_io_submit(io_ctx, 0, NULL, 0))
-		return 1;
-
-	sigblock(sigmask(SIGCHLD) | siggetmask());
-	fflush(NULL);
-	pid = fork();				assert(pid != -1);
-
-	if (pid == 0)
-		test_child();
-
-	res = waitpid(pid, &status, 0);
-
-	if (WIFEXITED(status)) {
-		int failed = (WEXITSTATUS(status) != 0);
-		printf("child exited with status %d%s\n", WEXITSTATUS(status),
-			failed ? " -- FAILED" : "");
-		return failed;
-	}
-
-	/* anything else: failed */
-	if (WIFSIGNALED(status))
-		printf("child killed by signal %d -- FAILED.\n",
-			WTERMSIG(status));
-
-	return 1;
-}
diff --git a/tools/libaio/harness/cases/2.t b/tools/libaio/harness/cases/2.t
deleted file mode 100644
index 3a0212d..0000000
--- a/tools/libaio/harness/cases/2.t
+++ /dev/null
@@ -1,41 +0,0 @@
-/* 2.t
-- io_setup (#2)
-        - with invalid context pointer
-        - with maxevents <= 0
-        - with an already initialized ctxp
-*/
-
-int attempt(int n, io_context_t *ctxp, int expect)
-{
-	int res;
-
-	printf("expect %3d: io_setup(%5d, %p) = ", expect, n, ctxp);
-	fflush(stdout);
-	res = io_setup(n, ctxp);
-	printf("%3d [%s]%s\n", res, strerror(-res), 
-		(res != expect) ? " -- FAILED" : "");
-	if (res != expect)
-		return 1;
-
-	return 0;
-}
-
-int test_main(void)
-{
-	io_context_t	ctx;
-	int	status = 0;
-
-	ctx = NULL;
-	status |= attempt(-1000, KERNEL_RW_POINTER, -EFAULT);
-	status |= attempt( 1000, KERNEL_RW_POINTER, -EFAULT);
-	status |= attempt(    0, KERNEL_RW_POINTER, -EFAULT);
-	status |= attempt(-1000, &ctx, -EINVAL);
-	status |= attempt(   -1, &ctx, -EINVAL);
-	status |= attempt(    0, &ctx, -EINVAL);
-	assert(ctx == NULL);
-	status |= attempt(    1, &ctx, 0);
-	status |= attempt(    1, &ctx, -EINVAL);
-
-	return status;
-}
-
diff --git a/tools/libaio/harness/cases/3.t b/tools/libaio/harness/cases/3.t
deleted file mode 100644
index 7773d80..0000000
--- a/tools/libaio/harness/cases/3.t
+++ /dev/null
@@ -1,25 +0,0 @@
-/* 3.t
-- io_submit/io_getevents with invalid addresses (3.t)
-
-*/
-#include "aio_setup.h"
-
-int test_main(void)
-{
-	struct iocb a, b;
-	struct iocb *good_ios[] = { &a, &b };
-	struct iocb *bad1_ios[] = { NULL, &b };
-	struct iocb *bad2_ios[] = { KERNEL_RW_POINTER, &a };
-	int	status = 0;
-
-	status |= attempt_io_submit(BAD_CTX, 1,   good_ios, -EINVAL);
-	status |= attempt_io_submit( io_ctx, 0,   good_ios,       0);
-	status |= attempt_io_submit( io_ctx, 1,       NULL, -EFAULT);
-	status |= attempt_io_submit( io_ctx, 1, (void *)-1, -EFAULT);
-	status |= attempt_io_submit( io_ctx, 2,   bad1_ios, -EFAULT);
-	status |= attempt_io_submit( io_ctx, 2,   bad2_ios, -EFAULT);
-	status |= attempt_io_submit( io_ctx, -1,  good_ios, -EINVAL);
-
-	return status;
-}
-
diff --git a/tools/libaio/harness/cases/4.t b/tools/libaio/harness/cases/4.t
deleted file mode 100644
index 972b4f2..0000000
--- a/tools/libaio/harness/cases/4.t
+++ /dev/null
@@ -1,72 +0,0 @@
-/* 4.t
-- read of descriptor without read permission (4.t)
-- write to descriptor without write permission (4.t)
-- check that O_APPEND writes actually append
-
-*/
-#include "aio_setup.h"
-
-#define SIZE	512
-#define READ	'r'
-#define WRITE	'w'
-int attempt(int fd, void *buf, int count, long long pos, int rw, int expect)
-{
-	struct iocb iocb;
-	int res;
-
-	switch(rw) {
-	case READ:	io_prep_pread (&iocb, fd, buf, count, pos); break;
-	case WRITE:	io_prep_pwrite(&iocb, fd, buf, count, pos); break;
-	}
-
-	printf("expect %3d: (%c), res = ", expect, rw);
-	fflush(stdout);
-	res = sync_submit(&iocb);
-	printf("%3d [%s]%s\n", res, (res <= 0) ? strerror(-res) : "Success",
-		(res != expect) ? " -- FAILED" : "");
-	if (res != expect)
-		return 1;
-
-	return 0;
-}
-
-int test_main(void)
-{
-	char buf[SIZE];
-	int rofd, wofd, rwfd;
-	int	status = 0, res;
-
-	memset(buf, 0, SIZE);
-
-	rofd = open("testdir/rofile", O_RDONLY);	assert(rofd != -1);
-	wofd = open("testdir/wofile", O_WRONLY);	assert(wofd != -1);
-	rwfd = open("testdir/rwfile", O_RDWR);		assert(rwfd != -1);
-
-	status |= attempt(rofd, buf, SIZE,  0, WRITE, -EBADF);
-	status |= attempt(wofd, buf, SIZE,  0,  READ, -EBADF);
-	status |= attempt(rwfd, buf, SIZE,  0, WRITE, SIZE);
-	status |= attempt(rwfd, buf, SIZE,  0,  READ, SIZE);
-	status |= attempt(rwfd, buf, SIZE, -1,  READ, -EINVAL);
-	status |= attempt(rwfd, buf, SIZE, -1, WRITE, -EINVAL);
-
-	rwfd = open("testdir/rwfile", O_RDWR|O_APPEND);	assert(rwfd != -1);
-	res = ftruncate(rwfd, 0);			assert(res == 0);
-	status |= attempt(rwfd, buf,    SIZE, 0,  READ, 0);
-	status |= attempt(rwfd, "1234",    4, 0, WRITE, 4);
-	status |= attempt(rwfd, "5678",    4, 0, WRITE, 4);
-	memset(buf, 0, SIZE);
-	status |= attempt(rwfd,    buf, SIZE, 0,  READ, 8);
-	printf("read after append: [%s]\n", buf);
-	assert(memcmp(buf, "12345678", 8) == 0);
-
-	status |= attempt(rwfd, KERNEL_RW_POINTER, SIZE, 0,  READ, -EFAULT);
-	status |= attempt(rwfd, KERNEL_RW_POINTER, SIZE, 0, WRITE, -EFAULT);
-
-	/* Some architectures map the 0 page.  Ugh. */
-#if !defined(__ia64__)
-	status |= attempt(rwfd,              NULL, SIZE, 0, WRITE, -EFAULT);
-#endif
-
-	return status;
-}
-
diff --git a/tools/libaio/harness/cases/5.t b/tools/libaio/harness/cases/5.t
deleted file mode 100644
index 7669fd7..0000000
--- a/tools/libaio/harness/cases/5.t
+++ /dev/null
@@ -1,47 +0,0 @@
-/* 5.t
-- Write from a mmap() of the same file. (5.t)
-*/
-#include "aio_setup.h"
-#include <sys/mman.h>
-
-int test_main(void)
-{
-	int page_size = getpagesize();
-#define SIZE	512
-	char *buf;
-	int rwfd;
-	int	status = 0, res;
-
-	rwfd = open("testdir/rwfile", O_RDWR);		assert(rwfd != -1);
-	res = ftruncate(rwfd, 512);			assert(res == 0);
-
-	buf = mmap(0, page_size, PROT_READ|PROT_WRITE, MAP_SHARED, rwfd, 0);
-	assert(buf != (char *)-1);
-
-	status |= attempt_rw(rwfd, buf, SIZE,  0, WRITE, SIZE);
-	status |= attempt_rw(rwfd, buf, SIZE,  0,  READ, SIZE);
-
-	res = munmap(buf, page_size);			assert(res == 0);
-	buf = mmap(0, page_size, PROT_READ|PROT_WRITE, MAP_SHARED, rwfd, 0);
-	assert(buf != (char *)-1);
-
-	status |= attempt_rw(rwfd, buf, SIZE,  0,  READ, SIZE);
-	status |= attempt_rw(rwfd, buf, SIZE,  0, WRITE, SIZE);
-
-	res = munmap(buf, page_size);			assert(res == 0);
-	buf = mmap(0, page_size, PROT_READ, MAP_SHARED, rwfd, 0);
-	assert(buf != (char *)-1);
-
-	status |= attempt_rw(rwfd, buf, SIZE,  0, WRITE, SIZE);
-	status |= attempt_rw(rwfd, buf, SIZE,  0,  READ, -EFAULT);
-
-	res = munmap(buf, page_size);			assert(res == 0);
-	buf = mmap(0, page_size, PROT_WRITE, MAP_SHARED, rwfd, 0);
-	assert(buf != (char *)-1);
-
-	status |= attempt_rw(rwfd, buf, SIZE,  0,  READ, SIZE);
-	status |= attempt_rw(rwfd, buf, SIZE,  0, WRITE, -EFAULT);
-
-	return status;
-}
-
diff --git a/tools/libaio/harness/cases/6.t b/tools/libaio/harness/cases/6.t
deleted file mode 100644
index cea4b01..0000000
--- a/tools/libaio/harness/cases/6.t
+++ /dev/null
@@ -1,57 +0,0 @@
-/* 6.t
-- huge reads (pinned pages) (6.t)
-- huge writes (6.t)
-*/
-#include "aio_setup.h"
-#include <sys/mman.h>
-
-long getmemsize(void)
-{
-	FILE *f = fopen("/proc/meminfo", "r");
-	long size;
-	int gotit = 0;
-	char str[256];
-
-	assert(f != NULL);
-	while (NULL != fgets(str, 255, f)) {
-		str[255] = 0;
-		if (0 == memcmp(str, "MemTotal:", 9)) {
-			if (1 == sscanf(str + 9, "%ld", &size)) {
-				gotit = 1;
-				break;
-			}
-		}
-	}
-	fclose(f);
-
-	assert(gotit != 0);
-	return size;
-}
-
-int test_main(void)
-{
-	char *buf;
-	int rwfd;
-	int status = 0, res;
-	long size;
-
-	size = getmemsize();
-	printf("size = %ld\n", size);
-	assert(size >= (16 * 1024));
-	if (size > (768 * 1024))
-		size = 768 * 1024;
-	size *= 1024;
-
-	rwfd = open("testdir/rwfile", O_RDWR);		assert(rwfd != -1);
-	res = ftruncate(rwfd, 0);			assert(res == 0);
-	buf = malloc(size);				assert(buf != NULL);
-
-	//memset(buf, 0, size);
-	status |= attempt_rw(rwfd, buf, size,  0, WRITE, size);
-	status |= attempt_rw(rwfd, buf, size,  0,  READ, size);
-
-	//res = ftruncate(rwfd, 0);			assert(res == 0);
-
-	return status;
-}
-
diff --git a/tools/libaio/harness/cases/7.t b/tools/libaio/harness/cases/7.t
deleted file mode 100644
index d2d6cbc..0000000
--- a/tools/libaio/harness/cases/7.t
+++ /dev/null
@@ -1,27 +0,0 @@
-/* 7.t
-- Write overlapping the file size rlimit boundary: should be a short
-  write. (7.t)
-- Write at the file size rlimit boundary: should give EFBIG.  (I think
-  the spec requires that you do NOT deliver SIGXFSZ in this case, where
-  you would do so for sync IO.) (7.t)
-- Special case: a write of zero bytes at or beyond the file size rlimit
-  boundary must return success. (7.t)
-*/
-
-#include <sys/resource.h>
-
-void SET_RLIMIT(long long limit)
-{
-	struct rlimit rlim;
-	int res;
-
-	rlim.rlim_cur = limit;			assert(rlim.rlim_cur == limit);
-	rlim.rlim_max = limit;			assert(rlim.rlim_max == limit);
-
-	res = setrlimit(RLIMIT_FSIZE, &rlim);	assert(res == 0);
-}
-
-#define LIMIT	8192
-#define FILENAME	"testdir/rwfile"
-
-#include "common-7-8.h"
diff --git a/tools/libaio/harness/cases/8.t b/tools/libaio/harness/cases/8.t
deleted file mode 100644
index 8a3d83e..0000000
--- a/tools/libaio/harness/cases/8.t
+++ /dev/null
@@ -1,49 +0,0 @@
-/* 8.t
-- Ditto for the above three tests at the offset maximum (largest
-  possible ext2/3 file size.) (8.t)
- */
-#include <sys/vfs.h>
-
-#define EXT2_OLD_SUPER_MAGIC	0xEF51
-#define EXT2_SUPER_MAGIC	0xEF53
-
-long long get_fs_limit(int fd)
-{
-	struct statfs s;
-	int res;
-	long long lim = 0;
-
-	res = fstatfs(fd, &s);		assert(res == 0);
-
-	switch(s.f_type) {
-	case EXT2_OLD_SUPER_MAGIC:
-	case EXT2_SUPER_MAGIC:
-#if 0
-	{
-		long long tmp;
-		tmp = s.f_bsize / 4;
-		/* 12 direct + indirect block + dind + tind */
-		lim = 12 + tmp + tmp * tmp + tmp * tmp * tmp;
-		lim *= s.f_bsize;
-		printf("limit(%ld) = %Ld\n", (long)s.f_bsize, lim);
-	}
-#endif
-		switch(s.f_bsize) {
-		case 4096: lim = 2199023251456; break;
-		default:
-			printf("unknown ext2 blocksize %ld\n", (long)s.f_bsize);
-			exit(3);
-		}
-		break;
-	default:
-		printf("unknown filesystem 0x%08lx\n", (long)s.f_type);
-		exit(3);
-	}
-	return lim;
-}
-
-#define SET_RLIMIT(x)	do ; while (0)
-#define LIMIT		get_fs_limit(rwfd)
-#define FILENAME	"testdir.ext2/rwfile"
-
-#include "common-7-8.h"
diff --git a/tools/libaio/harness/cases/aio_setup.h b/tools/libaio/harness/cases/aio_setup.h
deleted file mode 100644
index 37c9618..0000000
--- a/tools/libaio/harness/cases/aio_setup.h
+++ /dev/null
@@ -1,98 +0,0 @@
-io_context_t	io_ctx;
-#define BAD_CTX	((io_context_t)-1)
-
-void aio_setup(int n)
-{
-	int res = io_queue_init(n, &io_ctx);
-	if (res != 0) {
-		printf("io_queue_setup(%d) returned %d (%s)\n",
-			n, res, strerror(-res));
-		exit(3);
-	}
-}
-
-int attempt_io_submit(io_context_t ctx, long nr, struct iocb *ios[], int expect)
-{
-	int res;
-
-	printf("expect %3d: io_submit(%10p, %3ld, %10p) = ", expect, ctx, nr, ios);
-	fflush(stdout);
-	res = io_submit(ctx, nr, ios);
-	printf("%3d [%s]%s\n", res, (res <= 0) ? strerror(-res) : "",
-		(res != expect) ? " -- FAILED" : "");
-	if (res != expect)
-		return 1;
-
-	return 0;
-}
-
-int sync_submit(struct iocb *iocb)
-{
-	struct io_event event;
-	struct iocb *iocbs[] = { iocb };
-	int res;
-
-	/* 30 second timeout should be enough */
-	struct timespec	ts;
-	ts.tv_sec = 30;
-	ts.tv_nsec = 0;
-
-	res = io_submit(io_ctx, 1, iocbs);
-	if (res != 1) {
-		printf("sync_submit: io_submit res=%d [%s]\n", res, strerror(-res));
-		return res;
-	}
-
-	res = io_getevents(io_ctx, 0, 1, &event, &ts);
-	if (res != 1) {
-		printf("sync_submit: io_getevents res=%d [%s]\n", res, strerror(-res));
-		return res;
-	}
-	return event.res;
-}
-
-#define SETUP	aio_setup(1024)
-
-
-#define READ		'r'
-#define WRITE		'w'
-#define READ_SILENT	'R'
-#define WRITE_SILENT	'W'
-int attempt_rw(int fd, void *buf, int count, long long pos, int rw, int expect)
-{
-	struct iocb iocb;
-	int res;
-	int silent = 0;
-
-	switch(rw) {
-	case READ_SILENT:
-		silent = 1;
-	case READ:
-		io_prep_pread (&iocb, fd, buf, count, pos);
-		break;
-	case WRITE_SILENT:
-		silent = 1;
-	case WRITE:
-		io_prep_pwrite(&iocb, fd, buf, count, pos);
-		break;
-	}
-
-	if (!silent) {
-		printf("expect %5d: (%c), res = ", expect, rw);
-		fflush(stdout);
-	}
-	res = sync_submit(&iocb);
-	if (!silent || res != expect) {
-		if (silent)
-			printf("expect %5d: (%c), res = ", expect, rw);
-		printf("%5d [%s]%s\n", res,
-			(res <= 0) ? strerror(-res) : "Success",
-			(res != expect) ? " -- FAILED" : "");
-	}
-
-	if (res != expect)
-		return 1;
-
-	return 0;
-}
-
diff --git a/tools/libaio/harness/cases/common-7-8.h b/tools/libaio/harness/cases/common-7-8.h
deleted file mode 100644
index 3ec2bb4..0000000
--- a/tools/libaio/harness/cases/common-7-8.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/* common-7-8.h
-*/
-#include "aio_setup.h"
-
-#include <unistd.h>
-
-#define SIZE	512
-
-int test_main(void)
-{
-	char *buf;
-	int rwfd;
-	int status = 0, res;
-	long long limit;
-
-	rwfd = open(FILENAME, O_RDWR);		assert(rwfd != -1);
-	res = ftruncate(rwfd, 0);			assert(res == 0);
-	buf = malloc(SIZE);				assert(buf != NULL);
-	memset(buf, 0, SIZE);
-
-	limit = LIMIT;
-
-	SET_RLIMIT(limit);
-
-	status |= attempt_rw(rwfd, buf, SIZE,   limit-SIZE, WRITE, SIZE);
-	status |= attempt_rw(rwfd, buf, SIZE,   limit-SIZE,  READ, SIZE);
-
-	status |= attempt_rw(rwfd, buf, SIZE, 1+limit-SIZE, WRITE, SIZE-1);
-	status |= attempt_rw(rwfd, buf, SIZE, 1+limit-SIZE,  READ, SIZE-1);
-
-	status |= attempt_rw(rwfd, buf, SIZE,        limit, WRITE, -EFBIG);
-	status |= attempt_rw(rwfd, buf, SIZE,        limit,  READ,      0);
-	status |= attempt_rw(rwfd, buf,    0,        limit, WRITE,      0);
-
-	return status;
-}
-
diff --git a/tools/libaio/harness/main.c b/tools/libaio/harness/main.c
deleted file mode 100644
index 74b2764..0000000
--- a/tools/libaio/harness/main.c
+++ /dev/null
@@ -1,39 +0,0 @@
-#include <stdio.h>
-#include <errno.h>
-#include <assert.h>
-#include <stdlib.h>
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <unistd.h>
-
-#include <libaio.h>
-
-#if defined(__i386__)
-#define KERNEL_RW_POINTER	((void *)0xc0010000)
-#else
-//#warning Not really sure where kernel memory is.  Guessing.
-#define KERNEL_RW_POINTER	((void *)0xffffffffc0010000)
-#endif
-
-
-char test_name[] = TEST_NAME;
-
-#include TEST_NAME
-
-int main(void)
-{
-	int res;
-
-#if defined(SETUP)
-	SETUP;
-#endif
-
-	res = test_main();
-	printf("test %s completed %s.\n", test_name, 
-		res ? "FAILED" : "PASSED"
-		);
-	fflush(stdout);
-	return res ? 1 : 0;
-}
diff --git a/tools/libaio/harness/runtests.sh b/tools/libaio/harness/runtests.sh
deleted file mode 100644
index d763d88..0000000
--- a/tools/libaio/harness/runtests.sh
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/sh
-
-passes=0
-fails=0
-
-echo "Test run starting at" `date`
-
-while [ $# -ge 1 ] ; do
-	this_test=$1
-	shift
-	echo "Starting $this_test"
-	$this_test 2>&1
-	res=$?
-	if [ $res -eq 0 ] ; then str="" ; passes=$[passes + 1] ; else str=" -- FAILED" ; fails=$[fails + 1] ; fi
-	echo "Completed $this_test with $res$str".
-done
-
-echo "Pass: $passes  Fail: $fails"
-echo "Test run complete at" `date`
diff --git a/tools/libaio/libaio.spec b/tools/libaio/libaio.spec
deleted file mode 100644
index bdcc5b2..0000000
--- a/tools/libaio/libaio.spec
+++ /dev/null
@@ -1,187 +0,0 @@
-Name: libaio
-Version: 0.3.106
-Release: 1
-Summary: Linux-native asynchronous I/O access library
-Copyright: LGPL
-Group:  System Environment/Libraries
-Source: %{name}-%{version}.tar.gz
-BuildRoot: %{_tmppath}/%{name}-root
-# Fix ExclusiveArch as we implement this functionality on more architectures
-ExclusiveArch: i386 x86_64 ia64 s390 s390x ppc ppc64 ppc64pseries ppc64iseries alpha alphaev6
-
-%description
-The Linux-native asynchronous I/O facility ("async I/O", or "aio") has a
-richer API and capability set than the simple POSIX async I/O facility.
-This library, libaio, provides the Linux-native API for async I/O.
-The POSIX async I/O facility requires this library in order to provide
-kernel-accelerated async I/O capabilities, as do applications which
-require the Linux-native async I/O API.
-
-%package devel
-Summary: Development files for Linux-native asynchronous I/O access
-Group: Development/System
-Requires: libaio
-Provides: libaio.so.1
-
-%description devel
-This package provides header files to include and libraries to link with
-for the Linux-native asynchronous I/O facility ("async I/O", or "aio").
-
-%prep
-%setup
-
-%build
-make
-
-%install
-[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
-
-make install prefix=$RPM_BUILD_ROOT/usr \
- libdir=$RPM_BUILD_ROOT/%{_libdir} \
- root=$RPM_BUILD_ROOT
-
-%clean
-[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT
-
-%post -p /sbin/ldconfig
-
-%postun -p /sbin/ldconfig
-
-%files
-%defattr(-,root,root)
-%attr(0755,root,root) %{_libdir}/libaio.so.*
-%doc COPYING TODO
-
-%files devel
-%defattr(-,root,root)
-%attr(0644,root,root) %{_includedir}/*
-%attr(0755,root,root) %{_libdir}/libaio.so
-%attr(0644,root,root) %{_libdir}/libaio.a
-
-%changelog
-* Tue Jan  3 2006 Jeff Moyer <jmoyer@redhat.com> - 0.3.106-1
-- Add a .proc directive for the ia64_aio_raw_syscall macro.  This sounds a lot
-  like the previous entry, but that one fixed the __ia64_raw_syscall macro,
-  located in syscall-ia64.h.  This macro is in raw_syscall.c, which pretty much
-  only exists for ia64.  This bug prevented the package from building with
-  newer version of gcc.
-
-* Mon Aug  1 2005 Jeff Moyer <jmoyer@redhat.com> - 0.3.105-1
-- Add a .proc directive for the ia64 raw syscall macro.
-
-* Fri Apr  1 2005 Jeff Moyer <jmoyer@redhat.com> - 0.3.104-1
-- Add Alpha architecture support.  (Sergey Tikhonov <tsv@solvo.ru>)
-
-* Tue Jan 25 2005 Jeff Moyer <jmoyer@redhat.com> - 0.3.103-1
-- Fix SONAME breakage.  In changing file names around, I also changed the 
-  SONAME, which is a no no.
-
-* Thu Oct 14 2004 Jeff Moyer <jmoyer@redhat.com> - 0.3.102-1
-- S390 asm had a bug; I forgot to update the clobber list.  Lucky for me,
-  newer compilers complain about such things.
-- Also update the s390 asm to look more like the new kernel variants.
-
-* Wed Oct 13 2004 Jeff Moyer <jmoyer@redhat.com> - 0.3.101-1
-- Revert syscall return values to be -ERRNO.  This was an inadvertant bug
-  introduced when clobber lists changed.
-- add ppc64pseries and ppc64iseries to exclusivearch
-
-* Tue Sep 14 2004 Jeff Moyer <jmoyer@redhat.com> - 0.3.100-1
-- Switch around the tests for _PPC_ and _powerpc64_ so that the ppc64 
-  platforms get the right padding.
-
-* Wed Jul 14 2004 Jeff Moyer <jmoyer@redhat.com> - 0.3.99-4
-- Ok, there was a race in moving the cvs module.  Someone rebuild from
-  the old cvs into fc3.  *sigh*  bumping rev.
-
-* Wed Jul 14 2004 Jeff Moyer <jmoyer@redhat.com> - 0.3.99-3
-- Actually provide libaio.so.1.
-
-* Tue Mar 30 2004 Jeff Moyer <jmoyer@redhat.com> - 0.3.99-2
-- Apparently the 0.3.93 patch was not meant for 0.3.96.  Backed it out.
-
-* Tue Mar 30 2004 Jeff Moyer <jmoyer@redhat.com> - 0.3.99-1
-- Fix compat calls.
-- make library .so.1.0.0 and make symlinks properly.
-- Fix header file for inclusion in c++ code.
-
-* Thu Feb 26 2004 Jeff Moyer <jmoyer@redhat.com> 0.3.98-2
-- bah.  fix version nr in changelog.
-
-* Thu Feb 26 2004 Jeff Moyer <jmoyer@redhat.com> 0.3.98-1
-- fix compiler warnings.
-
-* Thu Feb 26 2004 Jeff Moyer <jmoyer@redhat.com> 0.3.97-2
-- make srpm was using rpm to do a build.  changed that to use rpmbuild if
-  it exists, and fallback to rpm if it doesn't.
-
-* Tue Feb 24 2004 Jeff Moyer <jmoyer@redhat.com> 0.3.97-1
-- Use libc syscall(2) instead of rolling our own calling mechanism.  This 
-  change is inspired due to a failure to build with newer gcc, since clobber 
-  lists were wrong.
-- Add -fpic to the CFLAGS for all architectures.  Should address bz #109457.
-- change a #include from <linux/types.h> to <sys/types.h>.  Fixes a build
-  issue on s390.
-
-* Wed Jul  7 2003 Bill Nottingham <notting@redhat.com> 0.3.96-3
-- fix paths on lib64 arches
-
-* Wed Jun 18 2003 Michael K. Johnson <johnsonm@redhat.com> 0.3.96-2
-- optimization in io_getevents from Arjan van de Ven in 0.3.96-1
-- deal with ia64 in 0.3.96-2
-
-* Wed May 28 2003 Michael K. Johnson <johnsonm@redhat.com> 0.3.95-1
-- ppc bugfix from Julie DeWandel
-
-* Tue May 20 2003 Michael K. Johnson <johnsonm@redhat.com> 0.3.94-1
-- symbol versioning fix from Ulrich Drepper
-
-* Mon Jan 27 2003 Benjamin LaHaise <bcrl@redhat.com>
-- bump to 0.3.93-3 for rebuild.
-
-* Mon Dec 16 2002 Benjamin LaHaise <bcrl@redhat.com>
-- libaio 0.3.93 test release
-- add powerpc support from Gianni Tedesco <gianni@ecsc.co.uk>
-- add s/390 support from Arnd Bergmann <arnd@bergmann-dalldorf.de>
-
-* Fri Sep 12 2002 Benjamin LaHaise <bcrl@redhat.com>
-- libaio 0.3.92 test release
-- build on x86-64
-
-* Thu Sep 12 2002 Benjamin LaHaise <bcrl@redhat.com>
-- libaio 0.3.91 test release
-- build on ia64
-- remove libredhat-kernel from the .spec file
-
-* Thu Sep  5 2002 Benjamin LaHaise <bcrl@redhat.com>
-- libaio 0.3.90 test release
-
-* Mon Apr 29 2002 Benjamin LaHaise <bcrl@redhat.com>
-- add requires initscripts >= 6.47-1 to get boot time libredhat-kernel 
-  linkage correct.
-- typo fix
-
-* Thu Apr 25 2002 Benjamin LaHaise <bcrl@redhat.com>
-- make /usr/lib/libredhat-kernel.so point to /lib/libredhat-kernel.so.1.0.0
-
-* Mon Apr 15 2002 Tim Powers <timp@redhat.com>
-- make the post scriptlet not use /bin/sh
-
-* Sat Apr 12 2002 Benjamin LaHaise <bcrl@redhat.com>
-- add /lib/libredhat-kernel* to %files.
-
-* Fri Apr 12 2002 Benjamin LaHaise <bcrl@redhat.com>
-- make the dummy install as /lib/libredhat-kernel.so.1.0.0 so 
-  that ldconfig will link against it if no other is installed.
-
-* Tue Jan 22 2002 Benjamin LaHaise <bcrl@redhat.com>
-- add io_getevents
-
-* Tue Jan 22 2002 Michael K. Johnson <johnsonm@redhat.com>
-- Make linker happy with /usr/lib symlink for libredhat-kernel.so
-
-* Mon Jan 21 2002 Michael K. Johnson <johnsonm@redhat.com>
-- Added stub library
-
-* Sun Jan 20 2002 Michael K. Johnson <johnsonm@redhat.com>
-- Initial packaging
diff --git a/tools/libaio/man/aio.3 b/tools/libaio/man/aio.3
deleted file mode 100644
index 6dc3c63..0000000
--- a/tools/libaio/man/aio.3
+++ /dev/null
@@ -1,315 +0,0 @@
-.TH aio 3 2002-09-12 "Linux 2.4" Linux AIO"
-.SH NAME
-aio \- Asynchronous IO
-.SH SYNOPSIS
-.nf
-.B #include <errno.h>
-.sp
-.br 
-.B #include <aio.h>
-.sp
-.fi
-.SH DESCRIPTION
-The POSIX.1b standard defines a new set of I/O operations which can
-significantly reduce the time an application spends waiting at I/O.  The
-new functions allow a program to initiate one or more I/O operations and
-then immediately resume normal work while the I/O operations are
-executed in parallel.  This functionality is available if the
-.IR "unistd.h"
-file defines the symbol 
-.B "_POSIX_ASYNCHRONOUS_IO"
-.
-
-These functions are part of the library with realtime functions named
-.IR "librt"
-.  They are not actually part of the 
-.IR "libc" 
-binary.
-The implementation of these functions can be done using support in the
-kernel (if available) or using an implementation based on threads at
-userlevel.  In the latter case it might be necessary to link applications
-with the thread library 
-.IR "libpthread"
-in addition to 
-.IR "librt"
-and
-.IR "libaio"
-.
-
-All AIO operations operate on files which were opened previously.  There
-might be arbitrarily many operations running for one file.  The
-asynchronous I/O operations are controlled using a data structure named
-.IR "struct aiocb"
-It is defined in
-.IR "aio.h"
- as follows.
-
-.nf
-struct aiocb
-{
-  int aio_fildes;               /* File desriptor.  */
-  int aio_lio_opcode;           /* Operation to be performed.  */
-  int aio_reqprio;              /* Request priority offset.  */
-  volatile void *aio_buf;       /* Location of buffer.  */
-  size_t aio_nbytes;            /* Length of transfer.  */
-  struct sigevent aio_sigevent; /* Signal number and value.  */
-
-  /* Internal members.  */
-  struct aiocb *__next_prio;
-  int __abs_prio;
-  int __policy;
-  int __error_code;
-  __ssize_t __return_value;
-
-#ifndef __USE_FILE_OFFSET64
-  __off_t aio_offset;           /* File offset.  */
-  char __pad[sizeof (__off64_t) - sizeof (__off_t)];
-#else
-  __off64_t aio_offset;         /* File offset.  */
-#endif
-  char __unused[32];
-};
-
-.fi
-The POSIX.1b standard mandates that the 
-.IR "struct aiocb" 
-structure
-contains at least the members described in the following table.  There
-might be more elements which are used by the implementation, but
-depending upon these elements is not portable and is highly deprecated.
-
-.TP
-.IR "int aio_fildes"
-This element specifies the file descriptor to be used for the
-operation.  It must be a legal descriptor, otherwise the operation will
-fail.
-
-The device on which the file is opened must allow the seek operation.
-I.e., it is not possible to use any of the AIO operations on devices
-like terminals where an 
-.IR "lseek"
- call would lead to an error.
-.TP
-.IR "off_t aio_offset"
-This element specifies the offset in the file at which the operation (input
-or output) is performed.  Since the operations are carried out in arbitrary
-order and more than one operation for one file descriptor can be
-started, one cannot expect a current read/write position of the file
-descriptor.
-.TP
-.IR "volatile void *aio_buf"
-This is a pointer to the buffer with the data to be written or the place
-where the read data is stored.
-.TP
-.IR "size_t aio_nbytes"
-This element specifies the length of the buffer pointed to by 
-.IR "aio_buf"
-.
-.TP
-.IR "int aio_reqprio"
-If the platform has defined 
-.B "_POSIX_PRIORITIZED_IO"
-and
-.B "_POSIX_PRIORITY_SCHEDULING"
-, the AIO requests are
-processed based on the current scheduling priority.  The
-.IR "aio_reqprio"
-element can then be used to lower the priority of the
-AIO operation.
-.TP
-.IR "struct sigevent aio_sigevent"
-This element specifies how the calling process is notified once the
-operation terminates.  If the 
-.IR "sigev_notify"
-element is
-.B "SIGEV_NONE"
-, no notification is sent.  If it is 
-.B "SIGEV_SIGNAL"
-,
-the signal determined by 
-.IR "sigev_signo"
-is sent.  Otherwise,
-.IR "sigev_notify"
-must be 
-.B "SIGEV_THREAD"
-.  In this case, a thread
-is created which starts executing the function pointed to by
-.IR "sigev_notify_function"
-.
-.TP
-.IR "int aio_lio_opcode"
-This element is only used by the 
-.IR "lio_listio"
- and
-.IR "lio_listio64"
- functions.  Since these functions allow an
-arbitrary number of operations to start at once, and each operation can be
-input or output (or nothing), the information must be stored in the
-control block.  The possible values are:
-.TP
-.B "LIO_READ"
-Start a read operation.  Read from the file at position
-.IR "aio_offset"
- and store the next 
-.IR "aio_nbytes"
- bytes in the
-buffer pointed to by 
-.IR "aio_buf"
-.
-.TP
-.B "LIO_WRITE"
-Start a write operation.  Write 
-.IR "aio_nbytes" 
-bytes starting at
-.IR "aio_buf"
-into the file starting at position 
-.IR "aio_offset"
-.
-.TP
-.B "LIO_NOP"
-Do nothing for this control block.  This value is useful sometimes when
-an array of 
-.IR "struct aiocb"
-values contains holes, i.e., some of the
-values must not be handled although the whole array is presented to the
-.IR "lio_listio"
-function.
-
-When the sources are compiled using 
-.B "_FILE_OFFSET_BITS == 64"
-on a
-32 bit machine, this type is in fact 
-.IR "struct aiocb64"
-, since the LFS
-interface transparently replaces the 
-.IR "struct aiocb"
-definition.
-.PP
-For use with the AIO functions defined in the LFS, there is a similar type
-defined which replaces the types of the appropriate members with larger
-types but otherwise is equivalent to 
-.IR "struct aiocb"
-.  Particularly,
-all member names are the same.
-
-.nf
-/* The same for the 64bit offsets.  Please note that the members aio_fildes
-   to __return_value have to be the same in aiocb and aiocb64.  */
-#ifdef __USE_LARGEFILE64
-struct aiocb64
-{
-  int aio_fildes;               /* File desriptor.  */
-  int aio_lio_opcode;           /* Operation to be performed.  */
-  int aio_reqprio;              /* Request priority offset.  */
-  volatile void *aio_buf;       /* Location of buffer.  */
-  size_t aio_nbytes;            /* Length of transfer.  */
-  struct sigevent aio_sigevent; /* Signal number and value.  */
-
-  /* Internal members.  */
-  struct aiocb *__next_prio;
-  int __abs_prio;
-  int __policy;
-  int __error_code;
-  __ssize_t __return_value;
-
-  __off64_t aio_offset;         /* File offset.  */
-  char __unused[32];
-};
-
-.fi
-.TP
-.IR "int aio_fildes"
-This element specifies the file descriptor which is used for the
-operation.  It must be a legal descriptor since otherwise the operation
-fails for obvious reasons.
-The device on which the file is opened must allow the seek operation.
-I.e., it is not possible to use any of the AIO operations on devices
-like terminals where an 
-.IR "lseek"
- call would lead to an error.
-.TP
-.IR "off64_t aio_offset"
-This element specifies at which offset in the file the operation (input
-or output) is performed.  Since the operation are carried in arbitrary
-order and more than one operation for one file descriptor can be
-started, one cannot expect a current read/write position of the file
-descriptor.
-.TP
-.IR "volatile void *aio_buf"
-This is a pointer to the buffer with the data to be written or the place
-where the read data is stored.
-.TP
-.IR "size_t aio_nbytes"
-This element specifies the length of the buffer pointed to by 
-.IR "aio_buf"
-.
-.TP
-.IR "int aio_reqprio"
-If for the platform 
-.B "_POSIX_PRIORITIZED_IO"
-and
-.B "_POSIX_PRIORITY_SCHEDULING"
-are defined the AIO requests are
-processed based on the current scheduling priority.  The
-.IR "aio_reqprio"
-element can then be used to lower the priority of the
-AIO operation.
-.TP
-.IR "struct sigevent aio_sigevent"
-This element specifies how the calling process is notified once the
-operation terminates.  If the 
-.IR "sigev_notify"
-, element is
-.B "SIGEV_NONE"
-no notification is sent.  If it is 
-.B "SIGEV_SIGNAL"
-,
-the signal determined by 
-.IR "sigev_signo"
-is sent.  Otherwise,
-.IR "sigev_notify"
- must be 
-.B "SIGEV_THREAD"
-in which case a thread
-which starts executing the function pointed to by
-.IR "sigev_notify_function"
-.
-.TP
-.IR "int aio_lio_opcode"
-This element is only used by the 
-.IR "lio_listio"
-and
-.IR "lio_listio64"
-functions.  Since these functions allow an
-arbitrary number of operations to start at once, and since each operation can be
-input or output (or nothing), the information must be stored in the
-control block.  See the description of 
-.IR "struct aiocb"
-for a description
-of the possible values.
-.PP
-When the sources are compiled using 
-.B "_FILE_OFFSET_BITS == 64"
-on a
-32 bit machine, this type is available under the name 
-.IR "struct aiocb64"
-, since the LFS transparently replaces the old interface.
-.SH "RETURN VALUES"
-.SH ERRORS
-.SH "SEE ALSO"
-.BR aio_cancel(3),
-.BR aio_cancel64(3),
-.BR aio_error(3),
-.BR aio_error64(3),
-.BR aio_fsync(3),
-.BR aio_fsync64(3),
-.BR aio_init(3),
-.BR aio_read(3),
-.BR aio_read64(3),
-.BR aio_return(3),
-.BR aio_return64(3),
-.BR aio_suspend(3),
-.BR aio_suspend64(3),
-.BR aio_write(3),
-.BR aio_write64(3),
-.BR errno(3),
diff --git a/tools/libaio/man/aio_cancel.3 b/tools/libaio/man/aio_cancel.3
deleted file mode 100644
index 502c83c..0000000
--- a/tools/libaio/man/aio_cancel.3
+++ /dev/null
@@ -1,137 +0,0 @@
-.TH aio_cancel 3 2002-09-12 "Linux 2.4" Linux AIO"
-.SH NAME
-aio_cancel - Cancel asynchronous I/O requests
-.SH SYNOPSYS
-.nf
-.B #include <errno.h>
-.sp
-.br 
-.B #include <aio.h>
-.sp
-.br
-.BI "int aio_cancel (int fildes " , struct aiocb *aiocbp " )"
-.fi
-.SH DESCRIPTION
-When one or more requests are asynchronously processed, it might be
-useful in some situations to cancel a selected operation, e.g., if it
-becomes obvious that the written data is no longer accurate and would
-have to be overwritten soon.  As an example, assume an application, which
-writes data in files in a situation where new incoming data would have
-to be written in a file which will be updated by an enqueued request.
-The POSIX AIO implementation provides such a function, but this function
-is not capable of forcing the cancellation of the request.  It is up to the
-implementation to decide whether it is possible to cancel the operation
-or not.  Therefore using this function is merely a hint.
-.B "The libaio implementation does not implement the cancel operation in the"
-.B "POSIX libraries".
-.PP
-The 
-.IR aio_cancel
-function can be used to cancel one or more
-outstanding requests.  If the 
-.IR aiocbp 
-parameter is 
-.IR NULL
-, the
-function tries to cancel all of the outstanding requests which would process
-the file descriptor 
-.IR fildes 
-(i.e., whose 
-.IR aio_fildes 
-member
-is 
-.IR fildes
-).  If 
-.IR aiocbp is not 
-.IR  NULL
-,
-.IR aio_cancel
-attempts to cancel the specific request pointed to by 
-.IR aiocbp.
-
-For requests which were successfully canceled, the normal notification
-about the termination of the request should take place.  I.e., depending
-on the 
-.IR "struct sigevent" 
-object which controls this, nothing
-happens, a signal is sent or a thread is started.  If the request cannot
-be canceled, it terminates the usual way after performing the operation.
-After a request is successfully canceled, a call to 
-.IR aio_error
-with
-a reference to this request as the parameter will return
-.B ECANCELED
-and a call to 
-.IR aio_return
-will return 
-.IR -1.
-If the request wasn't canceled and is still running the error status is
-still 
-.B EINPROGRESS.
-When the sources are compiled with 
-.IR "_FILE_OFFSET_BITS == 64"
-, this
-function is in fact 
-.IR aio_cancel64
-since the LFS interface
-transparently replaces the normal implementation.
-
-.SH "RETURN VALUES"
-.TP
-.B AIO_CANCELED
-If there were
-requests which haven't terminated and which were successfully canceled.
-.TP
-.B AIO_NOTCANCELED
-If there is one or more requests left which couldn't be canceled,
-.  In this case
-.IR aio_error
-must be used to find out which of the, perhaps multiple, requests (in
-.IR aiocbp
-is 
-.IR NULL
-) weren't successfully canceled.  
-.TP
-.B AIO_ALLDONE
-If all
-requests already terminated at the time 
-.IR aio_cancel 
-is called the
-return value is 
-.
-.SH ERRORS
-If an error occurred during the execution of 
-.IR aio_cancel 
-the
-function returns 
-.IR -1
-and sets 
-.IR errno
-to one of the following
-values.
-.TP
-.B EBADF
-The file descriptor 
-.IR fildes
-is not valid.
-.TP
-.B ENOSYS
-.IR aio_cancel
-is not implemented.
-.SH "SEE ALSO"
-.BR aio(3),
-.BR aio_cancel64(3),
-.BR aio_error(3),
-.BR aio_error64(3),
-.BR aio_fsync(3),
-.BR aio_fsync64(3),
-.BR aio_init(3),
-.BR aio_read(3),
-.BR aio_read64(3),
-.BR aio_return(3),
-.BR aio_return64(3),
-.BR aio_suspend(3),
-.BR aio_suspend64(3),
-.BR aio_write(3),
-.BR aio_write64(3),
-.BR errno(3),
diff --git a/tools/libaio/man/aio_cancel64.3 b/tools/libaio/man/aio_cancel64.3
deleted file mode 100644
index ede775b..0000000
--- a/tools/libaio/man/aio_cancel64.3
+++ /dev/null
@@ -1,50 +0,0 @@
-.TH aio_cancel64 3 2002-09-12 "Linux 2.4" Linux AIO"
-.SH NAME
-aio_cancel64 \- Cancel asynchronous I/O requests
-.SH SYNOPSYS
-.nf
-.B #include <errno.h>
-.sp
-.br 
-.B #include <aio.h>
-.sp
-.br
-.BI "int aio_cancel64 (int fildes, struct aiocb64 *aiocbp)"
-.fi
-.SH DESCRIPTION
-This function is similar to 
-.IR aio_cancel
-with the only difference
-that the argument is a reference to a variable of type 
-.IR struct aiocb64
-.
-
-When the sources are compiled with 
-.IR _FILE_OFFSET_BITS == 64
-, this
-function is available under the name 
-.IR aio_cancel
-and so
-transparently replaces the interface for small files on 32 bit
-machines.
-.SH "RETURN VALUES"
-See aio_cancel(3).
-.SH ERRORS
-See aio_cancel(3).
-.SH "SEE ALSO"
-.BR aio(3),
-.BR aio_cancel(3),
-.BR aio_error(3),
-.BR aio_error64(3),
-.BR aio_fsync(3),
-.BR aio_fsync64(3),
-.BR aio_init(3),
-.BR aio_read(3),
-.BR aio_read64(3),
-.BR aio_return(3),
-.BR aio_return64(3),
-.BR aio_suspend(3),
-.BR aio_suspend64(3),
-.BR aio_write(3),
-.BR aio_write64(3),
-.BR errno(3),
diff --git a/tools/libaio/man/aio_error.3 b/tools/libaio/man/aio_error.3
deleted file mode 100644
index 12b82cf..0000000
--- a/tools/libaio/man/aio_error.3
+++ /dev/null
@@ -1,81 +0,0 @@
-.TH aio_error 3 2002-09-12 "Linux 2.4" Linux AIO"
-.SH NAME
-aio_error \- Getting the Status of AIO Operations
-.SH SYNOPSYS
-.nf
-.B #include <errno.h>
-.sp
-.br 
-.B #include <aio.h>
-.sp
-.br
-.BI "int aio_error (const struct aiocb *aiocbp)"
-.fi
-.SH DESCRIPTION
-The function
-.IR aio_error
-determines the error state of the request described by the
-.IR "struct aiocb"
-variable pointed to by 
-.I aiocbp
-. 
-
-When the operation is performed truly asynchronously (as with
-.IR "aio_read"
-and 
-.IR "aio_write"
-and with 
-.IR "lio_listio"
-when the mode is 
-.IR "LIO_NOWAIT"
-), one sometimes needs to know whether a
-specific request already terminated and if so, what the result was.
-When the sources are compiled with 
-.IR "_FILE_OFFSET_BITS == 64"
-this function is in fact 
-.IR "aio_error64"
-since the LFS interface transparently replaces the normal implementation.
-.SH "RETURN VALUES"
-If the request has not yet terminated the value returned is always
-.IR "EINPROGRESS"
-.  Once the request has terminated the value
-.IR "aio_error"
-returns is either 
-.I 0
-if the request completed successfully or it returns the value which would be stored in the
-.IR "errno"
-variable if the request would have been done using
-.IR "read"
-, 
-.IR "write"
-, or 
-.IR "fsync"
-.
-.SH ERRORS
-.TP
-.IR "ENOSYS"
-if it is not implemented.  It
-could also return 
-.TP
-.IR "EINVAL"
-if the 
-.I aiocbp
-parameter does not
-refer to an asynchronous operation whose return status is not yet known.
-.SH "SEE ALSO"
-.BR aio(3),
-.BR aio_cancel(3),
-.BR aio_cancel64(3),
-.BR aio_error64(3),
-.BR aio_fsync(3),
-.BR aio_fsync64(3),
-.BR aio_init(3),
-.BR aio_read(3),
-.BR aio_read64(3),
-.BR aio_return(3),
-.BR aio_return64(3),
-.BR aio_suspend(3),
-.BR aio_suspend64(3),
-.BR aio_write(3),
-.BR aio_write64(3),
-.BR errno(3),
diff --git a/tools/libaio/man/aio_error64.3 b/tools/libaio/man/aio_error64.3
deleted file mode 100644
index 3333161..0000000
--- a/tools/libaio/man/aio_error64.3
+++ /dev/null
@@ -1,64 +0,0 @@
-.TH aio_error64 3 2002-09-12 "Linux 2.4" Linux AIO"
-.SH NAME
-aio_error64 \- Return errors
-.SH SYNOPSYS
-.nf
-.B #include <errno.h>
-.sp
-.br 
-.B #include <aio.h>
-.sp
-.br
-.BI "int aio_error64 (const struct aiocb64 *aiocbp)"
-.fi
-.SH DESCRIPTION
-This function is similar to 
-.IR aio_error
-with the only difference
-that the argument is a reference to a variable of type 
-.IR "struct aiocb64".
-.PP
-When the sources are compiled with 
-.IR "_FILE_OFFSET_BITS == 64"
-this
-function is available under the name 
-.IR aio_error
-and so
-transparently replaces the interface for small files on 32 bit
-machines.
-.SH "RETURN VALUES"
-If the request has not yet terminated the value returned is always
-.IR "EINPROGRESS"
-.  Once the request has terminated the value
-.IR "aio_error"
-returns is either 
-.I 0
-if the request completed successfully or it returns the value which would be stored in the
-.IR "errno"
-variable if the request would have been done using
-.IR "read"
-, 
-.IR "write"
-, or 
-.IR "fsync"
-.
-.SH ERRORS
-See 
-.IR aio_error(3).
-.SH "SEE ALSO"
-.BR aio(3),
-.BR aio_cancel(3),
-.BR aio_cancel64(3),
-.BR aio_error(3),
-.BR aio_fsync(3),
-.BR aio_fsync64(3),
-.BR aio_init(3),
-.BR aio_read(3),
-.BR aio_read64(3),
-.BR aio_return(3),
-.BR aio_return64(3),
-.BR aio_suspend(3),
-.BR aio_suspend64(3),
-.BR aio_write(3),
-.BR aio_write64(3),
-.BR errno(3),
diff --git a/tools/libaio/man/aio_fsync.3 b/tools/libaio/man/aio_fsync.3
deleted file mode 100644
index 637f0f6..0000000
--- a/tools/libaio/man/aio_fsync.3
+++ /dev/null
@@ -1,139 +0,0 @@
-.TH aio_fsync 3 2002-09-12 "Linux 2.4" Linux AIO"
-.SH NAME
-aio_fsync \- Synchronize a file's complete in-core state with that on disk
-.SH SYNOPSYS
-.nf
-.B #include <errno.h>
-.sp
-.br 
-.B #include <aio.h>
-.sp
-.br
-.BI "int aio_fsync (int op, struct aiocb aiocbp)"
-.fi
-.SH DESCRIPTION
-.PP
-When dealing with asynchronous operations it is sometimes necessary to
-get into a consistent state.  This would mean for AIO that one wants to
-know whether a certain request or a group of request were processed.
-This could be done by waiting for the notification sent by the system
-after the operation terminated, but this sometimes would mean wasting
-resources (mainly computation time).  Instead POSIX.1b defines two
-functions which will help with most kinds of consistency.
-.PP
-The
-.IR aio_fsync
-and 
-.IR "aio_fsync64"
-functions are only available
-if the symbol 
-.IR "_POSIX_SYNCHRONIZED_IO"
-is defined in 
-.I unistd.h
-.
-
-Calling this function forces all I/O operations operating queued at the
-time of the function call operating on the file descriptor
-.IR "aiocbp->aio_fildes"
-into the synchronized I/O completion state .  The 
-.IR "aio_fsync"
-function returns
-immediately but the notification through the method described in
-.IR "aiocbp->aio_sigevent"
-will happen only after all requests for this
-file descriptor have terminated and the file is synchronized.  This also
-means that requests for this very same file descriptor which are queued
-after the synchronization request are not affected.
-
-If 
-.IR "op"
-is 
-.IR "O_DSYNC"
-the synchronization happens as with a call
-to 
-.IR "fdatasync"
-.  Otherwise 
-.IR "op"
-should be 
-.IR "O_SYNC"
-and
-the synchronization happens as with 
-.IR "fsync"
-.
-
-As long as the synchronization has not happened, a call to
-.IR "aio_error"
-with the reference to the object pointed to by
-.IR "aiocbp"
-returns 
-.IR "EINPROGRESS"
-.  Once the synchronization is
-done 
-.IR "aio_error"
-return 
-.IR 0
-if the synchronization was not
-successful.  Otherwise the value returned is the value to which the
-.IR "fsync"
-or 
-.IR "fdatasync"
-function would have set the
-.IR "errno"
-variable.  In this case nothing can be assumed about the
-consistency for the data written to this file descriptor.
-
-.SH "RETURN VALUES"
-The return value of this function is 
-.IR 0
-if the request was
-successfully enqueued.  Otherwise the return value is 
-.IR -1
-and
-.IR "errno".
-.SH ERRORS
-.TP
-.B EAGAIN
-The request could not be enqueued due to temporary lack of resources.
-.TP
-.B EBADF
-The file descriptor 
-.IR "aiocbp->aio_fildes"
-is not valid or not open
-for writing.
-.TP
-.B EINVAL
-The implementation does not support I/O synchronization or the 
-.IR "op"
-parameter is other than 
-.IR "O_DSYNC"
-and 
-.IR "O_SYNC"
-.
-.TP
-.B ENOSYS
-This function is not implemented.
-.PP
-When the sources are compiled with 
-.IR "_FILE_OFFSET_BITS == 64"
- this
-function is in fact 
-.IR "aio_return64"
-since the LFS interface
-transparently replaces the normal implementation.
-.SH "SEE ALSO"
-.BR aio(3),
-.BR aio_cancel(3),
-.BR aio_cancel64(3),
-.BR aio_error(3),
-.BR aio_error64(3),
-.BR aio_fsync64(3),
-.BR aio_init(3),
-.BR aio_read(3),
-.BR aio_read64(3),
-.BR aio_return(3),
-.BR aio_return64(3),
-.BR aio_suspend(3),
-.BR aio_suspend64(3),
-.BR aio_write(3),
-.BR aio_write64(3),
-.BR errno(3),
diff --git a/tools/libaio/man/aio_fsync64.3 b/tools/libaio/man/aio_fsync64.3
deleted file mode 100644
index 5dce22d..0000000
--- a/tools/libaio/man/aio_fsync64.3
+++ /dev/null
@@ -1,51 +0,0 @@
-.TH aio_fsync64 3 2002-09-12 "Linux 2.4" Linux AIO"
-.SH NAME
-aio_fsync64 \- Synchronize a file's complete in-core state with that on disk
-.SH SYNOPSYS
-.nf
-.B #include <errno.h>
-.sp
-.br 
-.B #include <aio.h>
-.sp
-.br
-.BI "int aio_fsync64 (int op, struct aiocb64 *aiocbp)"
-.fi
-.SH DESCRIPTION
-This function is similar to 
-.IR aio_fsync
-with the only difference
-that the argument is a reference to a variable of type 
-.IR "struct aiocb64".
-
-When the sources are compiled with 
-.IR "_FILE_OFFSET_BITS == 64"
-this
-function is available under the name 
-.IR aio_fsync
-and so
-transparently replaces the interface for small files on 32 bit
-machines.
-.SH "RETURN VALUES"
-See 
-.IR aio_fsync.
-.SH ERRORS
-See 
-.IR aio_fsync.
-.SH "SEE ALSO"
-.BR aio(3),
-.BR aio_cancel(3),
-.BR aio_cancel64(3),
-.BR aio_error(3),
-.BR aio_error64(3),
-.BR aio_fsync(3),

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:45:56 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:45:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzMp-0002Yr-JI; Wed, 21 Aug 2013 03:45:55 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzMo-0002XO-2d
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:45:54 +0000
Received: from [85.158.143.35:26347] by server-2.bemta-4.messagelabs.com id
	18/D7-26052-1F734125; Wed, 21 Aug 2013 03:45:53 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1377056751!5512617!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9875 invoked from network); 21 Aug 2013 03:45:52 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-15.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:45:52 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzMl-0004Cp-HP
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:45:51 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzMl-0004ZV-FL
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:45:51 +0000
Date: Wed, 21 Aug 2013 03:45:51 +0000
Message-Id: <E1VBzMl-0004ZV-FL@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] tools: delete xsview
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 4b07ff449a08de04ccebd680516a262148f177b9
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed Jul 31 16:15:52 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:34:15 2013 +0100

    tools: delete xsview
    
    This was apparently a Qt xenstore viewer. It hasn't been touched since it was
    first committed in 2007 and I can't beleive anyone is actually using even if
    it still happens to work.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Matt Wilson <msw@amazon.com>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/misc/Makefile                 |    2 +-
 tools/misc/xsview                   |    9 --
 tools/python/setup.py               |    1 -
 tools/python/xen/xsview/main.py     |   10 --
 tools/python/xen/xsview/xsviewer.py |  168 -----------------------------------
 5 files changed, 1 insertions(+), 189 deletions(-)

diff --git a/tools/misc/Makefile b/tools/misc/Makefile
index 73b55dd..9c69e0d 100644
--- a/tools/misc/Makefile
+++ b/tools/misc/Makefile
@@ -22,7 +22,7 @@ INSTALL_BIN-y := xencons xencov_split
 INSTALL_BIN-$(CONFIG_X86) += xen-detect
 INSTALL_BIN := $(INSTALL_BIN-y)
 
-INSTALL_SBIN-y := xen-bugtool xen-python-path xenperf xsview xenpm xen-tmem-list-parse gtraceview \
+INSTALL_SBIN-y := xen-bugtool xen-python-path xenperf xenpm xen-tmem-list-parse gtraceview \
 	gtracestat xenlockprof xenwatchdogd xen-ringwatch xencov
 INSTALL_SBIN-$(CONFIG_X86) += xen-hvmctx xen-hvmcrash xen-lowmemd
 INSTALL_SBIN-$(CONFIG_MIGRATE) += xen-hptool
diff --git a/tools/misc/xsview b/tools/misc/xsview
deleted file mode 100644
index f926fe4..0000000
--- a/tools/misc/xsview
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/usr/bin/env python
-
-import sys
-
-from xen.xsview import main
-
-main.main(sys.argv)
-
-
diff --git a/tools/python/setup.py b/tools/python/setup.py
index 4f66564..8e584e6 100644
--- a/tools/python/setup.py
+++ b/tools/python/setup.py
@@ -133,7 +133,6 @@ setup(name            = 'xen',
       packages        = ['xen',
                          'xen.lowlevel',
                          'xen.sv',
-                         'xen.xsview',
                          ] + xend_packages,
       ext_package = "xen.lowlevel",
       ext_modules = modules
diff --git a/tools/python/xen/xsview/__init__.py b/tools/python/xen/xsview/__init__.py
deleted file mode 100644
index e69de29..0000000
diff --git a/tools/python/xen/xsview/main.py b/tools/python/xen/xsview/main.py
deleted file mode 100644
index b8d3b41..0000000
--- a/tools/python/xen/xsview/main.py
+++ /dev/null
@@ -1,10 +0,0 @@
-from xsviewer import *
-from qt import *
-
-def main(args):
-    app = QApplication(args)
-    mainwin = XSViewer(app)
-    mainwin.show()
-    app.connect(app, SIGNAL("lastWindowClosed()"),
-                app, SLOT("quit()"))
-    app.exec_loop()
diff --git a/tools/python/xen/xsview/xsviewer.py b/tools/python/xen/xsview/xsviewer.py
deleted file mode 100644
index 4dbaf98..0000000
--- a/tools/python/xen/xsview/xsviewer.py
+++ /dev/null
@@ -1,168 +0,0 @@
-from qt import *
-
-import xen.lowlevel.xs
-
-class XSViewer(QMainWindow):
-    
-    def __init__(self, app):
-        apply(QMainWindow.__init__, (self,))
-        
-        self.setCaption('XenStore Viewer')
-
-        self.new_node = QAction(self, 'New Node')
-        self.new_node.setText('New Node...')
-        self.connect(self.new_node, SIGNAL('activated()'),
-                     self.do_new_node)
-        
-        self.rm_node = QAction(self, 'Remove Node')
-        self.rm_node.setText('Remove Node')
-        self.connect(self.rm_node, SIGNAL('activated()'),
-                     self.do_rm_node)
-
-        self.refresh = QAction(self, 'Refresh')
-        self.refresh.setText('Refresh')
-        self.connect(self.refresh, SIGNAL('activated()'),
-                     self.do_refresh)
- 
-        self.file_menu = QPopupMenu(self)
-        self.new_node.addTo(self.file_menu)
-        self.rm_node.addTo(self.file_menu)
-        self.refresh.addTo(self.file_menu)
-
-
-        self.about = QAction(self, 'About')
-        self.about.setText('About...')
-        self.connect(self.about, SIGNAL('activated()'),
-                     self.do_about)
-
-        self.help_menu = QPopupMenu(self)
-        self.about.addTo(self.help_menu)
-
-        self.menubar = QMenuBar(self)
-        self.menubar.insertItem('&File', self.file_menu)
-        self.menubar.insertItem('&Help', self.help_menu)
-
-        self.vbox = QVBox(self)
-        self.setCentralWidget(self.vbox)
-
-        self.xs_tree = QListView(self.vbox)
-        self.xs_tree.addColumn('Key')
-        self.xs_tree.setRootIsDecorated(1)
-        self.xs_tree.connect(self.xs_tree, SIGNAL('selectionChanged(QListViewItem*)'), self.showValue)
-
-        self.info_box = QHBox(self.vbox)
-        self.info_box.setMargin(2)
-        self.info_box.setSpacing(2)
-        self.info_label = QLabel(self.info_box)
-        self.info_label.setText('Value')
-        self.info = QLineEdit(self.info_box)
-        self.setval = QPushButton(self.info_box)
-        self.setval.setText('Set')
-        self.setval.connect(self.setval, SIGNAL('clicked()'), self.setValue)
-
-        self.xs_handle = xen.lowlevel.xs.xs()
-
-        self.showtree()
-
-
-    def showtree(self):
-        xstransact = self.xs_handle.transaction_start()
-        self.walktree(xstransact, '/', '/', self.xs_tree)
-        self.xs_handle.transaction_end(xstransact)
-
-    def walktree(self, trans, node, subdir_prepend, parent_widget):
-
-        ents = self.xs_handle.ls(trans, node)
-        if ents == None:
-            return
-
-        for e in ents:
-            i = QListViewItem(parent_widget, e)
-            i.full_path = subdir_prepend + e
-            self.walktree(trans, i.full_path, i.full_path + '/', i)
-
-    
-    def showValue(self, item):
-        trans = self.xs_handle.transaction_start()
-        val = self.xs_handle.read(trans, item.full_path)
-        self.info.setText(val)
-        self.xs_handle.transaction_end(trans)
-
-
-    def setValue(self):
-        trans = self.xs_handle.transaction_start()
-        item = self.xs_tree.currentItem()
-        newval = str(self.info.text())
-
-        self.xs_handle.write(trans, item.full_path, newval)
-
-        self.xs_handle.transaction_end(trans)
-
-
-    def do_refresh(self):
-        self.xs_tree.clear()
-        self.info.clear()
-        self.showtree()
-
-    def do_new_node(self):
-        dia = QDialog(self)
-        dia.setCaption('Create new node')
-
-        vbox = QVBox(dia)
-
-        setting_hbox = QHBox(vbox)
-        
-        path_label = QLabel(setting_hbox)
-        path_label.setText('Node path')
-        path = QLineEdit(setting_hbox)
-        
-        value_label = QLabel(setting_hbox)
-        value_label.setText('Node value')
-        val = QLineEdit(setting_hbox)
-
-        button_hbox = QHBox(vbox)
-
-        set = QPushButton(button_hbox)
-        set.setText('Set')
-        self.connect(set, SIGNAL('clicked()'), dia, SLOT('accept()'))
-
-        cancel = QPushButton(button_hbox)
-        cancel.setText('Cancel')
-        self.connect(cancel, SIGNAL('clicked()'), dia, SLOT('reject()'))
-
-        setting_hbox.adjustSize()
-        button_hbox.adjustSize()
-        vbox.adjustSize()
-
-        if dia.exec_loop() == QDialog.Accepted:
-            trans = self.xs_handle.transaction_start()
-            self.xs_handle.write(trans, str(path.text()), str(val.text()))
-            
-            self.xs_handle.transaction_end(trans)
-
-            self.do_refresh()
-        
-        # nothing to set.
-
-    def do_rm_node(self):
-        trans = self.xs_handle.transaction_start()
-        item = self.xs_tree.currentItem()
-        newval = str(self.info.text())
-
-        self.xs_handle.rm(trans, item.full_path)
-
-        self.xs_handle.transaction_end(trans)
-
-        self.do_refresh()
-
-    def do_about(self):
-        about_dia = QMessageBox(self)
-        about_dia.setIcon(QMessageBox.Information)
-
-        about_dia.setCaption('About XenStore Viewer')
-        about_dia.setText('XenStore Viewer\n'
-                          'by Mark Williamson <mark.williamson@cl.cam.ac.uk>')
-
-        about_dia.exec_loop()
-        
-        
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:45:56 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:45:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzMp-0002Yr-JI; Wed, 21 Aug 2013 03:45:55 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzMo-0002XO-2d
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:45:54 +0000
Received: from [85.158.143.35:26347] by server-2.bemta-4.messagelabs.com id
	18/D7-26052-1F734125; Wed, 21 Aug 2013 03:45:53 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1377056751!5512617!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 9875 invoked from network); 21 Aug 2013 03:45:52 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-15.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:45:52 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzMl-0004Cp-HP
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:45:51 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzMl-0004ZV-FL
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:45:51 +0000
Date: Wed, 21 Aug 2013 03:45:51 +0000
Message-Id: <E1VBzMl-0004ZV-FL@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] tools: delete xsview
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 4b07ff449a08de04ccebd680516a262148f177b9
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed Jul 31 16:15:52 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:34:15 2013 +0100

    tools: delete xsview
    
    This was apparently a Qt xenstore viewer. It hasn't been touched since it was
    first committed in 2007 and I can't beleive anyone is actually using even if
    it still happens to work.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Matt Wilson <msw@amazon.com>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/misc/Makefile                 |    2 +-
 tools/misc/xsview                   |    9 --
 tools/python/setup.py               |    1 -
 tools/python/xen/xsview/main.py     |   10 --
 tools/python/xen/xsview/xsviewer.py |  168 -----------------------------------
 5 files changed, 1 insertions(+), 189 deletions(-)

diff --git a/tools/misc/Makefile b/tools/misc/Makefile
index 73b55dd..9c69e0d 100644
--- a/tools/misc/Makefile
+++ b/tools/misc/Makefile
@@ -22,7 +22,7 @@ INSTALL_BIN-y := xencons xencov_split
 INSTALL_BIN-$(CONFIG_X86) += xen-detect
 INSTALL_BIN := $(INSTALL_BIN-y)
 
-INSTALL_SBIN-y := xen-bugtool xen-python-path xenperf xsview xenpm xen-tmem-list-parse gtraceview \
+INSTALL_SBIN-y := xen-bugtool xen-python-path xenperf xenpm xen-tmem-list-parse gtraceview \
 	gtracestat xenlockprof xenwatchdogd xen-ringwatch xencov
 INSTALL_SBIN-$(CONFIG_X86) += xen-hvmctx xen-hvmcrash xen-lowmemd
 INSTALL_SBIN-$(CONFIG_MIGRATE) += xen-hptool
diff --git a/tools/misc/xsview b/tools/misc/xsview
deleted file mode 100644
index f926fe4..0000000
--- a/tools/misc/xsview
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/usr/bin/env python
-
-import sys
-
-from xen.xsview import main
-
-main.main(sys.argv)
-
-
diff --git a/tools/python/setup.py b/tools/python/setup.py
index 4f66564..8e584e6 100644
--- a/tools/python/setup.py
+++ b/tools/python/setup.py
@@ -133,7 +133,6 @@ setup(name            = 'xen',
       packages        = ['xen',
                          'xen.lowlevel',
                          'xen.sv',
-                         'xen.xsview',
                          ] + xend_packages,
       ext_package = "xen.lowlevel",
       ext_modules = modules
diff --git a/tools/python/xen/xsview/__init__.py b/tools/python/xen/xsview/__init__.py
deleted file mode 100644
index e69de29..0000000
diff --git a/tools/python/xen/xsview/main.py b/tools/python/xen/xsview/main.py
deleted file mode 100644
index b8d3b41..0000000
--- a/tools/python/xen/xsview/main.py
+++ /dev/null
@@ -1,10 +0,0 @@
-from xsviewer import *
-from qt import *
-
-def main(args):
-    app = QApplication(args)
-    mainwin = XSViewer(app)
-    mainwin.show()
-    app.connect(app, SIGNAL("lastWindowClosed()"),
-                app, SLOT("quit()"))
-    app.exec_loop()
diff --git a/tools/python/xen/xsview/xsviewer.py b/tools/python/xen/xsview/xsviewer.py
deleted file mode 100644
index 4dbaf98..0000000
--- a/tools/python/xen/xsview/xsviewer.py
+++ /dev/null
@@ -1,168 +0,0 @@
-from qt import *
-
-import xen.lowlevel.xs
-
-class XSViewer(QMainWindow):
-    
-    def __init__(self, app):
-        apply(QMainWindow.__init__, (self,))
-        
-        self.setCaption('XenStore Viewer')
-
-        self.new_node = QAction(self, 'New Node')
-        self.new_node.setText('New Node...')
-        self.connect(self.new_node, SIGNAL('activated()'),
-                     self.do_new_node)
-        
-        self.rm_node = QAction(self, 'Remove Node')
-        self.rm_node.setText('Remove Node')
-        self.connect(self.rm_node, SIGNAL('activated()'),
-                     self.do_rm_node)
-
-        self.refresh = QAction(self, 'Refresh')
-        self.refresh.setText('Refresh')
-        self.connect(self.refresh, SIGNAL('activated()'),
-                     self.do_refresh)
- 
-        self.file_menu = QPopupMenu(self)
-        self.new_node.addTo(self.file_menu)
-        self.rm_node.addTo(self.file_menu)
-        self.refresh.addTo(self.file_menu)
-
-
-        self.about = QAction(self, 'About')
-        self.about.setText('About...')
-        self.connect(self.about, SIGNAL('activated()'),
-                     self.do_about)
-
-        self.help_menu = QPopupMenu(self)
-        self.about.addTo(self.help_menu)
-
-        self.menubar = QMenuBar(self)
-        self.menubar.insertItem('&File', self.file_menu)
-        self.menubar.insertItem('&Help', self.help_menu)
-
-        self.vbox = QVBox(self)
-        self.setCentralWidget(self.vbox)
-
-        self.xs_tree = QListView(self.vbox)
-        self.xs_tree.addColumn('Key')
-        self.xs_tree.setRootIsDecorated(1)
-        self.xs_tree.connect(self.xs_tree, SIGNAL('selectionChanged(QListViewItem*)'), self.showValue)
-
-        self.info_box = QHBox(self.vbox)
-        self.info_box.setMargin(2)
-        self.info_box.setSpacing(2)
-        self.info_label = QLabel(self.info_box)
-        self.info_label.setText('Value')
-        self.info = QLineEdit(self.info_box)
-        self.setval = QPushButton(self.info_box)
-        self.setval.setText('Set')
-        self.setval.connect(self.setval, SIGNAL('clicked()'), self.setValue)
-
-        self.xs_handle = xen.lowlevel.xs.xs()
-
-        self.showtree()
-
-
-    def showtree(self):
-        xstransact = self.xs_handle.transaction_start()
-        self.walktree(xstransact, '/', '/', self.xs_tree)
-        self.xs_handle.transaction_end(xstransact)
-
-    def walktree(self, trans, node, subdir_prepend, parent_widget):
-
-        ents = self.xs_handle.ls(trans, node)
-        if ents == None:
-            return
-
-        for e in ents:
-            i = QListViewItem(parent_widget, e)
-            i.full_path = subdir_prepend + e
-            self.walktree(trans, i.full_path, i.full_path + '/', i)
-
-    
-    def showValue(self, item):
-        trans = self.xs_handle.transaction_start()
-        val = self.xs_handle.read(trans, item.full_path)
-        self.info.setText(val)
-        self.xs_handle.transaction_end(trans)
-
-
-    def setValue(self):
-        trans = self.xs_handle.transaction_start()
-        item = self.xs_tree.currentItem()
-        newval = str(self.info.text())
-
-        self.xs_handle.write(trans, item.full_path, newval)
-
-        self.xs_handle.transaction_end(trans)
-
-
-    def do_refresh(self):
-        self.xs_tree.clear()
-        self.info.clear()
-        self.showtree()
-
-    def do_new_node(self):
-        dia = QDialog(self)
-        dia.setCaption('Create new node')
-
-        vbox = QVBox(dia)
-
-        setting_hbox = QHBox(vbox)
-        
-        path_label = QLabel(setting_hbox)
-        path_label.setText('Node path')
-        path = QLineEdit(setting_hbox)
-        
-        value_label = QLabel(setting_hbox)
-        value_label.setText('Node value')
-        val = QLineEdit(setting_hbox)
-
-        button_hbox = QHBox(vbox)
-
-        set = QPushButton(button_hbox)
-        set.setText('Set')
-        self.connect(set, SIGNAL('clicked()'), dia, SLOT('accept()'))
-
-        cancel = QPushButton(button_hbox)
-        cancel.setText('Cancel')
-        self.connect(cancel, SIGNAL('clicked()'), dia, SLOT('reject()'))
-
-        setting_hbox.adjustSize()
-        button_hbox.adjustSize()
-        vbox.adjustSize()
-
-        if dia.exec_loop() == QDialog.Accepted:
-            trans = self.xs_handle.transaction_start()
-            self.xs_handle.write(trans, str(path.text()), str(val.text()))
-            
-            self.xs_handle.transaction_end(trans)
-
-            self.do_refresh()
-        
-        # nothing to set.
-
-    def do_rm_node(self):
-        trans = self.xs_handle.transaction_start()
-        item = self.xs_tree.currentItem()
-        newval = str(self.info.text())
-
-        self.xs_handle.rm(trans, item.full_path)
-
-        self.xs_handle.transaction_end(trans)
-
-        self.do_refresh()
-
-    def do_about(self):
-        about_dia = QMessageBox(self)
-        about_dia.setIcon(QMessageBox.Information)
-
-        about_dia.setCaption('About XenStore Viewer')
-        about_dia.setText('XenStore Viewer\n'
-                          'by Mark Williamson <mark.williamson@cl.cam.ac.uk>')
-
-        about_dia.exec_loop()
-        
-        
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:46:06 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:46:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzMz-0002aY-MX; Wed, 21 Aug 2013 03:46:05 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzMy-0002a7-RA
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:46:05 +0000
Received: from [193.109.254.147:35333] by server-5.bemta-14.messagelabs.com id
	21/8A-04931-CF734125; Wed, 21 Aug 2013 03:46:04 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1377056761!5084060!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12423 invoked from network); 21 Aug 2013 03:46:02 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-5.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:46:02 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzMv-0004DU-PL
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:46:01 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzMv-0004a1-LU
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:46:01 +0000
Date: Wed, 21 Aug 2013 03:46:01 +0000
Message-Id: <E1VBzMv-0004a1-LU@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] tools: remove miniterm
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 337452d04dbf8389580ed2b60838c2264e64848c
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed Jul 31 16:15:53 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:34:24 2013 +0100

    tools: remove miniterm
    
    It has been disabled by default since 2008 (9bb7f7e2aca4). Back then Ian J
    asserted it was useful to keep them in the tree in source form. I don't think
    this is true anymore.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Matt Wilson <msw@amazon.com>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 .gitignore                     |    1 -
 .hgignore                      |    1 -
 config/Tools.mk.in             |    1 -
 tools/configure                |   26 ------
 tools/configure.ac             |    1 -
 tools/misc/Makefile            |    1 -
 tools/misc/miniterm/Makefile   |   22 -----
 tools/misc/miniterm/README     |   13 ---
 tools/misc/miniterm/miniterm.c |  195 ----------------------------------------
 9 files changed, 0 insertions(+), 261 deletions(-)

diff --git a/.gitignore b/.gitignore
index 62462b4..0828f6b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -216,7 +216,6 @@ tools/misc/mbootpack/bootsect
 tools/misc/mbootpack/bzimage_header.c
 tools/misc/mbootpack/mbootpack
 tools/misc/mbootpack/setup
-tools/misc/miniterm/miniterm
 tools/misc/xc_shadow
 tools/misc/xen_cpuperf
 tools/misc/xen-detect
diff --git a/.hgignore b/.hgignore
index 9822a8d..2abf398 100644
--- a/.hgignore
+++ b/.hgignore
@@ -209,7 +209,6 @@
 ^tools/misc/mbootpack/bzimage_header\.c$
 ^tools/misc/mbootpack/mbootpack$
 ^tools/misc/mbootpack/setup$
-^tools/misc/miniterm/miniterm$
 ^tools/misc/xc_shadow$
 ^tools/misc/xen_cpuperf$
 ^tools/misc/xen-detect$
diff --git a/config/Tools.mk.in b/config/Tools.mk.in
index bb3acbd..7a0845a 100644
--- a/config/Tools.mk.in
+++ b/config/Tools.mk.in
@@ -47,7 +47,6 @@ XENSTAT_XENTOP      := @monitors@
 LIBXENAPI_BINDINGS  := @xenapi@
 OCAML_TOOLS         := @ocamltools@
 FLASK_POLICY        := @xsmpolicy@
-CONFIG_MINITERM     := @miniterm@
 CONFIG_LOMOUNT      := @lomount@
 CONFIG_OVMF         := @ovmf@
 CONFIG_ROMBIOS      := @rombios@
diff --git a/tools/configure b/tools/configure
index b52dd2a..9d66568 100755
--- a/tools/configure
+++ b/tools/configure
@@ -660,7 +660,6 @@ seabios
 rombios
 ovmf
 lomount
-miniterm
 xsmpolicy
 ocamltools
 xenapi
@@ -729,7 +728,6 @@ enable_monitors
 enable_xenapi
 enable_ocamltools
 enable_xsmpolicy
-enable_miniterm
 enable_lomount
 enable_ovmf
 enable_rombios
@@ -1390,7 +1388,6 @@ Optional Features:
   --enable-xenapi         Enable Xen API Bindings (default is DISABLED)
   --disable-ocamltools    Disable Ocaml tools (default is ENABLED)
   --disable-xsmpolicy     Disable XSM policy compilation (default is ENABLED)
-  --enable-miniterm       Enable miniterm (default is DISABLED)
   --enable-lomount        Enable lomount (default is DISABLED)
   --enable-ovmf           Enable OVMF (default is DISABLED)
   --disable-rombios       Disable ROM BIOS (default is ENABLED)
@@ -3519,29 +3516,6 @@ xsmpolicy=$ax_cv_xsmpolicy
 
 
 
-# Check whether --enable-miniterm was given.
-if test "${enable_miniterm+set}" = set; then :
-  enableval=$enable_miniterm;
-fi
-
-
-if test "x$enable_miniterm" = "xno"; then :
-
-    ax_cv_miniterm="n"
-
-elif test "x$enable_miniterm" = "xyes"; then :
-
-    ax_cv_miniterm="y"
-
-elif test -z $ax_cv_miniterm; then :
-
-    ax_cv_miniterm="n"
-
-fi
-miniterm=$ax_cv_miniterm
-
-
-
 # Check whether --enable-lomount was given.
 if test "${enable_lomount+set}" = set; then :
   enableval=$enable_lomount;
diff --git a/tools/configure.ac b/tools/configure.ac
index f629318..5425740 100644
--- a/tools/configure.ac
+++ b/tools/configure.ac
@@ -53,7 +53,6 @@ AX_ARG_DEFAULT_ENABLE([monitors], [Disable xenstat and xentop monitoring tools])
 AX_ARG_DEFAULT_DISABLE([xenapi], [Enable Xen API Bindings])
 AX_ARG_DEFAULT_ENABLE([ocamltools], [Disable Ocaml tools])
 AX_ARG_DEFAULT_ENABLE([xsmpolicy], [Disable XSM policy compilation])
-AX_ARG_DEFAULT_DISABLE([miniterm], [Enable miniterm])
 AX_ARG_DEFAULT_DISABLE([lomount], [Enable lomount])
 AX_ARG_DEFAULT_DISABLE([ovmf], [Enable OVMF])
 AX_ARG_DEFAULT_ENABLE([rombios], [Disable ROM BIOS])
diff --git a/tools/misc/Makefile b/tools/misc/Makefile
index 9c69e0d..2bb3710 100644
--- a/tools/misc/Makefile
+++ b/tools/misc/Makefile
@@ -15,7 +15,6 @@ TARGETS-$(CONFIG_MIGRATE) += xen-hptool
 TARGETS := $(TARGETS-y)
 
 SUBDIRS-$(CONFIG_LOMOUNT) += lomount
-SUBDIRS-$(CONFIG_MINITERM) += miniterm
 SUBDIRS := $(SUBDIRS-y)
 
 INSTALL_BIN-y := xencons xencov_split
diff --git a/tools/misc/miniterm/Makefile b/tools/misc/miniterm/Makefile
deleted file mode 100644
index 5c5f561..0000000
--- a/tools/misc/miniterm/Makefile
+++ /dev/null
@@ -1,22 +0,0 @@
-XEN_ROOT:=$(CURDIR)/../../..
-include $(XEN_ROOT)/tools/Rules.mk
-
-TARGET = miniterm
-
-.PHONY: all
-all: $(TARGET)
-
-.PHONY: install
-install: all
-	$(INSTALL_DIR) $(DESTDIR)$(BINDIR)
-	$(INSTALL_PROG) $(TARGET) $(DESTDIR)$(BINDIR)
-
-.PHONY: install-recurse
-	: No sense in installing miniterm on the Xen box.
-
-.PHONY: clean
-clean:
-	$(RM) *.o $(TARGET) *~
-
-$(TARGET): $(TARGET).c
-	$(HOSTCC) $(HOSTCFLAGS) -o $@ $<
diff --git a/tools/misc/miniterm/README b/tools/misc/miniterm/README
deleted file mode 100644
index 2ca4501..0000000
--- a/tools/misc/miniterm/README
+++ /dev/null
@@ -1,13 +0,0 @@
-This is a modified version of the miniterm program distributed as part
-of the Linux Programmer's Guide (LPG) by Sven Goldt.
-
-It is intended to be used as a dumb raw terminal for debugging Xen
-machines over the serial line.
-
-By default it will connect to COM1 (/dev/ttyS0) at 115200 baud.
-These options can be modified as follows:
- miniterm [-b<baudrate>] [-d<devicename>]
-
-'ctrl-b' quits miniterm.
-
- -- Keir Fraser (21/9/2003)
\ No newline at end of file
diff --git a/tools/misc/miniterm/miniterm.c b/tools/misc/miniterm/miniterm.c
deleted file mode 100644
index 3f8043d..0000000
--- a/tools/misc/miniterm/miniterm.c
+++ /dev/null
@@ -1,195 +0,0 @@
-/******************************************************************************
- * miniterm.c
- * 
- * Adapted from the example program distributed with the Linux Programmer's
- * Guide (LPG). This has been robustified and tweaked to work as a debugging 
- * terminal for Xen-based machines.
- * 
- * Modifications are released under GPL and copyright (c) 2003, K A Fraser
- * The original copyright message and license is fully intact below.
- */
-
-/*
- *  AUTHOR: Sven Goldt (goldt@math.tu-berlin.de)
- *
- *  This program 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.
- *
- *  This program 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.
- *
- */
-
-#include <termios.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <signal.h>
-#include <sys/types.h>
-#include <sys/wait.h>
-#include <string.h>
-
-#define DEFAULT_BAUDRATE   115200
-#define DEFAULT_SERDEVICE  "/dev/ttyS0"
-#define ENDMINITERM        0x1d
-
-volatile int stop = 0;
-
-void child_handler(int s)
-{
-    stop = 1;
-}
-
-int cook_baud(int baud)
-{
-    int cooked_baud = 0;
-    switch ( baud )
-    {
-    case     50: cooked_baud =     B50; break;
-    case     75: cooked_baud =     B75; break;
-    case    110: cooked_baud =    B110; break;
-    case    134: cooked_baud =    B134; break;
-    case    150: cooked_baud =    B150; break;
-    case    200: cooked_baud =    B200; break;
-    case    300: cooked_baud =    B300; break;
-    case    600: cooked_baud =    B600; break;
-    case   1200: cooked_baud =   B1200; break;
-    case   1800: cooked_baud =   B1800; break;
-    case   2400: cooked_baud =   B2400; break;
-    case   4800: cooked_baud =   B4800; break;
-    case   9600: cooked_baud =   B9600; break;
-    case  19200: cooked_baud =  B19200; break;
-    case  38400: cooked_baud =  B38400; break;
-    case  57600: cooked_baud =  B57600; break;
-    case 115200: cooked_baud = B115200; break;
-    }
-    return cooked_baud;
-}
-
-int main(int argc, char **argv)
-{
-    int              fd, c, cooked_baud = cook_baud(DEFAULT_BAUDRATE);
-    char            *sername = DEFAULT_SERDEVICE;
-    struct termios   oldsertio, newsertio, oldstdtio, newstdtio;
-    struct sigaction sa;
-    static char start_str[] = 
-        "************ REMOTE CONSOLE: CTRL-] TO QUIT ********\r\n";
-    static char end_str[] =
-        "\n************ REMOTE CONSOLE EXITED *****************\n";
-
-    while ( --argc != 0 )
-    {
-        char *p = argv[argc];
-        if ( *p++ != '-' )
-            goto usage;
-        if ( *p == 'b' )
-        {
-            p++;
-            if ( (cooked_baud = cook_baud(atoi(p))) == 0 )
-            {
-                fprintf(stderr, "Bad baud rate '%d'\n", atoi(p));
-                goto usage;
-            }
-        }
-        else if ( *p == 'd' )
-        {
-            sername = ++p;
-            if ( *sername == '\0' )
-                goto usage;
-        }
-        else
-            goto usage;
-    }
-
-    /* Not a controlling tty: CTRL-C shouldn't kill us. */
-    fd = open(sername, O_RDWR | O_NOCTTY);
-    if ( fd < 0 )
-    {
-        perror(sername); 
-        exit(-1);
-    }
- 
-    tcgetattr(fd, &oldsertio); /* save current modem settings */
- 
-    /*
-     * 8 data, no parity, 1 stop bit. Ignore modem control lines. Enable 
-     * receive. Set appropriate baud rate. NO HARDWARE FLOW CONTROL!
-     */
-    newsertio.c_cflag = cooked_baud | CS8 | CLOCAL | CREAD;
-
-    /* Raw input. Ignore errors and breaks. */
-    newsertio.c_iflag = IGNBRK | IGNPAR;
-
-    /* Raw output. */
-    newsertio.c_oflag = OPOST;
-
-    /* No echo and no signals. */
-    newsertio.c_lflag = 0;
- 
-    /* blocking read until 1 char arrives */
-    newsertio.c_cc[VMIN]=1;
-    newsertio.c_cc[VTIME]=0;
- 
-    /* now clean the modem line and activate the settings for modem */
-    tcflush(fd, TCIFLUSH);
-    tcsetattr(fd,TCSANOW,&newsertio);
- 
-    /* next stop echo and buffering for stdin */
-    tcgetattr(0,&oldstdtio);
-    tcgetattr(0,&newstdtio); /* get working stdtio */
-    newstdtio.c_iflag &= ~(BRKINT | ICRNL | INPCK | ISTRIP | IXON);
-    newstdtio.c_oflag &= ~OPOST;
-    newstdtio.c_cflag &= ~(CSIZE | PARENB);
-    newstdtio.c_cflag |= CS8;
-    newstdtio.c_lflag &= ~(ECHO | ICANON | IEXTEN | ISIG);
-    newstdtio.c_cc[VMIN]=1;
-    newstdtio.c_cc[VTIME]=0;
-    tcsetattr(0,TCSANOW,&newstdtio);
-
-    /* Terminal settings done: now enter the main I/O loops. */
-    switch ( fork() )
-    {
-    case 0:
-        close(1); /* stdout not needed */
-        for ( c = (char)getchar(); c != ENDMINITERM; c = (char)getchar() )
-            write(fd,&c,1);
-        tcsetattr(fd,TCSANOW,&oldsertio);
-        tcsetattr(0,TCSANOW,&oldstdtio);
-        close(fd);
-        exit(0); /* will send a SIGCHLD to the parent */
-        break;
-    case -1:
-        perror("fork");
-        tcsetattr(fd,TCSANOW,&oldsertio);
-        close(fd);
-        exit(-1);
-    default:
-        write(1, start_str, strlen(start_str));
-        close(0); /* stdin not needed */
-        sa.sa_handler = child_handler;
-        sa.sa_flags = 0;
-        sigaction(SIGCHLD,&sa,NULL); /* handle dying child */
-        while ( !stop )
-        {
-            read(fd,&c,1); /* modem */
-            c = (char)c;
-            write(1,&c,1); /* stdout */
-        }
-        wait(NULL); /* wait for child to die or it will become a zombie */
-        write(1, end_str, strlen(end_str));
-        break;
-    }
-
-    return 0;
-
- usage:
-    printf("miniterm [-b<baudrate>] [-d<devicename>]\n");
-    printf("Default baud rate: %d\n", DEFAULT_BAUDRATE);
-    printf("Default device: %s\n", DEFAULT_SERDEVICE);
-    return 1;
-}
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:46:06 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:46:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzMz-0002aY-MX; Wed, 21 Aug 2013 03:46:05 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzMy-0002a7-RA
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:46:05 +0000
Received: from [193.109.254.147:35333] by server-5.bemta-14.messagelabs.com id
	21/8A-04931-CF734125; Wed, 21 Aug 2013 03:46:04 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1377056761!5084060!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12423 invoked from network); 21 Aug 2013 03:46:02 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-5.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:46:02 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzMv-0004DU-PL
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:46:01 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzMv-0004a1-LU
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:46:01 +0000
Date: Wed, 21 Aug 2013 03:46:01 +0000
Message-Id: <E1VBzMv-0004a1-LU@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] tools: remove miniterm
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 337452d04dbf8389580ed2b60838c2264e64848c
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed Jul 31 16:15:53 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:34:24 2013 +0100

    tools: remove miniterm
    
    It has been disabled by default since 2008 (9bb7f7e2aca4). Back then Ian J
    asserted it was useful to keep them in the tree in source form. I don't think
    this is true anymore.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Matt Wilson <msw@amazon.com>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 .gitignore                     |    1 -
 .hgignore                      |    1 -
 config/Tools.mk.in             |    1 -
 tools/configure                |   26 ------
 tools/configure.ac             |    1 -
 tools/misc/Makefile            |    1 -
 tools/misc/miniterm/Makefile   |   22 -----
 tools/misc/miniterm/README     |   13 ---
 tools/misc/miniterm/miniterm.c |  195 ----------------------------------------
 9 files changed, 0 insertions(+), 261 deletions(-)

diff --git a/.gitignore b/.gitignore
index 62462b4..0828f6b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -216,7 +216,6 @@ tools/misc/mbootpack/bootsect
 tools/misc/mbootpack/bzimage_header.c
 tools/misc/mbootpack/mbootpack
 tools/misc/mbootpack/setup
-tools/misc/miniterm/miniterm
 tools/misc/xc_shadow
 tools/misc/xen_cpuperf
 tools/misc/xen-detect
diff --git a/.hgignore b/.hgignore
index 9822a8d..2abf398 100644
--- a/.hgignore
+++ b/.hgignore
@@ -209,7 +209,6 @@
 ^tools/misc/mbootpack/bzimage_header\.c$
 ^tools/misc/mbootpack/mbootpack$
 ^tools/misc/mbootpack/setup$
-^tools/misc/miniterm/miniterm$
 ^tools/misc/xc_shadow$
 ^tools/misc/xen_cpuperf$
 ^tools/misc/xen-detect$
diff --git a/config/Tools.mk.in b/config/Tools.mk.in
index bb3acbd..7a0845a 100644
--- a/config/Tools.mk.in
+++ b/config/Tools.mk.in
@@ -47,7 +47,6 @@ XENSTAT_XENTOP      := @monitors@
 LIBXENAPI_BINDINGS  := @xenapi@
 OCAML_TOOLS         := @ocamltools@
 FLASK_POLICY        := @xsmpolicy@
-CONFIG_MINITERM     := @miniterm@
 CONFIG_LOMOUNT      := @lomount@
 CONFIG_OVMF         := @ovmf@
 CONFIG_ROMBIOS      := @rombios@
diff --git a/tools/configure b/tools/configure
index b52dd2a..9d66568 100755
--- a/tools/configure
+++ b/tools/configure
@@ -660,7 +660,6 @@ seabios
 rombios
 ovmf
 lomount
-miniterm
 xsmpolicy
 ocamltools
 xenapi
@@ -729,7 +728,6 @@ enable_monitors
 enable_xenapi
 enable_ocamltools
 enable_xsmpolicy
-enable_miniterm
 enable_lomount
 enable_ovmf
 enable_rombios
@@ -1390,7 +1388,6 @@ Optional Features:
   --enable-xenapi         Enable Xen API Bindings (default is DISABLED)
   --disable-ocamltools    Disable Ocaml tools (default is ENABLED)
   --disable-xsmpolicy     Disable XSM policy compilation (default is ENABLED)
-  --enable-miniterm       Enable miniterm (default is DISABLED)
   --enable-lomount        Enable lomount (default is DISABLED)
   --enable-ovmf           Enable OVMF (default is DISABLED)
   --disable-rombios       Disable ROM BIOS (default is ENABLED)
@@ -3519,29 +3516,6 @@ xsmpolicy=$ax_cv_xsmpolicy
 
 
 
-# Check whether --enable-miniterm was given.
-if test "${enable_miniterm+set}" = set; then :
-  enableval=$enable_miniterm;
-fi
-
-
-if test "x$enable_miniterm" = "xno"; then :
-
-    ax_cv_miniterm="n"
-
-elif test "x$enable_miniterm" = "xyes"; then :
-
-    ax_cv_miniterm="y"
-
-elif test -z $ax_cv_miniterm; then :
-
-    ax_cv_miniterm="n"
-
-fi
-miniterm=$ax_cv_miniterm
-
-
-
 # Check whether --enable-lomount was given.
 if test "${enable_lomount+set}" = set; then :
   enableval=$enable_lomount;
diff --git a/tools/configure.ac b/tools/configure.ac
index f629318..5425740 100644
--- a/tools/configure.ac
+++ b/tools/configure.ac
@@ -53,7 +53,6 @@ AX_ARG_DEFAULT_ENABLE([monitors], [Disable xenstat and xentop monitoring tools])
 AX_ARG_DEFAULT_DISABLE([xenapi], [Enable Xen API Bindings])
 AX_ARG_DEFAULT_ENABLE([ocamltools], [Disable Ocaml tools])
 AX_ARG_DEFAULT_ENABLE([xsmpolicy], [Disable XSM policy compilation])
-AX_ARG_DEFAULT_DISABLE([miniterm], [Enable miniterm])
 AX_ARG_DEFAULT_DISABLE([lomount], [Enable lomount])
 AX_ARG_DEFAULT_DISABLE([ovmf], [Enable OVMF])
 AX_ARG_DEFAULT_ENABLE([rombios], [Disable ROM BIOS])
diff --git a/tools/misc/Makefile b/tools/misc/Makefile
index 9c69e0d..2bb3710 100644
--- a/tools/misc/Makefile
+++ b/tools/misc/Makefile
@@ -15,7 +15,6 @@ TARGETS-$(CONFIG_MIGRATE) += xen-hptool
 TARGETS := $(TARGETS-y)
 
 SUBDIRS-$(CONFIG_LOMOUNT) += lomount
-SUBDIRS-$(CONFIG_MINITERM) += miniterm
 SUBDIRS := $(SUBDIRS-y)
 
 INSTALL_BIN-y := xencons xencov_split
diff --git a/tools/misc/miniterm/Makefile b/tools/misc/miniterm/Makefile
deleted file mode 100644
index 5c5f561..0000000
--- a/tools/misc/miniterm/Makefile
+++ /dev/null
@@ -1,22 +0,0 @@
-XEN_ROOT:=$(CURDIR)/../../..
-include $(XEN_ROOT)/tools/Rules.mk
-
-TARGET = miniterm
-
-.PHONY: all
-all: $(TARGET)
-
-.PHONY: install
-install: all
-	$(INSTALL_DIR) $(DESTDIR)$(BINDIR)
-	$(INSTALL_PROG) $(TARGET) $(DESTDIR)$(BINDIR)
-
-.PHONY: install-recurse
-	: No sense in installing miniterm on the Xen box.
-
-.PHONY: clean
-clean:
-	$(RM) *.o $(TARGET) *~
-
-$(TARGET): $(TARGET).c
-	$(HOSTCC) $(HOSTCFLAGS) -o $@ $<
diff --git a/tools/misc/miniterm/README b/tools/misc/miniterm/README
deleted file mode 100644
index 2ca4501..0000000
--- a/tools/misc/miniterm/README
+++ /dev/null
@@ -1,13 +0,0 @@
-This is a modified version of the miniterm program distributed as part
-of the Linux Programmer's Guide (LPG) by Sven Goldt.
-
-It is intended to be used as a dumb raw terminal for debugging Xen
-machines over the serial line.
-
-By default it will connect to COM1 (/dev/ttyS0) at 115200 baud.
-These options can be modified as follows:
- miniterm [-b<baudrate>] [-d<devicename>]
-
-'ctrl-b' quits miniterm.
-
- -- Keir Fraser (21/9/2003)
\ No newline at end of file
diff --git a/tools/misc/miniterm/miniterm.c b/tools/misc/miniterm/miniterm.c
deleted file mode 100644
index 3f8043d..0000000
--- a/tools/misc/miniterm/miniterm.c
+++ /dev/null
@@ -1,195 +0,0 @@
-/******************************************************************************
- * miniterm.c
- * 
- * Adapted from the example program distributed with the Linux Programmer's
- * Guide (LPG). This has been robustified and tweaked to work as a debugging 
- * terminal for Xen-based machines.
- * 
- * Modifications are released under GPL and copyright (c) 2003, K A Fraser
- * The original copyright message and license is fully intact below.
- */
-
-/*
- *  AUTHOR: Sven Goldt (goldt@math.tu-berlin.de)
- *
- *  This program 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.
- *
- *  This program 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.
- *
- */
-
-#include <termios.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <signal.h>
-#include <sys/types.h>
-#include <sys/wait.h>
-#include <string.h>
-
-#define DEFAULT_BAUDRATE   115200
-#define DEFAULT_SERDEVICE  "/dev/ttyS0"
-#define ENDMINITERM        0x1d
-
-volatile int stop = 0;
-
-void child_handler(int s)
-{
-    stop = 1;
-}
-
-int cook_baud(int baud)
-{
-    int cooked_baud = 0;
-    switch ( baud )
-    {
-    case     50: cooked_baud =     B50; break;
-    case     75: cooked_baud =     B75; break;
-    case    110: cooked_baud =    B110; break;
-    case    134: cooked_baud =    B134; break;
-    case    150: cooked_baud =    B150; break;
-    case    200: cooked_baud =    B200; break;
-    case    300: cooked_baud =    B300; break;
-    case    600: cooked_baud =    B600; break;
-    case   1200: cooked_baud =   B1200; break;
-    case   1800: cooked_baud =   B1800; break;
-    case   2400: cooked_baud =   B2400; break;
-    case   4800: cooked_baud =   B4800; break;
-    case   9600: cooked_baud =   B9600; break;
-    case  19200: cooked_baud =  B19200; break;
-    case  38400: cooked_baud =  B38400; break;
-    case  57600: cooked_baud =  B57600; break;
-    case 115200: cooked_baud = B115200; break;
-    }
-    return cooked_baud;
-}
-
-int main(int argc, char **argv)
-{
-    int              fd, c, cooked_baud = cook_baud(DEFAULT_BAUDRATE);
-    char            *sername = DEFAULT_SERDEVICE;
-    struct termios   oldsertio, newsertio, oldstdtio, newstdtio;
-    struct sigaction sa;
-    static char start_str[] = 
-        "************ REMOTE CONSOLE: CTRL-] TO QUIT ********\r\n";
-    static char end_str[] =
-        "\n************ REMOTE CONSOLE EXITED *****************\n";
-
-    while ( --argc != 0 )
-    {
-        char *p = argv[argc];
-        if ( *p++ != '-' )
-            goto usage;
-        if ( *p == 'b' )
-        {
-            p++;
-            if ( (cooked_baud = cook_baud(atoi(p))) == 0 )
-            {
-                fprintf(stderr, "Bad baud rate '%d'\n", atoi(p));
-                goto usage;
-            }
-        }
-        else if ( *p == 'd' )
-        {
-            sername = ++p;
-            if ( *sername == '\0' )
-                goto usage;
-        }
-        else
-            goto usage;
-    }
-
-    /* Not a controlling tty: CTRL-C shouldn't kill us. */
-    fd = open(sername, O_RDWR | O_NOCTTY);
-    if ( fd < 0 )
-    {
-        perror(sername); 
-        exit(-1);
-    }
- 
-    tcgetattr(fd, &oldsertio); /* save current modem settings */
- 
-    /*
-     * 8 data, no parity, 1 stop bit. Ignore modem control lines. Enable 
-     * receive. Set appropriate baud rate. NO HARDWARE FLOW CONTROL!
-     */
-    newsertio.c_cflag = cooked_baud | CS8 | CLOCAL | CREAD;
-
-    /* Raw input. Ignore errors and breaks. */
-    newsertio.c_iflag = IGNBRK | IGNPAR;
-
-    /* Raw output. */
-    newsertio.c_oflag = OPOST;
-
-    /* No echo and no signals. */
-    newsertio.c_lflag = 0;
- 
-    /* blocking read until 1 char arrives */
-    newsertio.c_cc[VMIN]=1;
-    newsertio.c_cc[VTIME]=0;
- 
-    /* now clean the modem line and activate the settings for modem */
-    tcflush(fd, TCIFLUSH);
-    tcsetattr(fd,TCSANOW,&newsertio);
- 
-    /* next stop echo and buffering for stdin */
-    tcgetattr(0,&oldstdtio);
-    tcgetattr(0,&newstdtio); /* get working stdtio */
-    newstdtio.c_iflag &= ~(BRKINT | ICRNL | INPCK | ISTRIP | IXON);
-    newstdtio.c_oflag &= ~OPOST;
-    newstdtio.c_cflag &= ~(CSIZE | PARENB);
-    newstdtio.c_cflag |= CS8;
-    newstdtio.c_lflag &= ~(ECHO | ICANON | IEXTEN | ISIG);
-    newstdtio.c_cc[VMIN]=1;
-    newstdtio.c_cc[VTIME]=0;
-    tcsetattr(0,TCSANOW,&newstdtio);
-
-    /* Terminal settings done: now enter the main I/O loops. */
-    switch ( fork() )
-    {
-    case 0:
-        close(1); /* stdout not needed */
-        for ( c = (char)getchar(); c != ENDMINITERM; c = (char)getchar() )
-            write(fd,&c,1);
-        tcsetattr(fd,TCSANOW,&oldsertio);
-        tcsetattr(0,TCSANOW,&oldstdtio);
-        close(fd);
-        exit(0); /* will send a SIGCHLD to the parent */
-        break;
-    case -1:
-        perror("fork");
-        tcsetattr(fd,TCSANOW,&oldsertio);
-        close(fd);
-        exit(-1);
-    default:
-        write(1, start_str, strlen(start_str));
-        close(0); /* stdin not needed */
-        sa.sa_handler = child_handler;
-        sa.sa_flags = 0;
-        sigaction(SIGCHLD,&sa,NULL); /* handle dying child */
-        while ( !stop )
-        {
-            read(fd,&c,1); /* modem */
-            c = (char)c;
-            write(1,&c,1); /* stdout */
-        }
-        wait(NULL); /* wait for child to die or it will become a zombie */
-        write(1, end_str, strlen(end_str));
-        break;
-    }
-
-    return 0;
-
- usage:
-    printf("miniterm [-b<baudrate>] [-d<devicename>]\n");
-    printf("Default baud rate: %d\n", DEFAULT_BAUDRATE);
-    printf("Default device: %s\n", DEFAULT_SERDEVICE);
-    return 1;
-}
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:46:17 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:46:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzNA-0002cp-Pz; Wed, 21 Aug 2013 03:46:16 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzN9-0002cY-GE
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:46:15 +0000
Received: from [85.158.139.211:6427] by server-10.bemta-5.messagelabs.com id
	26/4F-23973-60834125; Wed, 21 Aug 2013 03:46:14 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-206.messagelabs.com!1377056772!3497764!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24732 invoked from network); 21 Aug 2013 03:46:13 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-2.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:46:13 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzN5-0004Da-VV
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:46:11 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzN5-0004aQ-Tq
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:46:11 +0000
Date: Wed, 21 Aug 2013 03:46:11 +0000
Message-Id: <E1VBzN5-0004aQ-Tq@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] tools: remove lomount
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 5c52c9e0af0adba2547df39a51b93ab8bdacfd90
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed Jul 31 16:15:54 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:34:34 2013 +0100

    tools: remove lomount
    
    Build was disabled by default in 2008 (9bb7f7e2aca49). As noted at the time
    people should be using kpartx these days instead.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Matt Wilson <msw@amazon.com>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 .gitignore                   |    1 -
 .hgignore                    |    1 -
 config/Tools.mk.in           |    1 -
 tools/Makefile               |    1 -
 tools/configure              |   26 ---
 tools/configure.ac           |    1 -
 tools/misc/Makefile          |    1 -
 tools/misc/lomount/Makefile  |   23 ---
 tools/misc/lomount/lomount.c |  435 ------------------------------------------
 9 files changed, 0 insertions(+), 490 deletions(-)

diff --git a/.gitignore b/.gitignore
index 0828f6b..2feac20 100644
--- a/.gitignore
+++ b/.gitignore
@@ -210,7 +210,6 @@ tools/libxl/_libxl.api-for-check
 tools/libxl/*.api-ok
 tools/misc/cpuperf/cpuperf-perfcntr
 tools/misc/cpuperf/cpuperf-xen
-tools/misc/lomount/lomount
 tools/misc/mbootpack/bin2c
 tools/misc/mbootpack/bootsect
 tools/misc/mbootpack/bzimage_header.c
diff --git a/.hgignore b/.hgignore
index 2abf398..87ab478 100644
--- a/.hgignore
+++ b/.hgignore
@@ -203,7 +203,6 @@
 ^tools/libvchan/vchan-node[12]$
 ^tools/misc/cpuperf/cpuperf-perfcntr$
 ^tools/misc/cpuperf/cpuperf-xen$
-^tools/misc/lomount/lomount$
 ^tools/misc/mbootpack/bin2c$
 ^tools/misc/mbootpack/bootsect$
 ^tools/misc/mbootpack/bzimage_header\.c$
diff --git a/config/Tools.mk.in b/config/Tools.mk.in
index 7a0845a..7ee1581 100644
--- a/config/Tools.mk.in
+++ b/config/Tools.mk.in
@@ -47,7 +47,6 @@ XENSTAT_XENTOP      := @monitors@
 LIBXENAPI_BINDINGS  := @xenapi@
 OCAML_TOOLS         := @ocamltools@
 FLASK_POLICY        := @xsmpolicy@
-CONFIG_LOMOUNT      := @lomount@
 CONFIG_OVMF         := @ovmf@
 CONFIG_ROMBIOS      := @rombios@
 CONFIG_SEABIOS      := @seabios@
diff --git a/tools/Makefile b/tools/Makefile
index 553aa33..1000ee3 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -68,7 +68,6 @@ install: subdirs-install
 .PHONY: uninstall
 uninstall: D=$(DESTDIR)
 uninstall:
-	rm -rf $(D)$(LIBDIR)/xen* $(D)$(BINDIR)/lomount
 	rm -rf $(D)$(BINDIR)/cpuperf-perfcntr $(D)$(BINDIR)/cpuperf-xen
 	rm -rf $(D)$(BINDIR)/xc_shadow
 	rm -rf $(D)$(BINDIR)/pygrub
diff --git a/tools/configure b/tools/configure
index 9d66568..8df24e6 100755
--- a/tools/configure
+++ b/tools/configure
@@ -659,7 +659,6 @@ debug
 seabios
 rombios
 ovmf
-lomount
 xsmpolicy
 ocamltools
 xenapi
@@ -728,7 +727,6 @@ enable_monitors
 enable_xenapi
 enable_ocamltools
 enable_xsmpolicy
-enable_lomount
 enable_ovmf
 enable_rombios
 enable_seabios
@@ -1388,7 +1386,6 @@ Optional Features:
   --enable-xenapi         Enable Xen API Bindings (default is DISABLED)
   --disable-ocamltools    Disable Ocaml tools (default is ENABLED)
   --disable-xsmpolicy     Disable XSM policy compilation (default is ENABLED)
-  --enable-lomount        Enable lomount (default is DISABLED)
   --enable-ovmf           Enable OVMF (default is DISABLED)
   --disable-rombios       Disable ROM BIOS (default is ENABLED)
   --disable-seabios       Disable SeaBIOS (default is ENABLED)
@@ -3516,29 +3513,6 @@ xsmpolicy=$ax_cv_xsmpolicy
 
 
 
-# Check whether --enable-lomount was given.
-if test "${enable_lomount+set}" = set; then :
-  enableval=$enable_lomount;
-fi
-
-
-if test "x$enable_lomount" = "xno"; then :
-
-    ax_cv_lomount="n"
-
-elif test "x$enable_lomount" = "xyes"; then :
-
-    ax_cv_lomount="y"
-
-elif test -z $ax_cv_lomount; then :
-
-    ax_cv_lomount="n"
-
-fi
-lomount=$ax_cv_lomount
-
-
-
 # Check whether --enable-ovmf was given.
 if test "${enable_ovmf+set}" = set; then :
   enableval=$enable_ovmf;
diff --git a/tools/configure.ac b/tools/configure.ac
index 5425740..2a72d02 100644
--- a/tools/configure.ac
+++ b/tools/configure.ac
@@ -53,7 +53,6 @@ AX_ARG_DEFAULT_ENABLE([monitors], [Disable xenstat and xentop monitoring tools])
 AX_ARG_DEFAULT_DISABLE([xenapi], [Enable Xen API Bindings])
 AX_ARG_DEFAULT_ENABLE([ocamltools], [Disable Ocaml tools])
 AX_ARG_DEFAULT_ENABLE([xsmpolicy], [Disable XSM policy compilation])
-AX_ARG_DEFAULT_DISABLE([lomount], [Enable lomount])
 AX_ARG_DEFAULT_DISABLE([ovmf], [Enable OVMF])
 AX_ARG_DEFAULT_ENABLE([rombios], [Disable ROM BIOS])
 AX_ARG_DEFAULT_ENABLE([seabios], [Disable SeaBIOS])
diff --git a/tools/misc/Makefile b/tools/misc/Makefile
index 2bb3710..59def7a 100644
--- a/tools/misc/Makefile
+++ b/tools/misc/Makefile
@@ -14,7 +14,6 @@ TARGETS-$(CONFIG_X86) += xen-detect xen-hvmctx xen-hvmcrash xen-lowmemd
 TARGETS-$(CONFIG_MIGRATE) += xen-hptool
 TARGETS := $(TARGETS-y)
 
-SUBDIRS-$(CONFIG_LOMOUNT) += lomount
 SUBDIRS := $(SUBDIRS-y)
 
 INSTALL_BIN-y := xencons xencov_split
diff --git a/tools/misc/lomount/Makefile b/tools/misc/lomount/Makefile
deleted file mode 100644
index b0afe66..0000000
--- a/tools/misc/lomount/Makefile
+++ /dev/null
@@ -1,23 +0,0 @@
-XEN_ROOT=$(CURDIR)/../../..
-include $(XEN_ROOT)/tools/Rules.mk
-
-CFLAGS  += -Werror
-
-.PHONY: all
-all: build
-
-.PHONY: build
-build: lomount
-
-.PHONY: install
-install install-recurse: build
-	$(INSTALL_PROG) lomount $(SCRIPTS) $(DESTDIR)$(BINDIR)
-
-.PHONY: clean
-clean:
-	$(RM) *.o lomount
-
-lomount: lomount.o
-	$(CC) $(CFLAGS) -o $@ $< 
-
--include $(DEPS)
\ No newline at end of file
diff --git a/tools/misc/lomount/lomount.c b/tools/misc/lomount/lomount.c
deleted file mode 100644
index 74859e6..0000000
--- a/tools/misc/lomount/lomount.c
+++ /dev/null
@@ -1,435 +0,0 @@
-/*
- * lomount - utility to mount partitions in a hard disk image
- *
- * Copyright (c) 2004 Jim Brown
- * Copyright (c) 2004 Brad Watson
- * Copyright (c) 2004 Mulyadi Santosa
- * Major rewrite by Tristan Gingold:
- *  - Handle GPT partitions
- *  - Handle large files 
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- */
-
-/*
- *  Return code:
- *
- *  bit 7 set:		lomount wrapper failed
- *  bit 7 clear:	lomount wrapper ok; mount's return code in low 7 bits
- *  0			success
- */
-
-enum
-{
-	ERR_USAGE = 0x80,	// Incorrect usage
-	ERR_PART_PARSE,		// Failed to parse partition table
-	ERR_NO_PART,		// No such partition
-	ERR_NO_EPART,		// No such extended partition
-	ERR_MOUNT		// Other failure of mount command
-};
-
-#include <unistd.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <strings.h>
-#include <sys/wait.h>
-#include <errno.h>
-
-#define BUF 4096
-
-#define SECSIZE 512
-
-struct pentry 
-{
-	unsigned char bootable; 
-	unsigned char start_head;
-	unsigned int start_cylinder;
-	unsigned char start_sector;
-	unsigned char system;
-	unsigned char end_head;
-	unsigned int  end_cylinder;
-	unsigned char end_sector;
-	unsigned long long start_sector_abs;
-	unsigned long long no_of_sectors_abs;
-};
-
-static void
-disp_entry (struct pentry *p)
-{
-	printf ("%10llu - %10llu: %02x %x\n",
-		SECSIZE * p->start_sector_abs,
-		SECSIZE * (p->start_sector_abs + p->no_of_sectors_abs - 1),
-		p->system,
-		p->bootable);
-}
-
-static unsigned long
-read_le4 (unsigned char *p)
-{
-	return (unsigned long) p[0]
-		| ((unsigned long) p[1] << 8)
-		| ((unsigned long) p[2] << 16)
-		| ((unsigned long) p[3] << 24);
-}
-
-static unsigned long long
-read_le8 (unsigned char *p)
-{
-	return (unsigned long long) p[0]
-		| ((unsigned long long) p[1] << 8)
-		| ((unsigned long long) p[2] << 16)
-		| ((unsigned long long) p[3] << 24)
-		| ((unsigned long long) p[4] << 32)
-		| ((unsigned long long) p[5] << 40)
-		| ((unsigned long long) p[6] << 48)
-		| ((unsigned long long) p[7] << 56);
-}
-
-/* Return true if the partition table is a GPT protective MBR.  */
-static int
-check_gpt (struct pentry *part, int nbr_part)
-{
-	if (nbr_part != 4)
-		return 0;
-	if (part[0].system == 0xee
-	    && part[1].no_of_sectors_abs == 0
-	    && part[2].no_of_sectors_abs == 0
-	    && part[3].no_of_sectors_abs == 0)
-		return 1;
-	return 0;
-}
-
-static int
-load_gpt (const char *diskimage, struct pentry *parttbl[])
-{
-	FILE *fd;
-	size_t size;
-	int fail = -1;
-	unsigned char data[SECSIZE];
-	unsigned long long entries_lba;
-	unsigned long entry_size;
-	struct pentry *part;
-	int nbr_part;
-	unsigned long long off;
-	int i;
-
-	fd = fopen(diskimage, "r");
-	if (fd == NULL)
-	{
-		perror(diskimage);
-		goto done;
-	}
-	fseeko (fd, SECSIZE, SEEK_SET);
-	size = fread (&data, 1, sizeof(data), fd);
-	if (size < (size_t)sizeof(data))
-	{
-		fprintf(stderr, "Could not read the GPT header of %s.\n",
-			diskimage);
-		goto done;
-	}
-
-	if (memcmp (data, "EFI PART", 8) != 0)
-	{
-		fprintf (stderr, "Bad GPT signature\n");
-		goto done;
-	}
-
-	entries_lba = read_le8 (&data[72]);
-	nbr_part = read_le4 (&data[80]);
-	entry_size = read_le4 (&data[84]);
-
-#ifdef DEBUG
-	fprintf(stderr, "lba entries: %llu, nbr_part: %u, entry_size: %lu\n",
-		entries_lba, nbr_part, entry_size);
-#endif
-	part = malloc (nbr_part * sizeof (struct pentry));
-	if (part == NULL)
-	{
-		fprintf(stderr,"Cannot allocate memory\n");
-		goto done;
-	}
-	memset (part, 0, nbr_part * sizeof (struct pentry));
-	*parttbl = part;
-
-	off = entries_lba * SECSIZE;
-	for (i = 0; i < nbr_part; i++)
-	{
-		static const char unused_guid[16] = {0};
-		fseeko (fd, off, SEEK_SET);
-		size = fread (&data, 1, 128, fd);
-		if (size < 128)
-		{
-			fprintf(stderr, "Could not read a GPT entry of %s.\n",
-				diskimage);
-			goto done;
-		}
-		if (memcmp (&data[0], unused_guid, 16) == 0)
-		{
-			part[i].start_sector_abs = 0;
-			part[i].no_of_sectors_abs = 0;
-		}
-		else
-		{
-			part[i].start_sector_abs = read_le8 (&data[32]);
-			part[i].no_of_sectors_abs = read_le8 (&data[40]);
-#ifdef DEBUG
-			fprintf (stderr, "%d: %llu - %llu\n", i,
-				 part[i].start_sector_abs,
-				 part[i].no_of_sectors_abs);
-#endif
-			/* Convert end to a number.  */
-			part[i].no_of_sectors_abs -=
-				part[i].start_sector_abs - 1;
-		}
-		off += entry_size;
-	}
-		
-	fail = nbr_part;
-
-done:
-	if (fd)
-		fclose(fd);
-	return fail;
-}
-
-/* Read an MBR entry.  */
-static void
-read_mbr_record (unsigned char pi[16], struct pentry *res)
-{
-	res->bootable = *pi; 
-	res->start_head  = *(pi + 1); 
-	res->start_cylinder = *(pi + 3) | ((*(pi + 2) << 2) & 0x300);
-	res->start_sector = *(pi + 2) & 0x3f;
-	res->system = *(pi + 4);
-	res->end_head = *(pi + 5);
-	res->end_cylinder = *(pi + 7) | ((*(pi + 6) << 2) & 0x300);
-	res->end_sector = *(pi + 6) & 0x3f;
-	res->start_sector_abs = read_le4 (&pi[8]);
-	res->no_of_sectors_abs = read_le4 (&pi[12]);
-}
-
-/* Returns the number of partitions, -1 in case of failure.  */
-int load_mbr(const char *diskimage, struct pentry *parttbl[])
-{
-	FILE *fd;
-	size_t size;
-	int fail = -1;
-	int nbr_part;
-	int i;
-	unsigned char *pi; 
-	unsigned char data [SECSIZE]; 
-	unsigned long long extent;
-	struct pentry *part;
-
-	nbr_part = 0;
-
-	fd = fopen(diskimage, "r");
-	if (fd == NULL)
-	{
-		perror(diskimage);
-		goto done;
-	}
-	size = fread (&data, 1, sizeof(data), fd);
-	if (size < (size_t)sizeof(data))
-	{
-		fprintf(stderr, "Could not read the entire first sector of %s.\n", diskimage);
-		goto done;
-	}
-
-	if (data [510] != 0x55 || data [511] != 0xaa)
-	{
-		fprintf(stderr,"MBR signature mismatch (invalid partition table?)\n");
-		goto done;
-	}
-
-	/* There is at most 4*4 + 4 = 20 entries, also there should be only
-	   one extended partition.  */
-	part = malloc (20 * sizeof (struct pentry));
-	if (part == NULL)
-	{
-		fprintf(stderr,"Cannot allocate memory\n");
-		goto done;
-	}
-	*parttbl = part;
-
-	/* Read MBR.  */
-	nbr_part = 4;
-	for (i = 0; i < 4; i++)
-	{
-		pi = &data [446 + 16 * i];
-		read_mbr_record (pi, &part[i]);
-	}
-
-	/* Read extended partitions.  */
-	for (i = 0; i < 4; i++)
-	{
-		if (part[i].system == 0xF || part[i].system == 0x5)
-		{
-			int j;
-
-			extent = part[i].start_sector_abs * SECSIZE;
-
-			fseeko (fd, extent, SEEK_SET);
-			size = fread (&data, 1, sizeof(data), fd);
-			if (size < (size_t)sizeof(data))
-			{
-				fprintf(stderr, "Could not read extended partition of %s.", diskimage);
-				goto done;
-			}
-
-			for (j = 0; j < 4; j++)
-			{
-				int n;
-				pi = &data [446 + 16 * j];
-				n = nbr_part + j;
-				read_mbr_record (pi, &part[n]);
-			}
-
-			nbr_part += 4;
-		}
-	}
-
-	fail = nbr_part;
-
-done:
-	if (fd)
-		fclose(fd);
-	return fail;
-}
-
-void usage(void)
-{
-	fprintf(stderr, "Usage: lomount [-verbose] [OPTIONS] -diskimage FILE -partition NUM [OPTIONS]\n");
-	fprintf(stderr, "All OPTIONS are passed through to 'mount'.\n");
-	fprintf(stderr, "ex. lomount -t fs-type -diskimage hda.img -partition 1 /mnt\n");
-	exit(ERR_USAGE);
-}
-
-int main(int argc, char ** argv)
-{
-	int status;
-	int nbr_part;
-	struct pentry *parttbl;
-	char buf[BUF], argv2[BUF];
-	const char * diskimage = NULL;
-	int partition = 0;
-	unsigned long long sec, num, pnum;
-	int i;
-	size_t argv2_len = sizeof(argv2);
-	int verbose = 0;
-
-	argv2[0] = '\0';
-
-	for (i = 1; i < argc; i ++)
-	{
-		if (strcmp(argv[i], "-diskimage")==0)
-		{
-			if (i == argc-1)
-				usage();
-			i++;
-			diskimage = argv[i];
-		}
-		else if (strcmp(argv[i], "-partition")==0)
-		{
-			if (i == argc-1)
-				usage();
-			i++;
-			partition = atoi(argv[i]);
-		}
-		else if (strcmp(argv[i], "-verbose")==0)
-		{
-			verbose++;
-		}
-		else
-		{
-			size_t len = strlen(argv[i]);
-			if (len >= argv2_len-1)
-				usage();
-			strcat(argv2, argv[i]);
-			strcat(argv2, " ");
-			len -= (len+1);
-		}
-	}
-	if (! diskimage || partition < 0)
-		usage();
-
-	nbr_part = load_mbr(diskimage, &parttbl);
-	if (check_gpt (parttbl, nbr_part)) {
-		free (parttbl);
-		nbr_part = load_gpt (diskimage, &parttbl);
-	}
-	if (nbr_part < 0)
-		return ERR_PART_PARSE;
-	if (partition == 0)
-	{
-		printf("Please specify a partition number.  Table is:\n");
-		printf("Num      Start -        End  OS Bootable\n");
-		for (i = 0; i < nbr_part; i++)
-		{
-			if (parttbl[i].no_of_sectors_abs != 0)
-			{
-				printf ("%2d: ", i + 1);
-				disp_entry (&parttbl[i]);
-			}
-		}
-		if (partition == 0)
-			return 0;
-	}
-	/* NOTE: need to make sure this always rounds down */
-	//sec = total_known_sectors / sizeof_diskimage;
-	/* The above doesn't work unless the disk image is completely
-	   filled by partitions ... unused space will thrown off the
-	   sector size. The calculation assumes the disk image is
-	   completely filled, and that the few sectors used to store
-	   the partition table/MBR are few enough that the calculated
-	   value is off by (larger than) a value less than one. */
-	sec = 512; /* TODO: calculate real sector size */
-#ifdef DEBUG
-	printf("sec: %llu\n", sec);
-#endif
-	if (partition > nbr_part)
-	{
-		fprintf(stderr, "Bad partition number\n");
-		return ERR_NO_EPART;
-	}
-	num = parttbl[partition-1].start_sector_abs;
-	if (num == 0)
-	{
-		fprintf(stderr, "Partition %d was not found in %s.\n",
-			partition, diskimage);
-		return ERR_NO_PART;
-	}
-
-	pnum = sec * num;
-#ifdef DEBUG
-	printf("offset = %llu\n", pnum);
-#endif
-	snprintf(buf, sizeof(buf), "mount -oloop,offset=%lld %s %s",
-		 pnum, diskimage, argv2);
-	if (verbose)
-		printf("%s\n", buf);
-
-	status = system(buf);
-	if (WIFEXITED(status))
-		status = WEXITSTATUS(status);
-	else
-		status = ERR_MOUNT;
-	return status;
-}
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:46:17 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:46:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzNA-0002cp-Pz; Wed, 21 Aug 2013 03:46:16 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzN9-0002cY-GE
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:46:15 +0000
Received: from [85.158.139.211:6427] by server-10.bemta-5.messagelabs.com id
	26/4F-23973-60834125; Wed, 21 Aug 2013 03:46:14 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-206.messagelabs.com!1377056772!3497764!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24732 invoked from network); 21 Aug 2013 03:46:13 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-2.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:46:13 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzN5-0004Da-VV
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:46:11 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzN5-0004aQ-Tq
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:46:11 +0000
Date: Wed, 21 Aug 2013 03:46:11 +0000
Message-Id: <E1VBzN5-0004aQ-Tq@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] tools: remove lomount
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 5c52c9e0af0adba2547df39a51b93ab8bdacfd90
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed Jul 31 16:15:54 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:34:34 2013 +0100

    tools: remove lomount
    
    Build was disabled by default in 2008 (9bb7f7e2aca49). As noted at the time
    people should be using kpartx these days instead.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Matt Wilson <msw@amazon.com>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 .gitignore                   |    1 -
 .hgignore                    |    1 -
 config/Tools.mk.in           |    1 -
 tools/Makefile               |    1 -
 tools/configure              |   26 ---
 tools/configure.ac           |    1 -
 tools/misc/Makefile          |    1 -
 tools/misc/lomount/Makefile  |   23 ---
 tools/misc/lomount/lomount.c |  435 ------------------------------------------
 9 files changed, 0 insertions(+), 490 deletions(-)

diff --git a/.gitignore b/.gitignore
index 0828f6b..2feac20 100644
--- a/.gitignore
+++ b/.gitignore
@@ -210,7 +210,6 @@ tools/libxl/_libxl.api-for-check
 tools/libxl/*.api-ok
 tools/misc/cpuperf/cpuperf-perfcntr
 tools/misc/cpuperf/cpuperf-xen
-tools/misc/lomount/lomount
 tools/misc/mbootpack/bin2c
 tools/misc/mbootpack/bootsect
 tools/misc/mbootpack/bzimage_header.c
diff --git a/.hgignore b/.hgignore
index 2abf398..87ab478 100644
--- a/.hgignore
+++ b/.hgignore
@@ -203,7 +203,6 @@
 ^tools/libvchan/vchan-node[12]$
 ^tools/misc/cpuperf/cpuperf-perfcntr$
 ^tools/misc/cpuperf/cpuperf-xen$
-^tools/misc/lomount/lomount$
 ^tools/misc/mbootpack/bin2c$
 ^tools/misc/mbootpack/bootsect$
 ^tools/misc/mbootpack/bzimage_header\.c$
diff --git a/config/Tools.mk.in b/config/Tools.mk.in
index 7a0845a..7ee1581 100644
--- a/config/Tools.mk.in
+++ b/config/Tools.mk.in
@@ -47,7 +47,6 @@ XENSTAT_XENTOP      := @monitors@
 LIBXENAPI_BINDINGS  := @xenapi@
 OCAML_TOOLS         := @ocamltools@
 FLASK_POLICY        := @xsmpolicy@
-CONFIG_LOMOUNT      := @lomount@
 CONFIG_OVMF         := @ovmf@
 CONFIG_ROMBIOS      := @rombios@
 CONFIG_SEABIOS      := @seabios@
diff --git a/tools/Makefile b/tools/Makefile
index 553aa33..1000ee3 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -68,7 +68,6 @@ install: subdirs-install
 .PHONY: uninstall
 uninstall: D=$(DESTDIR)
 uninstall:
-	rm -rf $(D)$(LIBDIR)/xen* $(D)$(BINDIR)/lomount
 	rm -rf $(D)$(BINDIR)/cpuperf-perfcntr $(D)$(BINDIR)/cpuperf-xen
 	rm -rf $(D)$(BINDIR)/xc_shadow
 	rm -rf $(D)$(BINDIR)/pygrub
diff --git a/tools/configure b/tools/configure
index 9d66568..8df24e6 100755
--- a/tools/configure
+++ b/tools/configure
@@ -659,7 +659,6 @@ debug
 seabios
 rombios
 ovmf
-lomount
 xsmpolicy
 ocamltools
 xenapi
@@ -728,7 +727,6 @@ enable_monitors
 enable_xenapi
 enable_ocamltools
 enable_xsmpolicy
-enable_lomount
 enable_ovmf
 enable_rombios
 enable_seabios
@@ -1388,7 +1386,6 @@ Optional Features:
   --enable-xenapi         Enable Xen API Bindings (default is DISABLED)
   --disable-ocamltools    Disable Ocaml tools (default is ENABLED)
   --disable-xsmpolicy     Disable XSM policy compilation (default is ENABLED)
-  --enable-lomount        Enable lomount (default is DISABLED)
   --enable-ovmf           Enable OVMF (default is DISABLED)
   --disable-rombios       Disable ROM BIOS (default is ENABLED)
   --disable-seabios       Disable SeaBIOS (default is ENABLED)
@@ -3516,29 +3513,6 @@ xsmpolicy=$ax_cv_xsmpolicy
 
 
 
-# Check whether --enable-lomount was given.
-if test "${enable_lomount+set}" = set; then :
-  enableval=$enable_lomount;
-fi
-
-
-if test "x$enable_lomount" = "xno"; then :
-
-    ax_cv_lomount="n"
-
-elif test "x$enable_lomount" = "xyes"; then :
-
-    ax_cv_lomount="y"
-
-elif test -z $ax_cv_lomount; then :
-
-    ax_cv_lomount="n"
-
-fi
-lomount=$ax_cv_lomount
-
-
-
 # Check whether --enable-ovmf was given.
 if test "${enable_ovmf+set}" = set; then :
   enableval=$enable_ovmf;
diff --git a/tools/configure.ac b/tools/configure.ac
index 5425740..2a72d02 100644
--- a/tools/configure.ac
+++ b/tools/configure.ac
@@ -53,7 +53,6 @@ AX_ARG_DEFAULT_ENABLE([monitors], [Disable xenstat and xentop monitoring tools])
 AX_ARG_DEFAULT_DISABLE([xenapi], [Enable Xen API Bindings])
 AX_ARG_DEFAULT_ENABLE([ocamltools], [Disable Ocaml tools])
 AX_ARG_DEFAULT_ENABLE([xsmpolicy], [Disable XSM policy compilation])
-AX_ARG_DEFAULT_DISABLE([lomount], [Enable lomount])
 AX_ARG_DEFAULT_DISABLE([ovmf], [Enable OVMF])
 AX_ARG_DEFAULT_ENABLE([rombios], [Disable ROM BIOS])
 AX_ARG_DEFAULT_ENABLE([seabios], [Disable SeaBIOS])
diff --git a/tools/misc/Makefile b/tools/misc/Makefile
index 2bb3710..59def7a 100644
--- a/tools/misc/Makefile
+++ b/tools/misc/Makefile
@@ -14,7 +14,6 @@ TARGETS-$(CONFIG_X86) += xen-detect xen-hvmctx xen-hvmcrash xen-lowmemd
 TARGETS-$(CONFIG_MIGRATE) += xen-hptool
 TARGETS := $(TARGETS-y)
 
-SUBDIRS-$(CONFIG_LOMOUNT) += lomount
 SUBDIRS := $(SUBDIRS-y)
 
 INSTALL_BIN-y := xencons xencov_split
diff --git a/tools/misc/lomount/Makefile b/tools/misc/lomount/Makefile
deleted file mode 100644
index b0afe66..0000000
--- a/tools/misc/lomount/Makefile
+++ /dev/null
@@ -1,23 +0,0 @@
-XEN_ROOT=$(CURDIR)/../../..
-include $(XEN_ROOT)/tools/Rules.mk
-
-CFLAGS  += -Werror
-
-.PHONY: all
-all: build
-
-.PHONY: build
-build: lomount
-
-.PHONY: install
-install install-recurse: build
-	$(INSTALL_PROG) lomount $(SCRIPTS) $(DESTDIR)$(BINDIR)
-
-.PHONY: clean
-clean:
-	$(RM) *.o lomount
-
-lomount: lomount.o
-	$(CC) $(CFLAGS) -o $@ $< 
-
--include $(DEPS)
\ No newline at end of file
diff --git a/tools/misc/lomount/lomount.c b/tools/misc/lomount/lomount.c
deleted file mode 100644
index 74859e6..0000000
--- a/tools/misc/lomount/lomount.c
+++ /dev/null
@@ -1,435 +0,0 @@
-/*
- * lomount - utility to mount partitions in a hard disk image
- *
- * Copyright (c) 2004 Jim Brown
- * Copyright (c) 2004 Brad Watson
- * Copyright (c) 2004 Mulyadi Santosa
- * Major rewrite by Tristan Gingold:
- *  - Handle GPT partitions
- *  - Handle large files 
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- */
-
-/*
- *  Return code:
- *
- *  bit 7 set:		lomount wrapper failed
- *  bit 7 clear:	lomount wrapper ok; mount's return code in low 7 bits
- *  0			success
- */
-
-enum
-{
-	ERR_USAGE = 0x80,	// Incorrect usage
-	ERR_PART_PARSE,		// Failed to parse partition table
-	ERR_NO_PART,		// No such partition
-	ERR_NO_EPART,		// No such extended partition
-	ERR_MOUNT		// Other failure of mount command
-};
-
-#include <unistd.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <strings.h>
-#include <sys/wait.h>
-#include <errno.h>
-
-#define BUF 4096
-
-#define SECSIZE 512
-
-struct pentry 
-{
-	unsigned char bootable; 
-	unsigned char start_head;
-	unsigned int start_cylinder;
-	unsigned char start_sector;
-	unsigned char system;
-	unsigned char end_head;
-	unsigned int  end_cylinder;
-	unsigned char end_sector;
-	unsigned long long start_sector_abs;
-	unsigned long long no_of_sectors_abs;
-};
-
-static void
-disp_entry (struct pentry *p)
-{
-	printf ("%10llu - %10llu: %02x %x\n",
-		SECSIZE * p->start_sector_abs,
-		SECSIZE * (p->start_sector_abs + p->no_of_sectors_abs - 1),
-		p->system,
-		p->bootable);
-}
-
-static unsigned long
-read_le4 (unsigned char *p)
-{
-	return (unsigned long) p[0]
-		| ((unsigned long) p[1] << 8)
-		| ((unsigned long) p[2] << 16)
-		| ((unsigned long) p[3] << 24);
-}
-
-static unsigned long long
-read_le8 (unsigned char *p)
-{
-	return (unsigned long long) p[0]
-		| ((unsigned long long) p[1] << 8)
-		| ((unsigned long long) p[2] << 16)
-		| ((unsigned long long) p[3] << 24)
-		| ((unsigned long long) p[4] << 32)
-		| ((unsigned long long) p[5] << 40)
-		| ((unsigned long long) p[6] << 48)
-		| ((unsigned long long) p[7] << 56);
-}
-
-/* Return true if the partition table is a GPT protective MBR.  */
-static int
-check_gpt (struct pentry *part, int nbr_part)
-{
-	if (nbr_part != 4)
-		return 0;
-	if (part[0].system == 0xee
-	    && part[1].no_of_sectors_abs == 0
-	    && part[2].no_of_sectors_abs == 0
-	    && part[3].no_of_sectors_abs == 0)
-		return 1;
-	return 0;
-}
-
-static int
-load_gpt (const char *diskimage, struct pentry *parttbl[])
-{
-	FILE *fd;
-	size_t size;
-	int fail = -1;
-	unsigned char data[SECSIZE];
-	unsigned long long entries_lba;
-	unsigned long entry_size;
-	struct pentry *part;
-	int nbr_part;
-	unsigned long long off;
-	int i;
-
-	fd = fopen(diskimage, "r");
-	if (fd == NULL)
-	{
-		perror(diskimage);
-		goto done;
-	}
-	fseeko (fd, SECSIZE, SEEK_SET);
-	size = fread (&data, 1, sizeof(data), fd);
-	if (size < (size_t)sizeof(data))
-	{
-		fprintf(stderr, "Could not read the GPT header of %s.\n",
-			diskimage);
-		goto done;
-	}
-
-	if (memcmp (data, "EFI PART", 8) != 0)
-	{
-		fprintf (stderr, "Bad GPT signature\n");
-		goto done;
-	}
-
-	entries_lba = read_le8 (&data[72]);
-	nbr_part = read_le4 (&data[80]);
-	entry_size = read_le4 (&data[84]);
-
-#ifdef DEBUG
-	fprintf(stderr, "lba entries: %llu, nbr_part: %u, entry_size: %lu\n",
-		entries_lba, nbr_part, entry_size);
-#endif
-	part = malloc (nbr_part * sizeof (struct pentry));
-	if (part == NULL)
-	{
-		fprintf(stderr,"Cannot allocate memory\n");
-		goto done;
-	}
-	memset (part, 0, nbr_part * sizeof (struct pentry));
-	*parttbl = part;
-
-	off = entries_lba * SECSIZE;
-	for (i = 0; i < nbr_part; i++)
-	{
-		static const char unused_guid[16] = {0};
-		fseeko (fd, off, SEEK_SET);
-		size = fread (&data, 1, 128, fd);
-		if (size < 128)
-		{
-			fprintf(stderr, "Could not read a GPT entry of %s.\n",
-				diskimage);
-			goto done;
-		}
-		if (memcmp (&data[0], unused_guid, 16) == 0)
-		{
-			part[i].start_sector_abs = 0;
-			part[i].no_of_sectors_abs = 0;
-		}
-		else
-		{
-			part[i].start_sector_abs = read_le8 (&data[32]);
-			part[i].no_of_sectors_abs = read_le8 (&data[40]);
-#ifdef DEBUG
-			fprintf (stderr, "%d: %llu - %llu\n", i,
-				 part[i].start_sector_abs,
-				 part[i].no_of_sectors_abs);
-#endif
-			/* Convert end to a number.  */
-			part[i].no_of_sectors_abs -=
-				part[i].start_sector_abs - 1;
-		}
-		off += entry_size;
-	}
-		
-	fail = nbr_part;
-
-done:
-	if (fd)
-		fclose(fd);
-	return fail;
-}
-
-/* Read an MBR entry.  */
-static void
-read_mbr_record (unsigned char pi[16], struct pentry *res)
-{
-	res->bootable = *pi; 
-	res->start_head  = *(pi + 1); 
-	res->start_cylinder = *(pi + 3) | ((*(pi + 2) << 2) & 0x300);
-	res->start_sector = *(pi + 2) & 0x3f;
-	res->system = *(pi + 4);
-	res->end_head = *(pi + 5);
-	res->end_cylinder = *(pi + 7) | ((*(pi + 6) << 2) & 0x300);
-	res->end_sector = *(pi + 6) & 0x3f;
-	res->start_sector_abs = read_le4 (&pi[8]);
-	res->no_of_sectors_abs = read_le4 (&pi[12]);
-}
-
-/* Returns the number of partitions, -1 in case of failure.  */
-int load_mbr(const char *diskimage, struct pentry *parttbl[])
-{
-	FILE *fd;
-	size_t size;
-	int fail = -1;
-	int nbr_part;
-	int i;
-	unsigned char *pi; 
-	unsigned char data [SECSIZE]; 
-	unsigned long long extent;
-	struct pentry *part;
-
-	nbr_part = 0;
-
-	fd = fopen(diskimage, "r");
-	if (fd == NULL)
-	{
-		perror(diskimage);
-		goto done;
-	}
-	size = fread (&data, 1, sizeof(data), fd);
-	if (size < (size_t)sizeof(data))
-	{
-		fprintf(stderr, "Could not read the entire first sector of %s.\n", diskimage);
-		goto done;
-	}
-
-	if (data [510] != 0x55 || data [511] != 0xaa)
-	{
-		fprintf(stderr,"MBR signature mismatch (invalid partition table?)\n");
-		goto done;
-	}
-
-	/* There is at most 4*4 + 4 = 20 entries, also there should be only
-	   one extended partition.  */
-	part = malloc (20 * sizeof (struct pentry));
-	if (part == NULL)
-	{
-		fprintf(stderr,"Cannot allocate memory\n");
-		goto done;
-	}
-	*parttbl = part;
-
-	/* Read MBR.  */
-	nbr_part = 4;
-	for (i = 0; i < 4; i++)
-	{
-		pi = &data [446 + 16 * i];
-		read_mbr_record (pi, &part[i]);
-	}
-
-	/* Read extended partitions.  */
-	for (i = 0; i < 4; i++)
-	{
-		if (part[i].system == 0xF || part[i].system == 0x5)
-		{
-			int j;
-
-			extent = part[i].start_sector_abs * SECSIZE;
-
-			fseeko (fd, extent, SEEK_SET);
-			size = fread (&data, 1, sizeof(data), fd);
-			if (size < (size_t)sizeof(data))
-			{
-				fprintf(stderr, "Could not read extended partition of %s.", diskimage);
-				goto done;
-			}
-
-			for (j = 0; j < 4; j++)
-			{
-				int n;
-				pi = &data [446 + 16 * j];
-				n = nbr_part + j;
-				read_mbr_record (pi, &part[n]);
-			}
-
-			nbr_part += 4;
-		}
-	}
-
-	fail = nbr_part;
-
-done:
-	if (fd)
-		fclose(fd);
-	return fail;
-}
-
-void usage(void)
-{
-	fprintf(stderr, "Usage: lomount [-verbose] [OPTIONS] -diskimage FILE -partition NUM [OPTIONS]\n");
-	fprintf(stderr, "All OPTIONS are passed through to 'mount'.\n");
-	fprintf(stderr, "ex. lomount -t fs-type -diskimage hda.img -partition 1 /mnt\n");
-	exit(ERR_USAGE);
-}
-
-int main(int argc, char ** argv)
-{
-	int status;
-	int nbr_part;
-	struct pentry *parttbl;
-	char buf[BUF], argv2[BUF];
-	const char * diskimage = NULL;
-	int partition = 0;
-	unsigned long long sec, num, pnum;
-	int i;
-	size_t argv2_len = sizeof(argv2);
-	int verbose = 0;
-
-	argv2[0] = '\0';
-
-	for (i = 1; i < argc; i ++)
-	{
-		if (strcmp(argv[i], "-diskimage")==0)
-		{
-			if (i == argc-1)
-				usage();
-			i++;
-			diskimage = argv[i];
-		}
-		else if (strcmp(argv[i], "-partition")==0)
-		{
-			if (i == argc-1)
-				usage();
-			i++;
-			partition = atoi(argv[i]);
-		}
-		else if (strcmp(argv[i], "-verbose")==0)
-		{
-			verbose++;
-		}
-		else
-		{
-			size_t len = strlen(argv[i]);
-			if (len >= argv2_len-1)
-				usage();
-			strcat(argv2, argv[i]);
-			strcat(argv2, " ");
-			len -= (len+1);
-		}
-	}
-	if (! diskimage || partition < 0)
-		usage();
-
-	nbr_part = load_mbr(diskimage, &parttbl);
-	if (check_gpt (parttbl, nbr_part)) {
-		free (parttbl);
-		nbr_part = load_gpt (diskimage, &parttbl);
-	}
-	if (nbr_part < 0)
-		return ERR_PART_PARSE;
-	if (partition == 0)
-	{
-		printf("Please specify a partition number.  Table is:\n");
-		printf("Num      Start -        End  OS Bootable\n");
-		for (i = 0; i < nbr_part; i++)
-		{
-			if (parttbl[i].no_of_sectors_abs != 0)
-			{
-				printf ("%2d: ", i + 1);
-				disp_entry (&parttbl[i]);
-			}
-		}
-		if (partition == 0)
-			return 0;
-	}
-	/* NOTE: need to make sure this always rounds down */
-	//sec = total_known_sectors / sizeof_diskimage;
-	/* The above doesn't work unless the disk image is completely
-	   filled by partitions ... unused space will thrown off the
-	   sector size. The calculation assumes the disk image is
-	   completely filled, and that the few sectors used to store
-	   the partition table/MBR are few enough that the calculated
-	   value is off by (larger than) a value less than one. */
-	sec = 512; /* TODO: calculate real sector size */
-#ifdef DEBUG
-	printf("sec: %llu\n", sec);
-#endif
-	if (partition > nbr_part)
-	{
-		fprintf(stderr, "Bad partition number\n");
-		return ERR_NO_EPART;
-	}
-	num = parttbl[partition-1].start_sector_abs;
-	if (num == 0)
-	{
-		fprintf(stderr, "Partition %d was not found in %s.\n",
-			partition, diskimage);
-		return ERR_NO_PART;
-	}
-
-	pnum = sec * num;
-#ifdef DEBUG
-	printf("offset = %llu\n", pnum);
-#endif
-	snprintf(buf, sizeof(buf), "mount -oloop,offset=%lld %s %s",
-		 pnum, diskimage, argv2);
-	if (verbose)
-		printf("%s\n", buf);
-
-	status = system(buf);
-	if (WIFEXITED(status))
-		status = WEXITSTATUS(status);
-	else
-		status = ERR_MOUNT;
-	return status;
-}
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:46:27 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:46:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzNK-0002ew-VB; Wed, 21 Aug 2013 03:46:26 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzNJ-0002ei-PF
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:46:25 +0000
Received: from [85.158.139.211:6591] by server-17.bemta-5.messagelabs.com id
	A4/08-19396-11834125; Wed, 21 Aug 2013 03:46:25 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-206.messagelabs.com!1377056782!3475413!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23462 invoked from network); 21 Aug 2013 03:46:23 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-9.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:46:23 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzNG-0004Dg-4h
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:46:22 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzNG-0004am-3B
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:46:22 +0000
Date: Wed, 21 Aug 2013 03:46:22 +0000
Message-Id: <E1VBzNG-0004am-3B@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] .*ignore: remove some cruft
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 20fe0ae7c73f147bd39204d01d67149b6ee1b076
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed Jul 31 16:15:55 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:34:44 2013 +0100

    .*ignore: remove some cruft
    
    Just a few things which I noticed which I'm sure aren't relevant now. I'm sure
    there is plent of other cruft but I didn't do any sort of audit.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 .gitignore |   15 ---------------
 .hgignore  |   15 ---------------
 2 files changed, 0 insertions(+), 30 deletions(-)

diff --git a/.gitignore b/.gitignore
index 2feac20..c82a372 100644
--- a/.gitignore
+++ b/.gitignore
@@ -210,11 +210,6 @@ tools/libxl/_libxl.api-for-check
 tools/libxl/*.api-ok
 tools/misc/cpuperf/cpuperf-perfcntr
 tools/misc/cpuperf/cpuperf-xen
-tools/misc/mbootpack/bin2c
-tools/misc/mbootpack/bootsect
-tools/misc/mbootpack/bzimage_header.c
-tools/misc/mbootpack/mbootpack
-tools/misc/mbootpack/setup
 tools/misc/xc_shadow
 tools/misc/xen_cpuperf
 tools/misc/xen-detect
@@ -244,15 +239,6 @@ tools/tests/regression/build/*
 tools/tests/regression/downloads/*
 tools/tests/mem-sharing/memshrtool
 tools/tests/mce-test/tools/xen-mceinj
-tools/vnet/Make.local
-tools/vnet/build/*
-tools/vnet/gc
-tools/vnet/gc*/*
-tools/vnet/vnet-module/*.ko
-tools/vnet/vnet-module/.*.cmd
-tools/vnet/vnet-module/.tmp_versions/*
-tools/vnet/vnet-module/vnet_module.mod.*
-tools/vnet/vnetd/vnetd
 tools/vtpm/tpm_emulator-*.tar.gz
 tools/vtpm/tpm_emulator/*
 tools/vtpm/vtpm/*
@@ -306,7 +292,6 @@ tools/xm-test/lib/XmTestReport/xmtest.py
 tools/xm-test/tests/*.test
 tools/ocaml-xenstored*
 xen/.banner*
-xen/BLOG
 xen/System.map
 xen/arch/arm/asm-offsets.s
 xen/arch/arm/xen.lds
diff --git a/.hgignore b/.hgignore
index 87ab478..05cb0de 100644
--- a/.hgignore
+++ b/.hgignore
@@ -203,11 +203,6 @@
 ^tools/libvchan/vchan-node[12]$
 ^tools/misc/cpuperf/cpuperf-perfcntr$
 ^tools/misc/cpuperf/cpuperf-xen$
-^tools/misc/mbootpack/bin2c$
-^tools/misc/mbootpack/bootsect$
-^tools/misc/mbootpack/bzimage_header\.c$
-^tools/misc/mbootpack/mbootpack$
-^tools/misc/mbootpack/setup$
 ^tools/misc/xc_shadow$
 ^tools/misc/xen_cpuperf$
 ^tools/misc/xen-detect$
@@ -242,15 +237,6 @@
 ^tools/tests/xen-access/xen-access$
 ^tools/tests/mem-sharing/memshrtool$
 ^tools/tests/mce-test/tools/xen-mceinj$
-^tools/vnet/Make.local$
-^tools/vnet/build/.*$
-^tools/vnet/gc$
-^tools/vnet/gc.*/.*$
-^tools/vnet/vnet-module/.*\.ko$
-^tools/vnet/vnet-module/\..*\.cmd$
-^tools/vnet/vnet-module/\.tmp_versions/.*$
-^tools/vnet/vnet-module/vnet_module\.mod\..*$
-^tools/vnet/vnetd/vnetd$
 ^tools/vtpm/tpm_emulator-.*\.tar\.gz$
 ^tools/vtpm/tpm_emulator/.*$
 ^tools/vtpm/vtpm/.*$
@@ -331,7 +317,6 @@
 ^config/Stubdom\.mk$
 ^config/Docs\.mk$
 ^xen/\.banner.*$
-^xen/BLOG$
 ^xen/System.map$
 ^xen/arch/arm/asm-offsets\.s$
 ^xen/arch/arm/xen\.lds$
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:46:27 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:46:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzNK-0002ew-VB; Wed, 21 Aug 2013 03:46:26 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzNJ-0002ei-PF
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:46:25 +0000
Received: from [85.158.139.211:6591] by server-17.bemta-5.messagelabs.com id
	A4/08-19396-11834125; Wed, 21 Aug 2013 03:46:25 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-206.messagelabs.com!1377056782!3475413!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23462 invoked from network); 21 Aug 2013 03:46:23 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-9.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:46:23 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzNG-0004Dg-4h
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:46:22 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzNG-0004am-3B
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:46:22 +0000
Date: Wed, 21 Aug 2013 03:46:22 +0000
Message-Id: <E1VBzNG-0004am-3B@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] .*ignore: remove some cruft
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 20fe0ae7c73f147bd39204d01d67149b6ee1b076
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed Jul 31 16:15:55 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:34:44 2013 +0100

    .*ignore: remove some cruft
    
    Just a few things which I noticed which I'm sure aren't relevant now. I'm sure
    there is plent of other cruft but I didn't do any sort of audit.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 .gitignore |   15 ---------------
 .hgignore  |   15 ---------------
 2 files changed, 0 insertions(+), 30 deletions(-)

diff --git a/.gitignore b/.gitignore
index 2feac20..c82a372 100644
--- a/.gitignore
+++ b/.gitignore
@@ -210,11 +210,6 @@ tools/libxl/_libxl.api-for-check
 tools/libxl/*.api-ok
 tools/misc/cpuperf/cpuperf-perfcntr
 tools/misc/cpuperf/cpuperf-xen
-tools/misc/mbootpack/bin2c
-tools/misc/mbootpack/bootsect
-tools/misc/mbootpack/bzimage_header.c
-tools/misc/mbootpack/mbootpack
-tools/misc/mbootpack/setup
 tools/misc/xc_shadow
 tools/misc/xen_cpuperf
 tools/misc/xen-detect
@@ -244,15 +239,6 @@ tools/tests/regression/build/*
 tools/tests/regression/downloads/*
 tools/tests/mem-sharing/memshrtool
 tools/tests/mce-test/tools/xen-mceinj
-tools/vnet/Make.local
-tools/vnet/build/*
-tools/vnet/gc
-tools/vnet/gc*/*
-tools/vnet/vnet-module/*.ko
-tools/vnet/vnet-module/.*.cmd
-tools/vnet/vnet-module/.tmp_versions/*
-tools/vnet/vnet-module/vnet_module.mod.*
-tools/vnet/vnetd/vnetd
 tools/vtpm/tpm_emulator-*.tar.gz
 tools/vtpm/tpm_emulator/*
 tools/vtpm/vtpm/*
@@ -306,7 +292,6 @@ tools/xm-test/lib/XmTestReport/xmtest.py
 tools/xm-test/tests/*.test
 tools/ocaml-xenstored*
 xen/.banner*
-xen/BLOG
 xen/System.map
 xen/arch/arm/asm-offsets.s
 xen/arch/arm/xen.lds
diff --git a/.hgignore b/.hgignore
index 87ab478..05cb0de 100644
--- a/.hgignore
+++ b/.hgignore
@@ -203,11 +203,6 @@
 ^tools/libvchan/vchan-node[12]$
 ^tools/misc/cpuperf/cpuperf-perfcntr$
 ^tools/misc/cpuperf/cpuperf-xen$
-^tools/misc/mbootpack/bin2c$
-^tools/misc/mbootpack/bootsect$
-^tools/misc/mbootpack/bzimage_header\.c$
-^tools/misc/mbootpack/mbootpack$
-^tools/misc/mbootpack/setup$
 ^tools/misc/xc_shadow$
 ^tools/misc/xen_cpuperf$
 ^tools/misc/xen-detect$
@@ -242,15 +237,6 @@
 ^tools/tests/xen-access/xen-access$
 ^tools/tests/mem-sharing/memshrtool$
 ^tools/tests/mce-test/tools/xen-mceinj$
-^tools/vnet/Make.local$
-^tools/vnet/build/.*$
-^tools/vnet/gc$
-^tools/vnet/gc.*/.*$
-^tools/vnet/vnet-module/.*\.ko$
-^tools/vnet/vnet-module/\..*\.cmd$
-^tools/vnet/vnet-module/\.tmp_versions/.*$
-^tools/vnet/vnet-module/vnet_module\.mod\..*$
-^tools/vnet/vnetd/vnetd$
 ^tools/vtpm/tpm_emulator-.*\.tar\.gz$
 ^tools/vtpm/tpm_emulator/.*$
 ^tools/vtpm/vtpm/.*$
@@ -331,7 +317,6 @@
 ^config/Stubdom\.mk$
 ^config/Docs\.mk$
 ^xen/\.banner.*$
-^xen/BLOG$
 ^xen/System.map$
 ^xen/arch/arm/asm-offsets\.s$
 ^xen/arch/arm/xen\.lds$
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:46:37 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:46:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzNU-0002gh-1j; Wed, 21 Aug 2013 03:46:36 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzNT-0002gP-3r
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:46:35 +0000
Received: from [85.158.139.211:6775] by server-1.bemta-5.messagelabs.com id
	08/91-26518-A1834125; Wed, 21 Aug 2013 03:46:34 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-206.messagelabs.com!1377056792!3484656!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 444 invoked from network); 21 Aug 2013 03:46:33 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-14.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:46:33 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzNQ-0004Do-A6
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:46:32 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzNQ-0004bY-8y
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:46:32 +0000
Date: Wed, 21 Aug 2013 03:46:32 +0000
Message-Id: <E1VBzNQ-0004bY-8y@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] tools: disable blktap1 build by default
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 76c66c689b8591a8d185586cdd8a1bbbf393ffb6
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed Jul 31 16:15:56 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:35:00 2013 +0100

    tools: disable blktap1 build by default
    
    I don't think there are any dom0's around whose kernels support only blktap1
    and not something newer like blktap2 or qdisk. Certainly not that you would
    want to run Xen 4.4 on.
    
    libxl will never use blktap1.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 config/Tools.mk.in           |    1 +
 tools/Makefile               |    4 ++--
 tools/configure              |   26 ++++++++++++++++++++++++++
 tools/configure.ac           |    1 +
 tools/hotplug/Linux/Makefile |    4 +++-
 5 files changed, 33 insertions(+), 3 deletions(-)

diff --git a/config/Tools.mk.in b/config/Tools.mk.in
index 7ee1581..1915295 100644
--- a/config/Tools.mk.in
+++ b/config/Tools.mk.in
@@ -51,6 +51,7 @@ CONFIG_OVMF         := @ovmf@
 CONFIG_ROMBIOS      := @rombios@
 CONFIG_SEABIOS      := @seabios@
 CONFIG_XEND         := @xend@
+CONFIG_BLKTAP1      := @blktap1@
 
 #System options
 ZLIB                := @zlib@
diff --git a/tools/Makefile b/tools/Makefile
index 1000ee3..381af04 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -16,8 +16,8 @@ SUBDIRS-y += console
 SUBDIRS-y += xenmon
 SUBDIRS-y += xenstat
 SUBDIRS-$(CONFIG_Linux) += memshr 
-ifeq ($(CONFIG_X86),y)
-SUBDIRS-$(CONFIG_Linux) += blktap
+ifeq ($(CONFIG_X86)$(CONFIG_Linux),yy)
+SUBDIRS-$(CONFIG_BLKTAP1) += blktap
 endif
 SUBDIRS-$(CONFIG_Linux) += blktap2
 SUBDIRS-$(CONFIG_NetBSD) += blktap2
diff --git a/tools/configure b/tools/configure
index 8df24e6..ad4b5fe 100755
--- a/tools/configure
+++ b/tools/configure
@@ -654,6 +654,7 @@ APPEND_LIB
 APPEND_INCLUDES
 PREPEND_LIB
 PREPEND_INCLUDES
+blktap1
 xend
 debug
 seabios
@@ -732,6 +733,7 @@ enable_rombios
 enable_seabios
 enable_debug
 enable_xend
+enable_blktap1
 '
       ac_precious_vars='build_alias
 host_alias
@@ -1391,6 +1393,7 @@ Optional Features:
   --disable-seabios       Disable SeaBIOS (default is ENABLED)
   --disable-debug         Disable debug build of tools (default is ENABLED)
   --disable-xend          Disable xend toolstack (default is ENABLED)
+  --enable-blktap1        Disable blktap1 tools (default is DISABLED)
 
 Some influential environment variables:
   CC          C compiler command
@@ -3628,6 +3631,29 @@ xend=$ax_cv_xend
 
 
 
+# Check whether --enable-blktap1 was given.
+if test "${enable_blktap1+set}" = set; then :
+  enableval=$enable_blktap1;
+fi
+
+
+if test "x$enable_blktap1" = "xno"; then :
+
+    ax_cv_blktap1="n"
+
+elif test "x$enable_blktap1" = "xyes"; then :
+
+    ax_cv_blktap1="y"
+
+elif test -z $ax_cv_blktap1; then :
+
+    ax_cv_blktap1="n"
+
+fi
+blktap1=$ax_cv_blktap1
+
+
+
 
 
 
diff --git a/tools/configure.ac b/tools/configure.ac
index 2a72d02..1b4625a 100644
--- a/tools/configure.ac
+++ b/tools/configure.ac
@@ -58,6 +58,7 @@ AX_ARG_DEFAULT_ENABLE([rombios], [Disable ROM BIOS])
 AX_ARG_DEFAULT_ENABLE([seabios], [Disable SeaBIOS])
 AX_ARG_DEFAULT_ENABLE([debug], [Disable debug build of tools])
 AX_ARG_DEFAULT_ENABLE([xend], [Disable xend toolstack])
+AX_ARG_DEFAULT_DISABLE([blktap1], [Disable blktap1 tools])
 
 AC_ARG_VAR([PREPEND_INCLUDES],
     [List of include folders to prepend to CFLAGS (without -I)])
diff --git a/tools/hotplug/Linux/Makefile b/tools/hotplug/Linux/Makefile
index b7737ab..47655f6 100644
--- a/tools/hotplug/Linux/Makefile
+++ b/tools/hotplug/Linux/Makefile
@@ -18,11 +18,13 @@ XEN_SCRIPTS += vif2
 XEN_SCRIPTS += vif-setup
 XEN_SCRIPTS += block
 XEN_SCRIPTS += block-enbd block-nbd
-XEN_SCRIPTS += blktap
+XEN_SCRIPTS-$(CONFIG_BLKTAP1) += blktap
 XEN_SCRIPTS += xen-hotplug-cleanup
 XEN_SCRIPTS += external-device-migrate
 XEN_SCRIPTS += vscsi
 XEN_SCRIPTS += block-iscsi
+XEN_SCRIPTS += $(XEN_SCRIPTS-y)
+
 XEN_SCRIPT_DATA = xen-script-common.sh locking.sh logging.sh
 XEN_SCRIPT_DATA += xen-hotplug-common.sh xen-network-common.sh vif-common.sh
 XEN_SCRIPT_DATA += block-common.sh
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:46:37 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:46:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzNU-0002gh-1j; Wed, 21 Aug 2013 03:46:36 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzNT-0002gP-3r
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:46:35 +0000
Received: from [85.158.139.211:6775] by server-1.bemta-5.messagelabs.com id
	08/91-26518-A1834125; Wed, 21 Aug 2013 03:46:34 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-206.messagelabs.com!1377056792!3484656!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 444 invoked from network); 21 Aug 2013 03:46:33 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-14.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:46:33 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzNQ-0004Do-A6
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:46:32 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzNQ-0004bY-8y
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:46:32 +0000
Date: Wed, 21 Aug 2013 03:46:32 +0000
Message-Id: <E1VBzNQ-0004bY-8y@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] tools: disable blktap1 build by default
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 76c66c689b8591a8d185586cdd8a1bbbf393ffb6
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed Jul 31 16:15:56 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:35:00 2013 +0100

    tools: disable blktap1 build by default
    
    I don't think there are any dom0's around whose kernels support only blktap1
    and not something newer like blktap2 or qdisk. Certainly not that you would
    want to run Xen 4.4 on.
    
    libxl will never use blktap1.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 config/Tools.mk.in           |    1 +
 tools/Makefile               |    4 ++--
 tools/configure              |   26 ++++++++++++++++++++++++++
 tools/configure.ac           |    1 +
 tools/hotplug/Linux/Makefile |    4 +++-
 5 files changed, 33 insertions(+), 3 deletions(-)

diff --git a/config/Tools.mk.in b/config/Tools.mk.in
index 7ee1581..1915295 100644
--- a/config/Tools.mk.in
+++ b/config/Tools.mk.in
@@ -51,6 +51,7 @@ CONFIG_OVMF         := @ovmf@
 CONFIG_ROMBIOS      := @rombios@
 CONFIG_SEABIOS      := @seabios@
 CONFIG_XEND         := @xend@
+CONFIG_BLKTAP1      := @blktap1@
 
 #System options
 ZLIB                := @zlib@
diff --git a/tools/Makefile b/tools/Makefile
index 1000ee3..381af04 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -16,8 +16,8 @@ SUBDIRS-y += console
 SUBDIRS-y += xenmon
 SUBDIRS-y += xenstat
 SUBDIRS-$(CONFIG_Linux) += memshr 
-ifeq ($(CONFIG_X86),y)
-SUBDIRS-$(CONFIG_Linux) += blktap
+ifeq ($(CONFIG_X86)$(CONFIG_Linux),yy)
+SUBDIRS-$(CONFIG_BLKTAP1) += blktap
 endif
 SUBDIRS-$(CONFIG_Linux) += blktap2
 SUBDIRS-$(CONFIG_NetBSD) += blktap2
diff --git a/tools/configure b/tools/configure
index 8df24e6..ad4b5fe 100755
--- a/tools/configure
+++ b/tools/configure
@@ -654,6 +654,7 @@ APPEND_LIB
 APPEND_INCLUDES
 PREPEND_LIB
 PREPEND_INCLUDES
+blktap1
 xend
 debug
 seabios
@@ -732,6 +733,7 @@ enable_rombios
 enable_seabios
 enable_debug
 enable_xend
+enable_blktap1
 '
       ac_precious_vars='build_alias
 host_alias
@@ -1391,6 +1393,7 @@ Optional Features:
   --disable-seabios       Disable SeaBIOS (default is ENABLED)
   --disable-debug         Disable debug build of tools (default is ENABLED)
   --disable-xend          Disable xend toolstack (default is ENABLED)
+  --enable-blktap1        Disable blktap1 tools (default is DISABLED)
 
 Some influential environment variables:
   CC          C compiler command
@@ -3628,6 +3631,29 @@ xend=$ax_cv_xend
 
 
 
+# Check whether --enable-blktap1 was given.
+if test "${enable_blktap1+set}" = set; then :
+  enableval=$enable_blktap1;
+fi
+
+
+if test "x$enable_blktap1" = "xno"; then :
+
+    ax_cv_blktap1="n"
+
+elif test "x$enable_blktap1" = "xyes"; then :
+
+    ax_cv_blktap1="y"
+
+elif test -z $ax_cv_blktap1; then :
+
+    ax_cv_blktap1="n"
+
+fi
+blktap1=$ax_cv_blktap1
+
+
+
 
 
 
diff --git a/tools/configure.ac b/tools/configure.ac
index 2a72d02..1b4625a 100644
--- a/tools/configure.ac
+++ b/tools/configure.ac
@@ -58,6 +58,7 @@ AX_ARG_DEFAULT_ENABLE([rombios], [Disable ROM BIOS])
 AX_ARG_DEFAULT_ENABLE([seabios], [Disable SeaBIOS])
 AX_ARG_DEFAULT_ENABLE([debug], [Disable debug build of tools])
 AX_ARG_DEFAULT_ENABLE([xend], [Disable xend toolstack])
+AX_ARG_DEFAULT_DISABLE([blktap1], [Disable blktap1 tools])
 
 AC_ARG_VAR([PREPEND_INCLUDES],
     [List of include folders to prepend to CFLAGS (without -I)])
diff --git a/tools/hotplug/Linux/Makefile b/tools/hotplug/Linux/Makefile
index b7737ab..47655f6 100644
--- a/tools/hotplug/Linux/Makefile
+++ b/tools/hotplug/Linux/Makefile
@@ -18,11 +18,13 @@ XEN_SCRIPTS += vif2
 XEN_SCRIPTS += vif-setup
 XEN_SCRIPTS += block
 XEN_SCRIPTS += block-enbd block-nbd
-XEN_SCRIPTS += blktap
+XEN_SCRIPTS-$(CONFIG_BLKTAP1) += blktap
 XEN_SCRIPTS += xen-hotplug-cleanup
 XEN_SCRIPTS += external-device-migrate
 XEN_SCRIPTS += vscsi
 XEN_SCRIPTS += block-iscsi
+XEN_SCRIPTS += $(XEN_SCRIPTS-y)
+
 XEN_SCRIPT_DATA = xen-script-common.sh locking.sh logging.sh
 XEN_SCRIPT_DATA += xen-hotplug-common.sh xen-network-common.sh vif-common.sh
 XEN_SCRIPT_DATA += block-common.sh
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:46:51 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:46:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzNi-0002j8-5L; Wed, 21 Aug 2013 03:46:50 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzNf-0002il-Do
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:46:47 +0000
Received: from [193.109.254.147:42109] by server-15.bemta-14.messagelabs.com
	id 9A/54-10716-62834125; Wed, 21 Aug 2013 03:46:46 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1377056802!5084127!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13586 invoked from network); 21 Aug 2013 03:46:43 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-5.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:46:43 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzNa-0004Du-HR
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:46:42 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzNa-0004cg-De
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:46:42 +0000
Date: Wed, 21 Aug 2013 03:46:42 +0000
Message-Id: <E1VBzNa-0004cg-De@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] tools: drop 'sv'
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 484a3711b42261f3a82e21bf5164a7021d52356f
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed Jul 31 16:15:57 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:39:58 2013 +0100

    tools: drop 'sv'
    
    I'm not even sure what this thing is. Looks like some sort of Twisted Python
    based frontend to xend.
    
    Whatever it is I am perfectly sure no one can be using it. Apart from drive by
    build fixes caused by updates elsewhere it has seen no real development since
    2005. I suspect it was never even finished/usable.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/python/setup.py                |    1 -
 tools/python/xen/sv/CreateDomain.py  |  205 --------------------------
 tools/python/xen/sv/DomInfo.py       |  268 ----------------------------------
 tools/python/xen/sv/GenTabbed.py     |  147 -------------------
 tools/python/xen/sv/HTMLBase.py      |   53 -------
 tools/python/xen/sv/Main.py          |   82 -----------
 tools/python/xen/sv/NodeInfo.py      |   73 ---------
 tools/python/xen/sv/RestoreDomain.py |   50 -------
 tools/python/xen/sv/Wizard.py        |  245 -------------------------------
 tools/python/xen/sv/__init__.py      |    1 -
 tools/python/xen/sv/util.py          |  126 ----------------
 tools/sv/Makefile                    |    3 -
 tools/sv/images/destroy.png          |  Bin 2408 -> 0 bytes
 tools/sv/images/finish.png           |  Bin 1189 -> 0 bytes
 tools/sv/images/next.png             |  Bin 1270 -> 0 bytes
 tools/sv/images/pause.png            |  Bin 1662 -> 0 bytes
 tools/sv/images/previous.png         |  Bin 1285 -> 0 bytes
 tools/sv/images/reboot.png           |  Bin 3132 -> 0 bytes
 tools/sv/images/shutdown.png         |  Bin 2901 -> 0 bytes
 tools/sv/images/small-destroy.png    |  Bin 483 -> 0 bytes
 tools/sv/images/small-pause.png      |  Bin 434 -> 0 bytes
 tools/sv/images/small-unpause.png    |  Bin 500 -> 0 bytes
 tools/sv/images/unpause.png          |  Bin 1890 -> 0 bytes
 tools/sv/images/xen.png              |  Bin 10575 -> 0 bytes
 tools/sv/inc/script.js               |   31 ----
 tools/sv/inc/style.css               |   95 ------------
 tools/sv/index.psp                   |   34 -----
 27 files changed, 0 insertions(+), 1414 deletions(-)

diff --git a/tools/python/setup.py b/tools/python/setup.py
index 8e584e6..8127b21 100644
--- a/tools/python/setup.py
+++ b/tools/python/setup.py
@@ -132,7 +132,6 @@ setup(name            = 'xen',
       description     = 'Xen',
       packages        = ['xen',
                          'xen.lowlevel',
-                         'xen.sv',
                          ] + xend_packages,
       ext_package = "xen.lowlevel",
       ext_modules = modules
diff --git a/tools/python/xen/sv/CreateDomain.py b/tools/python/xen/sv/CreateDomain.py
deleted file mode 100755
index 748d99b..0000000
--- a/tools/python/xen/sv/CreateDomain.py
+++ /dev/null
@@ -1,205 +0,0 @@
-from xen.sv.Wizard import *
-from xen.sv.util import *
-from xen.sv.GenTabbed import PreTab
-
-from xen.xm.create import make_config, OptVals
-
-from xen.xend.XendClient import server
-
-class CreateDomain( Wizard ):
-    def __init__( self, urlWriter ):
-    	
-    	sheets = [ CreatePage0,
-          	   CreatePage1,
-          	   CreatePage2,
-                   CreatePage3,
-                   CreatePage4,
-                   CreateFinish ]
-    
-    	Wizard.__init__( self, urlWriter, "Create Domain", sheets )
-
-    def op_finish( self, request ):
-        pass
-    
-class CreatePage0( Sheet ):
-
-    title = "General"
-    
-    def __init__( self, urlWriter ):
-        Sheet.__init__( self, urlWriter, "General", 0 )
-        self.addControl( InputControl( 'name', 'VM Name', 'VM Name:', "[\\w|\\S]+", "You must enter a name in this field" ) )
-        self.addControl( InputControl( 'memory', '64', 'Memory (Mb):', "[\\d]+", "You must enter a number in this field" ) )
-        self.addControl( InputControl( 'cpu', '0', 'CPU:', "[\\d]+", "You must enter a number in this feild" ) )
-        self.addControl( InputControl( 'cpu_weight', '1', 'CPU Weight:', "[\\d]+", "You must enter a number in this feild" ) )
-        self.addControl( InputControl( 'vcpus', '1', 'Virtual CPUs:', '[\\d]+', "You must enter a number in this feild") )
-                        
-class CreatePage1( Sheet ):
-
-    title = "Setup Kernel Image"
-
-    def __init__( self, urlWriter ):
-        Sheet.__init__( self, urlWriter, "Setup Kernel Image", 1 )
-        self.addControl( ListControl( 'builder', [('linux', 'Linux'), ('netbsd', 'NetBSD')], 'Domain Builder:' ) )
-        self.addControl( FileControl( 'kernel', '/boot/vmlinuz-2.6.12-xenU', 'Kernel Image:' ) )
-        self.addControl( InputControl( 'extra', '', 'Kernel Command Line Parameters:' ) )
-        self.addControl( ListControl( 'use-initrd', [('yes', 'Yes'), ('no', 'No')], 'Use an Initial Ram Disk?:' ) )
-        self.addControl( FileControl( 'initrd', '/boot/initrd-2.6.12-xenU.img', 'Initial Ram Disk:' ) )
-
-    def validate( self, request ):
-        if not self.passback: self.parseForm( request )
-        check = True
-        request.write( previous_values.get( '>>>>>use-initrd' ) )
-        previous_values = ssxp2hash( string2sxp( self.passback ) ) #get the map for quick reference
-        if DEBUG: print previous_values
-        for (feild, control) in self.feilds:
-            if feild == 'initrd' and previous_values.get( 'use-initrd' ) != 'no':
-                request.write( previous_values.get( '>>>>>use-initrd' ) )
-                if control.validate( previous_values.get( feild ) ):
-                    check = False
-            elif not control.validate( previous_values.get( feild ) ):
-                check = False
-
-            if DEBUG: print "> %s = %s" % (feild, previous_values.get( feild ))
-
-        return check
-                                                 
-
-class CreatePage2( Sheet ):
-
-    title = "Choose number of VBDS"
-
-    def __init__( self, urlWriter ):
-    	Sheet.__init__( self, urlWriter, "Setup Virtual Block Device", 2 )
-        self.addControl( InputControl( 'num_vbds', '1', 'Number of VBDs:', '[\\d]+', "You must enter a number in this field" ) )
-
-class CreatePage3( Sheet ):
-
-    title = "Setup VBDS"
-
-    def __init__( self, urlWriter ):
-        Sheet.__init__( self, urlWriter, "Setup Virtual Block Device", 3 )
-        
-    def write_BODY( self, request ):
-        if not self.passback: self.parseForm( request )
-    
-    	previous_values = sxp2hash( string2sxp( self.passback ) ) #get the hash for quick reference
-        
-        num_vbds = previous_values.get( 'num_vbds' )
-        
-        for i in range( int( num_vbds ) ):
-            self.addControl( InputControl( 'vbd%s_dom0' % i, 'phy:sda%s' % str(i + 1), 'Device %s name:' % i  ) )
-            self.addControl( InputControl( 'vbd%s_domU' % i, 'sda%s' % str(i + 1), 'Virtualized device %s:' % i ) )
-            self.addControl( ListControl( 'vbd%s_mode' % i, [('w', 'Read + Write'), ('r', 'Read Only')], 'Device %s mode:' % i ) )
-            
-        self.addControl( InputControl( 'root', '/dev/sda1', 'Root device (in VM):' ) )
-        
-        Sheet.write_BODY( self, request )
-                
-class CreatePage4( Sheet ):
-
-    title = "Network Setting"
-
-    def __init__( self, urlWriter ):        
-        Sheet.__init__( self, urlWriter, "Network settings", 4 )
-        self.addControl( ListControl( 'dhcp', [('off', 'No'), ('dhcp', 'Yes')], 'Use DHCP:' ) )
-        self.addControl( InputControl( 'hostname', 'hostname', 'VM Hostname:' ) )
-        self.addControl( InputControl( 'ip_addr', '192.168.1.1', 'VM IP Address:' ) )
-        self.addControl( InputControl( 'ip_subnet', '255.255.255.0', 'VM Subnet Mask:' ) ) 
-        self.addControl( InputControl( 'ip_gateway', '192.168.1.1', 'VM Gateway:' ) )           
-        self.addControl( InputControl( 'ip_nfs', '192.168.1.1', 'NFS Server:' ) )  
-                 
-class CreateFinish( Sheet ):
-
-    title = "Finish"
-
-    def __init__( self, urlWriter ):
-        Sheet.__init__( self, urlWriter, "All Done", 5 )
-        
-    def write_BODY( self, request ):
-    
-        if not self.passback: self.parseForm( request )
-        
-        xend_sxp = self.translate_sxp( string2sxp( self.passback ) )
-
-        request.write( "<pre>%s</pre>" % sxp2prettystring( xend_sxp ) )
-        
-        try:
-            server.xend_domain_create( xend_sxp )
-            request.write( "<p>You domain had been successfully created.</p>" )
-        except Exception, e:
-            request.write( "<p>There was an error creating your domain.<br/>The configuration used is as follows:\n</p>" )
-            request.write( "<pre>%s</pre>" % sxp2prettystring( xend_sxp ) )
-            request.write( "<p>The error was:</p>" )
-            request.write( "<pre>%s</pre>" % str( e ) )
-
-        request.write( "<input type='hidden' name='passback' value=\"%s\"></p>" % self.passback )
-        request.write( "<input type='hidden' name='sheet' value='%s'></p>" % self.location )
-    
-    def translate_sxp( self, fin_sxp ):
-   	fin_hash = ssxp2hash( fin_sxp )
-    
-        def get( key ):
-            ret = fin_hash.get( key )
-            if ret:
-                return ret
-            else:
-                return ""
-        
-    	vals = OptVals()
-        
-        vals.name = 	get( 'name' )
-        vals.memory = 	get( 'memory' )
-        vals.maxmem =   get( 'maxmem' )
-        vals.cpu =  	get( 'cpu' )
-        vals.cpu_weight = get( 'cpu_weight' )
-        vals.vcpus = get( 'vcpus' )
-        
-        vals.builder =  get( 'builder' )       
-        vals.kernel =   get( 'kernel' )
-	vals.root = 	get( 'root' )
-        vals.extra = 	get( 'extra' )
-        
-        #setup vbds
-        
-        vbds = []
-        
-        for i in range( int( get( 'num_vbds' ) ) ):
-            vbds.append( ( get( 'vbd%s_dom0' % i ), get('vbd%s_domU' % i ), get( 'vbd%s_mode' % i ), None ) )
-        
-        vals.disk = vbds    
-            
-        #misc
-        
-        vals.pci = []
-        
-        vals.blkif = None
-        vals.netif = None
-        vals.restart = None
-        vals.console = None
-        vals.ramdisk = None
-        vals.ssidref = -1
-        vals.bootloader = None
-        vals.usb = []
-        vals.acpi = []
-        
-        #setup vifs
-        
-        vals.vif = []
-        vals.nics = 1
-                
-        ip =   get( 'ip_addr' )
-        nfs =  get( 'ip_nfs' )
-        gate = get( 'ip_gateway' )
-        mask = get( 'ip_subnet' )
-        host = get( 'hostname' )
-        dhcp = get( 'dhcp' )
-        
-        vals.cmdline_ip = "%s:%s:%s:%s:%s:eth0:%s" % (ip, nfs, gate, mask, host, dhcp)
-
-        opts = None
-        
-        try:
-            return make_config( opts, vals )
-        except Exception, e:
-            return [["There was an error creating the domain config SXP.  This is typically due to an interface change in xm/create.py:make_config", e]]    
-        
diff --git a/tools/python/xen/sv/DomInfo.py b/tools/python/xen/sv/DomInfo.py
deleted file mode 100755
index 89feca0..0000000
--- a/tools/python/xen/sv/DomInfo.py
+++ /dev/null
@@ -1,268 +0,0 @@
-from xen.xend.XendClient import server
-from xen.xend import PrettyPrint
-
-from xen.sv.HTMLBase import HTMLBase
-from xen.sv.util import *
-from xen.sv.GenTabbed import *
-from xen.sv.Wizard import *
-
-DEBUG=1
-
-class DomInfo( GenTabbed ):
-
-    def __init__( self, urlWriter ):
-        
-        self.dom = 0;
-                   
-        GenTabbed.__init__( self, "Domain Info", urlWriter, [ 'General', 'SXP', 'Devices', 'Migrate', 'Save' ], [ DomGeneralTab, DomSXPTab, DomDeviceTab, DomMigrateTab, DomSaveTab ]  )
-
-    def write_BODY( self, request ):
-        try:
-            dom = int( getVar( 'dom', request ) )
-        except:
-            request.write( "<p>Please Select a Domain</p>" )
-            return None
-       
-        GenTabbed.write_BODY( self, request )
-        
-    def write_MENU( self, request ):
-       domains = []
-
-       try:
-           domains = server.xend_domains()
-           domains.sort()
-       except:
-           pass
-
-       request.write( "\n<table style='border:0px solid white' cellspacing='0' cellpadding='0' border='0' width='100%'>\n" )
-       request.write( "<tr class='domainInfoHead'>" )
-       request.write( "<td class='domainInfoHead' align='center'>Domain</td>\n" )
-       request.write( "<td class='domainInfoHead' align='center'>Name</td>\n" )
-       request.write( "<td class='domainInfoHead' align='center'>State</td>\n" )
-       request.write( "<td class='domainInfoHead' align='center'></td>\n" )
-       request.write( "</tr>" )
-
-       odd = True
-       if not domains is None:
-           for domain in domains:
-               odd = not odd;
-               if odd:
-                   request.write( "<tr class='domainInfoOdd'>\n" )
-               else:
-                   request.write( "<tr class='domainInfoEven'>\n" )
-               domInfo = getDomInfo( domain )
-               request.write( "<td class='domainInfo' align='center'>%(id)s</td>\n" % domInfo )
-               url = self.urlWriter( "&dom=%(id)s" % domInfo )
-               request.write( "<td class='domainInfo' align='center'><a href='%s'>%s</a></td>\n" % ( url, domInfo['name'] ) )
-               request.write( "<td class='domainInfo' align='center'>%(state)5s</td>\n" % domInfo )
-               if domInfo[ 'id' ] != "0":
-                   request.write( "<td class='domainInfo' align='center'>" )
-                   if domInfo[ 'state' ][ 2 ] == "-":
-                       request.write( "<img src='images/small-pause.png' onclick='doOp2( \"pause\", \"%(dom)-4s\" )'>" % domInfo )
-                   else:
-                       request.write( "<img src='images/small-unpause.png' onclick='doOp2( \"unpause\", \"%(dom)-4s\" )'>" % domInfo )
-                   request.write( "<img src='images/small-destroy.png' onclick='doOp2( \"destroy\", \"%(dom)-4s\" )'></td>" % domInfo )
-               else:
-                   request.write( "<td>&nbsp;</td>" )
-               request.write( "</tr>\n" )
-       else:
-           request.write( "<tr colspan='10'><p class='small'>Error getting domain list<br/>Perhaps XenD not running?</p></tr>")
-       request.write( "</table>" )
-       
-class DomGeneralTab( CompositeTab ):
-    def __init__( self, urlWriter ):
-       CompositeTab.__init__( self, [ DomGenTab, DomActionTab ], urlWriter )        
-       
-class DomGenTab( GeneralTab ):
-
-    def __init__( self, _ ):
-    
-        titles = {}
-    
-        titles[ 'ID' ] = 'dom'      
-        titles[ 'Name' ] = 'name'
-        titles[ 'CPU' ] = 'cpu'
-        titles[ 'Memory' ] = ( 'mem', memoryFormatter )
-        titles[ 'State' ] = ( 'state', stateFormatter )
-        titles[ 'Total CPU' ] = ( 'cpu_time', smallTimeFormatter )
-        titles[ 'Up Time' ] = ( 'up_time', bigTimeFormatter )
-    
-        GeneralTab.__init__( self, {}, titles )
-        
-    def write_BODY( self, request ):
-    
-        self.dom = getVar('dom', request)
-        
-        if self.dom is None:
-            request.write( "<p>Please Select a Domain</p>" )
-            return None
-            
-        self.dict = getDomInfo( self.dom )
-        
-        GeneralTab.write_BODY( self, request )
-            
-class DomSXPTab( PreTab ):
-
-    def __init__( self, _ ):
-        self.dom = 0
-        PreTab.__init__( self, "" )
-
-
-    def write_BODY( self, request ):
-        self.dom = getVar('dom', request)
-        
-        if self.dom is None:
-            request.write( "<p>Please Select a Domain</p>" )
-            return None
-
-        try:
-            domInfo = server.xend_domain( self.dom )
-        except:
-            domInfo = [["Error getting domain details."]]
-            
-        self.source = sxp2prettystring( domInfo )
-        
-        PreTab.write_BODY( self, request )
-       
-class DomActionTab( ActionTab ):
-
-    def __init__( self, _ ):
-    	actions = { "shutdown" : "Shutdown",
-        	    "reboot" : "Reboot",
-                    "pause" : "Pause",
-                    "unpause" : "Unpause",
-                    "destroy" : "Destroy" }
-        ActionTab.__init__( self, actions )    
-        
-    def op_shutdown( self, request ):
-   	dom = getVar( 'dom', request )
-        if not dom is None and dom != '0':
-    	   if DEBUG: print ">DomShutDown %s" % dom
-           try:
-    	   	server.xend_domain_shutdown( int( dom ), "poweroff" )
-           except:
-           	pass
-    
-    def op_reboot( self, request ):
-       	dom = getVar( 'dom', request )
-        if not dom is None and dom != '0':
-    	    if DEBUG: print ">DomReboot %s" % dom
-            try:
-            	server.xend_domain_shutdown( int( dom ), "reboot" )
-            except:
-            	pass
-                
-    def op_pause( self, request ):
-       	dom = getVar( 'dom', request )
-        if not dom is None and dom != '0':
-    	    if DEBUG: print ">DomPause %s" % dom
-            try:
-                server.xend_domain_pause( int( dom ) )
-            except:
-            	pass
-               
-    def op_unpause( self, request ):
-       	dom = getVar( 'dom', request )
-        if not dom is None and dom != '0':
-    	   if DEBUG: print ">DomUnpause %s" % dom
-           try:
-               server.xend_domain_unpause( int( dom ) )
-    	   except:
-               pass
-               
-    def op_destroy( self, request ):
-    	dom = getVar( 'dom', request )
-        if not dom is None and dom != '0':
-    	   if DEBUG: print ">DomDestroy %s" % dom
-           try:
-           	server.xend_domain_destroy(int( dom ))
-           except:
-           	pass
-
-class DomDeviceTab( CompositeTab ):
-
-    def __init__( self, urlWriter ):
-        CompositeTab.__init__( self, [ DomDeviceListTab, DomDeviceOptionsTab, DomDeviceActionTab ], urlWriter )
-
-class DomDeviceListTab( NullTab ):
-
-    title = "Device List"
-
-    def __init__( self, _ ):
-        pass
-
-class DomDeviceOptionsTab( NullTab ):
-
-    title = "Device Options"
-
-    def __init__( self, _ ):
-        pass
-
-class DomDeviceActionTab( ActionTab ):
-
-    def __init__( self, _ ):
-        ActionTab.__init__( self, { "addvcpu" : "Add VCPU", "addvbd" : "Add VBD", "addvif" : "Add VIF" } )
-
-class DomMigrateTab( CompositeTab ):
-
-    def __init__( self, urlWriter ):
-        CompositeTab.__init__( self, [ DomMigrateExtraTab, DomMigrateActionTab ], urlWriter ) 
-
-class DomMigrateExtraTab( Sheet ):
-
-    def __init__( self, urlWriter ):
-        Sheet.__init__( self, urlWriter, "Configure Migration", 0)
-        self.addControl( TickControl('live', 'True', 'Live migrate:') )
-        self.addControl( InputControl('rate', '0', 'Rate limit:') )
-        self.addControl( InputControl( 'dest', 'host.domain', 'Name or IP address:', ".*") )
-                                                                                                            
-class DomMigrateActionTab( ActionTab ):
-
-    def __init__( self, _ ):
-        actions = { "migrate" : "Migrate" }
-        ActionTab.__init__( self, actions )
-                
-    def op_migrate( self, request ):
-        try:
-            domid = int( getVar( 'dom', request ) )
-            live  = getVar( 'live', request )
-            rate  = getVar( 'rate', request )
-            dest  = getVar( 'dest', request )
-            dom_sxp = server.xend_domain_migrate( domid, dest, live == 'True', rate )
-            success = "Your domain was successfully Migrated.\n"
-        except Exception, e:
-            success = "There was an error migrating your domain\n"
-            dom_sxp = str(e)
-                                                        
-class DomSaveTab( CompositeTab ):
-
-    def __init__( self, urlWriter ):
-        CompositeTab.__init__( self, [ DomSaveExtraTab, DomSaveActionTab ], urlWriter ) 
-
-class DomSaveExtraTab( Sheet ):
-
-    title = "Save location"
-
-    def __init__( self, urlWriter ):
-        Sheet.__init__( self, urlWriter, "Save Domain to file", 0 )
-        self.addControl( InputControl( 'file', '', 'Suspend file name:', ".*") )
-               
-class DomSaveActionTab( ActionTab ):
-
-    def __init__( self, _ ):
-        actions = { "save" : "Save" }
-        ActionTab.__init__( self, actions )
-
-    def op_save( self, request ):
-
-        try:
-            dom_sxp = server.xend_domain_save( config['domid'], config['file'] )
-            success = "Your domain was successfully saved.\n"
-        except Exception, e:
-            success = "There was an error saving your domain\n"
-            dom_sxp = str(e)
-                                                                                       
-        try:
-            dom = int( getVar( 'dom', request ) )
-        except:
-            pass
diff --git a/tools/python/xen/sv/GenTabbed.py b/tools/python/xen/sv/GenTabbed.py
deleted file mode 100755
index 6631663..0000000
--- a/tools/python/xen/sv/GenTabbed.py
+++ /dev/null
@@ -1,147 +0,0 @@
-import types
-
-from xen.sv.HTMLBase import HTMLBase
-from xen.sv.util import getVar
-
-class GenTabbed( HTMLBase ):
-
-    def __init__( self, title, urlWriter, tabStrings, tabObjects ):
-        HTMLBase.__init__(self)
-        self.tabStrings = tabStrings
-        self.tabObjects = tabObjects
-        self.urlWriter = urlWriter
-        self.title = title
-        
-    def write_BODY( self, request ):
-        if not self.__dict__.has_key( "tab" ):
-            try:
-                self.tab = int( getVar( 'tab', request, 0 ) )
-            except:
-                self.tab = 0
-            
-        request.write( "\n<div class='title'>%s</div>" % self.title )
-        
-        TabView( self.tab, self.tabStrings, self.urlWriter ).write_BODY( request )
-        
-        try:
-            request.write( "\n<div class='tab'>" )
-            render_tab = self.tabObjects[ self.tab ]
-            render_tab( self.urlWriter ).write_BODY( request )
-            request.write( "\n</div>" )
-        except Exception, e:
-            request.write( "\n<p>Error Rendering Tab</p>" )
-            request.write( "\n<p>%s</p>" % str( e ) )
-
-        request.write( "\n<input type=\"hidden\" name=\"tab\" value=\"%d\">" % self.tab )
-
-    def perform( self, request ):
-        request.write( "Tab> perform" )
-        request.write( "<br/>op: " + str( getVar( 'op', request ) ) )
-        request.write( "<br/>args: " + str( getVar( 'args', request ) ) )
-        request.write( "<br/>tab: " + str( getVar( 'tab', request ) ) )      
-
-        try:
-            action = getVar( 'op', request, 0 )
-            if action == "tab":
-                self.tab = int( getVar( 'args', request ) )
-            else:
-                this.tab = int( getVar( 'tab', request, 0 ) )
-                self.tabObjects[ self.tab ]( self.urlWriter ).perform( request )
-        except:
-            pass
-        
-class PreTab( HTMLBase ):
-
-    def __init__( self, source ):
-        HTMLBase.__init__( self )
-        self.source = source
-    
-    def write_BODY( self, request ):
-        request.write( "\n<pre>" )
-        request.write( self.source )
-        request.write( "\n</pre>" )
-
-class GeneralTab( HTMLBase ):
-                        
-    def __init__( self, dict, titles ):
-        HTMLBase.__init__( self )
-        self.dict = dict
-        self.titles = titles
-                        
-    def write_BODY( self, request ): 
-        
-        request.write( "\n<table width='100%' cellspacing='0' cellpadding='0' border='0'>" )
-        
-        def writeAttr( niceName, attr, formatter=None ):
-            if type( attr ) is types.TupleType:
-                ( attr, formatter ) = attr
-            
-            if attr in self.dict:
-                if formatter:
-                    temp = formatter( self.dict[ attr ] )
-                else:
-                    temp = str( self.dict[ attr ] )
-                request.write( "\n<tr><td width='50%%'><p>%s:</p></td><td width='50%%'><p>%s</p></td></tr>" % ( niceName, temp ) )
-        
-        for niceName, attr in self.titles.items():
-            writeAttr( niceName, attr )
-                            
-        request.write( "</table>" )
-
-class NullTab( HTMLBase ):
-    
-    def __init__( self, title="Null Tab" ):
-        HTMLBase.__init__( self )
-        self.title = title
-
-    def write_BODY( self, request ):
-        request.write( "\n<p>%s</p>" % self.title )
-
-class ActionTab( HTMLBase ):
-
-    def __init__( self, actions ):
-        self.actions = actions
-        HTMLBase.__init__( self )
-        
-    def write_BODY( self, request ):
-        for item in self.actions.items():
-            try:
-                ((op, attr), title) = item
-            except:
-                (op, title) = item
-                attr = ""
-            request.write( "\n<div class='button' onclick=\"doOp2( '%s', '%s' )\">%s</a></div>" % (op, attr, title) )
-
-class CompositeTab( HTMLBase ):
-
-    def __init__( self, tabs, urlWriter ):
-    	HTMLBase.__init__( self )
-        self.tabs = tabs
-        self.urlWriter = urlWriter
-        
-    def write_BODY( self, request ):
-    	for tab in self.tabs:
-            tab( self.urlWriter ).write_BODY( request )
-            
-    def perform( self, request ):
-    	for tab in self.tabs:
-            tab( self.urlWriter ).perform( request )
-
-class TabView( HTMLBase ):
-
-        # tab - int, id into tabs of selected tab
-        # tabs - list of strings, tab names
-        # urlWriter -
-        def __init__( self, tab, tabs, urlWriter ):
-            HTMLBase.__init__(self)
-            self.tab = tab
-            self.tabs = tabs
-            self.urlWriter = urlWriter
-
-        def write_BODY( self, request ):
-            for i in range( len( self.tabs ) ):
-                if self.tab == i:
-                    at = " id='activeTab'"
-                else:
-                    at = ""
-                request.write( "\n<div%s class='tabButton' onclick=\"doOp2( 'tab', '%d' )\">%s</div>" % ( at, i, self.tabs[ i ] ) )
diff --git a/tools/python/xen/sv/HTMLBase.py b/tools/python/xen/sv/HTMLBase.py
deleted file mode 100755
index d0fca13..0000000
--- a/tools/python/xen/sv/HTMLBase.py
+++ /dev/null
@@ -1,53 +0,0 @@
-from xen.sv.util import *
-
-class HTMLBase:
-
-    isLeaf = True
- 
-    def __init__( self ):
-        pass
-
-    def render_POST( self, request ):
-        self.perform( request )
-        return self.render_GET( request )
-        
-    def render_GET( self, request ):
-        pass
-    
-    def write_BODY( self, request ):
-        pass
-        
-    def write_TOP( self, request ):
-        pass
-    
-    def write_BOTTOM( self, request ):
-        pass
-    
-    def get_op_method(self, op):
-        """Get the method for an operation.
-        For operation 'foo' looks for 'op_foo'.
-
-        op	operation name
-        returns method or None
-        """
-        op_method_name = 'op_' + op
-        return getattr(self, op_method_name, None)
-        
-    def perform(self, req):
-        """General operation handler for posted operations.
-        For operation 'foo' looks for a method op_foo and calls
-        it with op_foo(req). Replies with code 500 if op_foo
-        is not found.
-
-        The method must return a list when req.use_sxp is true
-        and an HTML string otherwise (or list).
-        Methods may also return a Deferred (for incomplete processing).
-
-        req	request
-        """
-        op = req.args.get('op')
-        if not op is None and len(op) == 1:
-            op = op[0]
-            op_method = self.get_op_method(op)
-            if op_method:
-                op_method( req )   
diff --git a/tools/python/xen/sv/Main.py b/tools/python/xen/sv/Main.py
deleted file mode 100755
index ea62af1..0000000
--- a/tools/python/xen/sv/Main.py
+++ /dev/null
@@ -1,82 +0,0 @@
-
-from xen.sv.NodeInfo import NodeInfo
-from xen.sv.DomInfo  import DomInfo
-from xen.sv.CreateDomain import CreateDomain
-from xen.sv.RestoreDomain import RestoreDomain
-
-from xen.sv.util import getVar
-
-# adapter to make this all work with mod_python
-# as opposed to Twisted
-# (c) Tom Wilkie 2005
-
-class Args:
-    def __init__( self, req ):
-        from mod_python.util import FieldStorage
-        self.fieldStorage = FieldStorage( req, True )
-
-    # return a list of values for the given key,
-    # or None if key not there
-    def get( self, var ):
-        retVar = self.fieldStorage.getlist( var )
-        if len( retVar ) == 0:
-            return None
-        else:
-            return retVar
-
-    # return a list of tuples,
-    # (key, value) where value is a list of values
-    def items( self ):
-        result = [];
-        for key in self.fieldStorage.keys():
-            result.append( (key, self.fieldStorage.getlist( key ) ) )
-        return result
-                                                                                                                                                            
-# This is the Main class
-# It pieces together all the modules
-
-class Main:
-    def __init__( self ):
-        self.modules = { "node": NodeInfo, 
-                         "create": CreateDomain,
-                         "restore" : RestoreDomain,
-                         "info": DomInfo }
-
-        self.init_done = False
-
-    def init_modules( self, request ):
-        for moduleName, module in self.modules.iteritems():
-            self.modules[ moduleName ] = module( self.urlWriter( moduleName, request.url ) )             
-
-    def render_menu( self, request ):
-        if not self.init_done:
-            self.init_modules( request )
-            self.init_done = True
-            
-        for _, module in self.modules.iteritems():
-            module.write_MENU( request )
-            request.write( "\n" )
-
-    def render_main( self, request ):
-        if not self.init_done:
-            self.init_modules( request )
-            self.init_done = True
-                                   
-        moduleName = getVar('mod', request)
-        if moduleName not in self.modules:
-            request.write( '<p>Please select a module</p>' )
-        else:
-            module = self.modules[ moduleName ]
-            module.write_BODY( request )
-
-    def do_POST( self, request ): 
-        if not self.init_done:
-            self.init_modules( request )
-            self.init_done = True                       
-        
-    	moduleName = getVar( 'mod', request )      
-        if moduleName in self.modules:
-            self.modules[ moduleName ].perform( request )
-
-    def urlWriter( self, module, url ):
-        return lambda x: "%s?mod=%s%s" % ( url, module, x )
diff --git a/tools/python/xen/sv/NodeInfo.py b/tools/python/xen/sv/NodeInfo.py
deleted file mode 100755
index f8b47b1..0000000
--- a/tools/python/xen/sv/NodeInfo.py
+++ /dev/null
@@ -1,73 +0,0 @@
-from xen.xend.XendClient import server
-
-from xen.sv.util import *
-from xen.sv.GenTabbed import *
-
-class NodeInfo( GenTabbed ):
-
-    def __init__( self, urlWriter ):  
-        GenTabbed.__init__( self, "Node Details", urlWriter, [ 'General', 'Dmesg', 'SXP' ], [ NodeGeneralTab, NodeDmesgTab, NodeSXPTab ] )
-    
-    def write_MENU( self, request ):
-        request.write( "<p class='small'><a href='%s'>Node details</a></p>" % self.urlWriter( '' ) )
-
-class NodeGeneralTab( CompositeTab ):
-    def __init__( self, urlWriter ):
-    	CompositeTab.__init__( self, [ NodeInfoTab, NodeActionTab ], urlWriter )        
-        
-class NodeInfoTab( GeneralTab ):
-                        
-    def __init__( self, urlWriter ):
-         
-    	nodeInfo = {}
-        try:
-            nodeInfo = sxp2hash( server.xend_node() )
-   	except:
-            nodeInfo[ 'system' ] = 'Error getting node info'
-             
-        dictTitles = {}
-        dictTitles[ 'System' ] = 'system'
-        dictTitles[ 'Hostname' ] = 'host' 
-        dictTitles[ 'Release' ] = 'release' 
-        dictTitles[ 'Version' ] ='version' 
-        dictTitles[ 'Machine' ] = 'machine' 
-        dictTitles[ 'Cores' ] = 'cores' 
-        dictTitles[ 'Hyperthreading' ] = ( 'hyperthreads_per_core', hyperthreadFormatter )
-        dictTitles[ 'CPU Speed' ] = ( 'cpu_mhz', cpuFormatter )
-        dictTitles[ 'Memory' ] = ( 'memory', memoryFormatter )
-        dictTitles[ 'Free Memory' ] = ( 'free_memory', memoryFormatter )
-        
-        GeneralTab.__init__( self, dict=nodeInfo, titles=dictTitles )
-
-class NodeDmesgTab( PreTab ):
-
-    def __init__( self, urlWriter ):
-    	try:
-            dmesg = server.xend_node_get_dmesg()
-        except:
-            dmesg = "Error getting node information: XenD not running?"
-        PreTab.__init__( self, dmesg )
-  
-class NodeActionTab( ActionTab ):
-
-    def __init__( self, urlWriter ):
-        ActionTab.__init__( self, { "shutdown" : "shutdown",
-        	"reboot" : "reboot" } )    
-        
-    def op_shutdown( self, request ):
-        if debug: print ">NodeShutDown"
-    	server.xend_node_shutdown()
-    
-    def op_reboot( self, request ):
-        if debug: print ">NodeReboot"
-        server.xend_node_reboot()
-
-class NodeSXPTab( PreTab ):
-
-    def __init__( self, urlWriter ):
-        try:
-            nodeSXP = sxp2string( server.xend_node() )
-        except:
-            nodeSXP = 'Error getting node sxp'
-
-        PreTab.__init__( self, nodeSXP )
diff --git a/tools/python/xen/sv/RestoreDomain.py b/tools/python/xen/sv/RestoreDomain.py
deleted file mode 100755
index b836a43..0000000
--- a/tools/python/xen/sv/RestoreDomain.py
+++ /dev/null
@@ -1,50 +0,0 @@
-from xen.sv.Wizard import *
-from xen.sv.util import *
-from xen.sv.GenTabbed import PreTab
-
-from xen.xm.create import make_config, OptVals
-
-from xen.xend.XendClient import server
-
-class RestoreDomain( Wizard ):
-    def __init__( self, urlWriter ):
-
-        sheets = [ ChooseRestoreDomain,
-                   DoRestore ]
-
-        Wizard.__init__( self, urlWriter, "Restore Domain", sheets )
-
-
-class ChooseRestoreDomain( Sheet ):
-    title = "Configure Restore"
-
-    def __init__( self, urlWriter ):
-        Sheet.__init__( self, urlWriter, "Configure Restore", 0)
-        
-        self.addControl( InputControl( 'file', '',
-                                       'Suspend file name:',
-                                       ".*") )
-
-class DoRestore( Sheet ):
-    title = "Restore Done"
-    
-    def __init__(self, urlWriter ):
-        Sheet.__init__(self, urlWriter, "Restore Done", 1)
-
-    def write_BODY( self, request, err ):
-
-        if not self.passback: self.parseForm( request )
-        config = ssxp2hash ( string2sxp( self.passback ) )
-      
-        try:
-            dom_sxp = server.xend_domain_restore( config['file'] )
-            success = "Your domain was successfully restored.\n"
-        except Exception, e:
-            success = "There was an error restoring your domain\n"
-            dom_sxp = str(e)
-        
-        pt = PreTab( success + sxp2prettystring( dom_sxp ) )
-        pt.write_BODY( request )
-
-        request.write( "<input type='hidden' name='passback' value=\"%s\"></p>" % self.passback )
-        request.write( "<input type='hidden' name='sheet' value='%s'></p>" % self.location )
diff --git a/tools/python/xen/sv/Wizard.py b/tools/python/xen/sv/Wizard.py
deleted file mode 100755
index c4ac53b..0000000
--- a/tools/python/xen/sv/Wizard.py
+++ /dev/null
@@ -1,245 +0,0 @@
-from xen.sv.util import *
-from xen.sv.HTMLBase import HTMLBase
-from xen.sv.GenTabbed import GenTabbed, ActionTab
-from xen.xend import sxp
-
-import re
-
-DEBUG = 0
-
-class Wizard( GenTabbed ):
-
-    def __init__( self, urlWriter, title, sheets ):
-        self.title = title
-        self.sheets = sheets
-        self.urlWriter = urlWriter
-        self.offset = 0
-        GenTabbed.__init__( self, title, urlWriter, map( lambda x: x.title, sheets ), sheets ) 
-        
-    def write_MENU( self, request ):
-    	request.write( "<p class='small'><a href='%s'>%s</a></p>" % (self.urlWriter( '' ), self.title) ) 
-    
-    def write_BODY( self, request ):
-        GenTabbed.write_BODY( self, request )
-        actionTab = ActionTab( { ("tab", str(self.tab-1)) : "< Prev", ("tab", str(self.tab+1)) : "Next >", "finish" : "Finish" } )
-        actionTab.write_BODY( request )
-
-    def perform( self, request ):
-        try:
-            action = getVar( 'op', request, 0 )
-            if action == "tab":
-                self.tab = int( getVar( 'args', request ) )
-                oldtab = int( getVar( 'tab', request ) )
-                if not self.tabObjects[ oldtab ]( self.urlWriter ).validate( request ):
-                    self.tab = oldtab
-            else:
-                self.tab = int( getVar( 'tab', request, 0 ) )
-                self.tabObjects[ self.tab ]( self.urlWriter ).perform( request )
-                getattr( self, "op_" +  getVar( "op", request ), None )( request )
-        except:
-            pass
-            
-    def op_finish( self, request ):
-    	pass  
-        
-class Sheet( HTMLBase ):
-
-    def __init__( self, urlWriter, title, location ):
-        HTMLBase.__init__( self )
-        self.urlWriter = urlWriter
-        self.fields = []
-        self.title = title
-        self.location = location
-        self.passback = None
-        
-    def parseForm( self, request ):
-    	do_not_parse = [ 'mod', 'op', 'passback' ] 
-    
-    	passed_back = request.args
-        
-        temp_passback = passed_back.get( "passback" )
-        
-        if temp_passback is not None and len( temp_passback ) > 0:
-            temp_passback = temp_passback[ len( temp_passback )-1 ]
-        else:
-            temp_passback = "( )"        
-        
-        last_passback = ssxp2hash( string2sxp( temp_passback ) ) #use special function - will work with no head on sxp
-        
-        if DEBUG: print last_passback
-        
-        for (key, value) in passed_back.items():
-            if key not in do_not_parse:
-                last_passback[ key ] = value[ len( value ) - 1 ]
-                
-        self.passback = sxp2string( hash2sxp( last_passback ) ) #store the sxp
-        
-        if DEBUG: print self.passback
-        
-    def write_BODY( self, request ):
-    
-    	if not self.passback: self.parseForm( request )
-        
-   	request.write( "<p>%s</p>" % self.title )
-    
-    	previous_values = ssxp2hash( string2sxp( self.passback ) ) #get the hash for quick reference
-        
-        request.write( "<table width='100%' cellpadding='0' cellspacing='1' border='0'>" )
-        
-    	for (field, control) in self.fields:
-            control.write_Control( request, previous_values.get( field ) )
-            if previous_values.get( field ) is not None and not control.validate( previous_values.get( field ) ):
-            	control.write_Help( request )
-            
-        request.write( "</table>" )
-            
-        request.write( "<input type='hidden' name='passback' value=\"%s\"></p>" % self.passback )
-        #request.write( "<input type='hidden' name='visited-sheet%s' value='True'></p>" % self.location )
-                
-    def addControl( self, control ):
-    	self.fields.append( [ control.getName(), control ] )
-        
-    def validate( self, request ):
-    
-        if not self.passback: self.parseForm( request )
-            
-    	check = True
-        
-        previous_values = ssxp2hash( string2sxp( self.passback ) ) #get the map for quick reference
-    	if DEBUG: print previous_values
-      
-      	for (field, control) in self.fields:
-            if not control.validate( previous_values.get( field ) ):
-                check = False
-                if DEBUG: print "> %s = %s" % (field, previous_values.get( field ))
-
-        return check
-        
-class SheetControl( HTMLBase ):
-
-    def __init__( self, reg_exp = ".*" ):
-        HTMLBase.__init__( self )
-        self.name = ""
-        self.reg_exp = reg_exp 
-        
-    def write_Control( self, request, persistedValue ):
-        request.write( "<tr colspan='2'><td>%s</td></tr>" % persistedValue )
-        
-    def write_Help( self, request ):
-        request.write( "<tr><td align='right' colspan='2'><p class='small'>Text must match pattern:" )
-        request.write( " %s</p></td></tr>" % self.reg_exp )
-        
-    def validate( self, persistedValue ):
-    	if persistedValue is None:
-            persistedValue = ""
-            
-        return not re.compile( self.reg_exp ).match( persistedValue ) is None
-
-    def getName( self ):
-    	return self.name
-        
-    def setName( self, name ):
-    	self.name = name
-        
-class InputControl( SheetControl ):
-
-    def __init__( self, name, defaultValue, humanText,  reg_exp = ".*", help_text = "You must enter the appropriate details in this field." ):
-        SheetControl.__init__( self, reg_exp )
-        self.setName( name )
-        
-        self.defaultValue = defaultValue
-        self.humanText = humanText
-        self.help_text = help_text
-        
-    def write_Control( self, request, persistedValue ):
-    	if persistedValue is None:
-            persistedValue = self.defaultValue
-        
-        request.write( "<tr><td width='50%%'><p>%s</p></td><td width='50%%'><input size='40'type='text' name='%s' value=\"%s\"></td></tr>" % (self.humanText, self.getName(), persistedValue) )
-
-    def write_Help( self, request ):
-        request.write( "<tr><td align='right' colspan='2'><p class='small'>" )
-        request.write( " %s</p></td></tr>" % self.help_text )         
-        
-class TextControl( SheetControl ):
-
-    def __init__( self, text ):
-    	SheetControl.__init__( self )
-        self.text = text
-        
-    def write_Control( self, request, persistedValue ):
-    	request.write( "<tr><td colspan='2'><p>%s</p></td></tr>" % self.text )
-
-class SmallTextControl( SheetControl ):
-
-    def __init__( self, text ):
-    	SheetControl.__init__( self )
-        self.text = text
-        
-    def write_Control( self, request, persistedValue ):
-    	request.write( "<tr><td colspan='2'><p class='small'>%s</p></tr></td>" % self.text )
-        
-class ListControl( SheetControl ):
-
-    def __init__( self, name, options, humanText ):
-    	SheetControl.__init__( self )
-        self.setName( name )
-        self.options = options
-        self.humanText = humanText
-        
-    def write_Control( self, request, persistedValue ):
-        request.write( "<tr><td width='50%%'><p>%s</p></td><td width='50%%'>" % self.humanText )
-    	request.write( "<select name='%s'>" % self.getName() )
-        for (value, text) in self.options:
-            if value == persistedValue:
-            	request.write( "<option value='%s' selected>%s\n" % (value, text) )
-            else:
-                request.write( "<option value='%s'>%s\n" % (value, text) )
-        request.write( "</select></td></tr>" )
-
-    def validate( self, persistedValue ):
-        for (value, text) in self.options:
-            if value == persistedValue:
-                return True
-                
-        return False
-        
-class FileControl( InputControl ):
-
-    def __init__( self, name, defaultValue, humanText,  reg_exp = ".*", help_text = "You must enter the appropriate details in this field." ):
-	InputControl.__init__( self, name, defaultValue, humanText )
-        
-    def validate( self, persistedValue ):
-        if persistedValue is None: return False
-        try:
-            open( persistedValue )
-            return True
-        except IOError, TypeError:
-            return False
-    
-    def write_Help( self, request ):
-        request.write( "<tr><td colspan='2' align='right'><p class='small'>File does not exist: you must enter a valid, absolute file path.</p></td></tr>" )
-
-class TickControl( SheetControl ):
-
-    def __init__( self, name, defaultValue, humanText ):
-        SheetControl.__init__( self )
-        self.setName( name )
-        self.defaultValue = defaultValue
-        self.humanText = humanText
-        
-    def write_Control( self, request, persistedValue ):
-        request.write( "<tr><td width='50%%'><p>%s</p></td><td width='50%%'>" % self.humanText )
-
-        #request.write( str( persistedValue ) )
-
-        #TODO: Theres a problem with this: it doesn't persist an untick, because the browsers don't pass it back. Need a fix...
-        
-        if persistedValue == 'True':
-    	    request.write( "<input type='checkbox' name='%s' value='True' checked>" % self.getName() )
-        else:
-    	    request.write( "<input type='checkbox' name='%s' value='True'>" % self.getName() )
-            
-        request.write( "</td></tr>" )
-
-      
diff --git a/tools/python/xen/sv/__init__.py b/tools/python/xen/sv/__init__.py
deleted file mode 100755
index 8d1c8b6..0000000
--- a/tools/python/xen/sv/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
- 
diff --git a/tools/python/xen/sv/util.py b/tools/python/xen/sv/util.py
deleted file mode 100755
index cfed397..0000000
--- a/tools/python/xen/sv/util.py
+++ /dev/null
@@ -1,126 +0,0 @@
-from xen.xend.XendClient import server
-from xen.xend import sxp
-from xen.xend import PrettyPrint
-
-import types
-
-def getDomInfo( domain ):
-    domInfoHash = {}
-    try:
-        domInfoHash = sxp2hash( server.xend_domain( domain ) )
-        domInfoHash['dom'] = domain
-    except:
-    	domInfoHash['name'] = "Error getting domain details"
-    return domInfoHash
-
-def sxp2hash( s ):
-    sxphash = {}
-        
-    for child in sxp.children( s ):
-    	if isinstance( child, types.ListType ) and len( child ) > 1:
-            if isinstance( child[1], types.ListType ) and len( child ) > 1:
-                sxphash[ child[0] ] = sxp2hash( child[1] )
-            else:
-                sxphash[ child[0] ] = child[1]
-        
-    return sxphash  
-    
-def ssxp2hash( s ):
-    sxphash = {}
-    
-    for i in s:
-       if isinstance( i, types.ListType ) and len( i ) > 1:
-          sxphash[ i[0] ] = i[1]
-    
-    return sxphash 
-    
-def hash2sxp( h ):
-    hashsxp = []
-    
-    for (key, item) in h.items():
-    	hashsxp.append( [key, item] )
-        
-    return hashsxp    
-    
-def string2sxp( string ):
-    pin = sxp.Parser()
-    pin.input( string )
-    return pin.get_val()    
-
-def sxp2string( sexp ):
-    return sxp.to_string( sexp )    
-    
-def sxp2prettystring( sxp ):
-    class tmp:
-        def __init__( self ):
-                self.str = ""
-        def write( self, str ):
-                self.str = self.str + str
-    temp = tmp()
-    PrettyPrint.prettyprint( sxp, out=temp )
-    return temp.str
-
-def getVar( var, request, default=None ):
-   
-    arg = request.args.get( var )
-
-    if arg is None:
-        return default
-    else:
-        return arg[ len( arg )-1 ]
-
-def bigTimeFormatter( time ):
-    time = float( time )
-    weeks = time // 604800
-    remainder = time % 604800
-    days = remainder // 86400
-    
-    remainder = remainder % 86400
-
-    hms = smallTimeFormatter( remainder )
-    
-    return "%d weeks, %d days, %s" % ( weeks, days, hms )
-
-def smallTimeFormatter( time ):
-    time = float( time )
-    hours = time // 3600
-    remainder = time % 3600
-    mins = remainder // 60
-    secs = time % 60
-    return "%02d:%02d:%04.1f (hh:mm:ss.s)" % ( hours, mins, secs ) 
-
-def stateFormatter( state ):
-    states = [ 'Running', 'Blocked', 'Paused', 'Shutdown', 'Crashed' ]
-    
-    stateStr = ""
-    
-    for i in range( len( state ) ):
-        if state[i] != "-":
-            stateStr += "%s, " % states[ i ] 
-           
-    return stateStr + " (%s)" % state
-
-def memoryFormatter( mem ):
-    mem = int( mem )
-    if mem >= 1024:
-        mem = float( mem ) / 1024
-        return "%3.2fGb" % mem
-    else:    
-        return "%7dMb" % mem
-
-def cpuFormatter( mhz ):
-    mhz = int( mhz )
-    if mhz > 1000:
-        ghz = float( mhz ) / 1000.0
-        return "%4.2fGHz" % ghz
-    else:
-        return "%4dMHz" % mhz
-        
-def hyperthreadFormatter( threads ):
-    try:
-        if int( threads ) > 1:
-            return "Yes"
-        else:
-            return "No"
-    except:
-        return "No"
diff --git a/tools/sv/Makefile b/tools/sv/Makefile
deleted file mode 100644
index c9ae1de..0000000
--- a/tools/sv/Makefile
+++ /dev/null
@@ -1,3 +0,0 @@
-
-.PHONY: all
-all:
diff --git a/tools/sv/images/destroy.png b/tools/sv/images/destroy.png
deleted file mode 100755
index 9545fc4..0000000
Binary files a/tools/sv/images/destroy.png and /dev/null differ
diff --git a/tools/sv/images/finish.png b/tools/sv/images/finish.png
deleted file mode 100755
index 6c5d18a..0000000
Binary files a/tools/sv/images/finish.png and /dev/null differ
diff --git a/tools/sv/images/next.png b/tools/sv/images/next.png
deleted file mode 100755
index da10bbf..0000000
Binary files a/tools/sv/images/next.png and /dev/null differ
diff --git a/tools/sv/images/pause.png b/tools/sv/images/pause.png
deleted file mode 100755
index 6e16daa..0000000
Binary files a/tools/sv/images/pause.png and /dev/null differ
diff --git a/tools/sv/images/previous.png b/tools/sv/images/previous.png
deleted file mode 100755
index 22292d6..0000000
Binary files a/tools/sv/images/previous.png and /dev/null differ
diff --git a/tools/sv/images/reboot.png b/tools/sv/images/reboot.png
deleted file mode 100755
index 358e6de..0000000
Binary files a/tools/sv/images/reboot.png and /dev/null differ
diff --git a/tools/sv/images/shutdown.png b/tools/sv/images/shutdown.png
deleted file mode 100755
index 48a52dc..0000000
Binary files a/tools/sv/images/shutdown.png and /dev/null differ
diff --git a/tools/sv/images/small-destroy.png b/tools/sv/images/small-destroy.png
deleted file mode 100755
index f800bd7..0000000
Binary files a/tools/sv/images/small-destroy.png and /dev/null differ
diff --git a/tools/sv/images/small-pause.png b/tools/sv/images/small-pause.png
deleted file mode 100755
index 7bbdbfa..0000000
Binary files a/tools/sv/images/small-pause.png and /dev/null differ
diff --git a/tools/sv/images/small-unpause.png b/tools/sv/images/small-unpause.png
deleted file mode 100755
index 6ae5687..0000000
Binary files a/tools/sv/images/small-unpause.png and /dev/null differ
diff --git a/tools/sv/images/unpause.png b/tools/sv/images/unpause.png
deleted file mode 100755
index c971308..0000000
Binary files a/tools/sv/images/unpause.png and /dev/null differ
diff --git a/tools/sv/images/xen.png b/tools/sv/images/xen.png
deleted file mode 100755
index 344c361..0000000
Binary files a/tools/sv/images/xen.png and /dev/null differ
diff --git a/tools/sv/inc/script.js b/tools/sv/inc/script.js
deleted file mode 100755
index ebafa1e..0000000
--- a/tools/sv/inc/script.js
+++ /dev/null
@@ -1,31 +0,0 @@
-function update( objRef, text ) {
-    if ( document.all || document.getElementById ) {
-        obj = ( document.getElementById )? document.getElementById( objRef ) : document.all( objRef );
-        obj.innerHTML= text
-    }
-}
-
-function buttonMouseOver( objRef ) {
-    if ( document.all || document.getElementById ) {
-        obj = ( document.getElementById )? document.getElementById( objRef ) : document.all( objRef );
-        objRef.style.background = "white";
-    }
-}
-
-function buttonMouseOut( objRef ) {
-    if ( document.all || document.getElementById ) {
-        obj = ( document.getElementById )? document.getElementById( objRef ) : document.all( objRef );
-        objRef.style.background = "grey";
-    }
-}
-
-function doOp( op ) {
-    document.forms[0].op.value = op
-    document.forms[0].submit()
-}
-
-function doOp2( op, args ) {
-    document.forms[0].op.value = op
-    document.forms[0].args.value = args
-    document.forms[0].submit()
-}
diff --git a/tools/sv/inc/style.css b/tools/sv/inc/style.css
deleted file mode 100755
index 1606b21..0000000
--- a/tools/sv/inc/style.css
+++ /dev/null
@@ -1,95 +0,0 @@
-.small  {
-	font-size: 10px
-}
-
-TD.domainInfo     { 
-	font-size: 10px; 
-	color: black
-}
-
-TD.domainInfoHead {
-	font-size: 10px; 
-	color: white; 
-	font-face: bold
-}
-
-TD.domainInfoHead {background-color: black}
-TR.domainInfoOdd  {background-color: white}
-TR.domainInfoEven {background-color: lightgrey}
-
-body { 
-	margin: 	0px;
-	padding: 	0px;
-	font-family: 	Arial, Helvetica, sans-serif;
-	font-size:	12px;
-	color: 		#000000;
-}
-
-div#menu {
-        position:       absolute;
-        left:           10px;
-        top:            10px;
-        width:          160px;
-        padding:        10px;
-        border:         0px solid black;
-        text-align:     center;
-}
-
-div#main {
-        position:       absolute;
-        left:           200px;
-        top:            10px;
-        right:          10px;
-        padding:        10px;
-        border:         0px solid black;
-}
-
-div.button {
-        float:          right;
-        margin:         10px 0px 0px 10px;
-        padding:        5px;
-        text-align:     center;
-        border:         1px solid black;
-        background:     gray;
-	cursor:		hand;
-}
-
-div.tabButton {
-	position:	relative;
-	top: 		0px;
-        float:          left;
-        margin:         0px 10px -1px 0px;
-        padding:        5px;
-        text-align:     center;
-        border:         1px solid black;
-        background:     gray;
-	cursor: 	hand;
-}
-
-div.tabButton#activeTab {
-	top:		0px;
-        background:     white;
-        border-color:   black black white black;
-}
-
-div.button:hover, div.tabButton:hover {
-        background:     white;
-}
-
-div.button a, div.tabButton a {
-        font-size:      12px;
-	font-weight:	bold;
-}
-
-div.title {
-	float:          right;
-	font-size:	14px;
-	font-weight:	bold;
-}
-
-div.tab {
-        overflow:       auto;
-        clear:          both;
-        border:         1px solid black;
-        padding:        10px;
-}
diff --git a/tools/sv/index.psp b/tools/sv/index.psp
deleted file mode 100755
index 829d468..0000000
--- a/tools/sv/index.psp
+++ /dev/null
@@ -1,34 +0,0 @@
-<%
-import sys
-
-debug = True and False
-
-for path in sys.path:
-    if debug: req.write( path + "<br/>" )
-
-from xen.sv.Main import Main, TwistedAdapter
-
-main = Main()
-request = TwistedAdapter( req )
-main.do_POST( request )
-%>
-<html>
-<head>
-	<title>XenSV</title>
-	<script src="inc/script.js"></script>
-	<link rel="StyleSheet" type="text/css" href="inc/style.css">
-</head>
-<body>
-    <form method="post" action="<%=request.uri%>">
-        <div id="menu">
-		<img src="images/xen.png">
-		<% main.render_menu( request ) %>
-	</div>
-	<div id="main">
-		<% main.render_main( request ) %>
-	</div>
-	<input type="hidden" name="op" value="">
-        <input type="hidden" name="args" value="">
-    </form>
-</body>
-</html>
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:46:51 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:46:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzNi-0002j8-5L; Wed, 21 Aug 2013 03:46:50 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzNf-0002il-Do
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:46:47 +0000
Received: from [193.109.254.147:42109] by server-15.bemta-14.messagelabs.com
	id 9A/54-10716-62834125; Wed, 21 Aug 2013 03:46:46 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1377056802!5084127!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13586 invoked from network); 21 Aug 2013 03:46:43 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-5.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:46:43 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzNa-0004Du-HR
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:46:42 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzNa-0004cg-De
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:46:42 +0000
Date: Wed, 21 Aug 2013 03:46:42 +0000
Message-Id: <E1VBzNa-0004cg-De@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] tools: drop 'sv'
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 484a3711b42261f3a82e21bf5164a7021d52356f
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed Jul 31 16:15:57 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:39:58 2013 +0100

    tools: drop 'sv'
    
    I'm not even sure what this thing is. Looks like some sort of Twisted Python
    based frontend to xend.
    
    Whatever it is I am perfectly sure no one can be using it. Apart from drive by
    build fixes caused by updates elsewhere it has seen no real development since
    2005. I suspect it was never even finished/usable.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/python/setup.py                |    1 -
 tools/python/xen/sv/CreateDomain.py  |  205 --------------------------
 tools/python/xen/sv/DomInfo.py       |  268 ----------------------------------
 tools/python/xen/sv/GenTabbed.py     |  147 -------------------
 tools/python/xen/sv/HTMLBase.py      |   53 -------
 tools/python/xen/sv/Main.py          |   82 -----------
 tools/python/xen/sv/NodeInfo.py      |   73 ---------
 tools/python/xen/sv/RestoreDomain.py |   50 -------
 tools/python/xen/sv/Wizard.py        |  245 -------------------------------
 tools/python/xen/sv/__init__.py      |    1 -
 tools/python/xen/sv/util.py          |  126 ----------------
 tools/sv/Makefile                    |    3 -
 tools/sv/images/destroy.png          |  Bin 2408 -> 0 bytes
 tools/sv/images/finish.png           |  Bin 1189 -> 0 bytes
 tools/sv/images/next.png             |  Bin 1270 -> 0 bytes
 tools/sv/images/pause.png            |  Bin 1662 -> 0 bytes
 tools/sv/images/previous.png         |  Bin 1285 -> 0 bytes
 tools/sv/images/reboot.png           |  Bin 3132 -> 0 bytes
 tools/sv/images/shutdown.png         |  Bin 2901 -> 0 bytes
 tools/sv/images/small-destroy.png    |  Bin 483 -> 0 bytes
 tools/sv/images/small-pause.png      |  Bin 434 -> 0 bytes
 tools/sv/images/small-unpause.png    |  Bin 500 -> 0 bytes
 tools/sv/images/unpause.png          |  Bin 1890 -> 0 bytes
 tools/sv/images/xen.png              |  Bin 10575 -> 0 bytes
 tools/sv/inc/script.js               |   31 ----
 tools/sv/inc/style.css               |   95 ------------
 tools/sv/index.psp                   |   34 -----
 27 files changed, 0 insertions(+), 1414 deletions(-)

diff --git a/tools/python/setup.py b/tools/python/setup.py
index 8e584e6..8127b21 100644
--- a/tools/python/setup.py
+++ b/tools/python/setup.py
@@ -132,7 +132,6 @@ setup(name            = 'xen',
       description     = 'Xen',
       packages        = ['xen',
                          'xen.lowlevel',
-                         'xen.sv',
                          ] + xend_packages,
       ext_package = "xen.lowlevel",
       ext_modules = modules
diff --git a/tools/python/xen/sv/CreateDomain.py b/tools/python/xen/sv/CreateDomain.py
deleted file mode 100755
index 748d99b..0000000
--- a/tools/python/xen/sv/CreateDomain.py
+++ /dev/null
@@ -1,205 +0,0 @@
-from xen.sv.Wizard import *
-from xen.sv.util import *
-from xen.sv.GenTabbed import PreTab
-
-from xen.xm.create import make_config, OptVals
-
-from xen.xend.XendClient import server
-
-class CreateDomain( Wizard ):
-    def __init__( self, urlWriter ):
-    	
-    	sheets = [ CreatePage0,
-          	   CreatePage1,
-          	   CreatePage2,
-                   CreatePage3,
-                   CreatePage4,
-                   CreateFinish ]
-    
-    	Wizard.__init__( self, urlWriter, "Create Domain", sheets )
-
-    def op_finish( self, request ):
-        pass
-    
-class CreatePage0( Sheet ):
-
-    title = "General"
-    
-    def __init__( self, urlWriter ):
-        Sheet.__init__( self, urlWriter, "General", 0 )
-        self.addControl( InputControl( 'name', 'VM Name', 'VM Name:', "[\\w|\\S]+", "You must enter a name in this field" ) )
-        self.addControl( InputControl( 'memory', '64', 'Memory (Mb):', "[\\d]+", "You must enter a number in this field" ) )
-        self.addControl( InputControl( 'cpu', '0', 'CPU:', "[\\d]+", "You must enter a number in this feild" ) )
-        self.addControl( InputControl( 'cpu_weight', '1', 'CPU Weight:', "[\\d]+", "You must enter a number in this feild" ) )
-        self.addControl( InputControl( 'vcpus', '1', 'Virtual CPUs:', '[\\d]+', "You must enter a number in this feild") )
-                        
-class CreatePage1( Sheet ):
-
-    title = "Setup Kernel Image"
-
-    def __init__( self, urlWriter ):
-        Sheet.__init__( self, urlWriter, "Setup Kernel Image", 1 )
-        self.addControl( ListControl( 'builder', [('linux', 'Linux'), ('netbsd', 'NetBSD')], 'Domain Builder:' ) )
-        self.addControl( FileControl( 'kernel', '/boot/vmlinuz-2.6.12-xenU', 'Kernel Image:' ) )
-        self.addControl( InputControl( 'extra', '', 'Kernel Command Line Parameters:' ) )
-        self.addControl( ListControl( 'use-initrd', [('yes', 'Yes'), ('no', 'No')], 'Use an Initial Ram Disk?:' ) )
-        self.addControl( FileControl( 'initrd', '/boot/initrd-2.6.12-xenU.img', 'Initial Ram Disk:' ) )
-
-    def validate( self, request ):
-        if not self.passback: self.parseForm( request )
-        check = True
-        request.write( previous_values.get( '>>>>>use-initrd' ) )
-        previous_values = ssxp2hash( string2sxp( self.passback ) ) #get the map for quick reference
-        if DEBUG: print previous_values
-        for (feild, control) in self.feilds:
-            if feild == 'initrd' and previous_values.get( 'use-initrd' ) != 'no':
-                request.write( previous_values.get( '>>>>>use-initrd' ) )
-                if control.validate( previous_values.get( feild ) ):
-                    check = False
-            elif not control.validate( previous_values.get( feild ) ):
-                check = False
-
-            if DEBUG: print "> %s = %s" % (feild, previous_values.get( feild ))
-
-        return check
-                                                 
-
-class CreatePage2( Sheet ):
-
-    title = "Choose number of VBDS"
-
-    def __init__( self, urlWriter ):
-    	Sheet.__init__( self, urlWriter, "Setup Virtual Block Device", 2 )
-        self.addControl( InputControl( 'num_vbds', '1', 'Number of VBDs:', '[\\d]+', "You must enter a number in this field" ) )
-
-class CreatePage3( Sheet ):
-
-    title = "Setup VBDS"
-
-    def __init__( self, urlWriter ):
-        Sheet.__init__( self, urlWriter, "Setup Virtual Block Device", 3 )
-        
-    def write_BODY( self, request ):
-        if not self.passback: self.parseForm( request )
-    
-    	previous_values = sxp2hash( string2sxp( self.passback ) ) #get the hash for quick reference
-        
-        num_vbds = previous_values.get( 'num_vbds' )
-        
-        for i in range( int( num_vbds ) ):
-            self.addControl( InputControl( 'vbd%s_dom0' % i, 'phy:sda%s' % str(i + 1), 'Device %s name:' % i  ) )
-            self.addControl( InputControl( 'vbd%s_domU' % i, 'sda%s' % str(i + 1), 'Virtualized device %s:' % i ) )
-            self.addControl( ListControl( 'vbd%s_mode' % i, [('w', 'Read + Write'), ('r', 'Read Only')], 'Device %s mode:' % i ) )
-            
-        self.addControl( InputControl( 'root', '/dev/sda1', 'Root device (in VM):' ) )
-        
-        Sheet.write_BODY( self, request )
-                
-class CreatePage4( Sheet ):
-
-    title = "Network Setting"
-
-    def __init__( self, urlWriter ):        
-        Sheet.__init__( self, urlWriter, "Network settings", 4 )
-        self.addControl( ListControl( 'dhcp', [('off', 'No'), ('dhcp', 'Yes')], 'Use DHCP:' ) )
-        self.addControl( InputControl( 'hostname', 'hostname', 'VM Hostname:' ) )
-        self.addControl( InputControl( 'ip_addr', '192.168.1.1', 'VM IP Address:' ) )
-        self.addControl( InputControl( 'ip_subnet', '255.255.255.0', 'VM Subnet Mask:' ) ) 
-        self.addControl( InputControl( 'ip_gateway', '192.168.1.1', 'VM Gateway:' ) )           
-        self.addControl( InputControl( 'ip_nfs', '192.168.1.1', 'NFS Server:' ) )  
-                 
-class CreateFinish( Sheet ):
-
-    title = "Finish"
-
-    def __init__( self, urlWriter ):
-        Sheet.__init__( self, urlWriter, "All Done", 5 )
-        
-    def write_BODY( self, request ):
-    
-        if not self.passback: self.parseForm( request )
-        
-        xend_sxp = self.translate_sxp( string2sxp( self.passback ) )
-
-        request.write( "<pre>%s</pre>" % sxp2prettystring( xend_sxp ) )
-        
-        try:
-            server.xend_domain_create( xend_sxp )
-            request.write( "<p>You domain had been successfully created.</p>" )
-        except Exception, e:
-            request.write( "<p>There was an error creating your domain.<br/>The configuration used is as follows:\n</p>" )
-            request.write( "<pre>%s</pre>" % sxp2prettystring( xend_sxp ) )
-            request.write( "<p>The error was:</p>" )
-            request.write( "<pre>%s</pre>" % str( e ) )
-
-        request.write( "<input type='hidden' name='passback' value=\"%s\"></p>" % self.passback )
-        request.write( "<input type='hidden' name='sheet' value='%s'></p>" % self.location )
-    
-    def translate_sxp( self, fin_sxp ):
-   	fin_hash = ssxp2hash( fin_sxp )
-    
-        def get( key ):
-            ret = fin_hash.get( key )
-            if ret:
-                return ret
-            else:
-                return ""
-        
-    	vals = OptVals()
-        
-        vals.name = 	get( 'name' )
-        vals.memory = 	get( 'memory' )
-        vals.maxmem =   get( 'maxmem' )
-        vals.cpu =  	get( 'cpu' )
-        vals.cpu_weight = get( 'cpu_weight' )
-        vals.vcpus = get( 'vcpus' )
-        
-        vals.builder =  get( 'builder' )       
-        vals.kernel =   get( 'kernel' )
-	vals.root = 	get( 'root' )
-        vals.extra = 	get( 'extra' )
-        
-        #setup vbds
-        
-        vbds = []
-        
-        for i in range( int( get( 'num_vbds' ) ) ):
-            vbds.append( ( get( 'vbd%s_dom0' % i ), get('vbd%s_domU' % i ), get( 'vbd%s_mode' % i ), None ) )
-        
-        vals.disk = vbds    
-            
-        #misc
-        
-        vals.pci = []
-        
-        vals.blkif = None
-        vals.netif = None
-        vals.restart = None
-        vals.console = None
-        vals.ramdisk = None
-        vals.ssidref = -1
-        vals.bootloader = None
-        vals.usb = []
-        vals.acpi = []
-        
-        #setup vifs
-        
-        vals.vif = []
-        vals.nics = 1
-                
-        ip =   get( 'ip_addr' )
-        nfs =  get( 'ip_nfs' )
-        gate = get( 'ip_gateway' )
-        mask = get( 'ip_subnet' )
-        host = get( 'hostname' )
-        dhcp = get( 'dhcp' )
-        
-        vals.cmdline_ip = "%s:%s:%s:%s:%s:eth0:%s" % (ip, nfs, gate, mask, host, dhcp)
-
-        opts = None
-        
-        try:
-            return make_config( opts, vals )
-        except Exception, e:
-            return [["There was an error creating the domain config SXP.  This is typically due to an interface change in xm/create.py:make_config", e]]    
-        
diff --git a/tools/python/xen/sv/DomInfo.py b/tools/python/xen/sv/DomInfo.py
deleted file mode 100755
index 89feca0..0000000
--- a/tools/python/xen/sv/DomInfo.py
+++ /dev/null
@@ -1,268 +0,0 @@
-from xen.xend.XendClient import server
-from xen.xend import PrettyPrint
-
-from xen.sv.HTMLBase import HTMLBase
-from xen.sv.util import *
-from xen.sv.GenTabbed import *
-from xen.sv.Wizard import *
-
-DEBUG=1
-
-class DomInfo( GenTabbed ):
-
-    def __init__( self, urlWriter ):
-        
-        self.dom = 0;
-                   
-        GenTabbed.__init__( self, "Domain Info", urlWriter, [ 'General', 'SXP', 'Devices', 'Migrate', 'Save' ], [ DomGeneralTab, DomSXPTab, DomDeviceTab, DomMigrateTab, DomSaveTab ]  )
-
-    def write_BODY( self, request ):
-        try:
-            dom = int( getVar( 'dom', request ) )
-        except:
-            request.write( "<p>Please Select a Domain</p>" )
-            return None
-       
-        GenTabbed.write_BODY( self, request )
-        
-    def write_MENU( self, request ):
-       domains = []
-
-       try:
-           domains = server.xend_domains()
-           domains.sort()
-       except:
-           pass
-
-       request.write( "\n<table style='border:0px solid white' cellspacing='0' cellpadding='0' border='0' width='100%'>\n" )
-       request.write( "<tr class='domainInfoHead'>" )
-       request.write( "<td class='domainInfoHead' align='center'>Domain</td>\n" )
-       request.write( "<td class='domainInfoHead' align='center'>Name</td>\n" )
-       request.write( "<td class='domainInfoHead' align='center'>State</td>\n" )
-       request.write( "<td class='domainInfoHead' align='center'></td>\n" )
-       request.write( "</tr>" )
-
-       odd = True
-       if not domains is None:
-           for domain in domains:
-               odd = not odd;
-               if odd:
-                   request.write( "<tr class='domainInfoOdd'>\n" )
-               else:
-                   request.write( "<tr class='domainInfoEven'>\n" )
-               domInfo = getDomInfo( domain )
-               request.write( "<td class='domainInfo' align='center'>%(id)s</td>\n" % domInfo )
-               url = self.urlWriter( "&dom=%(id)s" % domInfo )
-               request.write( "<td class='domainInfo' align='center'><a href='%s'>%s</a></td>\n" % ( url, domInfo['name'] ) )
-               request.write( "<td class='domainInfo' align='center'>%(state)5s</td>\n" % domInfo )
-               if domInfo[ 'id' ] != "0":
-                   request.write( "<td class='domainInfo' align='center'>" )
-                   if domInfo[ 'state' ][ 2 ] == "-":
-                       request.write( "<img src='images/small-pause.png' onclick='doOp2( \"pause\", \"%(dom)-4s\" )'>" % domInfo )
-                   else:
-                       request.write( "<img src='images/small-unpause.png' onclick='doOp2( \"unpause\", \"%(dom)-4s\" )'>" % domInfo )
-                   request.write( "<img src='images/small-destroy.png' onclick='doOp2( \"destroy\", \"%(dom)-4s\" )'></td>" % domInfo )
-               else:
-                   request.write( "<td>&nbsp;</td>" )
-               request.write( "</tr>\n" )
-       else:
-           request.write( "<tr colspan='10'><p class='small'>Error getting domain list<br/>Perhaps XenD not running?</p></tr>")
-       request.write( "</table>" )
-       
-class DomGeneralTab( CompositeTab ):
-    def __init__( self, urlWriter ):
-       CompositeTab.__init__( self, [ DomGenTab, DomActionTab ], urlWriter )        
-       
-class DomGenTab( GeneralTab ):
-
-    def __init__( self, _ ):
-    
-        titles = {}
-    
-        titles[ 'ID' ] = 'dom'      
-        titles[ 'Name' ] = 'name'
-        titles[ 'CPU' ] = 'cpu'
-        titles[ 'Memory' ] = ( 'mem', memoryFormatter )
-        titles[ 'State' ] = ( 'state', stateFormatter )
-        titles[ 'Total CPU' ] = ( 'cpu_time', smallTimeFormatter )
-        titles[ 'Up Time' ] = ( 'up_time', bigTimeFormatter )
-    
-        GeneralTab.__init__( self, {}, titles )
-        
-    def write_BODY( self, request ):
-    
-        self.dom = getVar('dom', request)
-        
-        if self.dom is None:
-            request.write( "<p>Please Select a Domain</p>" )
-            return None
-            
-        self.dict = getDomInfo( self.dom )
-        
-        GeneralTab.write_BODY( self, request )
-            
-class DomSXPTab( PreTab ):
-
-    def __init__( self, _ ):
-        self.dom = 0
-        PreTab.__init__( self, "" )
-
-
-    def write_BODY( self, request ):
-        self.dom = getVar('dom', request)
-        
-        if self.dom is None:
-            request.write( "<p>Please Select a Domain</p>" )
-            return None
-
-        try:
-            domInfo = server.xend_domain( self.dom )
-        except:
-            domInfo = [["Error getting domain details."]]
-            
-        self.source = sxp2prettystring( domInfo )
-        
-        PreTab.write_BODY( self, request )
-       
-class DomActionTab( ActionTab ):
-
-    def __init__( self, _ ):
-    	actions = { "shutdown" : "Shutdown",
-        	    "reboot" : "Reboot",
-                    "pause" : "Pause",
-                    "unpause" : "Unpause",
-                    "destroy" : "Destroy" }
-        ActionTab.__init__( self, actions )    
-        
-    def op_shutdown( self, request ):
-   	dom = getVar( 'dom', request )
-        if not dom is None and dom != '0':
-    	   if DEBUG: print ">DomShutDown %s" % dom
-           try:
-    	   	server.xend_domain_shutdown( int( dom ), "poweroff" )
-           except:
-           	pass
-    
-    def op_reboot( self, request ):
-       	dom = getVar( 'dom', request )
-        if not dom is None and dom != '0':
-    	    if DEBUG: print ">DomReboot %s" % dom
-            try:
-            	server.xend_domain_shutdown( int( dom ), "reboot" )
-            except:
-            	pass
-                
-    def op_pause( self, request ):
-       	dom = getVar( 'dom', request )
-        if not dom is None and dom != '0':
-    	    if DEBUG: print ">DomPause %s" % dom
-            try:
-                server.xend_domain_pause( int( dom ) )
-            except:
-            	pass
-               
-    def op_unpause( self, request ):
-       	dom = getVar( 'dom', request )
-        if not dom is None and dom != '0':
-    	   if DEBUG: print ">DomUnpause %s" % dom
-           try:
-               server.xend_domain_unpause( int( dom ) )
-    	   except:
-               pass
-               
-    def op_destroy( self, request ):
-    	dom = getVar( 'dom', request )
-        if not dom is None and dom != '0':
-    	   if DEBUG: print ">DomDestroy %s" % dom
-           try:
-           	server.xend_domain_destroy(int( dom ))
-           except:
-           	pass
-
-class DomDeviceTab( CompositeTab ):
-
-    def __init__( self, urlWriter ):
-        CompositeTab.__init__( self, [ DomDeviceListTab, DomDeviceOptionsTab, DomDeviceActionTab ], urlWriter )
-
-class DomDeviceListTab( NullTab ):
-
-    title = "Device List"
-
-    def __init__( self, _ ):
-        pass
-
-class DomDeviceOptionsTab( NullTab ):
-
-    title = "Device Options"
-
-    def __init__( self, _ ):
-        pass
-
-class DomDeviceActionTab( ActionTab ):
-
-    def __init__( self, _ ):
-        ActionTab.__init__( self, { "addvcpu" : "Add VCPU", "addvbd" : "Add VBD", "addvif" : "Add VIF" } )
-
-class DomMigrateTab( CompositeTab ):
-
-    def __init__( self, urlWriter ):
-        CompositeTab.__init__( self, [ DomMigrateExtraTab, DomMigrateActionTab ], urlWriter ) 
-
-class DomMigrateExtraTab( Sheet ):
-
-    def __init__( self, urlWriter ):
-        Sheet.__init__( self, urlWriter, "Configure Migration", 0)
-        self.addControl( TickControl('live', 'True', 'Live migrate:') )
-        self.addControl( InputControl('rate', '0', 'Rate limit:') )
-        self.addControl( InputControl( 'dest', 'host.domain', 'Name or IP address:', ".*") )
-                                                                                                            
-class DomMigrateActionTab( ActionTab ):
-
-    def __init__( self, _ ):
-        actions = { "migrate" : "Migrate" }
-        ActionTab.__init__( self, actions )
-                
-    def op_migrate( self, request ):
-        try:
-            domid = int( getVar( 'dom', request ) )
-            live  = getVar( 'live', request )
-            rate  = getVar( 'rate', request )
-            dest  = getVar( 'dest', request )
-            dom_sxp = server.xend_domain_migrate( domid, dest, live == 'True', rate )
-            success = "Your domain was successfully Migrated.\n"
-        except Exception, e:
-            success = "There was an error migrating your domain\n"
-            dom_sxp = str(e)
-                                                        
-class DomSaveTab( CompositeTab ):
-
-    def __init__( self, urlWriter ):
-        CompositeTab.__init__( self, [ DomSaveExtraTab, DomSaveActionTab ], urlWriter ) 
-
-class DomSaveExtraTab( Sheet ):
-
-    title = "Save location"
-
-    def __init__( self, urlWriter ):
-        Sheet.__init__( self, urlWriter, "Save Domain to file", 0 )
-        self.addControl( InputControl( 'file', '', 'Suspend file name:', ".*") )
-               
-class DomSaveActionTab( ActionTab ):
-
-    def __init__( self, _ ):
-        actions = { "save" : "Save" }
-        ActionTab.__init__( self, actions )
-
-    def op_save( self, request ):
-
-        try:
-            dom_sxp = server.xend_domain_save( config['domid'], config['file'] )
-            success = "Your domain was successfully saved.\n"
-        except Exception, e:
-            success = "There was an error saving your domain\n"
-            dom_sxp = str(e)
-                                                                                       
-        try:
-            dom = int( getVar( 'dom', request ) )
-        except:
-            pass
diff --git a/tools/python/xen/sv/GenTabbed.py b/tools/python/xen/sv/GenTabbed.py
deleted file mode 100755
index 6631663..0000000
--- a/tools/python/xen/sv/GenTabbed.py
+++ /dev/null
@@ -1,147 +0,0 @@
-import types
-
-from xen.sv.HTMLBase import HTMLBase
-from xen.sv.util import getVar
-
-class GenTabbed( HTMLBase ):
-
-    def __init__( self, title, urlWriter, tabStrings, tabObjects ):
-        HTMLBase.__init__(self)
-        self.tabStrings = tabStrings
-        self.tabObjects = tabObjects
-        self.urlWriter = urlWriter
-        self.title = title
-        
-    def write_BODY( self, request ):
-        if not self.__dict__.has_key( "tab" ):
-            try:
-                self.tab = int( getVar( 'tab', request, 0 ) )
-            except:
-                self.tab = 0
-            
-        request.write( "\n<div class='title'>%s</div>" % self.title )
-        
-        TabView( self.tab, self.tabStrings, self.urlWriter ).write_BODY( request )
-        
-        try:
-            request.write( "\n<div class='tab'>" )
-            render_tab = self.tabObjects[ self.tab ]
-            render_tab( self.urlWriter ).write_BODY( request )
-            request.write( "\n</div>" )
-        except Exception, e:
-            request.write( "\n<p>Error Rendering Tab</p>" )
-            request.write( "\n<p>%s</p>" % str( e ) )
-
-        request.write( "\n<input type=\"hidden\" name=\"tab\" value=\"%d\">" % self.tab )
-
-    def perform( self, request ):
-        request.write( "Tab> perform" )
-        request.write( "<br/>op: " + str( getVar( 'op', request ) ) )
-        request.write( "<br/>args: " + str( getVar( 'args', request ) ) )
-        request.write( "<br/>tab: " + str( getVar( 'tab', request ) ) )      
-
-        try:
-            action = getVar( 'op', request, 0 )
-            if action == "tab":
-                self.tab = int( getVar( 'args', request ) )
-            else:
-                this.tab = int( getVar( 'tab', request, 0 ) )
-                self.tabObjects[ self.tab ]( self.urlWriter ).perform( request )
-        except:
-            pass
-        
-class PreTab( HTMLBase ):
-
-    def __init__( self, source ):
-        HTMLBase.__init__( self )
-        self.source = source
-    
-    def write_BODY( self, request ):
-        request.write( "\n<pre>" )
-        request.write( self.source )
-        request.write( "\n</pre>" )
-
-class GeneralTab( HTMLBase ):
-                        
-    def __init__( self, dict, titles ):
-        HTMLBase.__init__( self )
-        self.dict = dict
-        self.titles = titles
-                        
-    def write_BODY( self, request ): 
-        
-        request.write( "\n<table width='100%' cellspacing='0' cellpadding='0' border='0'>" )
-        
-        def writeAttr( niceName, attr, formatter=None ):
-            if type( attr ) is types.TupleType:
-                ( attr, formatter ) = attr
-            
-            if attr in self.dict:
-                if formatter:
-                    temp = formatter( self.dict[ attr ] )
-                else:
-                    temp = str( self.dict[ attr ] )
-                request.write( "\n<tr><td width='50%%'><p>%s:</p></td><td width='50%%'><p>%s</p></td></tr>" % ( niceName, temp ) )
-        
-        for niceName, attr in self.titles.items():
-            writeAttr( niceName, attr )
-                            
-        request.write( "</table>" )
-
-class NullTab( HTMLBase ):
-    
-    def __init__( self, title="Null Tab" ):
-        HTMLBase.__init__( self )
-        self.title = title
-
-    def write_BODY( self, request ):
-        request.write( "\n<p>%s</p>" % self.title )
-
-class ActionTab( HTMLBase ):
-
-    def __init__( self, actions ):
-        self.actions = actions
-        HTMLBase.__init__( self )
-        
-    def write_BODY( self, request ):
-        for item in self.actions.items():
-            try:
-                ((op, attr), title) = item
-            except:
-                (op, title) = item
-                attr = ""
-            request.write( "\n<div class='button' onclick=\"doOp2( '%s', '%s' )\">%s</a></div>" % (op, attr, title) )
-
-class CompositeTab( HTMLBase ):
-
-    def __init__( self, tabs, urlWriter ):
-    	HTMLBase.__init__( self )
-        self.tabs = tabs
-        self.urlWriter = urlWriter
-        
-    def write_BODY( self, request ):
-    	for tab in self.tabs:
-            tab( self.urlWriter ).write_BODY( request )
-            
-    def perform( self, request ):
-    	for tab in self.tabs:
-            tab( self.urlWriter ).perform( request )
-
-class TabView( HTMLBase ):
-
-        # tab - int, id into tabs of selected tab
-        # tabs - list of strings, tab names
-        # urlWriter -
-        def __init__( self, tab, tabs, urlWriter ):
-            HTMLBase.__init__(self)
-            self.tab = tab
-            self.tabs = tabs
-            self.urlWriter = urlWriter
-
-        def write_BODY( self, request ):
-            for i in range( len( self.tabs ) ):
-                if self.tab == i:
-                    at = " id='activeTab'"
-                else:
-                    at = ""
-                request.write( "\n<div%s class='tabButton' onclick=\"doOp2( 'tab', '%d' )\">%s</div>" % ( at, i, self.tabs[ i ] ) )
diff --git a/tools/python/xen/sv/HTMLBase.py b/tools/python/xen/sv/HTMLBase.py
deleted file mode 100755
index d0fca13..0000000
--- a/tools/python/xen/sv/HTMLBase.py
+++ /dev/null
@@ -1,53 +0,0 @@
-from xen.sv.util import *
-
-class HTMLBase:
-
-    isLeaf = True
- 
-    def __init__( self ):
-        pass
-
-    def render_POST( self, request ):
-        self.perform( request )
-        return self.render_GET( request )
-        
-    def render_GET( self, request ):
-        pass
-    
-    def write_BODY( self, request ):
-        pass
-        
-    def write_TOP( self, request ):
-        pass
-    
-    def write_BOTTOM( self, request ):
-        pass
-    
-    def get_op_method(self, op):
-        """Get the method for an operation.
-        For operation 'foo' looks for 'op_foo'.
-
-        op	operation name
-        returns method or None
-        """
-        op_method_name = 'op_' + op
-        return getattr(self, op_method_name, None)
-        
-    def perform(self, req):
-        """General operation handler for posted operations.
-        For operation 'foo' looks for a method op_foo and calls
-        it with op_foo(req). Replies with code 500 if op_foo
-        is not found.
-
-        The method must return a list when req.use_sxp is true
-        and an HTML string otherwise (or list).
-        Methods may also return a Deferred (for incomplete processing).
-
-        req	request
-        """
-        op = req.args.get('op')
-        if not op is None and len(op) == 1:
-            op = op[0]
-            op_method = self.get_op_method(op)
-            if op_method:
-                op_method( req )   
diff --git a/tools/python/xen/sv/Main.py b/tools/python/xen/sv/Main.py
deleted file mode 100755
index ea62af1..0000000
--- a/tools/python/xen/sv/Main.py
+++ /dev/null
@@ -1,82 +0,0 @@
-
-from xen.sv.NodeInfo import NodeInfo
-from xen.sv.DomInfo  import DomInfo
-from xen.sv.CreateDomain import CreateDomain
-from xen.sv.RestoreDomain import RestoreDomain
-
-from xen.sv.util import getVar
-
-# adapter to make this all work with mod_python
-# as opposed to Twisted
-# (c) Tom Wilkie 2005
-
-class Args:
-    def __init__( self, req ):
-        from mod_python.util import FieldStorage
-        self.fieldStorage = FieldStorage( req, True )
-
-    # return a list of values for the given key,
-    # or None if key not there
-    def get( self, var ):
-        retVar = self.fieldStorage.getlist( var )
-        if len( retVar ) == 0:
-            return None
-        else:
-            return retVar
-
-    # return a list of tuples,
-    # (key, value) where value is a list of values
-    def items( self ):
-        result = [];
-        for key in self.fieldStorage.keys():
-            result.append( (key, self.fieldStorage.getlist( key ) ) )
-        return result
-                                                                                                                                                            
-# This is the Main class
-# It pieces together all the modules
-
-class Main:
-    def __init__( self ):
-        self.modules = { "node": NodeInfo, 
-                         "create": CreateDomain,
-                         "restore" : RestoreDomain,
-                         "info": DomInfo }
-
-        self.init_done = False
-
-    def init_modules( self, request ):
-        for moduleName, module in self.modules.iteritems():
-            self.modules[ moduleName ] = module( self.urlWriter( moduleName, request.url ) )             
-
-    def render_menu( self, request ):
-        if not self.init_done:
-            self.init_modules( request )
-            self.init_done = True
-            
-        for _, module in self.modules.iteritems():
-            module.write_MENU( request )
-            request.write( "\n" )
-
-    def render_main( self, request ):
-        if not self.init_done:
-            self.init_modules( request )
-            self.init_done = True
-                                   
-        moduleName = getVar('mod', request)
-        if moduleName not in self.modules:
-            request.write( '<p>Please select a module</p>' )
-        else:
-            module = self.modules[ moduleName ]
-            module.write_BODY( request )
-
-    def do_POST( self, request ): 
-        if not self.init_done:
-            self.init_modules( request )
-            self.init_done = True                       
-        
-    	moduleName = getVar( 'mod', request )      
-        if moduleName in self.modules:
-            self.modules[ moduleName ].perform( request )
-
-    def urlWriter( self, module, url ):
-        return lambda x: "%s?mod=%s%s" % ( url, module, x )
diff --git a/tools/python/xen/sv/NodeInfo.py b/tools/python/xen/sv/NodeInfo.py
deleted file mode 100755
index f8b47b1..0000000
--- a/tools/python/xen/sv/NodeInfo.py
+++ /dev/null
@@ -1,73 +0,0 @@
-from xen.xend.XendClient import server
-
-from xen.sv.util import *
-from xen.sv.GenTabbed import *
-
-class NodeInfo( GenTabbed ):
-
-    def __init__( self, urlWriter ):  
-        GenTabbed.__init__( self, "Node Details", urlWriter, [ 'General', 'Dmesg', 'SXP' ], [ NodeGeneralTab, NodeDmesgTab, NodeSXPTab ] )
-    
-    def write_MENU( self, request ):
-        request.write( "<p class='small'><a href='%s'>Node details</a></p>" % self.urlWriter( '' ) )
-
-class NodeGeneralTab( CompositeTab ):
-    def __init__( self, urlWriter ):
-    	CompositeTab.__init__( self, [ NodeInfoTab, NodeActionTab ], urlWriter )        
-        
-class NodeInfoTab( GeneralTab ):
-                        
-    def __init__( self, urlWriter ):
-         
-    	nodeInfo = {}
-        try:
-            nodeInfo = sxp2hash( server.xend_node() )
-   	except:
-            nodeInfo[ 'system' ] = 'Error getting node info'
-             
-        dictTitles = {}
-        dictTitles[ 'System' ] = 'system'
-        dictTitles[ 'Hostname' ] = 'host' 
-        dictTitles[ 'Release' ] = 'release' 
-        dictTitles[ 'Version' ] ='version' 
-        dictTitles[ 'Machine' ] = 'machine' 
-        dictTitles[ 'Cores' ] = 'cores' 
-        dictTitles[ 'Hyperthreading' ] = ( 'hyperthreads_per_core', hyperthreadFormatter )
-        dictTitles[ 'CPU Speed' ] = ( 'cpu_mhz', cpuFormatter )
-        dictTitles[ 'Memory' ] = ( 'memory', memoryFormatter )
-        dictTitles[ 'Free Memory' ] = ( 'free_memory', memoryFormatter )
-        
-        GeneralTab.__init__( self, dict=nodeInfo, titles=dictTitles )
-
-class NodeDmesgTab( PreTab ):
-
-    def __init__( self, urlWriter ):
-    	try:
-            dmesg = server.xend_node_get_dmesg()
-        except:
-            dmesg = "Error getting node information: XenD not running?"
-        PreTab.__init__( self, dmesg )
-  
-class NodeActionTab( ActionTab ):
-
-    def __init__( self, urlWriter ):
-        ActionTab.__init__( self, { "shutdown" : "shutdown",
-        	"reboot" : "reboot" } )    
-        
-    def op_shutdown( self, request ):
-        if debug: print ">NodeShutDown"
-    	server.xend_node_shutdown()
-    
-    def op_reboot( self, request ):
-        if debug: print ">NodeReboot"
-        server.xend_node_reboot()
-
-class NodeSXPTab( PreTab ):
-
-    def __init__( self, urlWriter ):
-        try:
-            nodeSXP = sxp2string( server.xend_node() )
-        except:
-            nodeSXP = 'Error getting node sxp'
-
-        PreTab.__init__( self, nodeSXP )
diff --git a/tools/python/xen/sv/RestoreDomain.py b/tools/python/xen/sv/RestoreDomain.py
deleted file mode 100755
index b836a43..0000000
--- a/tools/python/xen/sv/RestoreDomain.py
+++ /dev/null
@@ -1,50 +0,0 @@
-from xen.sv.Wizard import *
-from xen.sv.util import *
-from xen.sv.GenTabbed import PreTab
-
-from xen.xm.create import make_config, OptVals
-
-from xen.xend.XendClient import server
-
-class RestoreDomain( Wizard ):
-    def __init__( self, urlWriter ):
-
-        sheets = [ ChooseRestoreDomain,
-                   DoRestore ]
-
-        Wizard.__init__( self, urlWriter, "Restore Domain", sheets )
-
-
-class ChooseRestoreDomain( Sheet ):
-    title = "Configure Restore"
-
-    def __init__( self, urlWriter ):
-        Sheet.__init__( self, urlWriter, "Configure Restore", 0)
-        
-        self.addControl( InputControl( 'file', '',
-                                       'Suspend file name:',
-                                       ".*") )
-
-class DoRestore( Sheet ):
-    title = "Restore Done"
-    
-    def __init__(self, urlWriter ):
-        Sheet.__init__(self, urlWriter, "Restore Done", 1)
-
-    def write_BODY( self, request, err ):
-
-        if not self.passback: self.parseForm( request )
-        config = ssxp2hash ( string2sxp( self.passback ) )
-      
-        try:
-            dom_sxp = server.xend_domain_restore( config['file'] )
-            success = "Your domain was successfully restored.\n"
-        except Exception, e:
-            success = "There was an error restoring your domain\n"
-            dom_sxp = str(e)
-        
-        pt = PreTab( success + sxp2prettystring( dom_sxp ) )
-        pt.write_BODY( request )
-
-        request.write( "<input type='hidden' name='passback' value=\"%s\"></p>" % self.passback )
-        request.write( "<input type='hidden' name='sheet' value='%s'></p>" % self.location )
diff --git a/tools/python/xen/sv/Wizard.py b/tools/python/xen/sv/Wizard.py
deleted file mode 100755
index c4ac53b..0000000
--- a/tools/python/xen/sv/Wizard.py
+++ /dev/null
@@ -1,245 +0,0 @@
-from xen.sv.util import *
-from xen.sv.HTMLBase import HTMLBase
-from xen.sv.GenTabbed import GenTabbed, ActionTab
-from xen.xend import sxp
-
-import re
-
-DEBUG = 0
-
-class Wizard( GenTabbed ):
-
-    def __init__( self, urlWriter, title, sheets ):
-        self.title = title
-        self.sheets = sheets
-        self.urlWriter = urlWriter
-        self.offset = 0
-        GenTabbed.__init__( self, title, urlWriter, map( lambda x: x.title, sheets ), sheets ) 
-        
-    def write_MENU( self, request ):
-    	request.write( "<p class='small'><a href='%s'>%s</a></p>" % (self.urlWriter( '' ), self.title) ) 
-    
-    def write_BODY( self, request ):
-        GenTabbed.write_BODY( self, request )
-        actionTab = ActionTab( { ("tab", str(self.tab-1)) : "< Prev", ("tab", str(self.tab+1)) : "Next >", "finish" : "Finish" } )
-        actionTab.write_BODY( request )
-
-    def perform( self, request ):
-        try:
-            action = getVar( 'op', request, 0 )
-            if action == "tab":
-                self.tab = int( getVar( 'args', request ) )
-                oldtab = int( getVar( 'tab', request ) )
-                if not self.tabObjects[ oldtab ]( self.urlWriter ).validate( request ):
-                    self.tab = oldtab
-            else:
-                self.tab = int( getVar( 'tab', request, 0 ) )
-                self.tabObjects[ self.tab ]( self.urlWriter ).perform( request )
-                getattr( self, "op_" +  getVar( "op", request ), None )( request )
-        except:
-            pass
-            
-    def op_finish( self, request ):
-    	pass  
-        
-class Sheet( HTMLBase ):
-
-    def __init__( self, urlWriter, title, location ):
-        HTMLBase.__init__( self )
-        self.urlWriter = urlWriter
-        self.fields = []
-        self.title = title
-        self.location = location
-        self.passback = None
-        
-    def parseForm( self, request ):
-    	do_not_parse = [ 'mod', 'op', 'passback' ] 
-    
-    	passed_back = request.args
-        
-        temp_passback = passed_back.get( "passback" )
-        
-        if temp_passback is not None and len( temp_passback ) > 0:
-            temp_passback = temp_passback[ len( temp_passback )-1 ]
-        else:
-            temp_passback = "( )"        
-        
-        last_passback = ssxp2hash( string2sxp( temp_passback ) ) #use special function - will work with no head on sxp
-        
-        if DEBUG: print last_passback
-        
-        for (key, value) in passed_back.items():
-            if key not in do_not_parse:
-                last_passback[ key ] = value[ len( value ) - 1 ]
-                
-        self.passback = sxp2string( hash2sxp( last_passback ) ) #store the sxp
-        
-        if DEBUG: print self.passback
-        
-    def write_BODY( self, request ):
-    
-    	if not self.passback: self.parseForm( request )
-        
-   	request.write( "<p>%s</p>" % self.title )
-    
-    	previous_values = ssxp2hash( string2sxp( self.passback ) ) #get the hash for quick reference
-        
-        request.write( "<table width='100%' cellpadding='0' cellspacing='1' border='0'>" )
-        
-    	for (field, control) in self.fields:
-            control.write_Control( request, previous_values.get( field ) )
-            if previous_values.get( field ) is not None and not control.validate( previous_values.get( field ) ):
-            	control.write_Help( request )
-            
-        request.write( "</table>" )
-            
-        request.write( "<input type='hidden' name='passback' value=\"%s\"></p>" % self.passback )
-        #request.write( "<input type='hidden' name='visited-sheet%s' value='True'></p>" % self.location )
-                
-    def addControl( self, control ):
-    	self.fields.append( [ control.getName(), control ] )
-        
-    def validate( self, request ):
-    
-        if not self.passback: self.parseForm( request )
-            
-    	check = True
-        
-        previous_values = ssxp2hash( string2sxp( self.passback ) ) #get the map for quick reference
-    	if DEBUG: print previous_values
-      
-      	for (field, control) in self.fields:
-            if not control.validate( previous_values.get( field ) ):
-                check = False
-                if DEBUG: print "> %s = %s" % (field, previous_values.get( field ))
-
-        return check
-        
-class SheetControl( HTMLBase ):
-
-    def __init__( self, reg_exp = ".*" ):
-        HTMLBase.__init__( self )
-        self.name = ""
-        self.reg_exp = reg_exp 
-        
-    def write_Control( self, request, persistedValue ):
-        request.write( "<tr colspan='2'><td>%s</td></tr>" % persistedValue )
-        
-    def write_Help( self, request ):
-        request.write( "<tr><td align='right' colspan='2'><p class='small'>Text must match pattern:" )
-        request.write( " %s</p></td></tr>" % self.reg_exp )
-        
-    def validate( self, persistedValue ):
-    	if persistedValue is None:
-            persistedValue = ""
-            
-        return not re.compile( self.reg_exp ).match( persistedValue ) is None
-
-    def getName( self ):
-    	return self.name
-        
-    def setName( self, name ):
-    	self.name = name
-        
-class InputControl( SheetControl ):
-
-    def __init__( self, name, defaultValue, humanText,  reg_exp = ".*", help_text = "You must enter the appropriate details in this field." ):
-        SheetControl.__init__( self, reg_exp )
-        self.setName( name )
-        
-        self.defaultValue = defaultValue
-        self.humanText = humanText
-        self.help_text = help_text
-        
-    def write_Control( self, request, persistedValue ):
-    	if persistedValue is None:
-            persistedValue = self.defaultValue
-        
-        request.write( "<tr><td width='50%%'><p>%s</p></td><td width='50%%'><input size='40'type='text' name='%s' value=\"%s\"></td></tr>" % (self.humanText, self.getName(), persistedValue) )
-
-    def write_Help( self, request ):
-        request.write( "<tr><td align='right' colspan='2'><p class='small'>" )
-        request.write( " %s</p></td></tr>" % self.help_text )         
-        
-class TextControl( SheetControl ):
-
-    def __init__( self, text ):
-    	SheetControl.__init__( self )
-        self.text = text
-        
-    def write_Control( self, request, persistedValue ):
-    	request.write( "<tr><td colspan='2'><p>%s</p></td></tr>" % self.text )
-
-class SmallTextControl( SheetControl ):
-
-    def __init__( self, text ):
-    	SheetControl.__init__( self )
-        self.text = text
-        
-    def write_Control( self, request, persistedValue ):
-    	request.write( "<tr><td colspan='2'><p class='small'>%s</p></tr></td>" % self.text )
-        
-class ListControl( SheetControl ):
-
-    def __init__( self, name, options, humanText ):
-    	SheetControl.__init__( self )
-        self.setName( name )
-        self.options = options
-        self.humanText = humanText
-        
-    def write_Control( self, request, persistedValue ):
-        request.write( "<tr><td width='50%%'><p>%s</p></td><td width='50%%'>" % self.humanText )
-    	request.write( "<select name='%s'>" % self.getName() )
-        for (value, text) in self.options:
-            if value == persistedValue:
-            	request.write( "<option value='%s' selected>%s\n" % (value, text) )
-            else:
-                request.write( "<option value='%s'>%s\n" % (value, text) )
-        request.write( "</select></td></tr>" )
-
-    def validate( self, persistedValue ):
-        for (value, text) in self.options:
-            if value == persistedValue:
-                return True
-                
-        return False
-        
-class FileControl( InputControl ):
-
-    def __init__( self, name, defaultValue, humanText,  reg_exp = ".*", help_text = "You must enter the appropriate details in this field." ):
-	InputControl.__init__( self, name, defaultValue, humanText )
-        
-    def validate( self, persistedValue ):
-        if persistedValue is None: return False
-        try:
-            open( persistedValue )
-            return True
-        except IOError, TypeError:
-            return False
-    
-    def write_Help( self, request ):
-        request.write( "<tr><td colspan='2' align='right'><p class='small'>File does not exist: you must enter a valid, absolute file path.</p></td></tr>" )
-
-class TickControl( SheetControl ):
-
-    def __init__( self, name, defaultValue, humanText ):
-        SheetControl.__init__( self )
-        self.setName( name )
-        self.defaultValue = defaultValue
-        self.humanText = humanText
-        
-    def write_Control( self, request, persistedValue ):
-        request.write( "<tr><td width='50%%'><p>%s</p></td><td width='50%%'>" % self.humanText )
-
-        #request.write( str( persistedValue ) )
-
-        #TODO: Theres a problem with this: it doesn't persist an untick, because the browsers don't pass it back. Need a fix...
-        
-        if persistedValue == 'True':
-    	    request.write( "<input type='checkbox' name='%s' value='True' checked>" % self.getName() )
-        else:
-    	    request.write( "<input type='checkbox' name='%s' value='True'>" % self.getName() )
-            
-        request.write( "</td></tr>" )
-
-      
diff --git a/tools/python/xen/sv/__init__.py b/tools/python/xen/sv/__init__.py
deleted file mode 100755
index 8d1c8b6..0000000
--- a/tools/python/xen/sv/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
- 
diff --git a/tools/python/xen/sv/util.py b/tools/python/xen/sv/util.py
deleted file mode 100755
index cfed397..0000000
--- a/tools/python/xen/sv/util.py
+++ /dev/null
@@ -1,126 +0,0 @@
-from xen.xend.XendClient import server
-from xen.xend import sxp
-from xen.xend import PrettyPrint
-
-import types
-
-def getDomInfo( domain ):
-    domInfoHash = {}
-    try:
-        domInfoHash = sxp2hash( server.xend_domain( domain ) )
-        domInfoHash['dom'] = domain
-    except:
-    	domInfoHash['name'] = "Error getting domain details"
-    return domInfoHash
-
-def sxp2hash( s ):
-    sxphash = {}
-        
-    for child in sxp.children( s ):
-    	if isinstance( child, types.ListType ) and len( child ) > 1:
-            if isinstance( child[1], types.ListType ) and len( child ) > 1:
-                sxphash[ child[0] ] = sxp2hash( child[1] )
-            else:
-                sxphash[ child[0] ] = child[1]
-        
-    return sxphash  
-    
-def ssxp2hash( s ):
-    sxphash = {}
-    
-    for i in s:
-       if isinstance( i, types.ListType ) and len( i ) > 1:
-          sxphash[ i[0] ] = i[1]
-    
-    return sxphash 
-    
-def hash2sxp( h ):
-    hashsxp = []
-    
-    for (key, item) in h.items():
-    	hashsxp.append( [key, item] )
-        
-    return hashsxp    
-    
-def string2sxp( string ):
-    pin = sxp.Parser()
-    pin.input( string )
-    return pin.get_val()    
-
-def sxp2string( sexp ):
-    return sxp.to_string( sexp )    
-    
-def sxp2prettystring( sxp ):
-    class tmp:
-        def __init__( self ):
-                self.str = ""
-        def write( self, str ):
-                self.str = self.str + str
-    temp = tmp()
-    PrettyPrint.prettyprint( sxp, out=temp )
-    return temp.str
-
-def getVar( var, request, default=None ):
-   
-    arg = request.args.get( var )
-
-    if arg is None:
-        return default
-    else:
-        return arg[ len( arg )-1 ]
-
-def bigTimeFormatter( time ):
-    time = float( time )
-    weeks = time // 604800
-    remainder = time % 604800
-    days = remainder // 86400
-    
-    remainder = remainder % 86400
-
-    hms = smallTimeFormatter( remainder )
-    
-    return "%d weeks, %d days, %s" % ( weeks, days, hms )
-
-def smallTimeFormatter( time ):
-    time = float( time )
-    hours = time // 3600
-    remainder = time % 3600
-    mins = remainder // 60
-    secs = time % 60
-    return "%02d:%02d:%04.1f (hh:mm:ss.s)" % ( hours, mins, secs ) 
-
-def stateFormatter( state ):
-    states = [ 'Running', 'Blocked', 'Paused', 'Shutdown', 'Crashed' ]
-    
-    stateStr = ""
-    
-    for i in range( len( state ) ):
-        if state[i] != "-":
-            stateStr += "%s, " % states[ i ] 
-           
-    return stateStr + " (%s)" % state
-
-def memoryFormatter( mem ):
-    mem = int( mem )
-    if mem >= 1024:
-        mem = float( mem ) / 1024
-        return "%3.2fGb" % mem
-    else:    
-        return "%7dMb" % mem
-
-def cpuFormatter( mhz ):
-    mhz = int( mhz )
-    if mhz > 1000:
-        ghz = float( mhz ) / 1000.0
-        return "%4.2fGHz" % ghz
-    else:
-        return "%4dMHz" % mhz
-        
-def hyperthreadFormatter( threads ):
-    try:
-        if int( threads ) > 1:
-            return "Yes"
-        else:
-            return "No"
-    except:
-        return "No"
diff --git a/tools/sv/Makefile b/tools/sv/Makefile
deleted file mode 100644
index c9ae1de..0000000
--- a/tools/sv/Makefile
+++ /dev/null
@@ -1,3 +0,0 @@
-
-.PHONY: all
-all:
diff --git a/tools/sv/images/destroy.png b/tools/sv/images/destroy.png
deleted file mode 100755
index 9545fc4..0000000
Binary files a/tools/sv/images/destroy.png and /dev/null differ
diff --git a/tools/sv/images/finish.png b/tools/sv/images/finish.png
deleted file mode 100755
index 6c5d18a..0000000
Binary files a/tools/sv/images/finish.png and /dev/null differ
diff --git a/tools/sv/images/next.png b/tools/sv/images/next.png
deleted file mode 100755
index da10bbf..0000000
Binary files a/tools/sv/images/next.png and /dev/null differ
diff --git a/tools/sv/images/pause.png b/tools/sv/images/pause.png
deleted file mode 100755
index 6e16daa..0000000
Binary files a/tools/sv/images/pause.png and /dev/null differ
diff --git a/tools/sv/images/previous.png b/tools/sv/images/previous.png
deleted file mode 100755
index 22292d6..0000000
Binary files a/tools/sv/images/previous.png and /dev/null differ
diff --git a/tools/sv/images/reboot.png b/tools/sv/images/reboot.png
deleted file mode 100755
index 358e6de..0000000
Binary files a/tools/sv/images/reboot.png and /dev/null differ
diff --git a/tools/sv/images/shutdown.png b/tools/sv/images/shutdown.png
deleted file mode 100755
index 48a52dc..0000000
Binary files a/tools/sv/images/shutdown.png and /dev/null differ
diff --git a/tools/sv/images/small-destroy.png b/tools/sv/images/small-destroy.png
deleted file mode 100755
index f800bd7..0000000
Binary files a/tools/sv/images/small-destroy.png and /dev/null differ
diff --git a/tools/sv/images/small-pause.png b/tools/sv/images/small-pause.png
deleted file mode 100755
index 7bbdbfa..0000000
Binary files a/tools/sv/images/small-pause.png and /dev/null differ
diff --git a/tools/sv/images/small-unpause.png b/tools/sv/images/small-unpause.png
deleted file mode 100755
index 6ae5687..0000000
Binary files a/tools/sv/images/small-unpause.png and /dev/null differ
diff --git a/tools/sv/images/unpause.png b/tools/sv/images/unpause.png
deleted file mode 100755
index c971308..0000000
Binary files a/tools/sv/images/unpause.png and /dev/null differ
diff --git a/tools/sv/images/xen.png b/tools/sv/images/xen.png
deleted file mode 100755
index 344c361..0000000
Binary files a/tools/sv/images/xen.png and /dev/null differ
diff --git a/tools/sv/inc/script.js b/tools/sv/inc/script.js
deleted file mode 100755
index ebafa1e..0000000
--- a/tools/sv/inc/script.js
+++ /dev/null
@@ -1,31 +0,0 @@
-function update( objRef, text ) {
-    if ( document.all || document.getElementById ) {
-        obj = ( document.getElementById )? document.getElementById( objRef ) : document.all( objRef );
-        obj.innerHTML= text
-    }
-}
-
-function buttonMouseOver( objRef ) {
-    if ( document.all || document.getElementById ) {
-        obj = ( document.getElementById )? document.getElementById( objRef ) : document.all( objRef );
-        objRef.style.background = "white";
-    }
-}
-
-function buttonMouseOut( objRef ) {
-    if ( document.all || document.getElementById ) {
-        obj = ( document.getElementById )? document.getElementById( objRef ) : document.all( objRef );
-        objRef.style.background = "grey";
-    }
-}
-
-function doOp( op ) {
-    document.forms[0].op.value = op
-    document.forms[0].submit()
-}
-
-function doOp2( op, args ) {
-    document.forms[0].op.value = op
-    document.forms[0].args.value = args
-    document.forms[0].submit()
-}
diff --git a/tools/sv/inc/style.css b/tools/sv/inc/style.css
deleted file mode 100755
index 1606b21..0000000
--- a/tools/sv/inc/style.css
+++ /dev/null
@@ -1,95 +0,0 @@
-.small  {
-	font-size: 10px
-}
-
-TD.domainInfo     { 
-	font-size: 10px; 
-	color: black
-}
-
-TD.domainInfoHead {
-	font-size: 10px; 
-	color: white; 
-	font-face: bold
-}
-
-TD.domainInfoHead {background-color: black}
-TR.domainInfoOdd  {background-color: white}
-TR.domainInfoEven {background-color: lightgrey}
-
-body { 
-	margin: 	0px;
-	padding: 	0px;
-	font-family: 	Arial, Helvetica, sans-serif;
-	font-size:	12px;
-	color: 		#000000;
-}
-
-div#menu {
-        position:       absolute;
-        left:           10px;
-        top:            10px;
-        width:          160px;
-        padding:        10px;
-        border:         0px solid black;
-        text-align:     center;
-}
-
-div#main {
-        position:       absolute;
-        left:           200px;
-        top:            10px;
-        right:          10px;
-        padding:        10px;
-        border:         0px solid black;
-}
-
-div.button {
-        float:          right;
-        margin:         10px 0px 0px 10px;
-        padding:        5px;
-        text-align:     center;
-        border:         1px solid black;
-        background:     gray;
-	cursor:		hand;
-}
-
-div.tabButton {
-	position:	relative;
-	top: 		0px;
-        float:          left;
-        margin:         0px 10px -1px 0px;
-        padding:        5px;
-        text-align:     center;
-        border:         1px solid black;
-        background:     gray;
-	cursor: 	hand;
-}
-
-div.tabButton#activeTab {
-	top:		0px;
-        background:     white;
-        border-color:   black black white black;
-}
-
-div.button:hover, div.tabButton:hover {
-        background:     white;
-}
-
-div.button a, div.tabButton a {
-        font-size:      12px;
-	font-weight:	bold;
-}
-
-div.title {
-	float:          right;
-	font-size:	14px;
-	font-weight:	bold;
-}
-
-div.tab {
-        overflow:       auto;
-        clear:          both;
-        border:         1px solid black;
-        padding:        10px;
-}
diff --git a/tools/sv/index.psp b/tools/sv/index.psp
deleted file mode 100755
index 829d468..0000000
--- a/tools/sv/index.psp
+++ /dev/null
@@ -1,34 +0,0 @@
-<%
-import sys
-
-debug = True and False
-
-for path in sys.path:
-    if debug: req.write( path + "<br/>" )
-
-from xen.sv.Main import Main, TwistedAdapter
-
-main = Main()
-request = TwistedAdapter( req )
-main.do_POST( request )
-%>
-<html>
-<head>
-	<title>XenSV</title>
-	<script src="inc/script.js"></script>
-	<link rel="StyleSheet" type="text/css" href="inc/style.css">
-</head>
-<body>
-    <form method="post" action="<%=request.uri%>">
-        <div id="menu">
-		<img src="images/xen.png">
-		<% main.render_menu( request ) %>
-	</div>
-	<div id="main">
-		<% main.render_main( request ) %>
-	</div>
-	<input type="hidden" name="op" value="">
-        <input type="hidden" name="args" value="">
-    </form>
-</body>
-</html>
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:46:56 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:46:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzNo-0002kY-BX; Wed, 21 Aug 2013 03:46:56 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzNn-0002kK-GL
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:46:55 +0000
Received: from [85.158.139.211:7188] by server-3.bemta-5.messagelabs.com id
	39/AC-19273-E2834125; Wed, 21 Aug 2013 03:46:54 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-206.messagelabs.com!1377056812!3485949!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6722 invoked from network); 21 Aug 2013 03:46:53 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-16.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:46:53 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzNk-0004Dx-MF
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:46:52 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzNk-0004d2-Kn
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:46:52 +0000
Date: Wed, 21 Aug 2013 03:46:52 +0000
Message-Id: <E1VBzNk-0004d2-Kn@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen/compat: support XEN_HAVE_FOO
	ifdefs in public interface
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 623038e4df4f09946e6126e5744a3a2e28add28f
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Fri Jul 19 12:51:07 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:40:36 2013 +0100

    xen/compat: support XEN_HAVE_FOO ifdefs in public interface
    
    This allows us expose or hide interface features on different architectures
    without requiring nasty arch-specific ifdeffery.
    
    Preserves any #ifdef with a XEN_HAVE_* symbol name, as well as any #else or
    
    The ifdef symbol becomes COMPAT_HAVE in the compat versions so that
    architectures can enable or disable interfaces for compat mode too. (This
    actually just fell out of the way the existing stuff works and it didn't seem
    worth jumping through hoops to make the name remain XEN_HAVE).
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 xen/tools/compat-build-header.py |    3 +++
 xen/tools/compat-build-source.py |    3 +++
 2 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/xen/tools/compat-build-header.py b/xen/tools/compat-build-header.py
index fba2f37..e296062 100755
--- a/xen/tools/compat-build-header.py
+++ b/xen/tools/compat-build-header.py
@@ -4,6 +4,9 @@ import re,sys
 
 pats = [
  [ r"__InClUdE__(.*)", r"#include\1\n#pragma pack(4)" ],
+ [ r"__IfDeF__ (XEN_HAVE.*)", r"#ifdef \1" ],
+ [ r"__ElSe__", r"#else" ],
+ [ r"__EnDif__", r"#endif" ],
  [ r"\"xen-compat.h\"", r"<public/xen-compat.h>" ],
  [ r"(struct|union|enum)\s+(xen_?)?(\w)", r"\1 compat_\3" ],
  [ r"@KeeP@", r"" ],
diff --git a/xen/tools/compat-build-source.py b/xen/tools/compat-build-source.py
index 3906b71..55206e6 100755
--- a/xen/tools/compat-build-source.py
+++ b/xen/tools/compat-build-source.py
@@ -4,6 +4,9 @@ import re,sys
 
 pats = [
  [ r"^\s*#\s*include\s+", r"__InClUdE__ " ],
+ [ r"^\s*#\s*ifdef (XEN_HAVE.*)\s+", r"__IfDeF__ \1" ],
+ [ r"^\s*#\s*else /\* (XEN_HAVE.*) \*/\s+", r"__ElSe__" ],
+ [ r"^\s*#\s*endif /\* (XEN_HAVE.*) \*/\s+", r"__EnDif__" ],
  [ r"^\s*#\s*define\s+([A-Z_]*_GUEST_HANDLE)", r"#define HIDE_\1" ],
  [ r"^\s*#\s*define\s+([a-z_]*_guest_handle)", r"#define hide_\1" ],
  [ r"XEN_GUEST_HANDLE(_[0-9A-Fa-f]+)?", r"COMPAT_HANDLE" ],
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:46:56 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:46:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzNo-0002kY-BX; Wed, 21 Aug 2013 03:46:56 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzNn-0002kK-GL
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:46:55 +0000
Received: from [85.158.139.211:7188] by server-3.bemta-5.messagelabs.com id
	39/AC-19273-E2834125; Wed, 21 Aug 2013 03:46:54 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-206.messagelabs.com!1377056812!3485949!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 6722 invoked from network); 21 Aug 2013 03:46:53 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-16.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:46:53 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzNk-0004Dx-MF
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:46:52 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzNk-0004d2-Kn
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:46:52 +0000
Date: Wed, 21 Aug 2013 03:46:52 +0000
Message-Id: <E1VBzNk-0004d2-Kn@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen/compat: support XEN_HAVE_FOO
	ifdefs in public interface
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 623038e4df4f09946e6126e5744a3a2e28add28f
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Fri Jul 19 12:51:07 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:40:36 2013 +0100

    xen/compat: support XEN_HAVE_FOO ifdefs in public interface
    
    This allows us expose or hide interface features on different architectures
    without requiring nasty arch-specific ifdeffery.
    
    Preserves any #ifdef with a XEN_HAVE_* symbol name, as well as any #else or
    
    The ifdef symbol becomes COMPAT_HAVE in the compat versions so that
    architectures can enable or disable interfaces for compat mode too. (This
    actually just fell out of the way the existing stuff works and it didn't seem
    worth jumping through hoops to make the name remain XEN_HAVE).
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 xen/tools/compat-build-header.py |    3 +++
 xen/tools/compat-build-source.py |    3 +++
 2 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/xen/tools/compat-build-header.py b/xen/tools/compat-build-header.py
index fba2f37..e296062 100755
--- a/xen/tools/compat-build-header.py
+++ b/xen/tools/compat-build-header.py
@@ -4,6 +4,9 @@ import re,sys
 
 pats = [
  [ r"__InClUdE__(.*)", r"#include\1\n#pragma pack(4)" ],
+ [ r"__IfDeF__ (XEN_HAVE.*)", r"#ifdef \1" ],
+ [ r"__ElSe__", r"#else" ],
+ [ r"__EnDif__", r"#endif" ],
  [ r"\"xen-compat.h\"", r"<public/xen-compat.h>" ],
  [ r"(struct|union|enum)\s+(xen_?)?(\w)", r"\1 compat_\3" ],
  [ r"@KeeP@", r"" ],
diff --git a/xen/tools/compat-build-source.py b/xen/tools/compat-build-source.py
index 3906b71..55206e6 100755
--- a/xen/tools/compat-build-source.py
+++ b/xen/tools/compat-build-source.py
@@ -4,6 +4,9 @@ import re,sys
 
 pats = [
  [ r"^\s*#\s*include\s+", r"__InClUdE__ " ],
+ [ r"^\s*#\s*ifdef (XEN_HAVE.*)\s+", r"__IfDeF__ \1" ],
+ [ r"^\s*#\s*else /\* (XEN_HAVE.*) \*/\s+", r"__ElSe__" ],
+ [ r"^\s*#\s*endif /\* (XEN_HAVE.*) \*/\s+", r"__EnDif__" ],
  [ r"^\s*#\s*define\s+([A-Z_]*_GUEST_HANDLE)", r"#define HIDE_\1" ],
  [ r"^\s*#\s*define\s+([a-z_]*_guest_handle)", r"#define hide_\1" ],
  [ r"XEN_GUEST_HANDLE(_[0-9A-Fa-f]+)?", r"COMPAT_HANDLE" ],
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:47:07 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:47:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzNy-0002mv-Ew; Wed, 21 Aug 2013 03:47:06 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzNx-0002mg-IA
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:47:05 +0000
Received: from [85.158.139.211:49913] by server-17.bemta-5.messagelabs.com id
	45/48-19396-83834125; Wed, 21 Aug 2013 03:47:04 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-206.messagelabs.com!1377056823!3483106!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3561 invoked from network); 21 Aug 2013 03:47:04 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-10.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:47:04 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzNu-0004Ec-Rq
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:47:02 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzNu-0004dY-QM
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:47:02 +0000
Date: Wed, 21 Aug 2013 03:47:02 +0000
Message-Id: <E1VBzNu-0004dY-QM@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen: only expose start_info on
	architectures which have a PV boot path
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 6bba043afe0f29ff4f87b839b55b58b15cca1c08
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Fri Jul 19 12:51:08 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:40:52 2013 +0100

    xen: only expose start_info on architectures which have a PV boot path
    
    Most of this struct is PV MMU specific and it is not used on ARM at all.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Jan Beulich <JBeulich@suse.com>
    Acked-by: Keir Fraser <keir@xen.org>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxc/xenctrl.h             |    5 ++---
 xen/include/asm-x86/config.h      |    1 +
 xen/include/public/arch-x86/xen.h |    2 ++
 xen/include/public/xen.h          |    3 ++-
 4 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/tools/libxc/xenctrl.h b/tools/libxc/xenctrl.h
index 388a9c3..f2cebaf 100644
--- a/tools/libxc/xenctrl.h
+++ b/tools/libxc/xenctrl.h
@@ -408,15 +408,14 @@ typedef union
     shared_info_t s;
 } shared_info_any_t;
 
+#if defined(__i386__) || defined(__x86_64__)
 typedef union
 {
-#if defined(__i386__) || defined(__x86_64__)
     start_info_x86_64_t x64;
     start_info_x86_32_t x32;
-#endif
     start_info_t s;
 } start_info_any_t;
-
+#endif
 
 int xc_domain_create(xc_interface *xch,
                      uint32_t ssidref,
diff --git a/xen/include/asm-x86/config.h b/xen/include/asm-x86/config.h
index cb7b2e4..028b696 100644
--- a/xen/include/asm-x86/config.h
+++ b/xen/include/asm-x86/config.h
@@ -265,6 +265,7 @@ extern unsigned char boot_edid_info[128];
     (COMPAT_L2_PAGETABLE_LAST_XEN_SLOT - COMPAT_L2_PAGETABLE_FIRST_XEN_SLOT(d) + 1)
 
 #define COMPAT_LEGACY_MAX_VCPUS XEN_LEGACY_MAX_VCPUS
+#define COMPAT_HAVE_PV_GUEST_ENTRY XEN_HAVE_PV_GUEST_ENTRY
 
 #endif
 
diff --git a/xen/include/public/arch-x86/xen.h b/xen/include/public/arch-x86/xen.h
index b7f6a51..7ae8c90 100644
--- a/xen/include/public/arch-x86/xen.h
+++ b/xen/include/public/arch-x86/xen.h
@@ -70,6 +70,8 @@ typedef unsigned long xen_pfn_t;
 #define PRI_xen_pfn "lx"
 #endif
 
+#define XEN_HAVE_PV_GUEST_ENTRY 1
+
 /*
  * `incontents 200 segdesc Segment Descriptor Tables
  */
diff --git a/xen/include/public/xen.h b/xen/include/public/xen.h
index 3cab74f..2414e7e 100644
--- a/xen/include/public/xen.h
+++ b/xen/include/public/xen.h
@@ -716,7 +716,7 @@ typedef struct shared_info shared_info_t;
  * 32-bit and runs under a 64-bit hypervisor should _NOT_ use two of the
  * pages preceding pt_base and mark them as reserved/unused.
  */
-
+#ifdef XEN_HAVE_PV_GUEST_ENTRY
 #define MAX_GUEST_CMDLINE 1024
 struct start_info {
     /* THE FOLLOWING ARE FILLED IN BOTH ON INITIAL BOOT AND ON RESUME.    */
@@ -756,6 +756,7 @@ typedef struct start_info start_info_t;
 #define console_mfn    console.domU.mfn
 #define console_evtchn console.domU.evtchn
 #endif
+#endif /* XEN_HAVE_PV_GUEST_ENTRY */
 
 /* These flags are passed in the 'flags' field of start_info_t. */
 #define SIF_PRIVILEGED    (1<<0)  /* Is the domain privileged? */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:47:07 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:47:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzNy-0002mv-Ew; Wed, 21 Aug 2013 03:47:06 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzNx-0002mg-IA
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:47:05 +0000
Received: from [85.158.139.211:49913] by server-17.bemta-5.messagelabs.com id
	45/48-19396-83834125; Wed, 21 Aug 2013 03:47:04 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-206.messagelabs.com!1377056823!3483106!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3561 invoked from network); 21 Aug 2013 03:47:04 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-10.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:47:04 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzNu-0004Ec-Rq
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:47:02 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzNu-0004dY-QM
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:47:02 +0000
Date: Wed, 21 Aug 2013 03:47:02 +0000
Message-Id: <E1VBzNu-0004dY-QM@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen: only expose start_info on
	architectures which have a PV boot path
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 6bba043afe0f29ff4f87b839b55b58b15cca1c08
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Fri Jul 19 12:51:08 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:40:52 2013 +0100

    xen: only expose start_info on architectures which have a PV boot path
    
    Most of this struct is PV MMU specific and it is not used on ARM at all.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Jan Beulich <JBeulich@suse.com>
    Acked-by: Keir Fraser <keir@xen.org>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/libxc/xenctrl.h             |    5 ++---
 xen/include/asm-x86/config.h      |    1 +
 xen/include/public/arch-x86/xen.h |    2 ++
 xen/include/public/xen.h          |    3 ++-
 4 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/tools/libxc/xenctrl.h b/tools/libxc/xenctrl.h
index 388a9c3..f2cebaf 100644
--- a/tools/libxc/xenctrl.h
+++ b/tools/libxc/xenctrl.h
@@ -408,15 +408,14 @@ typedef union
     shared_info_t s;
 } shared_info_any_t;
 
+#if defined(__i386__) || defined(__x86_64__)
 typedef union
 {
-#if defined(__i386__) || defined(__x86_64__)
     start_info_x86_64_t x64;
     start_info_x86_32_t x32;
-#endif
     start_info_t s;
 } start_info_any_t;
-
+#endif
 
 int xc_domain_create(xc_interface *xch,
                      uint32_t ssidref,
diff --git a/xen/include/asm-x86/config.h b/xen/include/asm-x86/config.h
index cb7b2e4..028b696 100644
--- a/xen/include/asm-x86/config.h
+++ b/xen/include/asm-x86/config.h
@@ -265,6 +265,7 @@ extern unsigned char boot_edid_info[128];
     (COMPAT_L2_PAGETABLE_LAST_XEN_SLOT - COMPAT_L2_PAGETABLE_FIRST_XEN_SLOT(d) + 1)
 
 #define COMPAT_LEGACY_MAX_VCPUS XEN_LEGACY_MAX_VCPUS
+#define COMPAT_HAVE_PV_GUEST_ENTRY XEN_HAVE_PV_GUEST_ENTRY
 
 #endif
 
diff --git a/xen/include/public/arch-x86/xen.h b/xen/include/public/arch-x86/xen.h
index b7f6a51..7ae8c90 100644
--- a/xen/include/public/arch-x86/xen.h
+++ b/xen/include/public/arch-x86/xen.h
@@ -70,6 +70,8 @@ typedef unsigned long xen_pfn_t;
 #define PRI_xen_pfn "lx"
 #endif
 
+#define XEN_HAVE_PV_GUEST_ENTRY 1
+
 /*
  * `incontents 200 segdesc Segment Descriptor Tables
  */
diff --git a/xen/include/public/xen.h b/xen/include/public/xen.h
index 3cab74f..2414e7e 100644
--- a/xen/include/public/xen.h
+++ b/xen/include/public/xen.h
@@ -716,7 +716,7 @@ typedef struct shared_info shared_info_t;
  * 32-bit and runs under a 64-bit hypervisor should _NOT_ use two of the
  * pages preceding pt_base and mark them as reserved/unused.
  */
-
+#ifdef XEN_HAVE_PV_GUEST_ENTRY
 #define MAX_GUEST_CMDLINE 1024
 struct start_info {
     /* THE FOLLOWING ARE FILLED IN BOTH ON INITIAL BOOT AND ON RESUME.    */
@@ -756,6 +756,7 @@ typedef struct start_info start_info_t;
 #define console_mfn    console.domU.mfn
 #define console_evtchn console.domU.evtchn
 #endif
+#endif /* XEN_HAVE_PV_GUEST_ENTRY */
 
 /* These flags are passed in the 'flags' field of start_info_t. */
 #define SIF_PRIVILEGED    (1<<0)  /* Is the domain privileged? */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:47:18 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:47:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzO9-0002pA-IF; Wed, 21 Aug 2013 03:47:17 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzO8-0002ou-6s
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:47:16 +0000
Received: from [85.158.137.68:38438] by server-16.bemta-3.messagelabs.com id
	E2/4E-30005-34834125; Wed, 21 Aug 2013 03:47:15 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-31.messagelabs.com!1377056833!2877287!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15425 invoked from network); 21 Aug 2013 03:47:14 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-2.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:47:14 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzO5-0004Ei-0o
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:47:13 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzO4-0004dw-VX
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:47:12 +0000
Date: Wed, 21 Aug 2013 03:47:12 +0000
Message-Id: <E1VBzO4-0004dw-VX@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen: arm: include public/xen.h in
	foreign interface checking
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit f07cb646ff013b631a6efb53bb0e38ea9b2e7c60
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Fri Jul 19 12:51:09 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:41:01 2013 +0100

    xen: arm: include public/xen.h in foreign interface checking
    
    mkheader.py doesn't cope with
    	struct foo { };
    so add a newline.
    
    Define unsigned long and long to a non-existent type on ARM so as to catch
    their use.
    
    Teach mkheader.py to cope with structs which are ifdef'd. This cannot cope
    with #defines between the #ifdef and the struct definitions, so move
    MAX_GUEST_CMDLINE to be next to its only usage.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/include/xen-foreign/Makefile       |    4 ++--
 tools/include/xen-foreign/mkheader.py    |   14 +++++++++-----
 tools/include/xen-foreign/reference.size |   10 +++++-----
 tools/include/xen-foreign/structs.py     |    2 ++
 xen/include/public/arch-arm.h            |    8 +++++---
 xen/include/public/xen.h                 |    2 +-
 6 files changed, 24 insertions(+), 16 deletions(-)

diff --git a/tools/include/xen-foreign/Makefile b/tools/include/xen-foreign/Makefile
index 8e0be83..06b844c 100644
--- a/tools/include/xen-foreign/Makefile
+++ b/tools/include/xen-foreign/Makefile
@@ -22,10 +22,10 @@ check-headers: checker
 	diff -u reference.size tmp.size
 	rm tmp.size
 
-arm32.h: mkheader.py structs.py $(ROOT)/arch-arm.h
+arm32.h: mkheader.py structs.py $(ROOT)/arch-arm.h $(ROOT)/xen.h
 	$(PYTHON) $< $* $@ $(filter %.h,$^)
 
-arm64.h: mkheader.py structs.py $(ROOT)/arch-arm.h
+arm64.h: mkheader.py structs.py $(ROOT)/arch-arm.h $(ROOT)/xen.h
 	$(PYTHON) $< $* $@ $(filter %.h,$^)
 
 x86_32.h: mkheader.py structs.py $(ROOT)/arch-x86/xen-x86_32.h $(ROOT)/arch-x86/xen.h $(ROOT)/xen.h
diff --git a/tools/include/xen-foreign/mkheader.py b/tools/include/xen-foreign/mkheader.py
index b19292f..0504cb8 100644
--- a/tools/include/xen-foreign/mkheader.py
+++ b/tools/include/xen-foreign/mkheader.py
@@ -18,8 +18,8 @@ footer = {};
 
 #arm
 inttypes["arm32"] = {
-    "unsigned long" : "uint32_t",
-    "long"          : "uint32_t",
+    "unsigned long" : "__danger_unsigned_long_on_arm32",
+    "long"          : "__danger_long_on_arm32",
     "xen_pfn_t"     : "__align8__ uint64_t",
     "xen_ulong_t"   : "__align8__ uint64_t",
     "uint64_t"      : "__align8__ uint64_t",
@@ -124,6 +124,8 @@ if arch in header:
     output += header[arch];
     output += "\n";
 
+defined = {}
+
 # add defines to output
 for line in re.findall("#define[^\n]+", input):
     for define in defines:
@@ -131,6 +133,7 @@ for line in re.findall("#define[^\n]+", input):
         match = re.search(regex, line);
         if None == match:
             continue;
+        defined[define] = 1
         if define.upper()[0] == define[0]:
             replace = define + "_" + arch.upper();
         else:
@@ -156,12 +159,13 @@ for union in unions:
 
 # add structs to output
 for struct in structs:
-    regex = "struct\s+%s\s*\{(.*?)\n\};" % struct;
+    regex = "(?:#ifdef ([A-Z_]+))?\nstruct\s+%s\s*\{(.*?)\n\};" % struct;
     match = re.search(regex, input, re.S)
-    if None == match:
+    if None == match or \
+           (match.group(1) is not None and match.group(1) not in defined):
         output += "#define %s_has_no_%s 1\n" % (arch, struct);
     else:
-        output += "struct %s_%s {%s\n};\n" % (struct, arch, match.group(1));
+        output += "struct %s_%s {%s\n};\n" % (struct, arch, match.group(2));
         output += "typedef struct %s_%s %s_%s_t;\n" % (struct, arch, struct, arch);
     output += "\n";
 
diff --git a/tools/include/xen-foreign/reference.size b/tools/include/xen-foreign/reference.size
index de36455..b3347b4 100644
--- a/tools/include/xen-foreign/reference.size
+++ b/tools/include/xen-foreign/reference.size
@@ -6,9 +6,9 @@ trap_info                 |       -       -       8      16
 cpu_user_regs             |       -       -      68     200
 vcpu_guest_core_regs      |     304     304       -       -
 vcpu_guest_context        |     336     336    2800    5168
-arch_vcpu_info            |       -       -      24      16
-vcpu_time_info            |       -       -      32      32
-vcpu_info                 |       -       -      64      64
-arch_shared_info          |       -       -     268     280
-shared_info               |       -       -    2584    3368
+arch_vcpu_info            |       0       0      24      16
+vcpu_time_info            |      32      32      32      32
+vcpu_info                 |      48      48      64      64
+arch_shared_info          |       0       0     268     280
+shared_info               |    1088    1088    2584    3368
 
diff --git a/tools/include/xen-foreign/structs.py b/tools/include/xen-foreign/structs.py
index 0b33a77..476eb85 100644
--- a/tools/include/xen-foreign/structs.py
+++ b/tools/include/xen-foreign/structs.py
@@ -19,6 +19,8 @@ defines = [ "__arm__",
             "__i386__",
             "__x86_64__",
 
+            "XEN_HAVE_PV_GUEST_ENTRY",
+
             # arm
             # None
 
diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h
index e9842b8..5d359af 100644
--- a/xen/include/public/arch-arm.h
+++ b/xen/include/public/arch-arm.h
@@ -257,14 +257,16 @@ struct vcpu_guest_context {
 typedef struct vcpu_guest_context vcpu_guest_context_t;
 DEFINE_XEN_GUEST_HANDLE(vcpu_guest_context_t);
 
-struct arch_vcpu_info { };
+struct arch_vcpu_info {
+};
 typedef struct arch_vcpu_info arch_vcpu_info_t;
 
-struct arch_shared_info { };
+struct arch_shared_info {
+};
 typedef struct arch_shared_info arch_shared_info_t;
 typedef uint64_t xen_callback_t;
 
-#endif /* ifndef __ASSEMBLY __ */
+#endif
 
 /* PSR bits (CPSR, SPSR)*/
 
diff --git a/xen/include/public/xen.h b/xen/include/public/xen.h
index 2414e7e..037540d 100644
--- a/xen/include/public/xen.h
+++ b/xen/include/public/xen.h
@@ -717,7 +717,6 @@ typedef struct shared_info shared_info_t;
  * pages preceding pt_base and mark them as reserved/unused.
  */
 #ifdef XEN_HAVE_PV_GUEST_ENTRY
-#define MAX_GUEST_CMDLINE 1024
 struct start_info {
     /* THE FOLLOWING ARE FILLED IN BOTH ON INITIAL BOOT AND ON RESUME.    */
     char magic[32];             /* "xen-<version>-<platform>".            */
@@ -744,6 +743,7 @@ struct start_info {
                                 /* (PFN of pre-loaded module if           */
                                 /*  SIF_MOD_START_PFN set in flags).      */
     unsigned long mod_len;      /* Size (bytes) of pre-loaded module.     */
+#define MAX_GUEST_CMDLINE 1024
     int8_t cmd_line[MAX_GUEST_CMDLINE];
     /* The pfn range here covers both page table and p->m table frames.   */
     unsigned long first_p2m_pfn;/* 1st pfn forming initial P->M table.    */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:47:18 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:47:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzO9-0002pA-IF; Wed, 21 Aug 2013 03:47:17 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzO8-0002ou-6s
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:47:16 +0000
Received: from [85.158.137.68:38438] by server-16.bemta-3.messagelabs.com id
	E2/4E-30005-34834125; Wed, 21 Aug 2013 03:47:15 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-31.messagelabs.com!1377056833!2877287!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15425 invoked from network); 21 Aug 2013 03:47:14 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-2.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:47:14 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzO5-0004Ei-0o
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:47:13 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzO4-0004dw-VX
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:47:12 +0000
Date: Wed, 21 Aug 2013 03:47:12 +0000
Message-Id: <E1VBzO4-0004dw-VX@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen: arm: include public/xen.h in
	foreign interface checking
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit f07cb646ff013b631a6efb53bb0e38ea9b2e7c60
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Fri Jul 19 12:51:09 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:41:01 2013 +0100

    xen: arm: include public/xen.h in foreign interface checking
    
    mkheader.py doesn't cope with
    	struct foo { };
    so add a newline.
    
    Define unsigned long and long to a non-existent type on ARM so as to catch
    their use.
    
    Teach mkheader.py to cope with structs which are ifdef'd. This cannot cope
    with #defines between the #ifdef and the struct definitions, so move
    MAX_GUEST_CMDLINE to be next to its only usage.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/include/xen-foreign/Makefile       |    4 ++--
 tools/include/xen-foreign/mkheader.py    |   14 +++++++++-----
 tools/include/xen-foreign/reference.size |   10 +++++-----
 tools/include/xen-foreign/structs.py     |    2 ++
 xen/include/public/arch-arm.h            |    8 +++++---
 xen/include/public/xen.h                 |    2 +-
 6 files changed, 24 insertions(+), 16 deletions(-)

diff --git a/tools/include/xen-foreign/Makefile b/tools/include/xen-foreign/Makefile
index 8e0be83..06b844c 100644
--- a/tools/include/xen-foreign/Makefile
+++ b/tools/include/xen-foreign/Makefile
@@ -22,10 +22,10 @@ check-headers: checker
 	diff -u reference.size tmp.size
 	rm tmp.size
 
-arm32.h: mkheader.py structs.py $(ROOT)/arch-arm.h
+arm32.h: mkheader.py structs.py $(ROOT)/arch-arm.h $(ROOT)/xen.h
 	$(PYTHON) $< $* $@ $(filter %.h,$^)
 
-arm64.h: mkheader.py structs.py $(ROOT)/arch-arm.h
+arm64.h: mkheader.py structs.py $(ROOT)/arch-arm.h $(ROOT)/xen.h
 	$(PYTHON) $< $* $@ $(filter %.h,$^)
 
 x86_32.h: mkheader.py structs.py $(ROOT)/arch-x86/xen-x86_32.h $(ROOT)/arch-x86/xen.h $(ROOT)/xen.h
diff --git a/tools/include/xen-foreign/mkheader.py b/tools/include/xen-foreign/mkheader.py
index b19292f..0504cb8 100644
--- a/tools/include/xen-foreign/mkheader.py
+++ b/tools/include/xen-foreign/mkheader.py
@@ -18,8 +18,8 @@ footer = {};
 
 #arm
 inttypes["arm32"] = {
-    "unsigned long" : "uint32_t",
-    "long"          : "uint32_t",
+    "unsigned long" : "__danger_unsigned_long_on_arm32",
+    "long"          : "__danger_long_on_arm32",
     "xen_pfn_t"     : "__align8__ uint64_t",
     "xen_ulong_t"   : "__align8__ uint64_t",
     "uint64_t"      : "__align8__ uint64_t",
@@ -124,6 +124,8 @@ if arch in header:
     output += header[arch];
     output += "\n";
 
+defined = {}
+
 # add defines to output
 for line in re.findall("#define[^\n]+", input):
     for define in defines:
@@ -131,6 +133,7 @@ for line in re.findall("#define[^\n]+", input):
         match = re.search(regex, line);
         if None == match:
             continue;
+        defined[define] = 1
         if define.upper()[0] == define[0]:
             replace = define + "_" + arch.upper();
         else:
@@ -156,12 +159,13 @@ for union in unions:
 
 # add structs to output
 for struct in structs:
-    regex = "struct\s+%s\s*\{(.*?)\n\};" % struct;
+    regex = "(?:#ifdef ([A-Z_]+))?\nstruct\s+%s\s*\{(.*?)\n\};" % struct;
     match = re.search(regex, input, re.S)
-    if None == match:
+    if None == match or \
+           (match.group(1) is not None and match.group(1) not in defined):
         output += "#define %s_has_no_%s 1\n" % (arch, struct);
     else:
-        output += "struct %s_%s {%s\n};\n" % (struct, arch, match.group(1));
+        output += "struct %s_%s {%s\n};\n" % (struct, arch, match.group(2));
         output += "typedef struct %s_%s %s_%s_t;\n" % (struct, arch, struct, arch);
     output += "\n";
 
diff --git a/tools/include/xen-foreign/reference.size b/tools/include/xen-foreign/reference.size
index de36455..b3347b4 100644
--- a/tools/include/xen-foreign/reference.size
+++ b/tools/include/xen-foreign/reference.size
@@ -6,9 +6,9 @@ trap_info                 |       -       -       8      16
 cpu_user_regs             |       -       -      68     200
 vcpu_guest_core_regs      |     304     304       -       -
 vcpu_guest_context        |     336     336    2800    5168
-arch_vcpu_info            |       -       -      24      16
-vcpu_time_info            |       -       -      32      32
-vcpu_info                 |       -       -      64      64
-arch_shared_info          |       -       -     268     280
-shared_info               |       -       -    2584    3368
+arch_vcpu_info            |       0       0      24      16
+vcpu_time_info            |      32      32      32      32
+vcpu_info                 |      48      48      64      64
+arch_shared_info          |       0       0     268     280
+shared_info               |    1088    1088    2584    3368
 
diff --git a/tools/include/xen-foreign/structs.py b/tools/include/xen-foreign/structs.py
index 0b33a77..476eb85 100644
--- a/tools/include/xen-foreign/structs.py
+++ b/tools/include/xen-foreign/structs.py
@@ -19,6 +19,8 @@ defines = [ "__arm__",
             "__i386__",
             "__x86_64__",
 
+            "XEN_HAVE_PV_GUEST_ENTRY",
+
             # arm
             # None
 
diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h
index e9842b8..5d359af 100644
--- a/xen/include/public/arch-arm.h
+++ b/xen/include/public/arch-arm.h
@@ -257,14 +257,16 @@ struct vcpu_guest_context {
 typedef struct vcpu_guest_context vcpu_guest_context_t;
 DEFINE_XEN_GUEST_HANDLE(vcpu_guest_context_t);
 
-struct arch_vcpu_info { };
+struct arch_vcpu_info {
+};
 typedef struct arch_vcpu_info arch_vcpu_info_t;
 
-struct arch_shared_info { };
+struct arch_shared_info {
+};
 typedef struct arch_shared_info arch_shared_info_t;
 typedef uint64_t xen_callback_t;
 
-#endif /* ifndef __ASSEMBLY __ */
+#endif
 
 /* PSR bits (CPSR, SPSR)*/
 
diff --git a/xen/include/public/xen.h b/xen/include/public/xen.h
index 2414e7e..037540d 100644
--- a/xen/include/public/xen.h
+++ b/xen/include/public/xen.h
@@ -717,7 +717,6 @@ typedef struct shared_info shared_info_t;
  * pages preceding pt_base and mark them as reserved/unused.
  */
 #ifdef XEN_HAVE_PV_GUEST_ENTRY
-#define MAX_GUEST_CMDLINE 1024
 struct start_info {
     /* THE FOLLOWING ARE FILLED IN BOTH ON INITIAL BOOT AND ON RESUME.    */
     char magic[32];             /* "xen-<version>-<platform>".            */
@@ -744,6 +743,7 @@ struct start_info {
                                 /* (PFN of pre-loaded module if           */
                                 /*  SIF_MOD_START_PFN set in flags).      */
     unsigned long mod_len;      /* Size (bytes) of pre-loaded module.     */
+#define MAX_GUEST_CMDLINE 1024
     int8_t cmd_line[MAX_GUEST_CMDLINE];
     /* The pfn range here covers both page table and p->m table frames.   */
     unsigned long first_p2m_pfn;/* 1st pfn forming initial P->M table.    */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:47:27 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:47:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzOI-0002qc-LN; Wed, 21 Aug 2013 03:47:26 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzOH-0002qN-QW
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:47:26 +0000
Received: from [85.158.143.35:52365] by server-3.bemta-4.messagelabs.com id
	FA/3F-08835-D4834125; Wed, 21 Aug 2013 03:47:25 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1377056843!3413239!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4658 invoked from network); 21 Aug 2013 03:47:24 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-2.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:47:24 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzOF-0004Eo-61
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:47:23 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzOF-0004eI-4a
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:47:23 +0000
Date: Wed, 21 Aug 2013 03:47:23 +0000
Message-Id: <E1VBzOF-0004eI-4a@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] tools: foreign: add checks for
	compatible architectures
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit acf2d315202587e81bb7f3b6841dcfce2814415e
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Fri Jul 19 12:51:10 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:41:25 2013 +0100

    tools: foreign: add checks for compatible architectures
    
    That is architectures whose struct layout must be identical. Use this for arm32
    and arm64.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/include/xen-foreign/mkchecker.py |   21 +++++++++++++++++++--
 tools/include/xen-foreign/structs.py   |    5 +++++
 2 files changed, 24 insertions(+), 2 deletions(-)

diff --git a/tools/include/xen-foreign/mkchecker.py b/tools/include/xen-foreign/mkchecker.py
index 66c17b1..fdad869 100644
--- a/tools/include/xen-foreign/mkchecker.py
+++ b/tools/include/xen-foreign/mkchecker.py
@@ -1,7 +1,7 @@
 #!/usr/bin/python
 
 import sys;
-from structs import structs;
+from structs import structs, compat_arches;
 
 # command line arguments
 outfile = sys.argv[1];
@@ -37,10 +37,27 @@ for struct in structs:
     f.write('\tprintf("%%-25s |", "%s");\n' % struct);
     for a in archs:
         s = struct + "_" + a;
+        if compat_arches.has_key(a):
+            compat = compat_arches[a]
+            c = struct + "_" + compat;
+        else:
+            compat = None
         f.write('#ifdef %s_has_no_%s\n' % (a, struct));
-        f.write('\tprintf("%8s", "-");\n');
+        f.write('\tprintf("%8s",\n');
+        if compat:
+            f.write('# ifndef %s_has_no_%s\n' % (compat, struct));
+            f.write('\t\t"!"\n');
+            f.write('# else\n')
+            f.write('\t\t"-"\n');
+            f.write('# endif\n')
+        else:
+            f.write('\t\t"-"\n');
+        f.write('\t);\n')
         f.write("#else\n");
         f.write('\tprintf("%%8zd", sizeof(struct %s));\n' % s);
+        if compat:
+            f.write('\tif (sizeof(struct %s) != sizeof(struct %s))\n' % (s, c))
+            f.write('\t\tprintf("!");\n')
         f.write("#endif\n");
 
     f.write('\tprintf("\\n");\n\n');
diff --git a/tools/include/xen-foreign/structs.py b/tools/include/xen-foreign/structs.py
index 476eb85..3d9f2fe 100644
--- a/tools/include/xen-foreign/structs.py
+++ b/tools/include/xen-foreign/structs.py
@@ -58,3 +58,8 @@ defines = [ "__arm__",
             "XEN_LEGACY_MAX_VCPUS",
             "MAX_GUEST_CMDLINE" ];
 
+# Architectures which must be compatible, i.e. identical
+compat_arches = {
+    'arm32': 'arm64',
+    'arm64': 'arm32',
+}
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:47:27 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:47:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzOI-0002qc-LN; Wed, 21 Aug 2013 03:47:26 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzOH-0002qN-QW
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:47:26 +0000
Received: from [85.158.143.35:52365] by server-3.bemta-4.messagelabs.com id
	FA/3F-08835-D4834125; Wed, 21 Aug 2013 03:47:25 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1377056843!3413239!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4658 invoked from network); 21 Aug 2013 03:47:24 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-2.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:47:24 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzOF-0004Eo-61
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:47:23 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzOF-0004eI-4a
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:47:23 +0000
Date: Wed, 21 Aug 2013 03:47:23 +0000
Message-Id: <E1VBzOF-0004eI-4a@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] tools: foreign: add checks for
	compatible architectures
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit acf2d315202587e81bb7f3b6841dcfce2814415e
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Fri Jul 19 12:51:10 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:41:25 2013 +0100

    tools: foreign: add checks for compatible architectures
    
    That is architectures whose struct layout must be identical. Use this for arm32
    and arm64.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 tools/include/xen-foreign/mkchecker.py |   21 +++++++++++++++++++--
 tools/include/xen-foreign/structs.py   |    5 +++++
 2 files changed, 24 insertions(+), 2 deletions(-)

diff --git a/tools/include/xen-foreign/mkchecker.py b/tools/include/xen-foreign/mkchecker.py
index 66c17b1..fdad869 100644
--- a/tools/include/xen-foreign/mkchecker.py
+++ b/tools/include/xen-foreign/mkchecker.py
@@ -1,7 +1,7 @@
 #!/usr/bin/python
 
 import sys;
-from structs import structs;
+from structs import structs, compat_arches;
 
 # command line arguments
 outfile = sys.argv[1];
@@ -37,10 +37,27 @@ for struct in structs:
     f.write('\tprintf("%%-25s |", "%s");\n' % struct);
     for a in archs:
         s = struct + "_" + a;
+        if compat_arches.has_key(a):
+            compat = compat_arches[a]
+            c = struct + "_" + compat;
+        else:
+            compat = None
         f.write('#ifdef %s_has_no_%s\n' % (a, struct));
-        f.write('\tprintf("%8s", "-");\n');
+        f.write('\tprintf("%8s",\n');
+        if compat:
+            f.write('# ifndef %s_has_no_%s\n' % (compat, struct));
+            f.write('\t\t"!"\n');
+            f.write('# else\n')
+            f.write('\t\t"-"\n');
+            f.write('# endif\n')
+        else:
+            f.write('\t\t"-"\n');
+        f.write('\t);\n')
         f.write("#else\n");
         f.write('\tprintf("%%8zd", sizeof(struct %s));\n' % s);
+        if compat:
+            f.write('\tif (sizeof(struct %s) != sizeof(struct %s))\n' % (s, c))
+            f.write('\t\tprintf("!");\n')
         f.write("#endif\n");
 
     f.write('\tprintf("\\n");\n\n');
diff --git a/tools/include/xen-foreign/structs.py b/tools/include/xen-foreign/structs.py
index 476eb85..3d9f2fe 100644
--- a/tools/include/xen-foreign/structs.py
+++ b/tools/include/xen-foreign/structs.py
@@ -58,3 +58,8 @@ defines = [ "__arm__",
             "XEN_LEGACY_MAX_VCPUS",
             "MAX_GUEST_CMDLINE" ];
 
+# Architectures which must be compatible, i.e. identical
+compat_arches = {
+    'arm32': 'arm64',
+    'arm64': 'arm32',
+}
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:47:38 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:47:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzOT-0002sX-OD; Wed, 21 Aug 2013 03:47:37 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzOS-0002sB-HG
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:47:36 +0000
Received: from [85.158.137.68:12624] by server-6.bemta-3.messagelabs.com id
	F6/45-32441-75834125; Wed, 21 Aug 2013 03:47:35 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-31.messagelabs.com!1377056853!2719983!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13566 invoked from network); 21 Aug 2013 03:47:34 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-6.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:47:34 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzOP-0004Ew-BR
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:47:33 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzOP-0004eg-9U
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:47:33 +0000
Date: Wed, 21 Aug 2013 03:47:33 +0000
Message-Id: <E1VBzOP-0004eg-9U@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen: remove evtchn_upcall_mask from
	interface on ARM
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 33daac3995d49d07fec245ea22f2c093fb11bec2
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Fri Jul 19 12:51:11 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:41:30 2013 +0100

    xen: remove evtchn_upcall_mask from interface on ARM
    
    On ARM event-channel upcalls are masked using the hardware's interrupt mask
    bit and not by a software bit.
    
    Leaving this field present in the interface has caused some confusion already
    and is liable to mean it gets inadvertently used in the future. So arrange for
    this field to be turned into a padding field on ARM by introducing a
    XEN_HAVE_PV_UPCALL_MASK define.
    
    This bit is also unused for x86 PV-on-HVM guests, but we can't realistically
    distinguish those from x86 PV guests in the headers.
    
    Add a per-arch vcpu_event_delivery_is_enabled function to replace an open
    coded use of evtchn_upcall_mask in common code (in a debug keyhandler).  The
    existing local_event_delivery_is_enabled, which operates only on current, was
    unimplemented on ARM and unused on x86, so remove it.
    
    ifdef the use of evtchn_upcall_mask when setting up a new vcpu info page.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 xen/common/domain.c               |    2 ++
 xen/common/keyhandler.c           |    2 +-
 xen/include/asm-arm/event.h       |   13 +++++++------
 xen/include/asm-x86/config.h      |    1 +
 xen/include/asm-x86/event.h       |   10 +++++-----
 xen/include/public/arch-x86/xen.h |    2 ++
 xen/include/public/xen.h          |    4 ++++
 7 files changed, 22 insertions(+), 12 deletions(-)

diff --git a/xen/common/domain.c b/xen/common/domain.c
index 6c264a5..9390a22 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -921,7 +921,9 @@ int map_vcpu_info(struct vcpu *v, unsigned long gfn, unsigned offset)
     if ( v->vcpu_info == &dummy_vcpu_info )
     {
         memset(new_info, 0, sizeof(*new_info));
+#ifdef XEN_HAVE_PV_UPCALL_MASK
         __vcpu_info(v, new_info, evtchn_upcall_mask) = 1;
+#endif
     }
     else
     {
diff --git a/xen/common/keyhandler.c b/xen/common/keyhandler.c
index e5c15d6..b9ad1b5 100644
--- a/xen/common/keyhandler.c
+++ b/xen/common/keyhandler.c
@@ -293,7 +293,7 @@ static void dump_domains(unsigned char key)
                    v->vcpu_id, v->processor,
                    v->is_running ? 'T':'F', v->poll_evtchn,
                    vcpu_info(v, evtchn_upcall_pending),
-                   vcpu_info(v, evtchn_upcall_mask));
+                   !vcpu_event_delivery_is_enabled(v));
             cpuset_print(tmpstr, sizeof(tmpstr), v->vcpu_dirty_cpumask);
             printk("dirty_cpus=%s ", tmpstr);
             cpuset_print(tmpstr, sizeof(tmpstr), v->cpu_affinity);
diff --git a/xen/include/asm-arm/event.h b/xen/include/asm-arm/event.h
index ed05901..04d854f 100644
--- a/xen/include/asm-arm/event.h
+++ b/xen/include/asm-arm/event.h
@@ -7,6 +7,12 @@
 void vcpu_kick(struct vcpu *v);
 void vcpu_mark_events_pending(struct vcpu *v);
 
+static inline int vcpu_event_delivery_is_enabled(struct vcpu *v)
+{
+    struct cpu_user_regs *regs = &v->arch.cpu_info->guest_cpu_user_regs;
+    return !(regs->cpsr & PSR_IRQ_MASK);
+}
+
 static inline int local_events_need_delivery_nomask(void)
 {
     struct pending_irq *p = irq_to_pending(current, VGIC_IRQ_EVTCHN_CALLBACK);
@@ -31,16 +37,11 @@ static inline int local_events_need_delivery_nomask(void)
 
 static inline int local_events_need_delivery(void)
 {
-    struct cpu_user_regs *regs = guest_cpu_user_regs();
-
-    /* guest IRQs are masked */
-    if ( (regs->cpsr & PSR_IRQ_MASK) )
+    if ( !vcpu_event_delivery_is_enabled(current) )
         return 0;
     return local_events_need_delivery_nomask();
 }
 
-int local_event_delivery_is_enabled(void);
-
 static inline void local_event_delivery_enable(void)
 {
     struct cpu_user_regs *regs = guest_cpu_user_regs();
diff --git a/xen/include/asm-x86/config.h b/xen/include/asm-x86/config.h
index 028b696..f387cd6 100644
--- a/xen/include/asm-x86/config.h
+++ b/xen/include/asm-x86/config.h
@@ -266,6 +266,7 @@ extern unsigned char boot_edid_info[128];
 
 #define COMPAT_LEGACY_MAX_VCPUS XEN_LEGACY_MAX_VCPUS
 #define COMPAT_HAVE_PV_GUEST_ENTRY XEN_HAVE_PV_GUEST_ENTRY
+#define COMPAT_HAVE_PV_UPCALL_MASK XEN_HAVE_PV_UPCALL_MASK
 
 #endif
 
diff --git a/xen/include/asm-x86/event.h b/xen/include/asm-x86/event.h
index 06057c7..7edeb5b 100644
--- a/xen/include/asm-x86/event.h
+++ b/xen/include/asm-x86/event.h
@@ -14,6 +14,11 @@
 void vcpu_kick(struct vcpu *v);
 void vcpu_mark_events_pending(struct vcpu *v);
 
+static inline int vcpu_event_delivery_is_enabled(struct vcpu *v)
+{
+    return !vcpu_info(v, evtchn_upcall_mask);
+}
+
 int hvm_local_events_need_delivery(struct vcpu *v);
 static inline int local_events_need_delivery(void)
 {
@@ -23,11 +28,6 @@ static inline int local_events_need_delivery(void)
              !vcpu_info(v, evtchn_upcall_mask)));
 }
 
-static inline int local_event_delivery_is_enabled(void)
-{
-    return !vcpu_info(current, evtchn_upcall_mask);
-}
-
 static inline void local_event_delivery_disable(void)
 {
     vcpu_info(current, evtchn_upcall_mask) = 1;
diff --git a/xen/include/public/arch-x86/xen.h b/xen/include/public/arch-x86/xen.h
index 7ae8c90..908ef87 100644
--- a/xen/include/public/arch-x86/xen.h
+++ b/xen/include/public/arch-x86/xen.h
@@ -72,6 +72,8 @@ typedef unsigned long xen_pfn_t;
 
 #define XEN_HAVE_PV_GUEST_ENTRY 1
 
+#define XEN_HAVE_PV_UPCALL_MASK 1
+
 /*
  * `incontents 200 segdesc Segment Descriptor Tables
  */
diff --git a/xen/include/public/xen.h b/xen/include/public/xen.h
index 037540d..2a40970 100644
--- a/xen/include/public/xen.h
+++ b/xen/include/public/xen.h
@@ -612,7 +612,11 @@ struct vcpu_info {
      * to block: this avoids wakeup-waiting races.
      */
     uint8_t evtchn_upcall_pending;
+#ifdef XEN_HAVE_PV_UPCALL_MASK
     uint8_t evtchn_upcall_mask;
+#else /* XEN_HAVE_PV_UPCALL_MASK */
+    uint8_t pad0;
+#endif /* XEN_HAVE_PV_UPCALL_MASK */
     xen_ulong_t evtchn_pending_sel;
     struct arch_vcpu_info arch;
     struct vcpu_time_info time;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:47:38 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:47:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzOT-0002sX-OD; Wed, 21 Aug 2013 03:47:37 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzOS-0002sB-HG
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:47:36 +0000
Received: from [85.158.137.68:12624] by server-6.bemta-3.messagelabs.com id
	F6/45-32441-75834125; Wed, 21 Aug 2013 03:47:35 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-31.messagelabs.com!1377056853!2719983!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13566 invoked from network); 21 Aug 2013 03:47:34 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-6.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:47:34 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzOP-0004Ew-BR
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:47:33 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzOP-0004eg-9U
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:47:33 +0000
Date: Wed, 21 Aug 2013 03:47:33 +0000
Message-Id: <E1VBzOP-0004eg-9U@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen: remove evtchn_upcall_mask from
	interface on ARM
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 33daac3995d49d07fec245ea22f2c093fb11bec2
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Fri Jul 19 12:51:11 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:41:30 2013 +0100

    xen: remove evtchn_upcall_mask from interface on ARM
    
    On ARM event-channel upcalls are masked using the hardware's interrupt mask
    bit and not by a software bit.
    
    Leaving this field present in the interface has caused some confusion already
    and is liable to mean it gets inadvertently used in the future. So arrange for
    this field to be turned into a padding field on ARM by introducing a
    XEN_HAVE_PV_UPCALL_MASK define.
    
    This bit is also unused for x86 PV-on-HVM guests, but we can't realistically
    distinguish those from x86 PV guests in the headers.
    
    Add a per-arch vcpu_event_delivery_is_enabled function to replace an open
    coded use of evtchn_upcall_mask in common code (in a debug keyhandler).  The
    existing local_event_delivery_is_enabled, which operates only on current, was
    unimplemented on ARM and unused on x86, so remove it.
    
    ifdef the use of evtchn_upcall_mask when setting up a new vcpu info page.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 xen/common/domain.c               |    2 ++
 xen/common/keyhandler.c           |    2 +-
 xen/include/asm-arm/event.h       |   13 +++++++------
 xen/include/asm-x86/config.h      |    1 +
 xen/include/asm-x86/event.h       |   10 +++++-----
 xen/include/public/arch-x86/xen.h |    2 ++
 xen/include/public/xen.h          |    4 ++++
 7 files changed, 22 insertions(+), 12 deletions(-)

diff --git a/xen/common/domain.c b/xen/common/domain.c
index 6c264a5..9390a22 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -921,7 +921,9 @@ int map_vcpu_info(struct vcpu *v, unsigned long gfn, unsigned offset)
     if ( v->vcpu_info == &dummy_vcpu_info )
     {
         memset(new_info, 0, sizeof(*new_info));
+#ifdef XEN_HAVE_PV_UPCALL_MASK
         __vcpu_info(v, new_info, evtchn_upcall_mask) = 1;
+#endif
     }
     else
     {
diff --git a/xen/common/keyhandler.c b/xen/common/keyhandler.c
index e5c15d6..b9ad1b5 100644
--- a/xen/common/keyhandler.c
+++ b/xen/common/keyhandler.c
@@ -293,7 +293,7 @@ static void dump_domains(unsigned char key)
                    v->vcpu_id, v->processor,
                    v->is_running ? 'T':'F', v->poll_evtchn,
                    vcpu_info(v, evtchn_upcall_pending),
-                   vcpu_info(v, evtchn_upcall_mask));
+                   !vcpu_event_delivery_is_enabled(v));
             cpuset_print(tmpstr, sizeof(tmpstr), v->vcpu_dirty_cpumask);
             printk("dirty_cpus=%s ", tmpstr);
             cpuset_print(tmpstr, sizeof(tmpstr), v->cpu_affinity);
diff --git a/xen/include/asm-arm/event.h b/xen/include/asm-arm/event.h
index ed05901..04d854f 100644
--- a/xen/include/asm-arm/event.h
+++ b/xen/include/asm-arm/event.h
@@ -7,6 +7,12 @@
 void vcpu_kick(struct vcpu *v);
 void vcpu_mark_events_pending(struct vcpu *v);
 
+static inline int vcpu_event_delivery_is_enabled(struct vcpu *v)
+{
+    struct cpu_user_regs *regs = &v->arch.cpu_info->guest_cpu_user_regs;
+    return !(regs->cpsr & PSR_IRQ_MASK);
+}
+
 static inline int local_events_need_delivery_nomask(void)
 {
     struct pending_irq *p = irq_to_pending(current, VGIC_IRQ_EVTCHN_CALLBACK);
@@ -31,16 +37,11 @@ static inline int local_events_need_delivery_nomask(void)
 
 static inline int local_events_need_delivery(void)
 {
-    struct cpu_user_regs *regs = guest_cpu_user_regs();
-
-    /* guest IRQs are masked */
-    if ( (regs->cpsr & PSR_IRQ_MASK) )
+    if ( !vcpu_event_delivery_is_enabled(current) )
         return 0;
     return local_events_need_delivery_nomask();
 }
 
-int local_event_delivery_is_enabled(void);
-
 static inline void local_event_delivery_enable(void)
 {
     struct cpu_user_regs *regs = guest_cpu_user_regs();
diff --git a/xen/include/asm-x86/config.h b/xen/include/asm-x86/config.h
index 028b696..f387cd6 100644
--- a/xen/include/asm-x86/config.h
+++ b/xen/include/asm-x86/config.h
@@ -266,6 +266,7 @@ extern unsigned char boot_edid_info[128];
 
 #define COMPAT_LEGACY_MAX_VCPUS XEN_LEGACY_MAX_VCPUS
 #define COMPAT_HAVE_PV_GUEST_ENTRY XEN_HAVE_PV_GUEST_ENTRY
+#define COMPAT_HAVE_PV_UPCALL_MASK XEN_HAVE_PV_UPCALL_MASK
 
 #endif
 
diff --git a/xen/include/asm-x86/event.h b/xen/include/asm-x86/event.h
index 06057c7..7edeb5b 100644
--- a/xen/include/asm-x86/event.h
+++ b/xen/include/asm-x86/event.h
@@ -14,6 +14,11 @@
 void vcpu_kick(struct vcpu *v);
 void vcpu_mark_events_pending(struct vcpu *v);
 
+static inline int vcpu_event_delivery_is_enabled(struct vcpu *v)
+{
+    return !vcpu_info(v, evtchn_upcall_mask);
+}
+
 int hvm_local_events_need_delivery(struct vcpu *v);
 static inline int local_events_need_delivery(void)
 {
@@ -23,11 +28,6 @@ static inline int local_events_need_delivery(void)
              !vcpu_info(v, evtchn_upcall_mask)));
 }
 
-static inline int local_event_delivery_is_enabled(void)
-{
-    return !vcpu_info(current, evtchn_upcall_mask);
-}
-
 static inline void local_event_delivery_disable(void)
 {
     vcpu_info(current, evtchn_upcall_mask) = 1;
diff --git a/xen/include/public/arch-x86/xen.h b/xen/include/public/arch-x86/xen.h
index 7ae8c90..908ef87 100644
--- a/xen/include/public/arch-x86/xen.h
+++ b/xen/include/public/arch-x86/xen.h
@@ -72,6 +72,8 @@ typedef unsigned long xen_pfn_t;
 
 #define XEN_HAVE_PV_GUEST_ENTRY 1
 
+#define XEN_HAVE_PV_UPCALL_MASK 1
+
 /*
  * `incontents 200 segdesc Segment Descriptor Tables
  */
diff --git a/xen/include/public/xen.h b/xen/include/public/xen.h
index 037540d..2a40970 100644
--- a/xen/include/public/xen.h
+++ b/xen/include/public/xen.h
@@ -612,7 +612,11 @@ struct vcpu_info {
      * to block: this avoids wakeup-waiting races.
      */
     uint8_t evtchn_upcall_pending;
+#ifdef XEN_HAVE_PV_UPCALL_MASK
     uint8_t evtchn_upcall_mask;
+#else /* XEN_HAVE_PV_UPCALL_MASK */
+    uint8_t pad0;
+#endif /* XEN_HAVE_PV_UPCALL_MASK */
     xen_ulong_t evtchn_pending_sel;
     struct arch_vcpu_info arch;
     struct vcpu_time_info time;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:47:48 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:47:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzOd-0002uf-UB; Wed, 21 Aug 2013 03:47:47 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzOc-0002uJ-83
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:47:46 +0000
Received: from [85.158.139.211:50733] by server-2.bemta-5.messagelabs.com id
	31/67-26841-16834125; Wed, 21 Aug 2013 03:47:45 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-206.messagelabs.com!1377056863!3483151!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4180 invoked from network); 21 Aug 2013 03:47:44 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-10.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:47:44 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzOZ-0004F2-Fj
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:47:43 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzOZ-0004fb-Eg
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:47:43 +0000
Date: Wed, 21 Aug 2013 03:47:43 +0000
Message-Id: <E1VBzOZ-0004fb-Eg@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen: arm: reduce the size of the xen
	heap to max 1/8 RAM size
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 08693f5948d88f70075a5c351f748f7668833efd
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Tue Jul 23 18:12:26 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:42:30 2013 +0100

    xen: arm: reduce the size of the xen heap to max 1/8 RAM size
    
    When building a 1GB dom0 on a system with 2GB RAM we are running out of domheap
    pages, while there are still plenty of xenheap pages spare.
    
    I would have sworn that when the domheap was exhausted we would fall back to
    allocating xenheap pages but this doesn't appear to be the case. It's possible
    that we have setup something incorrectly on ARM but alloc_domheap_pages pretty
    clearly tries to allocate memory from MEMZONE_XEN+1..zone_hi.
    
    Without the fallback from domheap to xenheap taking 1GB of any system with >1GB
    of RAM for xenheap is excessive so instead set a limit of 1/8 of the total
    amount of RAM. By way of comparison x86_32 used to have a static 12MB xenheap
    (which also included .text etc) and in theory supported up to 16GB RAM, by that
    measure 1/8 is plenty.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Tim Deegan <tim@xen.org>
---
 xen/arch/arm/setup.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 1ec5e38..b184721 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -316,14 +316,14 @@ static void __init setup_mm(unsigned long dtb_paddr, size_t dtb_size)
      *
      *  - must be 32 MiB aligned
      *  - must not include Xen itself or the boot modules
-     *  - must be at most 1 GiB
+     *  - must be at most 1/8 the total RAM in the system
      *  - must be at least 128M
      *
      * We try to allocate the largest xenheap possible within these
      * constraints.
      */
     heap_pages = (ram_size >> PAGE_SHIFT);
-    xenheap_pages = min(1ul << (30 - PAGE_SHIFT), heap_pages);
+    xenheap_pages = max(heap_pages/8, 128UL<<(20-PAGE_SHIFT));
 
     do
     {
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:47:48 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:47:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzOd-0002uf-UB; Wed, 21 Aug 2013 03:47:47 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzOc-0002uJ-83
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:47:46 +0000
Received: from [85.158.139.211:50733] by server-2.bemta-5.messagelabs.com id
	31/67-26841-16834125; Wed, 21 Aug 2013 03:47:45 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-206.messagelabs.com!1377056863!3483151!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4180 invoked from network); 21 Aug 2013 03:47:44 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-10.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:47:44 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzOZ-0004F2-Fj
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:47:43 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzOZ-0004fb-Eg
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:47:43 +0000
Date: Wed, 21 Aug 2013 03:47:43 +0000
Message-Id: <E1VBzOZ-0004fb-Eg@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen: arm: reduce the size of the xen
	heap to max 1/8 RAM size
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 08693f5948d88f70075a5c351f748f7668833efd
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Tue Jul 23 18:12:26 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:42:30 2013 +0100

    xen: arm: reduce the size of the xen heap to max 1/8 RAM size
    
    When building a 1GB dom0 on a system with 2GB RAM we are running out of domheap
    pages, while there are still plenty of xenheap pages spare.
    
    I would have sworn that when the domheap was exhausted we would fall back to
    allocating xenheap pages but this doesn't appear to be the case. It's possible
    that we have setup something incorrectly on ARM but alloc_domheap_pages pretty
    clearly tries to allocate memory from MEMZONE_XEN+1..zone_hi.
    
    Without the fallback from domheap to xenheap taking 1GB of any system with >1GB
    of RAM for xenheap is excessive so instead set a limit of 1/8 of the total
    amount of RAM. By way of comparison x86_32 used to have a static 12MB xenheap
    (which also included .text etc) and in theory supported up to 16GB RAM, by that
    measure 1/8 is plenty.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Tim Deegan <tim@xen.org>
---
 xen/arch/arm/setup.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 1ec5e38..b184721 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -316,14 +316,14 @@ static void __init setup_mm(unsigned long dtb_paddr, size_t dtb_size)
      *
      *  - must be 32 MiB aligned
      *  - must not include Xen itself or the boot modules
-     *  - must be at most 1 GiB
+     *  - must be at most 1/8 the total RAM in the system
      *  - must be at least 128M
      *
      * We try to allocate the largest xenheap possible within these
      * constraints.
      */
     heap_pages = (ram_size >> PAGE_SHIFT);
-    xenheap_pages = min(1ul << (30 - PAGE_SHIFT), heap_pages);
+    xenheap_pages = max(heap_pages/8, 128UL<<(20-PAGE_SHIFT));
 
     do
     {
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:47:58 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:47:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzOo-0002wP-0r; Wed, 21 Aug 2013 03:47:58 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzOm-0002w4-7w
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:47:56 +0000
Received: from [85.158.139.211:57319] by server-10.bemta-5.messagelabs.com id
	C1/00-23973-B6834125; Wed, 21 Aug 2013 03:47:55 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-206.messagelabs.com!1377056873!3485047!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=UPPERCASE_25_50
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2194 invoked from network); 21 Aug 2013 03:47:54 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-12.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:47:54 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzOj-0004FB-KN
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:47:53 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzOj-0004fx-JE
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:47:53 +0000
Date: Wed, 21 Aug 2013 03:47:53 +0000
Message-Id: <E1VBzOj-0004fx-JE@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen: arm: Use _AC macros in config.h
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 4b25cf2686609cc08f75c1462d64d49c20e15638
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Thu Aug 8 13:15:08 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:43:27 2013 +0100

    xen: arm: Use _AC macros in config.h
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 xen/include/asm-arm/config.h |   18 ++++++++++--------
 1 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/xen/include/asm-arm/config.h b/xen/include/asm-arm/config.h
index e3cfaf1..7e5daa0 100644
--- a/xen/include/asm-arm/config.h
+++ b/xen/include/asm-arm/config.h
@@ -72,6 +72,8 @@
   END(name)
 #endif
 
+#include <xen/const.h>
+
 /*
  * Memory layout:
  *  0  -   2M   Unmapped
@@ -91,14 +93,14 @@
  *   - in setup_pagetables() when relocating Xen.
  */
 
-#define XEN_VIRT_START         mk_unsigned_long(0x00200000)
-#define FIXMAP_ADDR(n)        (mk_unsigned_long(0x00400000) + (n) * PAGE_SIZE)
-#define BOOT_MISC_VIRT_START   mk_unsigned_long(0x00600000)
-#define FRAMETABLE_VIRT_START  mk_unsigned_long(0x02000000)
-#define VMAP_VIRT_START        mk_unsigned_long(0x10000000)
-#define XENHEAP_VIRT_START     mk_unsigned_long(0x40000000)
-#define DOMHEAP_VIRT_START     mk_unsigned_long(0x80000000)
-#define DOMHEAP_VIRT_END       mk_unsigned_long(0xffffffff)
+#define XEN_VIRT_START         _AC(0x00200000,UL)
+#define FIXMAP_ADDR(n)        (_AC(0x00400000,UL) + (n) * PAGE_SIZE)
+#define BOOT_MISC_VIRT_START   _AC(0x00600000,UL)
+#define FRAMETABLE_VIRT_START  _AC(0x02000000,UL)
+#define VMAP_VIRT_START        _AC(0x10000000,UL)
+#define XENHEAP_VIRT_START     _AC(0x40000000,UL)
+#define DOMHEAP_VIRT_START     _AC(0x80000000,UL)
+#define DOMHEAP_VIRT_END       _AC(0xffffffff,UL)
 
 #define VMAP_VIRT_END          XENHEAP_VIRT_START
 #define HYPERVISOR_VIRT_START  XEN_VIRT_START
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:47:58 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:47:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzOo-0002wP-0r; Wed, 21 Aug 2013 03:47:58 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzOm-0002w4-7w
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:47:56 +0000
Received: from [85.158.139.211:57319] by server-10.bemta-5.messagelabs.com id
	C1/00-23973-B6834125; Wed, 21 Aug 2013 03:47:55 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-206.messagelabs.com!1377056873!3485047!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=UPPERCASE_25_50
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2194 invoked from network); 21 Aug 2013 03:47:54 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-12.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:47:54 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzOj-0004FB-KN
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:47:53 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzOj-0004fx-JE
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:47:53 +0000
Date: Wed, 21 Aug 2013 03:47:53 +0000
Message-Id: <E1VBzOj-0004fx-JE@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen: arm: Use _AC macros in config.h
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 4b25cf2686609cc08f75c1462d64d49c20e15638
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Thu Aug 8 13:15:08 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:43:27 2013 +0100

    xen: arm: Use _AC macros in config.h
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 xen/include/asm-arm/config.h |   18 ++++++++++--------
 1 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/xen/include/asm-arm/config.h b/xen/include/asm-arm/config.h
index e3cfaf1..7e5daa0 100644
--- a/xen/include/asm-arm/config.h
+++ b/xen/include/asm-arm/config.h
@@ -72,6 +72,8 @@
   END(name)
 #endif
 
+#include <xen/const.h>
+
 /*
  * Memory layout:
  *  0  -   2M   Unmapped
@@ -91,14 +93,14 @@
  *   - in setup_pagetables() when relocating Xen.
  */
 
-#define XEN_VIRT_START         mk_unsigned_long(0x00200000)
-#define FIXMAP_ADDR(n)        (mk_unsigned_long(0x00400000) + (n) * PAGE_SIZE)
-#define BOOT_MISC_VIRT_START   mk_unsigned_long(0x00600000)
-#define FRAMETABLE_VIRT_START  mk_unsigned_long(0x02000000)
-#define VMAP_VIRT_START        mk_unsigned_long(0x10000000)
-#define XENHEAP_VIRT_START     mk_unsigned_long(0x40000000)
-#define DOMHEAP_VIRT_START     mk_unsigned_long(0x80000000)
-#define DOMHEAP_VIRT_END       mk_unsigned_long(0xffffffff)
+#define XEN_VIRT_START         _AC(0x00200000,UL)
+#define FIXMAP_ADDR(n)        (_AC(0x00400000,UL) + (n) * PAGE_SIZE)
+#define BOOT_MISC_VIRT_START   _AC(0x00600000,UL)
+#define FRAMETABLE_VIRT_START  _AC(0x02000000,UL)
+#define VMAP_VIRT_START        _AC(0x10000000,UL)
+#define XENHEAP_VIRT_START     _AC(0x40000000,UL)
+#define DOMHEAP_VIRT_START     _AC(0x80000000,UL)
+#define DOMHEAP_VIRT_END       _AC(0xffffffff,UL)
 
 #define VMAP_VIRT_END          XENHEAP_VIRT_START
 #define HYPERVISOR_VIRT_START  XEN_VIRT_START
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:48:08 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:48:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzOy-0002yU-4G; Wed, 21 Aug 2013 03:48:08 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzOw-0002y3-Ew
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:48:06 +0000
Received: from [193.109.254.147:43569] by server-3.bemta-14.messagelabs.com id
	F7/91-11293-57834125; Wed, 21 Aug 2013 03:48:05 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1377056883!5070903!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10842 invoked from network); 21 Aug 2013 03:48:04 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-15.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:48:04 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzOt-0004Fk-PW
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:48:03 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzOt-0004gT-O8
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:48:03 +0000
Date: Wed, 21 Aug 2013 03:48:03 +0000
Message-Id: <E1VBzOt-0004gT-O8@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen: arm: Add zeroeth level page table
	macros and defines
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit a52f6c65d3e2bf7c6f16edbac62437327fbeb565
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Thu Aug 8 13:15:09 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:44:33 2013 +0100

    xen: arm: Add zeroeth level page table macros and defines
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Tim Deegan <tim@xen.org>
---
 xen/include/asm-arm/page.h |   19 +++++++++++++++----
 1 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/xen/include/asm-arm/page.h b/xen/include/asm-arm/page.h
index 41e9eff..93bb8c0 100644
--- a/xen/include/asm-arm/page.h
+++ b/xen/include/asm-arm/page.h
@@ -309,9 +309,15 @@ static inline int gva_to_ipa(vaddr_t va, paddr_t *paddr)
 
 #endif /* __ASSEMBLY__ */
 
-/* These numbers add up to a 39-bit input address space.  The  ARMv7-A
- * architecture actually specifies a 40-bit input address space for the p2m,
- * with an 8K (1024-entry) top-level table. */
+/*
+ * These numbers add up to a 48-bit input address space.
+ *
+ * On 32-bit the zeroeth level does not exist, therefore the total is
+ * 39-bits. The ARMv7-A architecture actually specifies a 40-bit input
+ * address space for the p2m, with an 8K (1024-entry) top-level table.
+ * However Xen only supports 16GB of RAM on 32-bit ARM systems and
+ * therefore 39-bits are sufficient.
+ */
 
 #define LPAE_SHIFT      9
 #define LPAE_ENTRIES    (1u << LPAE_SHIFT)
@@ -326,8 +332,12 @@ static inline int gva_to_ipa(vaddr_t va, paddr_t *paddr)
 #define FIRST_SHIFT  (SECOND_SHIFT + LPAE_SHIFT)
 #define FIRST_SIZE   (1u << FIRST_SHIFT)
 #define FIRST_MASK   (~(FIRST_SIZE - 1))
+#define ZEROETH_SHIFT  (FIRST_SHIFT + LPAE_SHIFT)
+#define ZEROETH_SIZE   (1u << ZEROETH_SHIFT)
+#define ZEROETH_MASK   (~(ZEROETH_SIZE - 1))
 
 /* Calculate the offsets into the pagetables for a given VA */
+#define zeroeth_linear_offset(va) ((va) >> ZEROETH_SHIFT)
 #define first_linear_offset(va) ((va) >> FIRST_SHIFT)
 #define second_linear_offset(va) ((va) >> SECOND_SHIFT)
 #define third_linear_offset(va) ((va) >> THIRD_SHIFT)
@@ -336,8 +346,9 @@ static inline int gva_to_ipa(vaddr_t va, paddr_t *paddr)
 #define first_table_offset(va)  TABLE_OFFSET(first_linear_offset(va))
 #define second_table_offset(va) TABLE_OFFSET(second_linear_offset(va))
 #define third_table_offset(va)  TABLE_OFFSET(third_linear_offset(va))
+#define zeroeth_table_offset(va)  TABLE_OFFSET(zeroeth_linear_offset(va))
 
-#define clear_page(page)memset((void *)(page), 0, PAGE_SIZE)
+#define clear_page(page) memset((void *)(page), 0, PAGE_SIZE)
 
 #define PAGE_ALIGN(x) (((x) + PAGE_SIZE - 1) & PAGE_MASK)
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:48:08 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:48:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzOy-0002yU-4G; Wed, 21 Aug 2013 03:48:08 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzOw-0002y3-Ew
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:48:06 +0000
Received: from [193.109.254.147:43569] by server-3.bemta-14.messagelabs.com id
	F7/91-11293-57834125; Wed, 21 Aug 2013 03:48:05 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-27.messagelabs.com!1377056883!5070903!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10842 invoked from network); 21 Aug 2013 03:48:04 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-15.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:48:04 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzOt-0004Fk-PW
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:48:03 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzOt-0004gT-O8
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:48:03 +0000
Date: Wed, 21 Aug 2013 03:48:03 +0000
Message-Id: <E1VBzOt-0004gT-O8@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen: arm: Add zeroeth level page table
	macros and defines
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit a52f6c65d3e2bf7c6f16edbac62437327fbeb565
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Thu Aug 8 13:15:09 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:44:33 2013 +0100

    xen: arm: Add zeroeth level page table macros and defines
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Tim Deegan <tim@xen.org>
---
 xen/include/asm-arm/page.h |   19 +++++++++++++++----
 1 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/xen/include/asm-arm/page.h b/xen/include/asm-arm/page.h
index 41e9eff..93bb8c0 100644
--- a/xen/include/asm-arm/page.h
+++ b/xen/include/asm-arm/page.h
@@ -309,9 +309,15 @@ static inline int gva_to_ipa(vaddr_t va, paddr_t *paddr)
 
 #endif /* __ASSEMBLY__ */
 
-/* These numbers add up to a 39-bit input address space.  The  ARMv7-A
- * architecture actually specifies a 40-bit input address space for the p2m,
- * with an 8K (1024-entry) top-level table. */
+/*
+ * These numbers add up to a 48-bit input address space.
+ *
+ * On 32-bit the zeroeth level does not exist, therefore the total is
+ * 39-bits. The ARMv7-A architecture actually specifies a 40-bit input
+ * address space for the p2m, with an 8K (1024-entry) top-level table.
+ * However Xen only supports 16GB of RAM on 32-bit ARM systems and
+ * therefore 39-bits are sufficient.
+ */
 
 #define LPAE_SHIFT      9
 #define LPAE_ENTRIES    (1u << LPAE_SHIFT)
@@ -326,8 +332,12 @@ static inline int gva_to_ipa(vaddr_t va, paddr_t *paddr)
 #define FIRST_SHIFT  (SECOND_SHIFT + LPAE_SHIFT)
 #define FIRST_SIZE   (1u << FIRST_SHIFT)
 #define FIRST_MASK   (~(FIRST_SIZE - 1))
+#define ZEROETH_SHIFT  (FIRST_SHIFT + LPAE_SHIFT)
+#define ZEROETH_SIZE   (1u << ZEROETH_SHIFT)
+#define ZEROETH_MASK   (~(ZEROETH_SIZE - 1))
 
 /* Calculate the offsets into the pagetables for a given VA */
+#define zeroeth_linear_offset(va) ((va) >> ZEROETH_SHIFT)
 #define first_linear_offset(va) ((va) >> FIRST_SHIFT)
 #define second_linear_offset(va) ((va) >> SECOND_SHIFT)
 #define third_linear_offset(va) ((va) >> THIRD_SHIFT)
@@ -336,8 +346,9 @@ static inline int gva_to_ipa(vaddr_t va, paddr_t *paddr)
 #define first_table_offset(va)  TABLE_OFFSET(first_linear_offset(va))
 #define second_table_offset(va) TABLE_OFFSET(second_linear_offset(va))
 #define third_table_offset(va)  TABLE_OFFSET(third_linear_offset(va))
+#define zeroeth_table_offset(va)  TABLE_OFFSET(zeroeth_linear_offset(va))
 
-#define clear_page(page)memset((void *)(page), 0, PAGE_SIZE)
+#define clear_page(page) memset((void *)(page), 0, PAGE_SIZE)
 
 #define PAGE_ALIGN(x) (((x) + PAGE_SIZE - 1) & PAGE_MASK)
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:48:18 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:48:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzP8-00030Y-7e; Wed, 21 Aug 2013 03:48:18 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzP6-00030H-Gp
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:48:16 +0000
Received: from [85.158.143.35:38337] by server-2.bemta-4.messagelabs.com id
	DD/58-26052-F7834125; Wed, 21 Aug 2013 03:48:15 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1377056894!5512902!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10550 invoked from network); 21 Aug 2013 03:48:15 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-6.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:48:15 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzP4-0004Fq-0G
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:48:14 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzP3-0004gu-TE
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:48:13 +0000
Date: Wed, 21 Aug 2013 03:48:13 +0000
Message-Id: <E1VBzP3-0004gu-TE@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen: arm: Rename page table "hint"
	field to slightly more descriptive "contig"
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 0377ab4da3613b59b648a98a6faeb4cfa10894bb
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Thu Aug 8 13:15:10 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:44:35 2013 +0100

    xen: arm: Rename page table "hint" field to slightly more descriptive "contig"
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 xen/arch/arm/mm.c          |    2 +-
 xen/include/asm-arm/page.h |    4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index f301e65..a4d65d8 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -526,7 +526,7 @@ static void __init create_mappings(unsigned long virt,
     count = nr_mfns / LPAE_ENTRIES;
     p = xen_second + second_linear_offset(virt);
     pte = mfn_to_xen_entry(base_mfn);
-    pte.pt.hint = 1;  /* These maps are in 16-entry contiguous chunks. */
+    pte.pt.contig = 1;  /* These maps are in 16-entry contiguous chunks. */
     for ( i = 0; i < count; i++ )
     {
         write_pte(p + i, pte);
diff --git a/xen/include/asm-arm/page.h b/xen/include/asm-arm/page.h
index 93bb8c0..3d0f8a9 100644
--- a/xen/include/asm-arm/page.h
+++ b/xen/include/asm-arm/page.h
@@ -115,7 +115,7 @@ typedef struct {
 
     /* These seven bits are only used in Block entries and are ignored
      * in Table entries. */
-    unsigned long hint:1;       /* In a block of 16 contiguous entries */
+    unsigned long contig:1;     /* In a block of 16 contiguous entries */
     unsigned long pxn:1;        /* Privileged-XN */
     unsigned long xn:1;         /* eXecute-Never */
     unsigned long avail:4;      /* Ignored by hardware */
@@ -150,7 +150,7 @@ typedef struct {
 
     /* These seven bits are only used in Block entries and are ignored
      * in Table entries. */
-    unsigned long hint:1;       /* In a block of 16 contiguous entries */
+    unsigned long contig:1;     /* In a block of 16 contiguous entries */
     unsigned long sbz2:1;
     unsigned long xn:1;         /* eXecute-Never */
     unsigned long avail:4;      /* Ignored by hardware */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:48:18 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:48:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzP8-00030Y-7e; Wed, 21 Aug 2013 03:48:18 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzP6-00030H-Gp
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:48:16 +0000
Received: from [85.158.143.35:38337] by server-2.bemta-4.messagelabs.com id
	DD/58-26052-F7834125; Wed, 21 Aug 2013 03:48:15 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-21.messagelabs.com!1377056894!5512902!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10550 invoked from network); 21 Aug 2013 03:48:15 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-6.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:48:15 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzP4-0004Fq-0G
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:48:14 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzP3-0004gu-TE
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:48:13 +0000
Date: Wed, 21 Aug 2013 03:48:13 +0000
Message-Id: <E1VBzP3-0004gu-TE@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen: arm: Rename page table "hint"
	field to slightly more descriptive "contig"
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 0377ab4da3613b59b648a98a6faeb4cfa10894bb
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Thu Aug 8 13:15:10 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:44:35 2013 +0100

    xen: arm: Rename page table "hint" field to slightly more descriptive "contig"
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 xen/arch/arm/mm.c          |    2 +-
 xen/include/asm-arm/page.h |    4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index f301e65..a4d65d8 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -526,7 +526,7 @@ static void __init create_mappings(unsigned long virt,
     count = nr_mfns / LPAE_ENTRIES;
     p = xen_second + second_linear_offset(virt);
     pte = mfn_to_xen_entry(base_mfn);
-    pte.pt.hint = 1;  /* These maps are in 16-entry contiguous chunks. */
+    pte.pt.contig = 1;  /* These maps are in 16-entry contiguous chunks. */
     for ( i = 0; i < count; i++ )
     {
         write_pte(p + i, pte);
diff --git a/xen/include/asm-arm/page.h b/xen/include/asm-arm/page.h
index 93bb8c0..3d0f8a9 100644
--- a/xen/include/asm-arm/page.h
+++ b/xen/include/asm-arm/page.h
@@ -115,7 +115,7 @@ typedef struct {
 
     /* These seven bits are only used in Block entries and are ignored
      * in Table entries. */
-    unsigned long hint:1;       /* In a block of 16 contiguous entries */
+    unsigned long contig:1;     /* In a block of 16 contiguous entries */
     unsigned long pxn:1;        /* Privileged-XN */
     unsigned long xn:1;         /* eXecute-Never */
     unsigned long avail:4;      /* Ignored by hardware */
@@ -150,7 +150,7 @@ typedef struct {
 
     /* These seven bits are only used in Block entries and are ignored
      * in Table entries. */
-    unsigned long hint:1;       /* In a block of 16 contiguous entries */
+    unsigned long contig:1;     /* In a block of 16 contiguous entries */
     unsigned long sbz2:1;
     unsigned long xn:1;         /* eXecute-Never */
     unsigned long avail:4;      /* Ignored by hardware */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:48:28 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:48:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzPI-00032i-AY; Wed, 21 Aug 2013 03:48:28 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzPG-00032W-OT
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:48:27 +0000
Received: from [85.158.137.68:13687] by server-13.bemta-3.messagelabs.com id
	67/0A-25971-98834125; Wed, 21 Aug 2013 03:48:25 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-31.messagelabs.com!1377056904!2882651!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12830 invoked from network); 21 Aug 2013 03:48:25 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-7.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:48:25 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzPE-0004Fw-6B
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:48:24 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzPE-0004hG-4R
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:48:24 +0000
Date: Wed, 21 Aug 2013 03:48:24 +0000
Message-Id: <E1VBzPE-0004hG-4R@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen: arm: refactor create_mappings
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 954db6ce0c9d879ca41fb34ad9d4d427f676ba17
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Thu Aug 8 13:15:11 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:44:35 2013 +0100

    xen: arm: refactor create_mappings
    
    Allow it to work on contiguous second level tables mapping an arbitrary region
    of memory. Rename it to create_32mb_mappings.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 xen/arch/arm/mm.c |   19 +++++++++++--------
 1 files changed, 11 insertions(+), 8 deletions(-)

diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index a4d65d8..1ad8fe3 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -511,20 +511,23 @@ void __cpuinit mmu_init_secondary_cpu(void)
 }
 
 /* Create Xen's mappings of memory.
- * Base and virt must be 32MB aligned and size a multiple of 32MB. */
-static void __init create_mappings(unsigned long virt,
-                                   unsigned long base_mfn,
-                                   unsigned long nr_mfns)
+ * Base and virt must be 32MB aligned and size a multiple of 32MB.
+ * second must be a contiguous set of second level page tables
+ * covering the region starting at virt_offset. */
+static void __init create_32mb_mappings(lpae_t *second,
+                                        unsigned long virt_offset,
+                                        unsigned long base_mfn,
+                                        unsigned long nr_mfns)
 {
     unsigned long i, count;
     lpae_t pte, *p;
 
-    ASSERT(!((virt >> PAGE_SHIFT) % (16 * LPAE_ENTRIES)));
+    ASSERT(!((virt_offset >> PAGE_SHIFT) % (16 * LPAE_ENTRIES)));
     ASSERT(!(base_mfn % (16 * LPAE_ENTRIES)));
     ASSERT(!(nr_mfns % (16 * LPAE_ENTRIES)));
 
     count = nr_mfns / LPAE_ENTRIES;
-    p = xen_second + second_linear_offset(virt);
+    p = second + second_linear_offset(virt_offset);
     pte = mfn_to_xen_entry(base_mfn);
     pte.pt.contig = 1;  /* These maps are in 16-entry contiguous chunks. */
     for ( i = 0; i < count; i++ )
@@ -539,7 +542,7 @@ static void __init create_mappings(unsigned long virt,
 void __init setup_xenheap_mappings(unsigned long base_mfn,
                                    unsigned long nr_mfns)
 {
-    create_mappings(XENHEAP_VIRT_START, base_mfn, nr_mfns);
+    create_32mb_mappings(xen_second, XENHEAP_VIRT_START, base_mfn, nr_mfns);
 
     /* Record where the xenheap is, for translation routines. */
     xenheap_virt_end = XENHEAP_VIRT_START + nr_mfns * PAGE_SIZE;
@@ -559,7 +562,7 @@ void __init setup_frametable_mappings(paddr_t ps, paddr_t pe)
     /* Round up to 32M boundary */
     frametable_size = (frametable_size + 0x1ffffff) & ~0x1ffffff;
     base_mfn = alloc_boot_pages(frametable_size >> PAGE_SHIFT, 32<<(20-12));
-    create_mappings(FRAMETABLE_VIRT_START, base_mfn, frametable_size >> PAGE_SHIFT);
+    create_32mb_mappings(xen_second, FRAMETABLE_VIRT_START, base_mfn, frametable_size >> PAGE_SHIFT);
 
     memset(&frame_table[0], 0, nr_pages * sizeof(struct page_info));
     memset(&frame_table[nr_pages], -1,
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:48:28 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:48:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzPI-00032i-AY; Wed, 21 Aug 2013 03:48:28 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzPG-00032W-OT
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:48:27 +0000
Received: from [85.158.137.68:13687] by server-13.bemta-3.messagelabs.com id
	67/0A-25971-98834125; Wed, 21 Aug 2013 03:48:25 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-31.messagelabs.com!1377056904!2882651!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 12830 invoked from network); 21 Aug 2013 03:48:25 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-7.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:48:25 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzPE-0004Fw-6B
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:48:24 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzPE-0004hG-4R
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:48:24 +0000
Date: Wed, 21 Aug 2013 03:48:24 +0000
Message-Id: <E1VBzPE-0004hG-4R@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen: arm: refactor create_mappings
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 954db6ce0c9d879ca41fb34ad9d4d427f676ba17
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Thu Aug 8 13:15:11 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:44:35 2013 +0100

    xen: arm: refactor create_mappings
    
    Allow it to work on contiguous second level tables mapping an arbitrary region
    of memory. Rename it to create_32mb_mappings.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 xen/arch/arm/mm.c |   19 +++++++++++--------
 1 files changed, 11 insertions(+), 8 deletions(-)

diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index a4d65d8..1ad8fe3 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -511,20 +511,23 @@ void __cpuinit mmu_init_secondary_cpu(void)
 }
 
 /* Create Xen's mappings of memory.
- * Base and virt must be 32MB aligned and size a multiple of 32MB. */
-static void __init create_mappings(unsigned long virt,
-                                   unsigned long base_mfn,
-                                   unsigned long nr_mfns)
+ * Base and virt must be 32MB aligned and size a multiple of 32MB.
+ * second must be a contiguous set of second level page tables
+ * covering the region starting at virt_offset. */
+static void __init create_32mb_mappings(lpae_t *second,
+                                        unsigned long virt_offset,
+                                        unsigned long base_mfn,
+                                        unsigned long nr_mfns)
 {
     unsigned long i, count;
     lpae_t pte, *p;
 
-    ASSERT(!((virt >> PAGE_SHIFT) % (16 * LPAE_ENTRIES)));
+    ASSERT(!((virt_offset >> PAGE_SHIFT) % (16 * LPAE_ENTRIES)));
     ASSERT(!(base_mfn % (16 * LPAE_ENTRIES)));
     ASSERT(!(nr_mfns % (16 * LPAE_ENTRIES)));
 
     count = nr_mfns / LPAE_ENTRIES;
-    p = xen_second + second_linear_offset(virt);
+    p = second + second_linear_offset(virt_offset);
     pte = mfn_to_xen_entry(base_mfn);
     pte.pt.contig = 1;  /* These maps are in 16-entry contiguous chunks. */
     for ( i = 0; i < count; i++ )
@@ -539,7 +542,7 @@ static void __init create_mappings(unsigned long virt,
 void __init setup_xenheap_mappings(unsigned long base_mfn,
                                    unsigned long nr_mfns)
 {
-    create_mappings(XENHEAP_VIRT_START, base_mfn, nr_mfns);
+    create_32mb_mappings(xen_second, XENHEAP_VIRT_START, base_mfn, nr_mfns);
 
     /* Record where the xenheap is, for translation routines. */
     xenheap_virt_end = XENHEAP_VIRT_START + nr_mfns * PAGE_SIZE;
@@ -559,7 +562,7 @@ void __init setup_frametable_mappings(paddr_t ps, paddr_t pe)
     /* Round up to 32M boundary */
     frametable_size = (frametable_size + 0x1ffffff) & ~0x1ffffff;
     base_mfn = alloc_boot_pages(frametable_size >> PAGE_SHIFT, 32<<(20-12));
-    create_mappings(FRAMETABLE_VIRT_START, base_mfn, frametable_size >> PAGE_SHIFT);
+    create_32mb_mappings(xen_second, FRAMETABLE_VIRT_START, base_mfn, frametable_size >> PAGE_SHIFT);
 
     memset(&frame_table[0], 0, nr_pages * sizeof(struct page_info));
     memset(&frame_table[nr_pages], -1,
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:48:39 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:48:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzPT-00034b-Dp; Wed, 21 Aug 2013 03:48:39 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzPR-00034E-8F
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:48:37 +0000
Received: from [85.158.143.35:54322] by server-3.bemta-4.messagelabs.com id
	01/8F-08835-49834125; Wed, 21 Aug 2013 03:48:36 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1377056914!5506635!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 892 invoked from network); 21 Aug 2013 03:48:35 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-11.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:48:35 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzPO-0004G4-Bf
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:48:34 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzPO-0004hg-AX
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:48:34 +0000
Date: Wed, 21 Aug 2013 03:48:34 +0000
Message-Id: <E1VBzPO-0004hg-AX@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen: arm: define a macro to get this
	CPUs page table root
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit dc419624d2cddf07610684882cae1f6a8d646c1e
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Thu Aug 8 13:15:12 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:44:36 2013 +0100

    xen: arm: define a macro to get this CPUs page table root
    
    In a future patch the 32- and 64-bit root page tables will differ.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 xen/arch/arm/mm.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index 1ad8fe3..7781202 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -60,6 +60,7 @@ lpae_t boot_first[LPAE_ENTRIES] __attribute__((__aligned__(4096)));
 /* Per-CPU pagetable pages */
 /* xen_pgtable == root of the trie (zeroeth level on 64-bit, first on 32-bit) */
 static DEFINE_PER_CPU(lpae_t *, xen_pgtable);
+#define THIS_CPU_PGTABLE this_cpu(xen_pgtable)
 /* xen_dommap == pages used by map_domain_page, these pages contain
  * the second level pagetables which mapp the domheap region
  * DOMHEAP_VIRT_START...DOMHEAP_VIRT_END in 2MB chunks. */
@@ -147,7 +148,7 @@ done:
 void dump_hyp_walk(vaddr_t addr)
 {
     uint64_t ttbr = READ_SYSREG64(TTBR0_EL2);
-    lpae_t *pgtable = this_cpu(xen_pgtable);
+    lpae_t *pgtable = THIS_CPU_PGTABLE;
 
     printk("Walking Hypervisor VA 0x%"PRIvaddr" "
            "on CPU%d via TTBR 0x%016"PRIx64"\n",
@@ -502,7 +503,7 @@ void __cpuinit mmu_init_secondary_cpu(void)
     uint64_t ttbr;
 
     /* Change to this CPU's pagetables */
-    ttbr = (uintptr_t)virt_to_maddr(this_cpu(xen_pgtable));
+    ttbr = (uintptr_t)virt_to_maddr(THIS_CPU_PGTABLE);
     WRITE_TTBR(ttbr);
 
     /* From now on, no mapping may be both writable and executable. */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:48:39 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:48:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzPT-00034b-Dp; Wed, 21 Aug 2013 03:48:39 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzPR-00034E-8F
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:48:37 +0000
Received: from [85.158.143.35:54322] by server-3.bemta-4.messagelabs.com id
	01/8F-08835-49834125; Wed, 21 Aug 2013 03:48:36 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1377056914!5506635!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 892 invoked from network); 21 Aug 2013 03:48:35 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-11.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:48:35 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzPO-0004G4-Bf
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:48:34 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzPO-0004hg-AX
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:48:34 +0000
Date: Wed, 21 Aug 2013 03:48:34 +0000
Message-Id: <E1VBzPO-0004hg-AX@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen: arm: define a macro to get this
	CPUs page table root
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit dc419624d2cddf07610684882cae1f6a8d646c1e
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Thu Aug 8 13:15:12 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:44:36 2013 +0100

    xen: arm: define a macro to get this CPUs page table root
    
    In a future patch the 32- and 64-bit root page tables will differ.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 xen/arch/arm/mm.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index 1ad8fe3..7781202 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -60,6 +60,7 @@ lpae_t boot_first[LPAE_ENTRIES] __attribute__((__aligned__(4096)));
 /* Per-CPU pagetable pages */
 /* xen_pgtable == root of the trie (zeroeth level on 64-bit, first on 32-bit) */
 static DEFINE_PER_CPU(lpae_t *, xen_pgtable);
+#define THIS_CPU_PGTABLE this_cpu(xen_pgtable)
 /* xen_dommap == pages used by map_domain_page, these pages contain
  * the second level pagetables which mapp the domheap region
  * DOMHEAP_VIRT_START...DOMHEAP_VIRT_END in 2MB chunks. */
@@ -147,7 +148,7 @@ done:
 void dump_hyp_walk(vaddr_t addr)
 {
     uint64_t ttbr = READ_SYSREG64(TTBR0_EL2);
-    lpae_t *pgtable = this_cpu(xen_pgtable);
+    lpae_t *pgtable = THIS_CPU_PGTABLE;
 
     printk("Walking Hypervisor VA 0x%"PRIvaddr" "
            "on CPU%d via TTBR 0x%016"PRIx64"\n",
@@ -502,7 +503,7 @@ void __cpuinit mmu_init_secondary_cpu(void)
     uint64_t ttbr;
 
     /* Change to this CPU's pagetables */
-    ttbr = (uintptr_t)virt_to_maddr(this_cpu(xen_pgtable));
+    ttbr = (uintptr_t)virt_to_maddr(THIS_CPU_PGTABLE);
     WRITE_TTBR(ttbr);
 
     /* From now on, no mapping may be both writable and executable. */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:48:48 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:48:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzPc-000365-HN; Wed, 21 Aug 2013 03:48:48 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzPa-00035n-WA
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:48:47 +0000
Received: from [85.158.143.35:54609] by server-1.bemta-4.messagelabs.com id
	E6/05-16125-E9834125; Wed, 21 Aug 2013 03:48:46 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1377056924!5506648!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1117 invoked from network); 21 Aug 2013 03:48:45 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-11.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:48:45 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzPY-0004GA-I2
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:48:44 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzPY-0004il-Fr
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:48:44 +0000
Date: Wed, 21 Aug 2013 03:48:44 +0000
Message-Id: <E1VBzPY-0004il-Fr@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen: arm: Add a pte_of_xenaddr helper
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit cbf4911d286b46b9b7e6bf55ed3f00b16ee3df4c
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Thu Aug 8 13:15:13 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:44:36 2013 +0100

    xen: arm: Add a pte_of_xenaddr helper
    
    The open coded version is pretty ugly, not helped by rigid enforcement of an
    80 character line length.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 xen/arch/arm/mm.c |   13 +++++++++----
 1 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index 7781202..974d6df 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -331,6 +331,13 @@ void __cpuinit setup_virt_paging(void)
      * write to TTBR0 has completed. */                                 \
     flush_xen_text_tlb()
 
+static inline lpae_t pte_of_xenaddr(vaddr_t va)
+{
+    paddr_t ma = va + phys_offset;
+    unsigned long mfn = ma >> PAGE_SHIFT;
+    return mfn_to_xen_entry(mfn);
+}
+
 /* Boot-time pagetable setup.
  * Changes here may need matching changes in head.S */
 void __init setup_pagetables(unsigned long boot_phys_offset, paddr_t xen_paddr)
@@ -387,8 +394,7 @@ void __init setup_pagetables(unsigned long boot_phys_offset, paddr_t xen_paddr)
     flush_xen_text_tlb();
 
     /* Link in the fixmap pagetable */
-    pte = mfn_to_xen_entry((((unsigned long) xen_fixmap) + phys_offset)
-                           >> PAGE_SHIFT);
+    pte = pte_of_xenaddr((vaddr_t)xen_fixmap);
     pte.pt.table = 1;
     write_pte(xen_second + second_table_offset(FIXMAP_ADDR(0)), pte);
     /*
@@ -415,8 +421,7 @@ void __init setup_pagetables(unsigned long boot_phys_offset, paddr_t xen_paddr)
         write_pte(xen_xenmap + i, pte);
         /* No flush required here as page table is not hooked in yet. */
     }
-    pte = mfn_to_xen_entry((((unsigned long) xen_xenmap) + phys_offset)
-                           >> PAGE_SHIFT);
+    pte = pte_of_xenaddr((vaddr_t)xen_xenmap);
     pte.pt.table = 1;
     write_pte(xen_second + second_linear_offset(XEN_VIRT_START), pte);
     /* TLBFLUSH and ISB would be needed here, but wait until we set WXN */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:48:48 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:48:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzPc-000365-HN; Wed, 21 Aug 2013 03:48:48 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzPa-00035n-WA
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:48:47 +0000
Received: from [85.158.143.35:54609] by server-1.bemta-4.messagelabs.com id
	E6/05-16125-E9834125; Wed, 21 Aug 2013 03:48:46 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1377056924!5506648!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1117 invoked from network); 21 Aug 2013 03:48:45 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-11.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:48:45 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzPY-0004GA-I2
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:48:44 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzPY-0004il-Fr
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:48:44 +0000
Date: Wed, 21 Aug 2013 03:48:44 +0000
Message-Id: <E1VBzPY-0004il-Fr@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen: arm: Add a pte_of_xenaddr helper
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit cbf4911d286b46b9b7e6bf55ed3f00b16ee3df4c
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Thu Aug 8 13:15:13 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:44:36 2013 +0100

    xen: arm: Add a pte_of_xenaddr helper
    
    The open coded version is pretty ugly, not helped by rigid enforcement of an
    80 character line length.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 xen/arch/arm/mm.c |   13 +++++++++----
 1 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index 7781202..974d6df 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -331,6 +331,13 @@ void __cpuinit setup_virt_paging(void)
      * write to TTBR0 has completed. */                                 \
     flush_xen_text_tlb()
 
+static inline lpae_t pte_of_xenaddr(vaddr_t va)
+{
+    paddr_t ma = va + phys_offset;
+    unsigned long mfn = ma >> PAGE_SHIFT;
+    return mfn_to_xen_entry(mfn);
+}
+
 /* Boot-time pagetable setup.
  * Changes here may need matching changes in head.S */
 void __init setup_pagetables(unsigned long boot_phys_offset, paddr_t xen_paddr)
@@ -387,8 +394,7 @@ void __init setup_pagetables(unsigned long boot_phys_offset, paddr_t xen_paddr)
     flush_xen_text_tlb();
 
     /* Link in the fixmap pagetable */
-    pte = mfn_to_xen_entry((((unsigned long) xen_fixmap) + phys_offset)
-                           >> PAGE_SHIFT);
+    pte = pte_of_xenaddr((vaddr_t)xen_fixmap);
     pte.pt.table = 1;
     write_pte(xen_second + second_table_offset(FIXMAP_ADDR(0)), pte);
     /*
@@ -415,8 +421,7 @@ void __init setup_pagetables(unsigned long boot_phys_offset, paddr_t xen_paddr)
         write_pte(xen_xenmap + i, pte);
         /* No flush required here as page table is not hooked in yet. */
     }
-    pte = mfn_to_xen_entry((((unsigned long) xen_xenmap) + phys_offset)
-                           >> PAGE_SHIFT);
+    pte = pte_of_xenaddr((vaddr_t)xen_xenmap);
     pte.pt.table = 1;
     write_pte(xen_second + second_linear_offset(XEN_VIRT_START), pte);
     /* TLBFLUSH and ISB would be needed here, but wait until we set WXN */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:49:00 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:49:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzPn-000388-NM; Wed, 21 Aug 2013 03:48:59 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzPl-00037n-Bq
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:48:57 +0000
Received: from [85.158.139.211:13744] by server-7.bemta-5.messagelabs.com id
	89/90-24315-8A834125; Wed, 21 Aug 2013 03:48:56 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-206.messagelabs.com!1377056934!3485124!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3372 invoked from network); 21 Aug 2013 03:48:55 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-12.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:48:55 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzPi-0004GJ-Mb
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:48:54 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzPi-0004j7-Kz
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:48:54 +0000
Date: Wed, 21 Aug 2013 03:48:54 +0000
Message-Id: <E1VBzPi-0004j7-Kz@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen: arm: fix is_xen_fixed_mfn
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 8b36092b02e036088420ba9056afb447a90120e6
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Thu Aug 8 13:15:14 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:44:36 2013 +0100

    xen: arm: fix is_xen_fixed_mfn
    
    The current implementation is nonsense since the xenheap and the xen
    text/data/etc mappings are nowhere near each other.
    
    This is only actually used by the page offlining code, which isn't active on
    ARM.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 xen/include/asm-arm/mm.h |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/xen/include/asm-arm/mm.h b/xen/include/asm-arm/mm.h
index 5e7c5a3..baaf9c3 100644
--- a/xen/include/asm-arm/mm.h
+++ b/xen/include/asm-arm/mm.h
@@ -123,7 +123,9 @@ extern unsigned long xenheap_virt_end;
     unsigned long _mfn = (mfn);                                 \
     (_mfn >= xenheap_mfn_start && _mfn < xenheap_mfn_end);      \
 })
-#define is_xen_fixed_mfn(mfn) is_xen_heap_mfn(mfn)
+#define is_xen_fixed_mfn(mfn)                                   \
+    ((((mfn) << PAGE_SHIFT) >= virt_to_maddr(&_start)) &&       \
+     (((mfn) << PAGE_SHIFT) <= virt_to_maddr(&_end)))
 
 #define page_get_owner(_p)    (_p)->v.inuse.domain
 #define page_set_owner(_p,_d) ((_p)->v.inuse.domain = (_d))
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:49:00 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:49:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzPn-000388-NM; Wed, 21 Aug 2013 03:48:59 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzPl-00037n-Bq
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:48:57 +0000
Received: from [85.158.139.211:13744] by server-7.bemta-5.messagelabs.com id
	89/90-24315-8A834125; Wed, 21 Aug 2013 03:48:56 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-206.messagelabs.com!1377056934!3485124!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3372 invoked from network); 21 Aug 2013 03:48:55 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-12.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:48:55 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzPi-0004GJ-Mb
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:48:54 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzPi-0004j7-Kz
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:48:54 +0000
Date: Wed, 21 Aug 2013 03:48:54 +0000
Message-Id: <E1VBzPi-0004j7-Kz@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen: arm: fix is_xen_fixed_mfn
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 8b36092b02e036088420ba9056afb447a90120e6
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Thu Aug 8 13:15:14 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:44:36 2013 +0100

    xen: arm: fix is_xen_fixed_mfn
    
    The current implementation is nonsense since the xenheap and the xen
    text/data/etc mappings are nowhere near each other.
    
    This is only actually used by the page offlining code, which isn't active on
    ARM.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 xen/include/asm-arm/mm.h |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/xen/include/asm-arm/mm.h b/xen/include/asm-arm/mm.h
index 5e7c5a3..baaf9c3 100644
--- a/xen/include/asm-arm/mm.h
+++ b/xen/include/asm-arm/mm.h
@@ -123,7 +123,9 @@ extern unsigned long xenheap_virt_end;
     unsigned long _mfn = (mfn);                                 \
     (_mfn >= xenheap_mfn_start && _mfn < xenheap_mfn_end);      \
 })
-#define is_xen_fixed_mfn(mfn) is_xen_heap_mfn(mfn)
+#define is_xen_fixed_mfn(mfn)                                   \
+    ((((mfn) << PAGE_SHIFT) >= virt_to_maddr(&_start)) &&       \
+     (((mfn) << PAGE_SHIFT) <= virt_to_maddr(&_end)))
 
 #define page_get_owner(_p)    (_p)->v.inuse.domain
 #define page_set_owner(_p,_d) ((_p)->v.inuse.domain = (_d))
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:49:09 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:49:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzPw-00039u-QQ; Wed, 21 Aug 2013 03:49:08 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzPv-00039U-K9
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:49:07 +0000
Received: from [85.158.137.68:57781] by server-13.bemta-3.messagelabs.com id
	60/4A-25971-2B834125; Wed, 21 Aug 2013 03:49:06 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-31.messagelabs.com!1377056945!2866987!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3541 invoked from network); 21 Aug 2013 03:49:06 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-14.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:49:06 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzPs-0004Gs-Sh
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:49:04 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzPs-0004jd-Qk
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:49:04 +0000
Date: Wed, 21 Aug 2013 03:49:04 +0000
Message-Id: <E1VBzPs-0004jd-Qk@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen: arm: allow virt_to_maddr to take
	either a pointer or an integer
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 530cef20c3c2b9c58e73d7a768665464f20653e7
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Thu Aug 8 13:15:15 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:44:36 2013 +0100

    xen: arm: allow virt_to_maddr to take either a pointer or an integer
    
    This seems to be expected by common code which passes both pointers and
    unsigned long as virtual addresses. The latter case in particular is in
    init_node_heap() under a DIRECTMAP_VIRT_END #ifdef, which is why it hasn't
    affected us yet (but will in a subsequent patch).
    
    The new prototypes match the x86 versions apart from using vaddr_t instead of
    unsigned long.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 xen/include/asm-arm/mm.h |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/xen/include/asm-arm/mm.h b/xen/include/asm-arm/mm.h
index baaf9c3..7aca836 100644
--- a/xen/include/asm-arm/mm.h
+++ b/xen/include/asm-arm/mm.h
@@ -208,11 +208,12 @@ static inline void __iomem *ioremap_wc(paddr_t start, size_t len)
 #define paddr_to_pdx(pa)    pfn_to_pdx(paddr_to_pfn(pa))
 
 
-static inline paddr_t virt_to_maddr(const void *va)
+static inline paddr_t __virt_to_maddr(vaddr_t va)
 {
-    uint64_t par = va_to_par((vaddr_t)va);
-    return (par & PADDR_MASK & PAGE_MASK) | ((vaddr_t) va & ~PAGE_MASK);
+    uint64_t par = va_to_par(va);
+    return (par & PADDR_MASK & PAGE_MASK) | (va & ~PAGE_MASK);
 }
+#define virt_to_maddr(va)   __virt_to_maddr((vaddr_t)(va))
 
 static inline void *maddr_to_virt(paddr_t ma)
 {
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:49:09 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:49:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzPw-00039u-QQ; Wed, 21 Aug 2013 03:49:08 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzPv-00039U-K9
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:49:07 +0000
Received: from [85.158.137.68:57781] by server-13.bemta-3.messagelabs.com id
	60/4A-25971-2B834125; Wed, 21 Aug 2013 03:49:06 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-31.messagelabs.com!1377056945!2866987!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3541 invoked from network); 21 Aug 2013 03:49:06 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-14.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:49:06 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzPs-0004Gs-Sh
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:49:04 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzPs-0004jd-Qk
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:49:04 +0000
Date: Wed, 21 Aug 2013 03:49:04 +0000
Message-Id: <E1VBzPs-0004jd-Qk@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen: arm: allow virt_to_maddr to take
	either a pointer or an integer
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 530cef20c3c2b9c58e73d7a768665464f20653e7
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Thu Aug 8 13:15:15 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:44:36 2013 +0100

    xen: arm: allow virt_to_maddr to take either a pointer or an integer
    
    This seems to be expected by common code which passes both pointers and
    unsigned long as virtual addresses. The latter case in particular is in
    init_node_heap() under a DIRECTMAP_VIRT_END #ifdef, which is why it hasn't
    affected us yet (but will in a subsequent patch).
    
    The new prototypes match the x86 versions apart from using vaddr_t instead of
    unsigned long.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 xen/include/asm-arm/mm.h |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/xen/include/asm-arm/mm.h b/xen/include/asm-arm/mm.h
index baaf9c3..7aca836 100644
--- a/xen/include/asm-arm/mm.h
+++ b/xen/include/asm-arm/mm.h
@@ -208,11 +208,12 @@ static inline void __iomem *ioremap_wc(paddr_t start, size_t len)
 #define paddr_to_pdx(pa)    pfn_to_pdx(paddr_to_pfn(pa))
 
 
-static inline paddr_t virt_to_maddr(const void *va)
+static inline paddr_t __virt_to_maddr(vaddr_t va)
 {
-    uint64_t par = va_to_par((vaddr_t)va);
-    return (par & PADDR_MASK & PAGE_MASK) | ((vaddr_t) va & ~PAGE_MASK);
+    uint64_t par = va_to_par(va);
+    return (par & PADDR_MASK & PAGE_MASK) | (va & ~PAGE_MASK);
 }
+#define virt_to_maddr(va)   __virt_to_maddr((vaddr_t)(va))
 
 static inline void *maddr_to_virt(paddr_t ma)
 {
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:49:19 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:49:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzQ6-0003By-TT; Wed, 21 Aug 2013 03:49:18 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzQ5-0003Bi-Rh
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:49:18 +0000
Received: from [85.158.137.68:14776] by server-12.bemta-3.messagelabs.com id
	AE/E3-11891-DB834125; Wed, 21 Aug 2013 03:49:17 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-31.messagelabs.com!1377056955!2720115!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17949 invoked from network); 21 Aug 2013 03:49:16 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-6.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:49:16 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzQ3-0004Gy-23
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:49:15 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzQ3-0004k1-0K
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:49:15 +0000
Date: Wed, 21 Aug 2013 03:49:15 +0000
Message-Id: <E1VBzQ3-0004k1-0K@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen: gate split heap code on its own
	config option rather than !X86
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 2c092bb6ee902997363b338cde447fe11b3a75c6
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Thu Aug 8 13:15:16 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:44:36 2013 +0100

    xen: gate split heap code on its own config option rather than !X86
    
    I'm going to want to disable this for 64 bit ARM.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
---
 xen/common/page_alloc.c      |    2 +-
 xen/include/asm-arm/config.h |    1 +
 2 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index 25a7d3d..41251b2 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -1305,7 +1305,7 @@ void __init scrub_heap_pages(void)
  * XEN-HEAP SUB-ALLOCATOR
  */
 
-#if !defined(CONFIG_X86)
+#if defined(CONFIG_SEPARATE_XENHEAP)
 
 void init_xenheap_pages(paddr_t ps, paddr_t pe)
 {
diff --git a/xen/include/asm-arm/config.h b/xen/include/asm-arm/config.h
index 7e5daa0..fb9e93c 100644
--- a/xen/include/asm-arm/config.h
+++ b/xen/include/asm-arm/config.h
@@ -36,6 +36,7 @@
 #define CONFIG_SMP 1
 
 #define CONFIG_DOMAIN_PAGE 1
+#define CONFIG_SEPARATE_XENHEAP 1
 
 #define CONFIG_VIDEO 1
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:49:19 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:49:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzQ6-0003By-TT; Wed, 21 Aug 2013 03:49:18 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzQ5-0003Bi-Rh
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:49:18 +0000
Received: from [85.158.137.68:14776] by server-12.bemta-3.messagelabs.com id
	AE/E3-11891-DB834125; Wed, 21 Aug 2013 03:49:17 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-31.messagelabs.com!1377056955!2720115!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17949 invoked from network); 21 Aug 2013 03:49:16 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-6.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:49:16 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzQ3-0004Gy-23
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:49:15 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzQ3-0004k1-0K
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:49:15 +0000
Date: Wed, 21 Aug 2013 03:49:15 +0000
Message-Id: <E1VBzQ3-0004k1-0K@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen: gate split heap code on its own
	config option rather than !X86
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 2c092bb6ee902997363b338cde447fe11b3a75c6
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Thu Aug 8 13:15:16 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:44:36 2013 +0100

    xen: gate split heap code on its own config option rather than !X86
    
    I'm going to want to disable this for 64 bit ARM.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
---
 xen/common/page_alloc.c      |    2 +-
 xen/include/asm-arm/config.h |    1 +
 2 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index 25a7d3d..41251b2 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -1305,7 +1305,7 @@ void __init scrub_heap_pages(void)
  * XEN-HEAP SUB-ALLOCATOR
  */
 
-#if !defined(CONFIG_X86)
+#if defined(CONFIG_SEPARATE_XENHEAP)
 
 void init_xenheap_pages(paddr_t ps, paddr_t pe)
 {
diff --git a/xen/include/asm-arm/config.h b/xen/include/asm-arm/config.h
index 7e5daa0..fb9e93c 100644
--- a/xen/include/asm-arm/config.h
+++ b/xen/include/asm-arm/config.h
@@ -36,6 +36,7 @@
 #define CONFIG_SMP 1
 
 #define CONFIG_DOMAIN_PAGE 1
+#define CONFIG_SEPARATE_XENHEAP 1
 
 #define CONFIG_VIDEO 1
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:49:30 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:49:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzQI-0003Dl-6Z; Wed, 21 Aug 2013 03:49:30 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzQG-0003Da-Mg
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:49:29 +0000
Received: from [85.158.143.35:44304] by server-1.bemta-4.messagelabs.com id
	E9/25-16125-8C834125; Wed, 21 Aug 2013 03:49:28 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1377056965!5506700!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2717 invoked from network); 21 Aug 2013 03:49:26 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-11.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:49:26 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzQD-0004H4-C1
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:49:25 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzQD-0004kN-6c
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:49:25 +0000
Date: Wed, 21 Aug 2013 03:49:25 +0000
Message-Id: <E1VBzQD-0004kN-6c@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen: arm: Use a direct mapping of RAM
	on arm64
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 5263507b1b4ad5417871d8297f315d7b204426d4
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Thu Aug 8 13:15:17 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:44:36 2013 +0100

    xen: arm: Use a direct mapping of RAM on arm64
    
    We have plenty of virtual address space so we can avoid needing to map and
    unmap pages all the time.
    
    A totally arbitrarily chosen 32GB frame table leads to support for 5TB of RAM.
    I haven't tested with anything near that amount of RAM though. There is plenty
    of room to expand further when that becomes necessary.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 xen/arch/arm/mm.c            |  157 ++++++++++++++++++++++++++++++++++--------
 xen/arch/arm/setup.c         |   77 ++++++++++++++++++++
 xen/include/asm-arm/config.h |   96 +++++++++++++++++++-------
 xen/include/asm-arm/mm.h     |   16 ++++
 4 files changed, 293 insertions(+), 53 deletions(-)

diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index 974d6df..69c157a 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -37,6 +37,7 @@
 #include <public/memory.h>
 #include <xen/sched.h>
 #include <xen/vmap.h>
+#include <asm/early_printk.h>
 #include <xsm/xsm.h>
 #include <xen/pfn.h>
 
@@ -48,6 +49,14 @@ struct domain *dom_xen, *dom_io, *dom_cow;
 lpae_t boot_pgtable[LPAE_ENTRIES] __attribute__((__aligned__(4096)));
 #ifdef CONFIG_ARM_64
 lpae_t boot_first[LPAE_ENTRIES] __attribute__((__aligned__(4096)));
+/* The first page of the first level mapping of the xenheap. The
+ * subsequent xenheap first level pages are dynamically allocated, but
+ * we need this one to bootstrap ourselves. */
+lpae_t xenheap_first_first[LPAE_ENTRIES] __attribute__((__aligned__(4096)));
+/* The zeroeth level slot which uses xenheap_first_first. Used because
+ * setup_xenheap_mappings otherwise relies on mfn_to_virt which isn't
+ * valid for a non-xenheap mapping. */
+static __initdata int xenheap_first_first_slot = -1;
 #endif
 
 /*
@@ -57,6 +66,9 @@ lpae_t boot_first[LPAE_ENTRIES] __attribute__((__aligned__(4096)));
  * xen_second, xen_fixmap and xen_xenmap are shared between all PCPUs.
  */
 
+#ifdef CONFIG_ARM_64
+#define THIS_CPU_PGTABLE boot_pgtable
+#else
 /* Per-CPU pagetable pages */
 /* xen_pgtable == root of the trie (zeroeth level on 64-bit, first on 32-bit) */
 static DEFINE_PER_CPU(lpae_t *, xen_pgtable);
@@ -65,6 +77,7 @@ static DEFINE_PER_CPU(lpae_t *, xen_pgtable);
  * the second level pagetables which mapp the domheap region
  * DOMHEAP_VIRT_START...DOMHEAP_VIRT_END in 2MB chunks. */
 static DEFINE_PER_CPU(lpae_t *, xen_dommap);
+#endif
 
 /* Common pagetable leaves */
 /* Second level page tables.
@@ -73,10 +86,16 @@ static DEFINE_PER_CPU(lpae_t *, xen_dommap);
  * addresses from 0 to 0x7fffffff. Offsets into it are calculated
  * with second_linear_offset(), not second_table_offset().
  *
- * Addresses 0x80000000 to 0xffffffff are covered by the per-cpu
- * xen_domheap mappings described above. However we allocate 4 pages
+ * On 32bit addresses 0x80000000 to 0xffffffff are covered by the
+ * per-cpu xen_domheap mappings described above. We allocate 4 pages
  * here for use in the boot page tables and the second two pages
  * become the boot CPUs xen_dommap pages.
+ *
+ * On 64bit addresses 0x80000000 to 0xffffffff are unused. However we
+ * allocate 4 pages here for use while relocating Xen, which currently
+ * expects a second level page to exist for all addresses in the first
+ * 4GB. We need to keep these extra mappings in place for seconary CPU
+ * bring up too. For now we just leave them forever.
  */
 lpae_t xen_second[LPAE_ENTRIES*4] __attribute__((__aligned__(4096*4)));
 /* First level page table used for fixmap */
@@ -92,7 +111,7 @@ uint64_t boot_ttbr;
 static paddr_t phys_offset;
 
 /* Limits of the Xen heap */
-unsigned long xenheap_mfn_start __read_mostly;
+unsigned long xenheap_mfn_start __read_mostly = ~0UL;
 unsigned long xenheap_mfn_end __read_mostly;
 unsigned long xenheap_virt_end __read_mostly;
 
@@ -112,7 +131,9 @@ static inline void check_memory_layout_alignment_constraints(void) {
     BUILD_BUG_ON(BOOT_MISC_VIRT_START & ~SECOND_MASK);
     /* 1GB aligned regions */
     BUILD_BUG_ON(XENHEAP_VIRT_START & ~FIRST_MASK);
+#ifdef CONFIG_DOMAIN_PAGE
     BUILD_BUG_ON(DOMHEAP_VIRT_START & ~FIRST_MASK);
+#endif
 }
 
 void dump_pt_walk(lpae_t *first, paddr_t addr)
@@ -180,6 +201,7 @@ void clear_fixmap(unsigned map)
     flush_xen_data_tlb_range_va(FIXMAP_ADDR(map), PAGE_SIZE);
 }
 
+#ifdef CONFIG_DOMAIN_PAGE
 void *map_domain_page_global(unsigned long mfn)
 {
     return vmap(&mfn, 1);
@@ -284,6 +306,7 @@ unsigned long domain_page_map_to_mfn(const void *va)
 
     return map[slot].pt.base + offset;
 }
+#endif
 
 void __init arch_init_memory(void)
 {
@@ -431,6 +454,7 @@ void __init setup_pagetables(unsigned long boot_phys_offset, paddr_t xen_paddr)
     /* Flush everything after setting WXN bit. */
     flush_xen_text_tlb();
 
+#ifdef CONFIG_ARM_32
     per_cpu(xen_pgtable, 0) = boot_pgtable;
     per_cpu(xen_dommap, 0) = xen_second +
         second_linear_offset(DOMHEAP_VIRT_START);
@@ -440,43 +464,33 @@ void __init setup_pagetables(unsigned long boot_phys_offset, paddr_t xen_paddr)
     memset(this_cpu(xen_dommap), 0, DOMHEAP_SECOND_PAGES*PAGE_SIZE);
     flush_xen_dcache_va_range(this_cpu(xen_dommap),
                               DOMHEAP_SECOND_PAGES*PAGE_SIZE);
+#endif
 }
-
+#ifdef CONFIG_ARM_64
+int init_secondary_pagetables(int cpu)
+{
+    /* All CPUs share a single page table on 64 bit */
+    return 0;
+}
+#else
 int init_secondary_pagetables(int cpu)
 {
-    lpae_t *root, *first, *domheap, pte;
+    lpae_t *first, *domheap, pte;
     int i;
 
-    root = alloc_xenheap_page();
-#ifdef CONFIG_ARM_64
-    first = alloc_xenheap_page();
-#else
-    first = root; /* root == first level on 32-bit 3-level trie */
-#endif
+    first = alloc_xenheap_page(); /* root == first level on 32-bit 3-level trie */
     domheap = alloc_xenheap_pages(get_order_from_pages(DOMHEAP_SECOND_PAGES), 0);
 
-    if ( root == NULL || domheap == NULL || first == NULL )
+    if ( domheap == NULL || first == NULL )
     {
         printk("Not enough free memory for secondary CPU%d pagetables\n", cpu);
         free_xenheap_pages(domheap, get_order_from_pages(DOMHEAP_SECOND_PAGES));
-#ifdef CONFIG_ARM_64
         free_xenheap_page(first);
-#endif
-        free_xenheap_page(root);
         return -ENOMEM;
     }
 
     /* Initialise root pagetable from root of boot tables */
-    memcpy(root, boot_pgtable, PAGE_SIZE);
-
-#ifdef CONFIG_ARM_64
-    /* Initialise first pagetable from first level of boot tables, and
-     * hook into the new root. */
-    memcpy(first, boot_first, PAGE_SIZE);
-    pte = mfn_to_xen_entry(virt_to_mfn(first));
-    pte.pt.table = 1;
-    write_pte(root, pte);
-#endif
+    memcpy(first, boot_pgtable, PAGE_SIZE);
 
     /* Ensure the domheap has no stray mappings */
     memset(domheap, 0, DOMHEAP_SECOND_PAGES*PAGE_SIZE);
@@ -490,17 +504,15 @@ int init_secondary_pagetables(int cpu)
         write_pte(&first[first_table_offset(DOMHEAP_VIRT_START+i*FIRST_SIZE)], pte);
     }
 
-    flush_xen_dcache_va_range(root, PAGE_SIZE);
-#ifdef CONFIG_ARM_64
     flush_xen_dcache_va_range(first, PAGE_SIZE);
-#endif
     flush_xen_dcache_va_range(domheap, DOMHEAP_SECOND_PAGES*PAGE_SIZE);
 
-    per_cpu(xen_pgtable, cpu) = root;
+    per_cpu(xen_pgtable, cpu) = first;
     per_cpu(xen_dommap, cpu) = domheap;
 
     return 0;
 }
+#endif
 
 /* MMU setup for secondary CPUS (which already have paging enabled) */
 void __cpuinit mmu_init_secondary_cpu(void)
@@ -544,6 +556,7 @@ static void __init create_32mb_mappings(lpae_t *second,
     flush_xen_data_tlb();
 }
 
+#ifdef CONFIG_ARM_32
 /* Set up the xenheap: up to 1GB of contiguous, always-mapped memory. */
 void __init setup_xenheap_mappings(unsigned long base_mfn,
                                    unsigned long nr_mfns)
@@ -555,6 +568,73 @@ void __init setup_xenheap_mappings(unsigned long base_mfn,
     xenheap_mfn_start = base_mfn;
     xenheap_mfn_end = base_mfn + nr_mfns;
 }
+#else /* CONFIG_ARM_64 */
+void __init setup_xenheap_mappings(unsigned long base_mfn,
+                                   unsigned long nr_mfns)
+{
+    lpae_t *first, pte;
+    unsigned long offset, end_mfn;
+    vaddr_t vaddr;
+
+    /* First call sets the xenheap physical offset. */
+    if ( xenheap_mfn_start == ~0UL )
+        xenheap_mfn_start = base_mfn;
+
+    if ( base_mfn < xenheap_mfn_start )
+        early_panic("cannot add xenheap mapping at %lx below heap start %lx\n",
+                    base_mfn, xenheap_mfn_start);
+
+    end_mfn = base_mfn + nr_mfns;
+
+    /* Align to previous 1GB boundary */
+    base_mfn &= ~FIRST_MASK;
+
+    offset = base_mfn - xenheap_mfn_start;
+    vaddr = DIRECTMAP_VIRT_START + offset*PAGE_SIZE;
+
+    while ( base_mfn < end_mfn )
+    {
+        int slot = zeroeth_table_offset(vaddr);
+        lpae_t *p = &boot_pgtable[slot];
+
+        if ( p->pt.valid )
+        {
+            /* mfn_to_virt is not valid on the 1st 1st mfn, since it
+             * is not within the xenheap. */
+            first = slot == xenheap_first_first_slot ?
+                xenheap_first_first : mfn_to_virt(p->pt.base);
+        }
+        else if ( xenheap_first_first_slot == -1)
+        {
+            /* Use xenheap_first_first to bootstrap the mappings */
+            first = xenheap_first_first;
+
+            pte = pte_of_xenaddr((vaddr_t)xenheap_first_first);
+            pte.pt.table = 1;
+            write_pte(p, pte);
+
+            xenheap_first_first_slot = slot;
+        }
+        else
+        {
+            unsigned long first_mfn = alloc_boot_pages(1, 1);
+            pte = mfn_to_xen_entry(first_mfn);
+            pte.pt.table = 1;
+            write_pte(p, pte);
+            first = mfn_to_virt(first_mfn);
+        }
+
+        pte = mfn_to_xen_entry(base_mfn);
+        /* TODO: Set pte.pt.contig when appropriate. */
+        write_pte(&first[first_table_offset(vaddr)], pte);
+
+        base_mfn += FIRST_SIZE>>PAGE_SHIFT;
+        vaddr += FIRST_SIZE;
+    }
+
+    flush_xen_data_tlb();
+}
+#endif
 
 /* Map a frame table to cover physical addresses ps through pe */
 void __init setup_frametable_mappings(paddr_t ps, paddr_t pe)
@@ -562,13 +642,32 @@ void __init setup_frametable_mappings(paddr_t ps, paddr_t pe)
     unsigned long nr_pages = (pe - ps) >> PAGE_SHIFT;
     unsigned long frametable_size = nr_pages * sizeof(struct page_info);
     unsigned long base_mfn;
+#ifdef CONFIG_ARM_64
+    lpae_t *second, pte;
+    unsigned long nr_second, second_base;
+    int i;
+#endif
 
     frametable_base_mfn = ps >> PAGE_SHIFT;
 
     /* Round up to 32M boundary */
     frametable_size = (frametable_size + 0x1ffffff) & ~0x1ffffff;
     base_mfn = alloc_boot_pages(frametable_size >> PAGE_SHIFT, 32<<(20-12));
+
+#ifdef CONFIG_ARM_64
+    nr_second = frametable_size >> SECOND_SHIFT;
+    second_base = alloc_boot_pages(nr_second, 1);
+    second = mfn_to_virt(second_base);
+    for ( i = 0; i < nr_second; i++ )
+    {
+        pte = mfn_to_xen_entry(second_base + i);
+        pte.pt.table = 1;
+        write_pte(&boot_first[first_table_offset(FRAMETABLE_VIRT_START)+i], pte);
+    }
+    create_32mb_mappings(second, 0, base_mfn, frametable_size >> PAGE_SHIFT);
+#else
     create_32mb_mappings(xen_second, FRAMETABLE_VIRT_START, base_mfn, frametable_size >> PAGE_SHIFT);
+#endif
 
     memset(&frame_table[0], 0, nr_pages * sizeof(struct page_info));
     memset(&frame_table[nr_pages], -1,
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index b184721..f8a3d04 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -278,6 +278,7 @@ static paddr_t __init get_xen_paddr(void)
     return paddr;
 }
 
+#ifdef CONFIG_ARM_32
 static void __init setup_mm(unsigned long dtb_paddr, size_t dtb_size)
 {
     paddr_t ram_start;
@@ -402,6 +403,82 @@ static void __init setup_mm(unsigned long dtb_paddr, size_t dtb_size)
 
     end_boot_allocator();
 }
+#else /* CONFIG_ARM_64 */
+static void __init setup_mm(unsigned long dtb_paddr, size_t dtb_size)
+{
+    paddr_t ram_start = ~0;
+    paddr_t ram_end = 0;
+    int bank;
+    unsigned long  xenheap_pages = 0;
+    unsigned long dtb_pages;
+
+    total_pages = 0;
+    for ( bank = 0 ; bank < early_info.mem.nr_banks; bank++ )
+    {
+        paddr_t bank_start = early_info.mem.bank[bank].start;
+        paddr_t bank_size  = early_info.mem.bank[bank].size;
+        paddr_t  bank_end = bank_start + bank_size;
+        unsigned long bank_pages = bank_size >> PAGE_SHIFT;
+        paddr_t s, e;
+
+        total_pages += bank_pages;
+
+        if ( bank_start < ram_start )
+            ram_start = bank_start;
+        if ( bank_end > ram_end )
+            ram_end = bank_end;
+
+        xenheap_pages += (bank_size >> PAGE_SHIFT);
+
+        /* XXX we assume that the ram regions are ordered */
+        s = bank_start;
+        while ( s < bank_end )
+        {
+            paddr_t n = bank_end;
+
+            e = next_module(s, &n);
+
+            if ( e == ~(paddr_t)0 )
+            {
+                e = n = bank_end;
+            }
+
+            setup_xenheap_mappings(s>>PAGE_SHIFT, (e-s)>>PAGE_SHIFT);
+
+            xenheap_mfn_end = e;
+
+            init_boot_pages(s, e);
+            s = n;
+        }
+    }
+
+    xenheap_virt_end = XENHEAP_VIRT_START + ram_end - ram_start;
+    xenheap_mfn_start = ram_start >> PAGE_SHIFT;
+    xenheap_mfn_end = ram_end >> PAGE_SHIFT;
+    xenheap_max_mfn(xenheap_mfn_end);
+
+    /*
+     * Need enough mapped pages for copying the DTB.
+     *
+     * TODO: The DTB (and other payloads) are assumed to be towards
+     * the start of RAM.
+     */
+    dtb_pages = (dtb_size + PAGE_SIZE-1) >> PAGE_SHIFT;
+
+    /*
+     * Copy the DTB.
+     *
+     * TODO: handle other payloads too.
+     */
+    device_tree_flattened = mfn_to_virt(alloc_boot_pages(dtb_pages, 1));
+    copy_from_paddr(device_tree_flattened, dtb_paddr, dtb_size, BUFFERABLE);
+
+    setup_frametable_mappings(ram_start, ram_end);
+    max_page = PFN_DOWN(ram_end);
+
+    end_boot_allocator();
+}
+#endif
 
 size_t __read_mostly cacheline_bytes;
 
diff --git a/xen/include/asm-arm/config.h b/xen/include/asm-arm/config.h
index fb9e93c..259d4c6 100644
--- a/xen/include/asm-arm/config.h
+++ b/xen/include/asm-arm/config.h
@@ -35,9 +35,6 @@
 
 #define CONFIG_SMP 1
 
-#define CONFIG_DOMAIN_PAGE 1
-#define CONFIG_SEPARATE_XENHEAP 1
-
 #define CONFIG_VIDEO 1
 
 #define OPT_CONSOLE_STR "dtuart"
@@ -76,38 +73,89 @@
 #include <xen/const.h>
 
 /*
- * Memory layout:
- *  0  -   2M   Unmapped
- *  2M -   4M   Xen text, data, bss
- *  4M -   6M   Fixmap: special-purpose 4K mapping slots
- *  6M  -  8M   Early boot misc (see below)
- *
- * 32M - 128M   Frametable: 24 bytes per page for 16GB of RAM
- * 256M -  1G   VMAP: ioremap and early_ioremap use this virtual address
- *                    space
- *
- *  1G -   2G   Xenheap: always-mapped memory
- *  2G -   4G   Domheap: on-demand-mapped
+ * Common ARM32 and ARM64 layout:
+ *   0  -   2M   Unmapped
+ *   2M -   4M   Xen text, data, bss
+ *   4M -   6M   Fixmap: special-purpose 4K mapping slots
+ *   6M -   8M   Early boot misc (see below)
  *
  * The early boot misc area is used:
  *   - in head.S for the DTB for device_tree_early_init().
  *   - in setup_pagetables() when relocating Xen.
+ *
+ * ARM32 layout:
+ *   0  -   8M   <COMMON>
+ *
+ *  32M - 128M   Frametable: 24 bytes per page for 16GB of RAM
+ * 256M -   1G   VMAP: ioremap and early_ioremap use this virtual address
+ *                    space
+ *
+ *   1G -   2G   Xenheap: always-mapped memory
+ *   2G -   4G   Domheap: on-demand-mapped
+ *
+ * ARM64 layout:
+ * 0x0000000000000000 - 0x0000007fffffffff (512GB, L0 slot [0])
+ *   0  -   8M   <COMMON>
+ *
+ *   1G -   2G   VMAP: ioremap and early_ioremap
+ *
+ *  32G -  64G   Frametable: 24 bytes per page for 5.3TB of RAM
+ *
+ * 0x0000008000000000 - 0x00007fffffffffff (127.5TB, L0 slots [1..255])
+ *  Unused
+ *
+ * 0x0000800000000000 - 0x000084ffffffffff (5TB, L0 slots [256..265])
+ *  1:1 mapping of RAM
+ *
+ * 0x0000850000000000 - 0x0000ffffffffffff (123TB, L0 slots [266..511])
+ *  Unused
  */
 
-#define XEN_VIRT_START         _AC(0x00200000,UL)
-#define FIXMAP_ADDR(n)        (_AC(0x00400000,UL) + (n) * PAGE_SIZE)
-#define BOOT_MISC_VIRT_START   _AC(0x00600000,UL)
-#define FRAMETABLE_VIRT_START  _AC(0x02000000,UL)
-#define VMAP_VIRT_START        _AC(0x10000000,UL)
-#define XENHEAP_VIRT_START     _AC(0x40000000,UL)
-#define DOMHEAP_VIRT_START     _AC(0x80000000,UL)
-#define DOMHEAP_VIRT_END       _AC(0xffffffff,UL)
+#define XEN_VIRT_START         _AT(vaddr_t,0x00200000)
+#define FIXMAP_ADDR(n)        (_AT(vaddr_t,0x00400000) + (n) * PAGE_SIZE)
+#define BOOT_MISC_VIRT_START   _AT(vaddr_t,0x00600000)
 
-#define VMAP_VIRT_END          XENHEAP_VIRT_START
 #define HYPERVISOR_VIRT_START  XEN_VIRT_START
 
+#ifdef CONFIG_ARM_32
+
+#define CONFIG_DOMAIN_PAGE 1
+#define CONFIG_SEPARATE_XENHEAP 1
+
+#define FRAMETABLE_VIRT_START  _AT(vaddr_t,0x02000000)
+#define VMAP_VIRT_START  _AT(vaddr_t,0x10000000)
+#define XENHEAP_VIRT_START     _AT(vaddr_t,0x40000000)
+#define XENHEAP_VIRT_END       _AT(vaddr_t,0x7fffffff)
+#define DOMHEAP_VIRT_START     _AT(vaddr_t,0x80000000)
+#define DOMHEAP_VIRT_END       _AT(vaddr_t,0xffffffff)
+
+#define VMAP_VIRT_END    XENHEAP_VIRT_START
+
 #define DOMHEAP_ENTRIES        1024  /* 1024 2MB mapping slots */
 
+#else /* ARM_64 */
+
+#define SLOT0_ENTRY_BITS  39
+#define SLOT0(slot) (_AT(vaddr_t,slot) << SLOT0_ENTRY_BITS)
+#define SLOT0_ENTRY_SIZE  SLOT0(1)
+#define GB(_gb)     (_AC(_gb, UL) << 30)
+
+#define VMAP_VIRT_START  GB(1)
+#define VMAP_VIRT_END    (VMAP_VIRT_START + GB(1) - 1)
+
+#define FRAMETABLE_VIRT_START  GB(32)
+#define FRAMETABLE_VIRT_END    (FRAMETABLE_VIRT_START + GB(32) - 1)
+
+#define DIRECTMAP_VIRT_START   SLOT0(256)
+#define DIRECTMAP_SIZE         (SLOT0_ENTRY_SIZE * (265-256))
+#define DIRECTMAP_VIRT_END     (DIRECTMAP_VIRT_START + DIRECTMAP_SIZE - 1)
+
+#define XENHEAP_VIRT_START     DIRECTMAP_VIRT_START
+
+#define HYPERVISOR_VIRT_END    DIRECTMAP_VIRT_END
+
+#endif
+
 /* Number of domheap pagetable pages required at the second level (2MB mappings) */
 #define DOMHEAP_SECOND_PAGES ((DOMHEAP_VIRT_END - DOMHEAP_VIRT_START + 1) >> FIRST_SHIFT)
 
diff --git a/xen/include/asm-arm/mm.h b/xen/include/asm-arm/mm.h
index 7aca836..27284d0 100644
--- a/xen/include/asm-arm/mm.h
+++ b/xen/include/asm-arm/mm.h
@@ -118,11 +118,18 @@ struct page_info
 extern unsigned long xenheap_mfn_start, xenheap_mfn_end;
 extern unsigned long xenheap_virt_end;
 
+#ifdef CONFIG_ARM_32
 #define is_xen_heap_page(page) is_xen_heap_mfn(page_to_mfn(page))
 #define is_xen_heap_mfn(mfn) ({                                 \
     unsigned long _mfn = (mfn);                                 \
     (_mfn >= xenheap_mfn_start && _mfn < xenheap_mfn_end);      \
 })
+#else
+#define is_xen_heap_page(page) ((page)->count_info & PGC_xen_heap)
+#define is_xen_heap_mfn(mfn) \
+    (mfn_valid(mfn) && is_xen_heap_page(__mfn_to_page(mfn)))
+#endif
+
 #define is_xen_fixed_mfn(mfn)                                   \
     ((((mfn) << PAGE_SHIFT) >= virt_to_maddr(&_start)) &&       \
      (((mfn) << PAGE_SHIFT) <= virt_to_maddr(&_end)))
@@ -215,12 +222,21 @@ static inline paddr_t __virt_to_maddr(vaddr_t va)
 }
 #define virt_to_maddr(va)   __virt_to_maddr((vaddr_t)(va))
 
+#ifdef CONFIG_ARM_32
 static inline void *maddr_to_virt(paddr_t ma)
 {
     ASSERT(is_xen_heap_mfn(ma >> PAGE_SHIFT));
     ma -= pfn_to_paddr(xenheap_mfn_start);
     return (void *)(unsigned long) ma + XENHEAP_VIRT_START;
 }
+#else
+static inline void *maddr_to_virt(paddr_t ma)
+{
+    ASSERT((ma >> PAGE_SHIFT) < (DIRECTMAP_SIZE >> PAGE_SHIFT));
+    ma -= pfn_to_paddr(xenheap_mfn_start);
+    return (void *)(unsigned long) ma + DIRECTMAP_VIRT_START;
+}
+#endif
 
 static inline int gvirt_to_maddr(vaddr_t va, paddr_t *pa)
 {
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:49:30 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:49:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzQI-0003Dl-6Z; Wed, 21 Aug 2013 03:49:30 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzQG-0003Da-Mg
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:49:29 +0000
Received: from [85.158.143.35:44304] by server-1.bemta-4.messagelabs.com id
	E9/25-16125-8C834125; Wed, 21 Aug 2013 03:49:28 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-21.messagelabs.com!1377056965!5506700!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2717 invoked from network); 21 Aug 2013 03:49:26 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-11.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:49:26 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzQD-0004H4-C1
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:49:25 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzQD-0004kN-6c
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:49:25 +0000
Date: Wed, 21 Aug 2013 03:49:25 +0000
Message-Id: <E1VBzQD-0004kN-6c@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen: arm: Use a direct mapping of RAM
	on arm64
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 5263507b1b4ad5417871d8297f315d7b204426d4
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Thu Aug 8 13:15:17 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Tue Aug 20 15:44:36 2013 +0100

    xen: arm: Use a direct mapping of RAM on arm64
    
    We have plenty of virtual address space so we can avoid needing to map and
    unmap pages all the time.
    
    A totally arbitrarily chosen 32GB frame table leads to support for 5TB of RAM.
    I haven't tested with anything near that amount of RAM though. There is plenty
    of room to expand further when that becomes necessary.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
---
 xen/arch/arm/mm.c            |  157 ++++++++++++++++++++++++++++++++++--------
 xen/arch/arm/setup.c         |   77 ++++++++++++++++++++
 xen/include/asm-arm/config.h |   96 +++++++++++++++++++-------
 xen/include/asm-arm/mm.h     |   16 ++++
 4 files changed, 293 insertions(+), 53 deletions(-)

diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index 974d6df..69c157a 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -37,6 +37,7 @@
 #include <public/memory.h>
 #include <xen/sched.h>
 #include <xen/vmap.h>
+#include <asm/early_printk.h>
 #include <xsm/xsm.h>
 #include <xen/pfn.h>
 
@@ -48,6 +49,14 @@ struct domain *dom_xen, *dom_io, *dom_cow;
 lpae_t boot_pgtable[LPAE_ENTRIES] __attribute__((__aligned__(4096)));
 #ifdef CONFIG_ARM_64
 lpae_t boot_first[LPAE_ENTRIES] __attribute__((__aligned__(4096)));
+/* The first page of the first level mapping of the xenheap. The
+ * subsequent xenheap first level pages are dynamically allocated, but
+ * we need this one to bootstrap ourselves. */
+lpae_t xenheap_first_first[LPAE_ENTRIES] __attribute__((__aligned__(4096)));
+/* The zeroeth level slot which uses xenheap_first_first. Used because
+ * setup_xenheap_mappings otherwise relies on mfn_to_virt which isn't
+ * valid for a non-xenheap mapping. */
+static __initdata int xenheap_first_first_slot = -1;
 #endif
 
 /*
@@ -57,6 +66,9 @@ lpae_t boot_first[LPAE_ENTRIES] __attribute__((__aligned__(4096)));
  * xen_second, xen_fixmap and xen_xenmap are shared between all PCPUs.
  */
 
+#ifdef CONFIG_ARM_64
+#define THIS_CPU_PGTABLE boot_pgtable
+#else
 /* Per-CPU pagetable pages */
 /* xen_pgtable == root of the trie (zeroeth level on 64-bit, first on 32-bit) */
 static DEFINE_PER_CPU(lpae_t *, xen_pgtable);
@@ -65,6 +77,7 @@ static DEFINE_PER_CPU(lpae_t *, xen_pgtable);
  * the second level pagetables which mapp the domheap region
  * DOMHEAP_VIRT_START...DOMHEAP_VIRT_END in 2MB chunks. */
 static DEFINE_PER_CPU(lpae_t *, xen_dommap);
+#endif
 
 /* Common pagetable leaves */
 /* Second level page tables.
@@ -73,10 +86,16 @@ static DEFINE_PER_CPU(lpae_t *, xen_dommap);
  * addresses from 0 to 0x7fffffff. Offsets into it are calculated
  * with second_linear_offset(), not second_table_offset().
  *
- * Addresses 0x80000000 to 0xffffffff are covered by the per-cpu
- * xen_domheap mappings described above. However we allocate 4 pages
+ * On 32bit addresses 0x80000000 to 0xffffffff are covered by the
+ * per-cpu xen_domheap mappings described above. We allocate 4 pages
  * here for use in the boot page tables and the second two pages
  * become the boot CPUs xen_dommap pages.
+ *
+ * On 64bit addresses 0x80000000 to 0xffffffff are unused. However we
+ * allocate 4 pages here for use while relocating Xen, which currently
+ * expects a second level page to exist for all addresses in the first
+ * 4GB. We need to keep these extra mappings in place for seconary CPU
+ * bring up too. For now we just leave them forever.
  */
 lpae_t xen_second[LPAE_ENTRIES*4] __attribute__((__aligned__(4096*4)));
 /* First level page table used for fixmap */
@@ -92,7 +111,7 @@ uint64_t boot_ttbr;
 static paddr_t phys_offset;
 
 /* Limits of the Xen heap */
-unsigned long xenheap_mfn_start __read_mostly;
+unsigned long xenheap_mfn_start __read_mostly = ~0UL;
 unsigned long xenheap_mfn_end __read_mostly;
 unsigned long xenheap_virt_end __read_mostly;
 
@@ -112,7 +131,9 @@ static inline void check_memory_layout_alignment_constraints(void) {
     BUILD_BUG_ON(BOOT_MISC_VIRT_START & ~SECOND_MASK);
     /* 1GB aligned regions */
     BUILD_BUG_ON(XENHEAP_VIRT_START & ~FIRST_MASK);
+#ifdef CONFIG_DOMAIN_PAGE
     BUILD_BUG_ON(DOMHEAP_VIRT_START & ~FIRST_MASK);
+#endif
 }
 
 void dump_pt_walk(lpae_t *first, paddr_t addr)
@@ -180,6 +201,7 @@ void clear_fixmap(unsigned map)
     flush_xen_data_tlb_range_va(FIXMAP_ADDR(map), PAGE_SIZE);
 }
 
+#ifdef CONFIG_DOMAIN_PAGE
 void *map_domain_page_global(unsigned long mfn)
 {
     return vmap(&mfn, 1);
@@ -284,6 +306,7 @@ unsigned long domain_page_map_to_mfn(const void *va)
 
     return map[slot].pt.base + offset;
 }
+#endif
 
 void __init arch_init_memory(void)
 {
@@ -431,6 +454,7 @@ void __init setup_pagetables(unsigned long boot_phys_offset, paddr_t xen_paddr)
     /* Flush everything after setting WXN bit. */
     flush_xen_text_tlb();
 
+#ifdef CONFIG_ARM_32
     per_cpu(xen_pgtable, 0) = boot_pgtable;
     per_cpu(xen_dommap, 0) = xen_second +
         second_linear_offset(DOMHEAP_VIRT_START);
@@ -440,43 +464,33 @@ void __init setup_pagetables(unsigned long boot_phys_offset, paddr_t xen_paddr)
     memset(this_cpu(xen_dommap), 0, DOMHEAP_SECOND_PAGES*PAGE_SIZE);
     flush_xen_dcache_va_range(this_cpu(xen_dommap),
                               DOMHEAP_SECOND_PAGES*PAGE_SIZE);
+#endif
 }
-
+#ifdef CONFIG_ARM_64
+int init_secondary_pagetables(int cpu)
+{
+    /* All CPUs share a single page table on 64 bit */
+    return 0;
+}
+#else
 int init_secondary_pagetables(int cpu)
 {
-    lpae_t *root, *first, *domheap, pte;
+    lpae_t *first, *domheap, pte;
     int i;
 
-    root = alloc_xenheap_page();
-#ifdef CONFIG_ARM_64
-    first = alloc_xenheap_page();
-#else
-    first = root; /* root == first level on 32-bit 3-level trie */
-#endif
+    first = alloc_xenheap_page(); /* root == first level on 32-bit 3-level trie */
     domheap = alloc_xenheap_pages(get_order_from_pages(DOMHEAP_SECOND_PAGES), 0);
 
-    if ( root == NULL || domheap == NULL || first == NULL )
+    if ( domheap == NULL || first == NULL )
     {
         printk("Not enough free memory for secondary CPU%d pagetables\n", cpu);
         free_xenheap_pages(domheap, get_order_from_pages(DOMHEAP_SECOND_PAGES));
-#ifdef CONFIG_ARM_64
         free_xenheap_page(first);
-#endif
-        free_xenheap_page(root);
         return -ENOMEM;
     }
 
     /* Initialise root pagetable from root of boot tables */
-    memcpy(root, boot_pgtable, PAGE_SIZE);
-
-#ifdef CONFIG_ARM_64
-    /* Initialise first pagetable from first level of boot tables, and
-     * hook into the new root. */
-    memcpy(first, boot_first, PAGE_SIZE);
-    pte = mfn_to_xen_entry(virt_to_mfn(first));
-    pte.pt.table = 1;
-    write_pte(root, pte);
-#endif
+    memcpy(first, boot_pgtable, PAGE_SIZE);
 
     /* Ensure the domheap has no stray mappings */
     memset(domheap, 0, DOMHEAP_SECOND_PAGES*PAGE_SIZE);
@@ -490,17 +504,15 @@ int init_secondary_pagetables(int cpu)
         write_pte(&first[first_table_offset(DOMHEAP_VIRT_START+i*FIRST_SIZE)], pte);
     }
 
-    flush_xen_dcache_va_range(root, PAGE_SIZE);
-#ifdef CONFIG_ARM_64
     flush_xen_dcache_va_range(first, PAGE_SIZE);
-#endif
     flush_xen_dcache_va_range(domheap, DOMHEAP_SECOND_PAGES*PAGE_SIZE);
 
-    per_cpu(xen_pgtable, cpu) = root;
+    per_cpu(xen_pgtable, cpu) = first;
     per_cpu(xen_dommap, cpu) = domheap;
 
     return 0;
 }
+#endif
 
 /* MMU setup for secondary CPUS (which already have paging enabled) */
 void __cpuinit mmu_init_secondary_cpu(void)
@@ -544,6 +556,7 @@ static void __init create_32mb_mappings(lpae_t *second,
     flush_xen_data_tlb();
 }
 
+#ifdef CONFIG_ARM_32
 /* Set up the xenheap: up to 1GB of contiguous, always-mapped memory. */
 void __init setup_xenheap_mappings(unsigned long base_mfn,
                                    unsigned long nr_mfns)
@@ -555,6 +568,73 @@ void __init setup_xenheap_mappings(unsigned long base_mfn,
     xenheap_mfn_start = base_mfn;
     xenheap_mfn_end = base_mfn + nr_mfns;
 }
+#else /* CONFIG_ARM_64 */
+void __init setup_xenheap_mappings(unsigned long base_mfn,
+                                   unsigned long nr_mfns)
+{
+    lpae_t *first, pte;
+    unsigned long offset, end_mfn;
+    vaddr_t vaddr;
+
+    /* First call sets the xenheap physical offset. */
+    if ( xenheap_mfn_start == ~0UL )
+        xenheap_mfn_start = base_mfn;
+
+    if ( base_mfn < xenheap_mfn_start )
+        early_panic("cannot add xenheap mapping at %lx below heap start %lx\n",
+                    base_mfn, xenheap_mfn_start);
+
+    end_mfn = base_mfn + nr_mfns;
+
+    /* Align to previous 1GB boundary */
+    base_mfn &= ~FIRST_MASK;
+
+    offset = base_mfn - xenheap_mfn_start;
+    vaddr = DIRECTMAP_VIRT_START + offset*PAGE_SIZE;
+
+    while ( base_mfn < end_mfn )
+    {
+        int slot = zeroeth_table_offset(vaddr);
+        lpae_t *p = &boot_pgtable[slot];
+
+        if ( p->pt.valid )
+        {
+            /* mfn_to_virt is not valid on the 1st 1st mfn, since it
+             * is not within the xenheap. */
+            first = slot == xenheap_first_first_slot ?
+                xenheap_first_first : mfn_to_virt(p->pt.base);
+        }
+        else if ( xenheap_first_first_slot == -1)
+        {
+            /* Use xenheap_first_first to bootstrap the mappings */
+            first = xenheap_first_first;
+
+            pte = pte_of_xenaddr((vaddr_t)xenheap_first_first);
+            pte.pt.table = 1;
+            write_pte(p, pte);
+
+            xenheap_first_first_slot = slot;
+        }
+        else
+        {
+            unsigned long first_mfn = alloc_boot_pages(1, 1);
+            pte = mfn_to_xen_entry(first_mfn);
+            pte.pt.table = 1;
+            write_pte(p, pte);
+            first = mfn_to_virt(first_mfn);
+        }
+
+        pte = mfn_to_xen_entry(base_mfn);
+        /* TODO: Set pte.pt.contig when appropriate. */
+        write_pte(&first[first_table_offset(vaddr)], pte);
+
+        base_mfn += FIRST_SIZE>>PAGE_SHIFT;
+        vaddr += FIRST_SIZE;
+    }
+
+    flush_xen_data_tlb();
+}
+#endif
 
 /* Map a frame table to cover physical addresses ps through pe */
 void __init setup_frametable_mappings(paddr_t ps, paddr_t pe)
@@ -562,13 +642,32 @@ void __init setup_frametable_mappings(paddr_t ps, paddr_t pe)
     unsigned long nr_pages = (pe - ps) >> PAGE_SHIFT;
     unsigned long frametable_size = nr_pages * sizeof(struct page_info);
     unsigned long base_mfn;
+#ifdef CONFIG_ARM_64
+    lpae_t *second, pte;
+    unsigned long nr_second, second_base;
+    int i;
+#endif
 
     frametable_base_mfn = ps >> PAGE_SHIFT;
 
     /* Round up to 32M boundary */
     frametable_size = (frametable_size + 0x1ffffff) & ~0x1ffffff;
     base_mfn = alloc_boot_pages(frametable_size >> PAGE_SHIFT, 32<<(20-12));
+
+#ifdef CONFIG_ARM_64
+    nr_second = frametable_size >> SECOND_SHIFT;
+    second_base = alloc_boot_pages(nr_second, 1);
+    second = mfn_to_virt(second_base);
+    for ( i = 0; i < nr_second; i++ )
+    {
+        pte = mfn_to_xen_entry(second_base + i);
+        pte.pt.table = 1;
+        write_pte(&boot_first[first_table_offset(FRAMETABLE_VIRT_START)+i], pte);
+    }
+    create_32mb_mappings(second, 0, base_mfn, frametable_size >> PAGE_SHIFT);
+#else
     create_32mb_mappings(xen_second, FRAMETABLE_VIRT_START, base_mfn, frametable_size >> PAGE_SHIFT);
+#endif
 
     memset(&frame_table[0], 0, nr_pages * sizeof(struct page_info));
     memset(&frame_table[nr_pages], -1,
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index b184721..f8a3d04 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -278,6 +278,7 @@ static paddr_t __init get_xen_paddr(void)
     return paddr;
 }
 
+#ifdef CONFIG_ARM_32
 static void __init setup_mm(unsigned long dtb_paddr, size_t dtb_size)
 {
     paddr_t ram_start;
@@ -402,6 +403,82 @@ static void __init setup_mm(unsigned long dtb_paddr, size_t dtb_size)
 
     end_boot_allocator();
 }
+#else /* CONFIG_ARM_64 */
+static void __init setup_mm(unsigned long dtb_paddr, size_t dtb_size)
+{
+    paddr_t ram_start = ~0;
+    paddr_t ram_end = 0;
+    int bank;
+    unsigned long  xenheap_pages = 0;
+    unsigned long dtb_pages;
+
+    total_pages = 0;
+    for ( bank = 0 ; bank < early_info.mem.nr_banks; bank++ )
+    {
+        paddr_t bank_start = early_info.mem.bank[bank].start;
+        paddr_t bank_size  = early_info.mem.bank[bank].size;
+        paddr_t  bank_end = bank_start + bank_size;
+        unsigned long bank_pages = bank_size >> PAGE_SHIFT;
+        paddr_t s, e;
+
+        total_pages += bank_pages;
+
+        if ( bank_start < ram_start )
+            ram_start = bank_start;
+        if ( bank_end > ram_end )
+            ram_end = bank_end;
+
+        xenheap_pages += (bank_size >> PAGE_SHIFT);
+
+        /* XXX we assume that the ram regions are ordered */
+        s = bank_start;
+        while ( s < bank_end )
+        {
+            paddr_t n = bank_end;
+
+            e = next_module(s, &n);
+
+            if ( e == ~(paddr_t)0 )
+            {
+                e = n = bank_end;
+            }
+
+            setup_xenheap_mappings(s>>PAGE_SHIFT, (e-s)>>PAGE_SHIFT);
+
+            xenheap_mfn_end = e;
+
+            init_boot_pages(s, e);
+            s = n;
+        }
+    }
+
+    xenheap_virt_end = XENHEAP_VIRT_START + ram_end - ram_start;
+    xenheap_mfn_start = ram_start >> PAGE_SHIFT;
+    xenheap_mfn_end = ram_end >> PAGE_SHIFT;
+    xenheap_max_mfn(xenheap_mfn_end);
+
+    /*
+     * Need enough mapped pages for copying the DTB.
+     *
+     * TODO: The DTB (and other payloads) are assumed to be towards
+     * the start of RAM.
+     */
+    dtb_pages = (dtb_size + PAGE_SIZE-1) >> PAGE_SHIFT;
+
+    /*
+     * Copy the DTB.
+     *
+     * TODO: handle other payloads too.
+     */
+    device_tree_flattened = mfn_to_virt(alloc_boot_pages(dtb_pages, 1));
+    copy_from_paddr(device_tree_flattened, dtb_paddr, dtb_size, BUFFERABLE);
+
+    setup_frametable_mappings(ram_start, ram_end);
+    max_page = PFN_DOWN(ram_end);
+
+    end_boot_allocator();
+}
+#endif
 
 size_t __read_mostly cacheline_bytes;
 
diff --git a/xen/include/asm-arm/config.h b/xen/include/asm-arm/config.h
index fb9e93c..259d4c6 100644
--- a/xen/include/asm-arm/config.h
+++ b/xen/include/asm-arm/config.h
@@ -35,9 +35,6 @@
 
 #define CONFIG_SMP 1
 
-#define CONFIG_DOMAIN_PAGE 1
-#define CONFIG_SEPARATE_XENHEAP 1
-
 #define CONFIG_VIDEO 1
 
 #define OPT_CONSOLE_STR "dtuart"
@@ -76,38 +73,89 @@
 #include <xen/const.h>
 
 /*
- * Memory layout:
- *  0  -   2M   Unmapped
- *  2M -   4M   Xen text, data, bss
- *  4M -   6M   Fixmap: special-purpose 4K mapping slots
- *  6M  -  8M   Early boot misc (see below)
- *
- * 32M - 128M   Frametable: 24 bytes per page for 16GB of RAM
- * 256M -  1G   VMAP: ioremap and early_ioremap use this virtual address
- *                    space
- *
- *  1G -   2G   Xenheap: always-mapped memory
- *  2G -   4G   Domheap: on-demand-mapped
+ * Common ARM32 and ARM64 layout:
+ *   0  -   2M   Unmapped
+ *   2M -   4M   Xen text, data, bss
+ *   4M -   6M   Fixmap: special-purpose 4K mapping slots
+ *   6M -   8M   Early boot misc (see below)
  *
  * The early boot misc area is used:
  *   - in head.S for the DTB for device_tree_early_init().
  *   - in setup_pagetables() when relocating Xen.
+ *
+ * ARM32 layout:
+ *   0  -   8M   <COMMON>
+ *
+ *  32M - 128M   Frametable: 24 bytes per page for 16GB of RAM
+ * 256M -   1G   VMAP: ioremap and early_ioremap use this virtual address
+ *                    space
+ *
+ *   1G -   2G   Xenheap: always-mapped memory
+ *   2G -   4G   Domheap: on-demand-mapped
+ *
+ * ARM64 layout:
+ * 0x0000000000000000 - 0x0000007fffffffff (512GB, L0 slot [0])
+ *   0  -   8M   <COMMON>
+ *
+ *   1G -   2G   VMAP: ioremap and early_ioremap
+ *
+ *  32G -  64G   Frametable: 24 bytes per page for 5.3TB of RAM
+ *
+ * 0x0000008000000000 - 0x00007fffffffffff (127.5TB, L0 slots [1..255])
+ *  Unused
+ *
+ * 0x0000800000000000 - 0x000084ffffffffff (5TB, L0 slots [256..265])
+ *  1:1 mapping of RAM
+ *
+ * 0x0000850000000000 - 0x0000ffffffffffff (123TB, L0 slots [266..511])
+ *  Unused
  */
 
-#define XEN_VIRT_START         _AC(0x00200000,UL)
-#define FIXMAP_ADDR(n)        (_AC(0x00400000,UL) + (n) * PAGE_SIZE)
-#define BOOT_MISC_VIRT_START   _AC(0x00600000,UL)
-#define FRAMETABLE_VIRT_START  _AC(0x02000000,UL)
-#define VMAP_VIRT_START        _AC(0x10000000,UL)
-#define XENHEAP_VIRT_START     _AC(0x40000000,UL)
-#define DOMHEAP_VIRT_START     _AC(0x80000000,UL)
-#define DOMHEAP_VIRT_END       _AC(0xffffffff,UL)
+#define XEN_VIRT_START         _AT(vaddr_t,0x00200000)
+#define FIXMAP_ADDR(n)        (_AT(vaddr_t,0x00400000) + (n) * PAGE_SIZE)
+#define BOOT_MISC_VIRT_START   _AT(vaddr_t,0x00600000)
 
-#define VMAP_VIRT_END          XENHEAP_VIRT_START
 #define HYPERVISOR_VIRT_START  XEN_VIRT_START
 
+#ifdef CONFIG_ARM_32
+
+#define CONFIG_DOMAIN_PAGE 1
+#define CONFIG_SEPARATE_XENHEAP 1
+
+#define FRAMETABLE_VIRT_START  _AT(vaddr_t,0x02000000)
+#define VMAP_VIRT_START  _AT(vaddr_t,0x10000000)
+#define XENHEAP_VIRT_START     _AT(vaddr_t,0x40000000)
+#define XENHEAP_VIRT_END       _AT(vaddr_t,0x7fffffff)
+#define DOMHEAP_VIRT_START     _AT(vaddr_t,0x80000000)
+#define DOMHEAP_VIRT_END       _AT(vaddr_t,0xffffffff)
+
+#define VMAP_VIRT_END    XENHEAP_VIRT_START
+
 #define DOMHEAP_ENTRIES        1024  /* 1024 2MB mapping slots */
 
+#else /* ARM_64 */
+
+#define SLOT0_ENTRY_BITS  39
+#define SLOT0(slot) (_AT(vaddr_t,slot) << SLOT0_ENTRY_BITS)
+#define SLOT0_ENTRY_SIZE  SLOT0(1)
+#define GB(_gb)     (_AC(_gb, UL) << 30)
+
+#define VMAP_VIRT_START  GB(1)
+#define VMAP_VIRT_END    (VMAP_VIRT_START + GB(1) - 1)
+
+#define FRAMETABLE_VIRT_START  GB(32)
+#define FRAMETABLE_VIRT_END    (FRAMETABLE_VIRT_START + GB(32) - 1)
+
+#define DIRECTMAP_VIRT_START   SLOT0(256)
+#define DIRECTMAP_SIZE         (SLOT0_ENTRY_SIZE * (265-256))
+#define DIRECTMAP_VIRT_END     (DIRECTMAP_VIRT_START + DIRECTMAP_SIZE - 1)
+
+#define XENHEAP_VIRT_START     DIRECTMAP_VIRT_START
+
+#define HYPERVISOR_VIRT_END    DIRECTMAP_VIRT_END
+
+#endif
+
 /* Number of domheap pagetable pages required at the second level (2MB mappings) */
 #define DOMHEAP_SECOND_PAGES ((DOMHEAP_VIRT_END - DOMHEAP_VIRT_START + 1) >> FIRST_SHIFT)
 
diff --git a/xen/include/asm-arm/mm.h b/xen/include/asm-arm/mm.h
index 7aca836..27284d0 100644
--- a/xen/include/asm-arm/mm.h
+++ b/xen/include/asm-arm/mm.h
@@ -118,11 +118,18 @@ struct page_info
 extern unsigned long xenheap_mfn_start, xenheap_mfn_end;
 extern unsigned long xenheap_virt_end;
 
+#ifdef CONFIG_ARM_32
 #define is_xen_heap_page(page) is_xen_heap_mfn(page_to_mfn(page))
 #define is_xen_heap_mfn(mfn) ({                                 \
     unsigned long _mfn = (mfn);                                 \
     (_mfn >= xenheap_mfn_start && _mfn < xenheap_mfn_end);      \
 })
+#else
+#define is_xen_heap_page(page) ((page)->count_info & PGC_xen_heap)
+#define is_xen_heap_mfn(mfn) \
+    (mfn_valid(mfn) && is_xen_heap_page(__mfn_to_page(mfn)))
+#endif
+
 #define is_xen_fixed_mfn(mfn)                                   \
     ((((mfn) << PAGE_SHIFT) >= virt_to_maddr(&_start)) &&       \
      (((mfn) << PAGE_SHIFT) <= virt_to_maddr(&_end)))
@@ -215,12 +222,21 @@ static inline paddr_t __virt_to_maddr(vaddr_t va)
 }
 #define virt_to_maddr(va)   __virt_to_maddr((vaddr_t)(va))
 
+#ifdef CONFIG_ARM_32
 static inline void *maddr_to_virt(paddr_t ma)
 {
     ASSERT(is_xen_heap_mfn(ma >> PAGE_SHIFT));
     ma -= pfn_to_paddr(xenheap_mfn_start);
     return (void *)(unsigned long) ma + XENHEAP_VIRT_START;
 }
+#else
+static inline void *maddr_to_virt(paddr_t ma)
+{
+    ASSERT((ma >> PAGE_SHIFT) < (DIRECTMAP_SIZE >> PAGE_SHIFT));
+    ma -= pfn_to_paddr(xenheap_mfn_start);
+    return (void *)(unsigned long) ma + DIRECTMAP_VIRT_START;
+}
+#endif
 
 static inline int gvirt_to_maddr(vaddr_t va, paddr_t *pa)
 {
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:49:40 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:49:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzQS-0003Fi-C2; Wed, 21 Aug 2013 03:49:40 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzQQ-0003FQ-Fa
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:49:38 +0000
Received: from [85.158.139.211:14719] by server-4.bemta-5.messagelabs.com id
	CF/51-17194-1D834125; Wed, 21 Aug 2013 03:49:37 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-206.messagelabs.com!1377056975!3477245!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10226 invoked from network); 21 Aug 2013 03:49:36 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-3.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:49:36 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzQN-0004HC-Ht
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:49:35 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzQN-0004kn-GG
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:49:35 +0000
Date: Wed, 21 Aug 2013 03:49:35 +0000
Message-Id: <E1VBzQN-0004kn-GG@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] interrupts: allow guest to set/clear
	MSI-X mask bit
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 54a46bce768033b1c36e25eace15f7abde972389
Author:     Joby Poriyath <joby.poriyath@citrix.com>
AuthorDate: Tue Aug 20 17:04:21 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 20 17:04:21 2013 +0200

    interrupts: allow guest to set/clear MSI-X mask bit
    
    Guest needs the ability to enable and disable MSI-X interrupts
    by setting the MSI-X control bit, for a passed-through device.
    Guest is allowed to write MSI-X mask bit only if Xen *thinks*
    that mask is clear (interrupts enabled). If the mask is set by
    Xen (interrupts disabled), writes to mask bit by the guest is
    ignored.
    
    Currently, a write to MSI-X mask bit by the guest is silently
    ignored.
    
    A likely scenario is where we have a 82599 SR-IOV nic passed
    through to a guest. From the guest if you do
    
      ifconfig <ETH_DEV> down
      ifconfig <ETH_DEV> up
    
    the interrupts remain masked. On VF reset, the mask bit is set
    by the controller. At this point, Xen is not aware that mask is set.
    However, interrupts are enabled by VF driver by clearing the mask
    bit by writing directly to BAR3 region containing the MSI-X table.
    
    From dom0, we can verify that
    interrupts are being masked using 'xl debug-keys M'.
    
    Initially, guest was allowed to modify MSI-X bit.
    Later this behaviour was changed.
    See changeset 74c213c506afcd74a8556dd092995fd4dc38b225.
    
    Signed-off-by: Joby Poriyath <joby.poriyath@citrix.com>
    [jb: add assertion to msixtbl_pt_register()]
---
 xen/arch/x86/hvm/vmsi.c |   61 ++++++++++++++++++++++++++++++++++++----------
 1 files changed, 47 insertions(+), 14 deletions(-)

diff --git a/xen/arch/x86/hvm/vmsi.c b/xen/arch/x86/hvm/vmsi.c
index 36de312..0244b13 100644
--- a/xen/arch/x86/hvm/vmsi.c
+++ b/xen/arch/x86/hvm/vmsi.c
@@ -169,6 +169,7 @@ struct msixtbl_entry
         uint32_t msi_ad[3];	/* Shadow of address low, high and data */
     } gentries[MAX_MSIX_ACC_ENTRIES];
     struct rcu_head rcu;
+    const struct pirq *pirq;
 };
 
 static DEFINE_RCU_READ_LOCK(msixtbl_rcu_lock);
@@ -254,6 +255,8 @@ static int msixtbl_write(struct vcpu *v, unsigned long address,
     void *virt;
     unsigned int nr_entry, index;
     int r = X86EMUL_UNHANDLEABLE;
+    unsigned long flags, orig;
+    struct irq_desc *desc;
 
     if ( len != 4 || (address & 3) )
         return r;
@@ -283,22 +286,49 @@ static int msixtbl_write(struct vcpu *v, unsigned long address,
     if ( !virt )
         goto out;
 
-    /* Do not allow the mask bit to be changed. */
-#if 0 /* XXX
-       * As the mask bit is the only defined bit in the word, and as the
-       * host MSI-X code doesn't preserve the other bits anyway, doing
-       * this is pointless. So for now just discard the write (also
-       * saving us from having to determine the matching irq_desc).
-       */
-    spin_lock_irqsave(&desc->lock, flags);
+    desc = pirq_spin_lock_irq_desc(entry->pirq, &flags);
+    if ( !desc )
+        goto out;
+
+    if ( !desc->msi_desc )
+        goto unlock;
+
     orig = readl(virt);
-    val &= ~PCI_MSIX_VECTOR_BITMASK;
-    val |= orig & PCI_MSIX_VECTOR_BITMASK;
+
+    /*
+     * Do not allow guest to modify MSI-X control bit if it is masked
+     * by Xen. We'll only handle the case where Xen thinks that
+     * bit is unmasked, but hardware has silently masked the bit
+     * (in case of SR-IOV VF reset, etc). On the other hand, if Xen
+     * thinks that the bit is masked, but it's really not,
+     * we log a warning.
+     */
+    if ( desc->msi_desc->msi_attrib.masked )
+    {
+        if ( !(orig & PCI_MSIX_VECTOR_BITMASK) )
+            printk(XENLOG_WARNING "MSI-X control bit is unmasked when"
+                   " it is expected to be masked [%04x:%02x:%02x.%01x]\n",
+                   entry->pdev->seg, entry->pdev->bus,
+                   PCI_SLOT(entry->pdev->devfn),
+                   PCI_FUNC(entry->pdev->devfn));
+
+        goto unlock;
+    }
+
+    /*
+     * The mask bit is the only defined bit in the word. But we
+     * ought to preserve the reserved bits. Clearing the reserved
+     * bits can result in undefined behaviour (see PCI Local Bus
+     * Specification revision 2.3).
+     */
+    val &= PCI_MSIX_VECTOR_BITMASK;
+    val |= (orig & ~PCI_MSIX_VECTOR_BITMASK);
     writel(val, virt);
-    spin_unlock_irqrestore(&desc->lock, flags);
-#endif
 
+unlock:
+    spin_unlock_irqrestore(&desc->lock, flags);
     r = X86EMUL_OKAY;
+
 out:
     rcu_read_unlock(&msixtbl_rcu_lock);
     return r;
@@ -328,7 +358,8 @@ const struct hvm_mmio_handler msixtbl_mmio_handler = {
 static void add_msixtbl_entry(struct domain *d,
                               struct pci_dev *pdev,
                               uint64_t gtable,
-                              struct msixtbl_entry *entry)
+                              struct msixtbl_entry *entry,
+                              const struct pirq *pirq)
 {
     u32 len;
 
@@ -342,6 +373,7 @@ static void add_msixtbl_entry(struct domain *d,
     entry->table_len = len;
     entry->pdev = pdev;
     entry->gtable = (unsigned long) gtable;
+    entry->pirq = pirq;
 
     list_add_rcu(&entry->list, &d->arch.hvm_domain.msixtbl_list);
 }
@@ -404,9 +436,10 @@ int msixtbl_pt_register(struct domain *d, struct pirq *pirq, uint64_t gtable)
 
     entry = new_entry;
     new_entry = NULL;
-    add_msixtbl_entry(d, pdev, gtable, entry);
+    add_msixtbl_entry(d, pdev, gtable, entry, pirq);
 
 found:
+    ASSERT(entry->pirq == pirq);
     atomic_inc(&entry->refcnt);
     spin_unlock(&d->arch.hvm_domain.msixtbl_list_lock);
     r = 0;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 03:49:40 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 03:49:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VBzQS-0003Fi-C2; Wed, 21 Aug 2013 03:49:40 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzQQ-0003FQ-Fa
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:49:38 +0000
Received: from [85.158.139.211:14719] by server-4.bemta-5.messagelabs.com id
	CF/51-17194-1D834125; Wed, 21 Aug 2013 03:49:37 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-206.messagelabs.com!1377056975!3477245!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10226 invoked from network); 21 Aug 2013 03:49:36 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-3.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 03:49:36 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzQN-0004HC-Ht
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:49:35 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VBzQN-0004kn-GG
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 03:49:35 +0000
Date: Wed, 21 Aug 2013 03:49:35 +0000
Message-Id: <E1VBzQN-0004kn-GG@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] interrupts: allow guest to set/clear
	MSI-X mask bit
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 54a46bce768033b1c36e25eace15f7abde972389
Author:     Joby Poriyath <joby.poriyath@citrix.com>
AuthorDate: Tue Aug 20 17:04:21 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 20 17:04:21 2013 +0200

    interrupts: allow guest to set/clear MSI-X mask bit
    
    Guest needs the ability to enable and disable MSI-X interrupts
    by setting the MSI-X control bit, for a passed-through device.
    Guest is allowed to write MSI-X mask bit only if Xen *thinks*
    that mask is clear (interrupts enabled). If the mask is set by
    Xen (interrupts disabled), writes to mask bit by the guest is
    ignored.
    
    Currently, a write to MSI-X mask bit by the guest is silently
    ignored.
    
    A likely scenario is where we have a 82599 SR-IOV nic passed
    through to a guest. From the guest if you do
    
      ifconfig <ETH_DEV> down
      ifconfig <ETH_DEV> up
    
    the interrupts remain masked. On VF reset, the mask bit is set
    by the controller. At this point, Xen is not aware that mask is set.
    However, interrupts are enabled by VF driver by clearing the mask
    bit by writing directly to BAR3 region containing the MSI-X table.
    
    From dom0, we can verify that
    interrupts are being masked using 'xl debug-keys M'.
    
    Initially, guest was allowed to modify MSI-X bit.
    Later this behaviour was changed.
    See changeset 74c213c506afcd74a8556dd092995fd4dc38b225.
    
    Signed-off-by: Joby Poriyath <joby.poriyath@citrix.com>
    [jb: add assertion to msixtbl_pt_register()]
---
 xen/arch/x86/hvm/vmsi.c |   61 ++++++++++++++++++++++++++++++++++++----------
 1 files changed, 47 insertions(+), 14 deletions(-)

diff --git a/xen/arch/x86/hvm/vmsi.c b/xen/arch/x86/hvm/vmsi.c
index 36de312..0244b13 100644
--- a/xen/arch/x86/hvm/vmsi.c
+++ b/xen/arch/x86/hvm/vmsi.c
@@ -169,6 +169,7 @@ struct msixtbl_entry
         uint32_t msi_ad[3];	/* Shadow of address low, high and data */
     } gentries[MAX_MSIX_ACC_ENTRIES];
     struct rcu_head rcu;
+    const struct pirq *pirq;
 };
 
 static DEFINE_RCU_READ_LOCK(msixtbl_rcu_lock);
@@ -254,6 +255,8 @@ static int msixtbl_write(struct vcpu *v, unsigned long address,
     void *virt;
     unsigned int nr_entry, index;
     int r = X86EMUL_UNHANDLEABLE;
+    unsigned long flags, orig;
+    struct irq_desc *desc;
 
     if ( len != 4 || (address & 3) )
         return r;
@@ -283,22 +286,49 @@ static int msixtbl_write(struct vcpu *v, unsigned long address,
     if ( !virt )
         goto out;
 
-    /* Do not allow the mask bit to be changed. */
-#if 0 /* XXX
-       * As the mask bit is the only defined bit in the word, and as the
-       * host MSI-X code doesn't preserve the other bits anyway, doing
-       * this is pointless. So for now just discard the write (also
-       * saving us from having to determine the matching irq_desc).
-       */
-    spin_lock_irqsave(&desc->lock, flags);
+    desc = pirq_spin_lock_irq_desc(entry->pirq, &flags);
+    if ( !desc )
+        goto out;
+
+    if ( !desc->msi_desc )
+        goto unlock;
+
     orig = readl(virt);
-    val &= ~PCI_MSIX_VECTOR_BITMASK;
-    val |= orig & PCI_MSIX_VECTOR_BITMASK;
+
+    /*
+     * Do not allow guest to modify MSI-X control bit if it is masked
+     * by Xen. We'll only handle the case where Xen thinks that
+     * bit is unmasked, but hardware has silently masked the bit
+     * (in case of SR-IOV VF reset, etc). On the other hand, if Xen
+     * thinks that the bit is masked, but it's really not,
+     * we log a warning.
+     */
+    if ( desc->msi_desc->msi_attrib.masked )
+    {
+        if ( !(orig & PCI_MSIX_VECTOR_BITMASK) )
+            printk(XENLOG_WARNING "MSI-X control bit is unmasked when"
+                   " it is expected to be masked [%04x:%02x:%02x.%01x]\n",
+                   entry->pdev->seg, entry->pdev->bus,
+                   PCI_SLOT(entry->pdev->devfn),
+                   PCI_FUNC(entry->pdev->devfn));
+
+        goto unlock;
+    }
+
+    /*
+     * The mask bit is the only defined bit in the word. But we
+     * ought to preserve the reserved bits. Clearing the reserved
+     * bits can result in undefined behaviour (see PCI Local Bus
+     * Specification revision 2.3).
+     */
+    val &= PCI_MSIX_VECTOR_BITMASK;
+    val |= (orig & ~PCI_MSIX_VECTOR_BITMASK);
     writel(val, virt);
-    spin_unlock_irqrestore(&desc->lock, flags);
-#endif
 
+unlock:
+    spin_unlock_irqrestore(&desc->lock, flags);
     r = X86EMUL_OKAY;
+
 out:
     rcu_read_unlock(&msixtbl_rcu_lock);
     return r;
@@ -328,7 +358,8 @@ const struct hvm_mmio_handler msixtbl_mmio_handler = {
 static void add_msixtbl_entry(struct domain *d,
                               struct pci_dev *pdev,
                               uint64_t gtable,
-                              struct msixtbl_entry *entry)
+                              struct msixtbl_entry *entry,
+                              const struct pirq *pirq)
 {
     u32 len;
 
@@ -342,6 +373,7 @@ static void add_msixtbl_entry(struct domain *d,
     entry->table_len = len;
     entry->pdev = pdev;
     entry->gtable = (unsigned long) gtable;
+    entry->pirq = pirq;
 
     list_add_rcu(&entry->list, &d->arch.hvm_domain.msixtbl_list);
 }
@@ -404,9 +436,10 @@ int msixtbl_pt_register(struct domain *d, struct pirq *pirq, uint64_t gtable)
 
     entry = new_entry;
     new_entry = NULL;
-    add_msixtbl_entry(d, pdev, gtable, entry);
+    add_msixtbl_entry(d, pdev, gtable, entry, pirq);
 
 found:
+    ASSERT(entry->pirq == pirq);
     atomic_inc(&entry->refcnt);
     spin_unlock(&d->arch.hvm_domain.msixtbl_list_lock);
     r = 0;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 06:22:14 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 06:22:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VC1o0-0004cH-EN; Wed, 21 Aug 2013 06:22:08 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VC1nz-0004c1-79
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 06:22:07 +0000
Received: from [85.158.139.211:2985] by server-15.bemta-5.messagelabs.com id
	04/41-01145-E8C54125; Wed, 21 Aug 2013 06:22:06 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-206.messagelabs.com!1377066124!3490690!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24291 invoked from network); 21 Aug 2013 06:22:05 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-9.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 06:22:05 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VC1nw-00067K-H2
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 06:22:04 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VC1nv-0000ZG-5q
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 06:22:04 +0000
Date: Wed, 21 Aug 2013 06:22:03 +0000
Message-Id: <E1VC1nv-0000ZG-5q@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.1] libelf: Fix typo in header guard
	macro
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit bfe2b5abd6871ee250cf01d07f23b177700932bc
Author:     Patrick Welche <prlw1@cam.ac.uk>
AuthorDate: Tue Aug 20 16:09:48 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 20 16:09:48 2013 +0200

    libelf: Fix typo in header guard macro
    
    s/__LIBELF_PRIVATE_H_/__LIBELF_PRIVATE_H__/
    
    Signed-off-by: Patrick Welche <prlw1@cam.ac.uk>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
    master commit: 0aec8823501f8ee058c1ba673d2ac3e0f3f2e8db
    master date: 2013-08-08 12:47:38 +0100
---
 xen/common/libelf/libelf-private.h |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/common/libelf/libelf-private.h b/xen/common/libelf/libelf-private.h
index 277be04..13ae731 100644
--- a/xen/common/libelf/libelf-private.h
+++ b/xen/common/libelf/libelf-private.h
@@ -14,7 +14,7 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
  */
 #ifndef __LIBELF_PRIVATE_H__
-#define __LIBELF_PRIVATE_H_
+#define __LIBELF_PRIVATE_H__
 
 #ifdef __XEN__
 
@@ -99,7 +99,7 @@ do { strncpy((d),(s),sizeof((d))-1);            \
    * of memcpy, memset, memmove and strcpy.  Every call site
    * must either use elf_mem*_unchecked, or elf_mem*_safe. */
 
-#endif /* __LIBELF_PRIVATE_H_ */
+#endif /* __LIBELF_PRIVATE_H__ */
 
 /*
  * Local variables:
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.1

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 06:22:14 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 06:22:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VC1o0-0004cH-EN; Wed, 21 Aug 2013 06:22:08 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VC1nz-0004c1-79
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 06:22:07 +0000
Received: from [85.158.139.211:2985] by server-15.bemta-5.messagelabs.com id
	04/41-01145-E8C54125; Wed, 21 Aug 2013 06:22:06 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-206.messagelabs.com!1377066124!3490690!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24291 invoked from network); 21 Aug 2013 06:22:05 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-9.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 06:22:05 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VC1nw-00067K-H2
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 06:22:04 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VC1nv-0000ZG-5q
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 06:22:04 +0000
Date: Wed, 21 Aug 2013 06:22:03 +0000
Message-Id: <E1VC1nv-0000ZG-5q@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.1] libelf: Fix typo in header guard
	macro
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit bfe2b5abd6871ee250cf01d07f23b177700932bc
Author:     Patrick Welche <prlw1@cam.ac.uk>
AuthorDate: Tue Aug 20 16:09:48 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 20 16:09:48 2013 +0200

    libelf: Fix typo in header guard macro
    
    s/__LIBELF_PRIVATE_H_/__LIBELF_PRIVATE_H__/
    
    Signed-off-by: Patrick Welche <prlw1@cam.ac.uk>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
    master commit: 0aec8823501f8ee058c1ba673d2ac3e0f3f2e8db
    master date: 2013-08-08 12:47:38 +0100
---
 xen/common/libelf/libelf-private.h |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/common/libelf/libelf-private.h b/xen/common/libelf/libelf-private.h
index 277be04..13ae731 100644
--- a/xen/common/libelf/libelf-private.h
+++ b/xen/common/libelf/libelf-private.h
@@ -14,7 +14,7 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
  */
 #ifndef __LIBELF_PRIVATE_H__
-#define __LIBELF_PRIVATE_H_
+#define __LIBELF_PRIVATE_H__
 
 #ifdef __XEN__
 
@@ -99,7 +99,7 @@ do { strncpy((d),(s),sizeof((d))-1);            \
    * of memcpy, memset, memmove and strcpy.  Every call site
    * must either use elf_mem*_unchecked, or elf_mem*_safe. */
 
-#endif /* __LIBELF_PRIVATE_H_ */
+#endif /* __LIBELF_PRIVATE_H__ */
 
 /*
  * Local variables:
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.1

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 06:22:22 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 06:22:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VC1oA-0004dG-OU; Wed, 21 Aug 2013 06:22:18 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VC1o9-0004d5-AS
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 06:22:17 +0000
Received: from [85.158.139.211:56062] by server-15.bemta-5.messagelabs.com id
	98/71-01145-89C54125; Wed, 21 Aug 2013 06:22:16 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-206.messagelabs.com!1377066134!3490724!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24933 invoked from network); 21 Aug 2013 06:22:15 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-9.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 06:22:15 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VC1o6-00067N-Nj
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 06:22:14 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VC1o6-0000Ze-Kn
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 06:22:14 +0000
Date: Wed, 21 Aug 2013 06:22:14 +0000
Message-Id: <E1VC1o6-0000Ze-Kn@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.1] VT-d: protect against bogus
	information coming from BIOS
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 7c2dc5b8e80234153e7aaa32b9a511d0738bd39e
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Tue Aug 20 16:10:44 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 20 16:10:44 2013 +0200

    VT-d: protect against bogus information coming from BIOS
    
    Add checks similar to those done by Linux: The DRHD address must not
    be all zeros or all ones (Linux only checks for zero), and capabilities
    as well as extended capabilities must not be all ones.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Ben Guthro <benjamin.guthro@citrix.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Tested-by: Ben Guthro <benjamin.guthro@citrix.com>
    Acked by: Yang Zhang <yang.z.zhang@intel.com>
    Acked-by: Xiantao Zhang <xiantao.zhang@intel.com>
    master commit: e8e8b030ecf916fea19639f0b6a446c1c9dbe174
    master date: 2013-08-14 11:18:24 +0200
---
 xen/drivers/passthrough/vtd/dmar.c  |    3 +++
 xen/drivers/passthrough/vtd/iommu.c |    3 +++
 2 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/xen/drivers/passthrough/vtd/dmar.c b/xen/drivers/passthrough/vtd/dmar.c
index 5ecade2..0f117b1 100644
--- a/xen/drivers/passthrough/vtd/dmar.c
+++ b/xen/drivers/passthrough/vtd/dmar.c
@@ -400,6 +400,9 @@ acpi_parse_one_drhd(struct acpi_dmar_entry_header *header)
     if ( (ret = acpi_dmar_check_length(header, sizeof(*drhd))) != 0 )
         return ret;
 
+    if ( !drhd->address || !(drhd->address + 1) )
+        return -ENODEV;
+
     dmaru = xmalloc(struct acpi_drhd_unit);
     if ( !dmaru )
         return -ENOMEM;
diff --git a/xen/drivers/passthrough/vtd/iommu.c b/xen/drivers/passthrough/vtd/iommu.c
index bbfcf2a..c243287 100644
--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
@@ -1182,6 +1182,9 @@ int __init iommu_alloc(struct acpi_drhd_unit *drhd)
         dprintk(VTDPREFIX,
                 "cap = %"PRIx64" ecap = %"PRIx64"\n", iommu->cap, iommu->ecap);
     }
+    if ( !(iommu->cap + 1) || !(iommu->ecap + 1) )
+        return -ENODEV;
+
     if ( cap_fault_reg_offset(iommu->cap) +
          cap_num_fault_regs(iommu->cap) * PRIMARY_FAULT_REG_LEN >= PAGE_SIZE ||
          ecap_iotlb_offset(iommu->ecap) >= PAGE_SIZE )
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.1

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 06:22:22 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 06:22:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VC1oA-0004dG-OU; Wed, 21 Aug 2013 06:22:18 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VC1o9-0004d5-AS
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 06:22:17 +0000
Received: from [85.158.139.211:56062] by server-15.bemta-5.messagelabs.com id
	98/71-01145-89C54125; Wed, 21 Aug 2013 06:22:16 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-206.messagelabs.com!1377066134!3490724!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24933 invoked from network); 21 Aug 2013 06:22:15 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-9.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 06:22:15 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VC1o6-00067N-Nj
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 06:22:14 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VC1o6-0000Ze-Kn
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 06:22:14 +0000
Date: Wed, 21 Aug 2013 06:22:14 +0000
Message-Id: <E1VC1o6-0000Ze-Kn@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.1] VT-d: protect against bogus
	information coming from BIOS
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 7c2dc5b8e80234153e7aaa32b9a511d0738bd39e
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Tue Aug 20 16:10:44 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 20 16:10:44 2013 +0200

    VT-d: protect against bogus information coming from BIOS
    
    Add checks similar to those done by Linux: The DRHD address must not
    be all zeros or all ones (Linux only checks for zero), and capabilities
    as well as extended capabilities must not be all ones.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Ben Guthro <benjamin.guthro@citrix.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Tested-by: Ben Guthro <benjamin.guthro@citrix.com>
    Acked by: Yang Zhang <yang.z.zhang@intel.com>
    Acked-by: Xiantao Zhang <xiantao.zhang@intel.com>
    master commit: e8e8b030ecf916fea19639f0b6a446c1c9dbe174
    master date: 2013-08-14 11:18:24 +0200
---
 xen/drivers/passthrough/vtd/dmar.c  |    3 +++
 xen/drivers/passthrough/vtd/iommu.c |    3 +++
 2 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/xen/drivers/passthrough/vtd/dmar.c b/xen/drivers/passthrough/vtd/dmar.c
index 5ecade2..0f117b1 100644
--- a/xen/drivers/passthrough/vtd/dmar.c
+++ b/xen/drivers/passthrough/vtd/dmar.c
@@ -400,6 +400,9 @@ acpi_parse_one_drhd(struct acpi_dmar_entry_header *header)
     if ( (ret = acpi_dmar_check_length(header, sizeof(*drhd))) != 0 )
         return ret;
 
+    if ( !drhd->address || !(drhd->address + 1) )
+        return -ENODEV;
+
     dmaru = xmalloc(struct acpi_drhd_unit);
     if ( !dmaru )
         return -ENOMEM;
diff --git a/xen/drivers/passthrough/vtd/iommu.c b/xen/drivers/passthrough/vtd/iommu.c
index bbfcf2a..c243287 100644
--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b/xen/drivers/passthrough/vtd/iommu.c
@@ -1182,6 +1182,9 @@ int __init iommu_alloc(struct acpi_drhd_unit *drhd)
         dprintk(VTDPREFIX,
                 "cap = %"PRIx64" ecap = %"PRIx64"\n", iommu->cap, iommu->ecap);
     }
+    if ( !(iommu->cap + 1) || !(iommu->ecap + 1) )
+        return -ENODEV;
+
     if ( cap_fault_reg_offset(iommu->cap) +
          cap_num_fault_regs(iommu->cap) * PRIMARY_FAULT_REG_LEN >= PAGE_SIZE ||
          ecap_iotlb_offset(iommu->ecap) >= PAGE_SIZE )
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.1

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 06:22:33 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 06:22:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VC1oM-0004em-1C; Wed, 21 Aug 2013 06:22:30 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VC1oL-0004eb-Ew
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 06:22:29 +0000
Received: from [193.109.254.147:17893] by server-14.bemta-14.messagelabs.com
	id B3/2F-07546-4AC54125; Wed, 21 Aug 2013 06:22:28 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1377066145!5111223!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25724 invoked from network); 21 Aug 2013 06:22:26 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-8.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 06:22:26 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VC1oG-00067U-Vv
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 06:22:24 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VC1oG-0000a0-RH
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 06:22:24 +0000
Date: Wed, 21 Aug 2013 06:22:24 +0000
Message-Id: <E1VC1oG-0000a0-RH@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.1] x86/MTRR: fix range check in
	mtrr_add_page()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 09cc1e255e8e4302d967223e6761ce1d1017b50d
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Tue Aug 20 16:11:42 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 20 16:11:42 2013 +0200

    x86/MTRR: fix range check in mtrr_add_page()
    
    Extracted from Yinghai Lu's Linux commit d5c78673 ("x86: Fix /proc/mtrr
    with base/size more than 44bits").
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
    master commit: f67af6d5803b6a015e30cb490a94f9547cb0437c
    master date: 2013-08-14 11:20:26 +0200
---
 xen/arch/x86/cpu/mtrr/main.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/xen/arch/x86/cpu/mtrr/main.c b/xen/arch/x86/cpu/mtrr/main.c
index 7438102..3cad3a7 100644
--- a/xen/arch/x86/cpu/mtrr/main.c
+++ b/xen/arch/x86/cpu/mtrr/main.c
@@ -357,7 +357,7 @@ int mtrr_add_page(unsigned long base, unsigned long size,
 		return -EINVAL;
 	}
 
-	if (base & size_or_mask || size & size_or_mask) {
+	if ((base | (base + size - 1)) >> (paddr_bits - PAGE_SHIFT)) {
 		printk(KERN_WARNING "mtrr: base or size exceeds the MTRR width\n");
 		return -EINVAL;
 	}
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.1

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 06:22:33 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 06:22:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VC1oM-0004em-1C; Wed, 21 Aug 2013 06:22:30 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VC1oL-0004eb-Ew
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 06:22:29 +0000
Received: from [193.109.254.147:17893] by server-14.bemta-14.messagelabs.com
	id B3/2F-07546-4AC54125; Wed, 21 Aug 2013 06:22:28 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-27.messagelabs.com!1377066145!5111223!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25724 invoked from network); 21 Aug 2013 06:22:26 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-8.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 06:22:26 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VC1oG-00067U-Vv
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 06:22:24 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VC1oG-0000a0-RH
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 06:22:24 +0000
Date: Wed, 21 Aug 2013 06:22:24 +0000
Message-Id: <E1VC1oG-0000a0-RH@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.1] x86/MTRR: fix range check in
	mtrr_add_page()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 09cc1e255e8e4302d967223e6761ce1d1017b50d
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Tue Aug 20 16:11:42 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 20 16:11:42 2013 +0200

    x86/MTRR: fix range check in mtrr_add_page()
    
    Extracted from Yinghai Lu's Linux commit d5c78673 ("x86: Fix /proc/mtrr
    with base/size more than 44bits").
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
    master commit: f67af6d5803b6a015e30cb490a94f9547cb0437c
    master date: 2013-08-14 11:20:26 +0200
---
 xen/arch/x86/cpu/mtrr/main.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/xen/arch/x86/cpu/mtrr/main.c b/xen/arch/x86/cpu/mtrr/main.c
index 7438102..3cad3a7 100644
--- a/xen/arch/x86/cpu/mtrr/main.c
+++ b/xen/arch/x86/cpu/mtrr/main.c
@@ -357,7 +357,7 @@ int mtrr_add_page(unsigned long base, unsigned long size,
 		return -EINVAL;
 	}
 
-	if (base & size_or_mask || size & size_or_mask) {
+	if ((base | (base + size - 1)) >> (paddr_bits - PAGE_SHIFT)) {
 		printk(KERN_WARNING "mtrr: base or size exceeds the MTRR width\n");
 		return -EINVAL;
 	}
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.1

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 06:22:43 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 06:22:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VC1oW-0004g3-7h; Wed, 21 Aug 2013 06:22:40 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VC1oT-0004fj-W7
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 06:22:38 +0000
Received: from [85.158.137.68:37862] by server-16.bemta-3.messagelabs.com id
	02/56-30005-DAC54125; Wed, 21 Aug 2013 06:22:37 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-31.messagelabs.com!1377066155!2890674!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24393 invoked from network); 21 Aug 2013 06:22:36 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-3.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 06:22:36 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VC1oR-00067c-9L
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 06:22:35 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VC1oR-0000aQ-2K
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 06:22:35 +0000
Date: Wed, 21 Aug 2013 06:22:35 +0000
Message-Id: <E1VC1oR-0000aQ-2K@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.1] x86/time: fix check for negative
	time in __update_vcpu_system_time()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 28d38f0a7db6f5d024900ac0a9075a70298bc64f
Author:     Tim Deegan <tim@xen.org>
AuthorDate: Tue Aug 20 16:12:19 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 20 16:12:19 2013 +0200

    x86/time: fix check for negative time in __update_vcpu_system_time()
    
    Clang points out that u64 stime variable is always >= 0.
    
    Signed-off-by: Tim Deegan <tim@xen.org>
    master commit: ab7f9a793c78dfea81c037b34b0dd2db7070d8f8
    master date: 2013-08-15 13:17:10 +0200
---
 xen/arch/x86/time.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
index c3b0b86..e30ab49 100644
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -817,7 +817,8 @@ static void __update_vcpu_system_time(struct vcpu *v, int force)
 
     if ( d->arch.vtsc )
     {
-        u64 stime = t->stime_local_stamp;
+        s_time_t stime = t->stime_local_stamp;
+
         if ( is_hvm_domain(d) )
         {
             struct pl_time *pl = &v->domain->arch.hvm_domain.pl_time;
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.1

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 06:22:43 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 06:22:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VC1oW-0004g3-7h; Wed, 21 Aug 2013 06:22:40 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VC1oT-0004fj-W7
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 06:22:38 +0000
Received: from [85.158.137.68:37862] by server-16.bemta-3.messagelabs.com id
	02/56-30005-DAC54125; Wed, 21 Aug 2013 06:22:37 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-31.messagelabs.com!1377066155!2890674!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 24393 invoked from network); 21 Aug 2013 06:22:36 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-3.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 06:22:36 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VC1oR-00067c-9L
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 06:22:35 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VC1oR-0000aQ-2K
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 06:22:35 +0000
Date: Wed, 21 Aug 2013 06:22:35 +0000
Message-Id: <E1VC1oR-0000aQ-2K@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.1] x86/time: fix check for negative
	time in __update_vcpu_system_time()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 28d38f0a7db6f5d024900ac0a9075a70298bc64f
Author:     Tim Deegan <tim@xen.org>
AuthorDate: Tue Aug 20 16:12:19 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 20 16:12:19 2013 +0200

    x86/time: fix check for negative time in __update_vcpu_system_time()
    
    Clang points out that u64 stime variable is always >= 0.
    
    Signed-off-by: Tim Deegan <tim@xen.org>
    master commit: ab7f9a793c78dfea81c037b34b0dd2db7070d8f8
    master date: 2013-08-15 13:17:10 +0200
---
 xen/arch/x86/time.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
index c3b0b86..e30ab49 100644
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -817,7 +817,8 @@ static void __update_vcpu_system_time(struct vcpu *v, int force)
 
     if ( d->arch.vtsc )
     {
-        u64 stime = t->stime_local_stamp;
+        s_time_t stime = t->stime_local_stamp;
+
         if ( is_hvm_domain(d) )
         {
             struct pl_time *pl = &v->domain->arch.hvm_domain.pl_time;
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.1

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 06:22:51 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 06:22:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VC1of-0004hQ-F0; Wed, 21 Aug 2013 06:22:49 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VC1od-0004h4-UF
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 06:22:48 +0000
Received: from [85.158.143.35:9273] by server-1.bemta-4.messagelabs.com id
	BB/B4-16125-7BC54125; Wed, 21 Aug 2013 06:22:47 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-21.messagelabs.com!1377066165!5515781!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17483 invoked from network); 21 Aug 2013 06:22:46 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-12.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 06:22:46 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VC1ob-00067h-DQ
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 06:22:45 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VC1ob-0000am-Bx
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 06:22:45 +0000
Date: Wed, 21 Aug 2013 06:22:45 +0000
Message-Id: <E1VC1ob-0000am-Bx@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.1] xen: Add stdbool.h workaround for
	BSD.
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 4e4da361f57e1ced53cb65c53fc6289a345a3429
Author:     Tim Deegan <tim@xen.org>
AuthorDate: Tue Aug 20 16:13:20 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 20 16:13:20 2013 +0200

    xen: Add stdbool.h workaround for BSD.
    
    On *BSD, stdbool.h lives in /usr/include, but we don't want to have
    that on the search path in case we pick up any headers from the build
    host's C libraries.
    
    Copy the equivalent hack already in place for stdarg.h: on all
    supported compilers the contents of stdbool.h are trivial, so just
    supply the things we need in a xen/stdbool.h header.
    
    Signed-off-by: Tim Deegan <tim@xen.org>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
    Tested-by: Patrick Welche <prlw1@cam.ac.uk>
    master commit: 7b9685ca4ed2fd723600ce66eb20a6d0c115b6cb
    master date: 2013-08-15 22:00:45 +0100
---
 xen/include/xen/libelf.h  |    4 ++--
 xen/include/xen/stdbool.h |   13 +++++++++++++
 2 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/xen/include/xen/libelf.h b/xen/include/xen/libelf.h
index 1da66f7..44e11d2 100644
--- a/xen/include/xen/libelf.h
+++ b/xen/include/xen/libelf.h
@@ -29,8 +29,6 @@
 #error define architectural endianness
 #endif
 
-#include <stdbool.h>
-
 typedef int elf_errorstatus; /* 0: ok; -ve (normally -1): error */
 typedef int elf_negerrnoval; /* 0: ok; -EFOO: error */
 
@@ -39,11 +37,13 @@ typedef int elf_negerrnoval; /* 0: ok; -EFOO: error */
 #ifdef __XEN__
 #include <public/elfnote.h>
 #include <public/features.h>
+#include <xen/stdbool.h>
 #else
 #include <xen/elfnote.h>
 #include <xen/features.h>
 
 #include <stdarg.h>
+#include <stdbool.h>
 
 struct elf_binary;
 typedef void elf_log_callback(struct elf_binary*, void *caller_data,
diff --git a/xen/include/xen/stdbool.h b/xen/include/xen/stdbool.h
new file mode 100644
index 0000000..2eecd52
--- /dev/null
+++ b/xen/include/xen/stdbool.h
@@ -0,0 +1,13 @@
+#ifndef __XEN_STDBOOL_H__
+#define __XEN_STDBOOL_H__
+
+#if defined(__OpenBSD__) || defined(__NetBSD__)
+#  define bool _Bool
+#  define true 1
+#  define false 0
+#  define __bool_true_false_are_defined   1
+#else
+#  include <stdbool.h>
+#endif
+
+#endif /* __XEN_STDBOOL_H__ */
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.1

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 06:22:51 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 06:22:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VC1of-0004hQ-F0; Wed, 21 Aug 2013 06:22:49 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VC1od-0004h4-UF
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 06:22:48 +0000
Received: from [85.158.143.35:9273] by server-1.bemta-4.messagelabs.com id
	BB/B4-16125-7BC54125; Wed, 21 Aug 2013 06:22:47 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-21.messagelabs.com!1377066165!5515781!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17483 invoked from network); 21 Aug 2013 06:22:46 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-12.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 06:22:46 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VC1ob-00067h-DQ
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 06:22:45 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VC1ob-0000am-Bx
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 06:22:45 +0000
Date: Wed, 21 Aug 2013 06:22:45 +0000
Message-Id: <E1VC1ob-0000am-Bx@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.1] xen: Add stdbool.h workaround for
	BSD.
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 4e4da361f57e1ced53cb65c53fc6289a345a3429
Author:     Tim Deegan <tim@xen.org>
AuthorDate: Tue Aug 20 16:13:20 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 20 16:13:20 2013 +0200

    xen: Add stdbool.h workaround for BSD.
    
    On *BSD, stdbool.h lives in /usr/include, but we don't want to have
    that on the search path in case we pick up any headers from the build
    host's C libraries.
    
    Copy the equivalent hack already in place for stdarg.h: on all
    supported compilers the contents of stdbool.h are trivial, so just
    supply the things we need in a xen/stdbool.h header.
    
    Signed-off-by: Tim Deegan <tim@xen.org>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Keir Fraser <keir@xen.org>
    Tested-by: Patrick Welche <prlw1@cam.ac.uk>
    master commit: 7b9685ca4ed2fd723600ce66eb20a6d0c115b6cb
    master date: 2013-08-15 22:00:45 +0100
---
 xen/include/xen/libelf.h  |    4 ++--
 xen/include/xen/stdbool.h |   13 +++++++++++++
 2 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/xen/include/xen/libelf.h b/xen/include/xen/libelf.h
index 1da66f7..44e11d2 100644
--- a/xen/include/xen/libelf.h
+++ b/xen/include/xen/libelf.h
@@ -29,8 +29,6 @@
 #error define architectural endianness
 #endif
 
-#include <stdbool.h>
-
 typedef int elf_errorstatus; /* 0: ok; -ve (normally -1): error */
 typedef int elf_negerrnoval; /* 0: ok; -EFOO: error */
 
@@ -39,11 +37,13 @@ typedef int elf_negerrnoval; /* 0: ok; -EFOO: error */
 #ifdef __XEN__
 #include <public/elfnote.h>
 #include <public/features.h>
+#include <xen/stdbool.h>
 #else
 #include <xen/elfnote.h>
 #include <xen/features.h>
 
 #include <stdarg.h>
+#include <stdbool.h>
 
 struct elf_binary;
 typedef void elf_log_callback(struct elf_binary*, void *caller_data,
diff --git a/xen/include/xen/stdbool.h b/xen/include/xen/stdbool.h
new file mode 100644
index 0000000..2eecd52
--- /dev/null
+++ b/xen/include/xen/stdbool.h
@@ -0,0 +1,13 @@
+#ifndef __XEN_STDBOOL_H__
+#define __XEN_STDBOOL_H__
+
+#if defined(__OpenBSD__) || defined(__NetBSD__)
+#  define bool _Bool
+#  define true 1
+#  define false 0
+#  define __bool_true_false_are_defined   1
+#else
+#  include <stdbool.h>
+#endif
+
+#endif /* __XEN_STDBOOL_H__ */
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.1

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 23:00:24 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 23:00:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCHNv-0006SM-D6; Wed, 21 Aug 2013 23:00:15 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCHNp-0006QT-5U
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 23:00:09 +0000
Received: from [193.109.254.147:24459] by server-7.bemta-14.messagelabs.com id
	C3/10-04456-87645125; Wed, 21 Aug 2013 23:00:08 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1377126005!5261205!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25383 invoked from network); 21 Aug 2013 23:00:06 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-5.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 23:00:06 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCHNk-0000yq-VW
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 23:00:05 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCHNk-00042z-8f
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 23:00:04 +0000
Date: Wed, 21 Aug 2013 23:00:04 +0000
Message-Id: <E1VCHNk-00042z-8f@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] PL011: fix reverse logic for interrupt
	mask register
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 874f76a86adf1da70921884f5a868eec105cf8cd
Author:     Andre Przywara <andre.przywara@linaro.org>
AuthorDate: Tue Aug 13 17:12:35 2013 +0200
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Wed Aug 21 10:29:07 2013 +0100

    PL011: fix reverse logic for interrupt mask register
    
    The PL011 IMSC register description is somehow fuzzy in the
    documentation; by comparing it with the Linux implementation one can
    see that the logic is actually reversed to Xen's implementation:
    A "0" in field means interrupt disabled, a "1" enables it.
    Therefore we enabled all interrupts instead of disabling them in the
    beginning and later on masked the wrong interrupts.
    Unclear how this worked on the Versatile Express, but this fix is
    needed to get Calxeda Midway running (and works on VExpress, too).
    
    Signed-off-by: Andre Przywara <andre.przywara@linaro.org>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 xen/drivers/char/pl011.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/xen/drivers/char/pl011.c b/xen/drivers/char/pl011.c
index 3747c16..0e1eb64 100644
--- a/xen/drivers/char/pl011.c
+++ b/xen/drivers/char/pl011.c
@@ -87,7 +87,7 @@ static void __init pl011_init_preirq(struct serial_port *port)
     unsigned int divisor;
 
     /* No interrupts, please. */
-    pl011_write(uart, IMSC, ALLI);
+    pl011_write(uart, IMSC, 0);
 
     /* Definitely no DMA */
     pl011_write(uart, DMACR, 0x0);
@@ -115,7 +115,7 @@ static void __init pl011_init_preirq(struct serial_port *port)
     pl011_write(uart, RSR, 0);
 
     /* Mask and clear the interrupts */
-    pl011_write(uart, IMSC, ALLI);
+    pl011_write(uart, IMSC, 0);
     pl011_write(uart, ICR, ALLI);
 
     /* Enable the UART for RX and TX; no flow ctrl */
@@ -140,7 +140,7 @@ static void __init pl011_init_postirq(struct serial_port *port)
     pl011_write(uart, ICR, OEI|BEI|PEI|FEI);
 
     /* Unmask interrupts */
-    pl011_write(uart, IMSC, RTI|DSRMI|DCDMI|CTSMI|RIMI);
+    pl011_write(uart, IMSC, OEI|BEI|PEI|FEI|TXI|RXI);
 }
 
 static void pl011_suspend(struct serial_port *port)
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 23:00:24 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 23:00:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCHNv-0006SM-D6; Wed, 21 Aug 2013 23:00:15 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCHNp-0006QT-5U
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 23:00:09 +0000
Received: from [193.109.254.147:24459] by server-7.bemta-14.messagelabs.com id
	C3/10-04456-87645125; Wed, 21 Aug 2013 23:00:08 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1377126005!5261205!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25383 invoked from network); 21 Aug 2013 23:00:06 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-5.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 23:00:06 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCHNk-0000yq-VW
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 23:00:05 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCHNk-00042z-8f
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 23:00:04 +0000
Date: Wed, 21 Aug 2013 23:00:04 +0000
Message-Id: <E1VCHNk-00042z-8f@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] PL011: fix reverse logic for interrupt
	mask register
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 874f76a86adf1da70921884f5a868eec105cf8cd
Author:     Andre Przywara <andre.przywara@linaro.org>
AuthorDate: Tue Aug 13 17:12:35 2013 +0200
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Wed Aug 21 10:29:07 2013 +0100

    PL011: fix reverse logic for interrupt mask register
    
    The PL011 IMSC register description is somehow fuzzy in the
    documentation; by comparing it with the Linux implementation one can
    see that the logic is actually reversed to Xen's implementation:
    A "0" in field means interrupt disabled, a "1" enables it.
    Therefore we enabled all interrupts instead of disabling them in the
    beginning and later on masked the wrong interrupts.
    Unclear how this worked on the Versatile Express, but this fix is
    needed to get Calxeda Midway running (and works on VExpress, too).
    
    Signed-off-by: Andre Przywara <andre.przywara@linaro.org>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 xen/drivers/char/pl011.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/xen/drivers/char/pl011.c b/xen/drivers/char/pl011.c
index 3747c16..0e1eb64 100644
--- a/xen/drivers/char/pl011.c
+++ b/xen/drivers/char/pl011.c
@@ -87,7 +87,7 @@ static void __init pl011_init_preirq(struct serial_port *port)
     unsigned int divisor;
 
     /* No interrupts, please. */
-    pl011_write(uart, IMSC, ALLI);
+    pl011_write(uart, IMSC, 0);
 
     /* Definitely no DMA */
     pl011_write(uart, DMACR, 0x0);
@@ -115,7 +115,7 @@ static void __init pl011_init_preirq(struct serial_port *port)
     pl011_write(uart, RSR, 0);
 
     /* Mask and clear the interrupts */
-    pl011_write(uart, IMSC, ALLI);
+    pl011_write(uart, IMSC, 0);
     pl011_write(uart, ICR, ALLI);
 
     /* Enable the UART for RX and TX; no flow ctrl */
@@ -140,7 +140,7 @@ static void __init pl011_init_postirq(struct serial_port *port)
     pl011_write(uart, ICR, OEI|BEI|PEI|FEI);
 
     /* Unmask interrupts */
-    pl011_write(uart, IMSC, RTI|DSRMI|DCDMI|CTSMI|RIMI);
+    pl011_write(uart, IMSC, OEI|BEI|PEI|FEI|TXI|RXI);
 }
 
 static void pl011_suspend(struct serial_port *port)
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 23:00:29 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 23:00:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCHO2-0006Se-J9; Wed, 21 Aug 2013 23:00:22 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCHO1-0006SV-15
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 23:00:21 +0000
Received: from [85.158.139.211:58749] by server-2.bemta-5.messagelabs.com id
	DA/86-26841-38645125; Wed, 21 Aug 2013 23:00:19 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-206.messagelabs.com!1377126016!3678026!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25204 invoked from network); 21 Aug 2013 23:00:17 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-5.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 23:00:17 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCHNw-00010X-EG
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 23:00:16 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCHNw-00044J-4P
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 23:00:16 +0000
Date: Wed, 21 Aug 2013 23:00:16 +0000
Message-Id: <E1VCHNw-00044J-4P@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] tools: Make qemu-xen-traditional build
	optional.
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit b0f69ec5c71de1248d915c193b57c43e786857dd
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Tue Aug 6 11:32:32 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Wed Aug 21 10:32:42 2013 +0100

    tools: Make qemu-xen-traditional build optional.
    
    Now that we have upstream qemu people may want to avoid building this extra
    code.
    
    There is a little bit of trickery in stubdom/configure.ac to ensure that the
    ioemu stubdom is only built if qemu-traditional is enabled.
    
    libxl will return an error if a caller tries to build a domain using
    qemu-xen-traditional when this support was disabled at build time. Since
    qemu-xen-traditional has been historically tightly bound to the Xen releases I
    don't see any value in supporting "3rd party" provision of
    qemu-xen-traditional.
    
    We also do not want/need this on ARM therefore default is on for x86 and off
    otherwise.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
    [ ijc -- trivial conflicts in Tools.mk.in and tools/configure.ac.
             Reran autogen.sh ]
---
 Makefile             |   22 ++++---
 config/Tools.mk.in   |    1 +
 stubdom/Makefile     |    6 ++-
 stubdom/configure    |  152 ++++++++++++++++++++++++++++++++++++++++++++++----
 stubdom/configure.ac |   24 ++++++++-
 tools/Makefile       |    2 +-
 tools/config.h.in    |    3 +
 tools/configure      |   31 ++++++++++
 tools/configure.ac   |   16 +++++
 9 files changed, 233 insertions(+), 24 deletions(-)

diff --git a/Makefile b/Makefile
index 5a7107e..a936fbe 100644
--- a/Makefile
+++ b/Makefile
@@ -73,8 +73,19 @@ install-xen:
 install-tools:
 	$(MAKE) -C tools install
 
+ifeq ($(CONFIG_QEMU_TRAD),y)
+QEMU_TRAD_DIR_TGT := tools/qemu-xen-traditional-dir
+
+tools/qemu-xen-traditional-dir:
+	$(MAKE) -C tools qemu-xen-traditional-dir-find
+
+.PHONY: tools/qemu-xen-traditional-dir-force-update
+tools/qemu-xen-traditional-dir-force-update:
+	$(MAKE) -C tools qemu-xen-traditional-dir-force-update
+endif
+
 ifeq ($(CONFIG_IOEMU),y)
-install-tools: tools/qemu-xen-traditional-dir tools/qemu-xen-dir
+install-tools: $(QEMU_TRAD_DIR_TARGET) tools/qemu-xen-dir
 endif
 
 .PHONY: install-kernels
@@ -82,19 +93,12 @@ install-kernels:
 	for i in $(XKERNELS) ; do $(MAKE) $$i-install || exit 1; done
 
 .PHONY: install-stubdom
-install-stubdom: tools/qemu-xen-traditional-dir install-tools
+install-stubdom: $(QEMU_TRAD_DIR_TARGET) install-tools
 	$(MAKE) -C stubdom install
 ifeq (x86_64,$(XEN_TARGET_ARCH))
 	XEN_TARGET_ARCH=x86_32 $(MAKE) -C stubdom install-grub
 endif
 
-tools/qemu-xen-traditional-dir:
-	$(MAKE) -C tools qemu-xen-traditional-dir-find
-
-.PHONY: tools/qemu-xen-traditional-dir-force-update
-tools/qemu-xen-traditional-dir-force-update:
-	$(MAKE) -C tools qemu-xen-traditional-dir-force-update
-
 tools/qemu-xen-dir:
 	$(MAKE) -C tools qemu-xen-dir-find
 
diff --git a/config/Tools.mk.in b/config/Tools.mk.in
index 1915295..5ec9623 100644
--- a/config/Tools.mk.in
+++ b/config/Tools.mk.in
@@ -50,6 +50,7 @@ FLASK_POLICY        := @xsmpolicy@
 CONFIG_OVMF         := @ovmf@
 CONFIG_ROMBIOS      := @rombios@
 CONFIG_SEABIOS      := @seabios@
+CONFIG_QEMU_TRAD    := @qemu_traditional@
 CONFIG_XEND         := @xend@
 CONFIG_BLKTAP1      := @blktap1@
 
diff --git a/stubdom/Makefile b/stubdom/Makefile
index 35295f0..19f2228 100644
--- a/stubdom/Makefile
+++ b/stubdom/Makefile
@@ -264,6 +264,10 @@ $(CROSS_ROOT): cross-newlib cross-zlib cross-libpci
 
 QEMU_ROOT := $(shell if [ -d "$(CONFIG_QEMU)" ]; then echo "$(CONFIG_QEMU)"; else echo .; fi)
 
+ifneq ($(filter ioemu,$(STUBDOM_TARGETS)),)
+IOEMU_LINKFARM_TARGET := ioemu/linkfarm.stamp
+endif
+
 ifeq ($(QEMU_ROOT),.)
 $(XEN_ROOT)/tools/qemu-xen-traditional-dir:
 	$(MAKE) DESTDIR= -C $(XEN_ROOT)/tools qemu-xen-traditional-dir-find
@@ -289,7 +293,7 @@ ioemu/linkfarm.stamp:
 	touch ioemu/linkfarm.stamp
 endif
 
-mk-headers-$(XEN_TARGET_ARCH): ioemu/linkfarm.stamp
+mk-headers-$(XEN_TARGET_ARCH): $(IOEMU_LINKFARM_TARGET)
 	mkdir -p include/xen && \
           ln -sf $(wildcard $(XEN_ROOT)/xen/include/public/*.h) include/xen && \
           ln -sf $(addprefix $(XEN_ROOT)/xen/include/public/,arch-x86 hvm io xsm) include/xen && \
diff --git a/stubdom/configure b/stubdom/configure
index 3da2677..81eff6d 100755
--- a/stubdom/configure
+++ b/stubdom/configure
@@ -562,6 +562,7 @@ LIBOBJS
 STUBDOM_INSTALL
 STUBDOM_BUILD
 STUBDOM_TARGETS
+ioemu
 vtpmmgr
 vtpm
 TPMEMU_VERSION
@@ -603,7 +604,14 @@ xenstore
 grub
 caml
 c
-ioemu
+host_os
+host_vendor
+host_cpu
+host
+build_os
+build_vendor
+build_cpu
+build
 target_alias
 host_alias
 build_alias
@@ -652,6 +660,7 @@ enable_pv_grub
 enable_xenstore_stubdom
 enable_vtpm_stubdom
 enable_vtpmmgr_stubdom
+enable_qemu_traditional
 enable_debug
 enable_extfiles
 '
@@ -1271,6 +1280,10 @@ Fine tuning of the installation directories:
 _ACEOF
 
   cat <<\_ACEOF
+
+System types:
+  --build=BUILD     configure for building on BUILD [guessed]
+  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
 _ACEOF
 fi
 
@@ -1284,7 +1297,7 @@ Optional Features:
   --disable-option-checking  ignore unrecognized --enable/--with options
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --disable-ioemu-stubdom Build and install ioemu-stubdom (default is ENABLED)
+  --enable-ioemu-stubdom  Build and install ioemu-stubdom
   --enable-c-stubdom      Build and install c-stubdom (default is DISABLED)
   --enable-caml-stubdom   Build and install caml-stubdom (default is DISABLED)
   --disable-pv-grub       Build and install pv-grub (default is ENABLED)
@@ -1294,6 +1307,7 @@ Optional Features:
   --enable-vtpm-stubdom   Build and install vtpm-stubdom
   --enable-vtpmmgr-stubdom
                           Build and install vtpmmgr-stubdom
+
   --disable-debug         Disable debug build of stubdom (default is ENABLED)
   --disable-extfiles      Use xen extfiles repository for libraries (default
                           is ENABLED)
@@ -1821,6 +1835,78 @@ ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
 
 
 
+# Make sure we can run config.sub.
+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
+$as_echo_n "checking build system type... " >&6; }
+if test "${ac_cv_build+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_build_alias=$build_alias
+test "x$ac_build_alias" = x &&
+  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+test "x$ac_build_alias" = x &&
+  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
+$as_echo "$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5 ;;
+esac
+build=$ac_cv_build
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_build
+shift
+build_cpu=$1
+build_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+build_os=$*
+IFS=$ac_save_IFS
+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
+$as_echo_n "checking host system type... " >&6; }
+if test "${ac_cv_host+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "x$host_alias" = x; then
+  ac_cv_host=$ac_cv_build
+else
+  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
+$as_echo "$ac_cv_host" >&6; }
+case $ac_cv_host in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5 ;;
+esac
+host=$ac_cv_host
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_host
+shift
+host_cpu=$1
+host_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+host_os=$*
+IFS=$ac_save_IFS
+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
+
+
+
 # M4 Macro includes
 
 
@@ -1887,20 +1973,10 @@ fi
 fi
 
 
-else
-
-
-ioemu=y
-STUBDOM_TARGETS="$STUBDOM_TARGETS ioemu"
-STUBDOM_BUILD="$STUBDOM_BUILD ioemu-stubdom"
-STUBDOM_INSTALL="$STUBDOM_INSTALL install-ioemu"
-
-
 fi
 
 
 
-
 # Check whether --enable-c-stubdom was given.
 if test "${enable_c_stubdom+set}" = set; then :
   enableval=$enable_c_stubdom;
@@ -2115,6 +2191,39 @@ fi
 
 
 
+# Check whether --enable-qemu-traditional was given.
+if test "${enable_qemu_traditional+set}" = set; then :
+  enableval=$enable_qemu_traditional;
+else
+
+    case "$host_cpu" in
+        i[3456]86|x86_64)
+           enable_qemu_traditional="yes";;
+        *) enable_qemu_traditional="no";;
+    esac
+
+fi
+
+if test "x$enable_qemu_traditional" = "xyes"; then :
+
+    qemu_traditional=y
+else
+
+    qemu_traditional=n
+
+fi
+if test "x$ioemu" = "x"; then :
+
+    ioemu=$qemu_traditional
+
+fi
+echo "x$ioemu$qemu_traditional"
+if test "x$ioemu$qemu_traditional" = "xyn"; then :
+
+    as_fn_error $? "IOEMU stubdomain requires qemu-traditional" "$LINENO" 5
+
+fi
+
 
 # Check whether --enable-debug was given.
 if test "${enable_debug+set}" = set; then :
@@ -3474,6 +3583,25 @@ fi
 
 
 
+if test "x$ioemu" = "xy" || test "x$ioemu" = "x"; then :
+
+
+ioemu=y
+STUBDOM_TARGETS="$STUBDOM_TARGETS ioemu"
+STUBDOM_BUILD="$STUBDOM_BUILD ioemu-stubdom"
+STUBDOM_INSTALL="$STUBDOM_INSTALL install-ioemu"
+
+
+else
+
+
+ioemu=n
+
+
+fi
+
+
+
 
 
 
diff --git a/stubdom/configure.ac b/stubdom/configure.ac
index 90fc94f..6468203 100644
--- a/stubdom/configure.ac
+++ b/stubdom/configure.ac
@@ -8,6 +8,8 @@ AC_CONFIG_SRCDIR([../extras/mini-os/kernel.c])
 AC_CONFIG_FILES([../config/Stubdom.mk])
 AC_CONFIG_AUX_DIR([../])
 
+AC_CANONICAL_HOST
+
 # M4 Macro includes
 m4_include([../m4/stubdom.m4])
 m4_include([../m4/features.m4])
@@ -16,7 +18,7 @@ m4_include([../m4/depends.m4])
 m4_include([../m4/fetcher.m4])
 
 # Enable/disable stub domains
-AX_STUBDOM_DEFAULT_ENABLE([ioemu-stubdom], [ioemu])
+AX_STUBDOM_CONDITIONAL([ioemu-stubdom], [ioemu])
 AX_STUBDOM_DEFAULT_DISABLE([c-stubdom], [c])
 AX_STUBDOM_DEFAULT_DISABLE([caml-stubdom], [caml])
 AX_STUBDOM_DEFAULT_ENABLE([pv-grub], [grub])
@@ -24,6 +26,25 @@ AX_STUBDOM_DEFAULT_ENABLE([xenstore-stubdom], [xenstore])
 AX_STUBDOM_CONDITIONAL([vtpm-stubdom], [vtpm])
 AX_STUBDOM_CONDITIONAL([vtpmmgr-stubdom], [vtpmmgr])
 
+AC_ARG_ENABLE([qemu-traditional],,,[
+    case "$host_cpu" in
+        i[[3456]]86|x86_64)
+           enable_qemu_traditional="yes";;
+        *) enable_qemu_traditional="no";;
+    esac
+])
+AS_IF([test "x$enable_qemu_traditional" = "xyes"], [
+    qemu_traditional=y],[
+    qemu_traditional=n
+])
+AS_IF([test "x$ioemu" = "x"], [
+    ioemu=$qemu_traditional
+])
+echo "x$ioemu$qemu_traditional"
+AS_IF([test "x$ioemu$qemu_traditional" = "xyn"], [
+    AC_MSG_ERROR(IOEMU stubdomain requires qemu-traditional)
+])
+
 AX_ARG_DEFAULT_ENABLE([debug], [Disable debug build of stubdom])
 AX_ARG_DEFAULT_ENABLE([extfiles], [Use xen extfiles repository for libraries])
 
@@ -55,6 +76,7 @@ AX_STUBDOM_AUTO_DEPENDS([vtpmmgr], [vtpm])
 #Conditionally enable these stubdoms based on the presense of dependencies
 AX_STUBDOM_CONDITIONAL_FINISH([vtpm-stubdom], [vtpm])
 AX_STUBDOM_CONDITIONAL_FINISH([vtpmmgr-stubdom], [vtpmmgr])
+AX_STUBDOM_CONDITIONAL_FINISH([ioemu-stubdom], [ioemu])
 
 AX_STUBDOM_FINISH
 AC_OUTPUT()
diff --git a/tools/Makefile b/tools/Makefile
index 381af04..6fa589b 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -28,7 +28,7 @@ SUBDIRS-$(CONFIG_Linux) += libvchan
 
 # do not recurse in to a dir we are about to delete
 ifneq "$(MAKECMDGOALS)" "distclean"
-SUBDIRS-$(CONFIG_IOEMU) += qemu-xen-traditional-dir
+SUBDIRS-$(CONFIG_QEMU_TRAD) += qemu-xen-traditional-dir
 SUBDIRS-$(CONFIG_IOEMU) += qemu-xen-dir
 endif
 
diff --git a/tools/config.h.in b/tools/config.h.in
index 8bda0bd..f844222 100644
--- a/tools/config.h.in
+++ b/tools/config.h.in
@@ -18,6 +18,9 @@
 /* Define to 1 if you have the <memory.h> header file. */
 #undef HAVE_MEMORY_H
 
+/* Qemu traditional enabled */
+#undef HAVE_QEMU_TRADITIONAL
+
 /* Define to 1 if you have the <stdint.h> header file. */
 #undef HAVE_STDINT_H
 
diff --git a/tools/configure b/tools/configure
index ad4b5fe..7398423 100755
--- a/tools/configure
+++ b/tools/configure
@@ -654,6 +654,7 @@ APPEND_LIB
 APPEND_INCLUDES
 PREPEND_LIB
 PREPEND_INCLUDES
+qemu_traditional
 blktap1
 xend
 debug
@@ -734,6 +735,7 @@ enable_seabios
 enable_debug
 enable_xend
 enable_blktap1
+enable_qemu_traditional
 '
       ac_precious_vars='build_alias
 host_alias
@@ -1394,6 +1396,9 @@ Optional Features:
   --disable-debug         Disable debug build of tools (default is ENABLED)
   --disable-xend          Disable xend toolstack (default is ENABLED)
   --enable-blktap1        Disable blktap1 tools (default is DISABLED)
+  --enable-qemu-traditional
+                          Enable qemu traditional device model, (DEFAULT is on
+                          for x86, otherwise off)
 
 Some influential environment variables:
   CC          C compiler command
@@ -3654,6 +3659,32 @@ blktap1=$ax_cv_blktap1
 
 
 
+# Check whether --enable-qemu-traditional was given.
+if test "${enable_qemu_traditional+set}" = set; then :
+  enableval=$enable_qemu_traditional;
+else
+
+    case "$host_cpu" in
+        i[3456]86|x86_64)
+           enable_qemu_traditional="yes";;
+        *) enable_qemu_traditional="no";;
+    esac
+
+fi
+
+if test "x$enable_qemu_traditional" = "xyes"; then :
+
+
+$as_echo "#define HAVE_QEMU_TRADITIONAL 1" >>confdefs.h
+
+    qemu_traditional=y
+else
+
+    qemu_traditional=n
+
+fi
+
+
 
 
 
diff --git a/tools/configure.ac b/tools/configure.ac
index 1b4625a..9b05478 100644
--- a/tools/configure.ac
+++ b/tools/configure.ac
@@ -60,6 +60,22 @@ AX_ARG_DEFAULT_ENABLE([debug], [Disable debug build of tools])
 AX_ARG_DEFAULT_ENABLE([xend], [Disable xend toolstack])
 AX_ARG_DEFAULT_DISABLE([blktap1], [Disable blktap1 tools])
 
+AC_ARG_ENABLE([qemu-traditional],
+    AS_HELP_STRING([--enable-qemu-traditional],
+                   [Enable qemu traditional device model, (DEFAULT is on for x86, otherwise off)]),,[
+    case "$host_cpu" in
+        i[[3456]]86|x86_64)
+           enable_qemu_traditional="yes";;
+        *) enable_qemu_traditional="no";;
+    esac
+])
+AS_IF([test "x$enable_qemu_traditional" = "xyes"], [
+AC_DEFINE([HAVE_QEMU_TRADITIONAL], [1], [Qemu traditional enabled])
+    qemu_traditional=y],[
+    qemu_traditional=n
+])
+AC_SUBST(qemu_traditional)
+
 AC_ARG_VAR([PREPEND_INCLUDES],
     [List of include folders to prepend to CFLAGS (without -I)])
 AC_ARG_VAR([PREPEND_LIB],
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 23:00:29 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 23:00:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCHO2-0006Se-J9; Wed, 21 Aug 2013 23:00:22 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCHO1-0006SV-15
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 23:00:21 +0000
Received: from [85.158.139.211:58749] by server-2.bemta-5.messagelabs.com id
	DA/86-26841-38645125; Wed, 21 Aug 2013 23:00:19 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-206.messagelabs.com!1377126016!3678026!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25204 invoked from network); 21 Aug 2013 23:00:17 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-5.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 23:00:17 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCHNw-00010X-EG
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 23:00:16 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCHNw-00044J-4P
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 23:00:16 +0000
Date: Wed, 21 Aug 2013 23:00:16 +0000
Message-Id: <E1VCHNw-00044J-4P@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] tools: Make qemu-xen-traditional build
	optional.
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit b0f69ec5c71de1248d915c193b57c43e786857dd
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Tue Aug 6 11:32:32 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Wed Aug 21 10:32:42 2013 +0100

    tools: Make qemu-xen-traditional build optional.
    
    Now that we have upstream qemu people may want to avoid building this extra
    code.
    
    There is a little bit of trickery in stubdom/configure.ac to ensure that the
    ioemu stubdom is only built if qemu-traditional is enabled.
    
    libxl will return an error if a caller tries to build a domain using
    qemu-xen-traditional when this support was disabled at build time. Since
    qemu-xen-traditional has been historically tightly bound to the Xen releases I
    don't see any value in supporting "3rd party" provision of
    qemu-xen-traditional.
    
    We also do not want/need this on ARM therefore default is on for x86 and off
    otherwise.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
    [ ijc -- trivial conflicts in Tools.mk.in and tools/configure.ac.
             Reran autogen.sh ]
---
 Makefile             |   22 ++++---
 config/Tools.mk.in   |    1 +
 stubdom/Makefile     |    6 ++-
 stubdom/configure    |  152 ++++++++++++++++++++++++++++++++++++++++++++++----
 stubdom/configure.ac |   24 ++++++++-
 tools/Makefile       |    2 +-
 tools/config.h.in    |    3 +
 tools/configure      |   31 ++++++++++
 tools/configure.ac   |   16 +++++
 9 files changed, 233 insertions(+), 24 deletions(-)

diff --git a/Makefile b/Makefile
index 5a7107e..a936fbe 100644
--- a/Makefile
+++ b/Makefile
@@ -73,8 +73,19 @@ install-xen:
 install-tools:
 	$(MAKE) -C tools install
 
+ifeq ($(CONFIG_QEMU_TRAD),y)
+QEMU_TRAD_DIR_TGT := tools/qemu-xen-traditional-dir
+
+tools/qemu-xen-traditional-dir:
+	$(MAKE) -C tools qemu-xen-traditional-dir-find
+
+.PHONY: tools/qemu-xen-traditional-dir-force-update
+tools/qemu-xen-traditional-dir-force-update:
+	$(MAKE) -C tools qemu-xen-traditional-dir-force-update
+endif
+
 ifeq ($(CONFIG_IOEMU),y)
-install-tools: tools/qemu-xen-traditional-dir tools/qemu-xen-dir
+install-tools: $(QEMU_TRAD_DIR_TARGET) tools/qemu-xen-dir
 endif
 
 .PHONY: install-kernels
@@ -82,19 +93,12 @@ install-kernels:
 	for i in $(XKERNELS) ; do $(MAKE) $$i-install || exit 1; done
 
 .PHONY: install-stubdom
-install-stubdom: tools/qemu-xen-traditional-dir install-tools
+install-stubdom: $(QEMU_TRAD_DIR_TARGET) install-tools
 	$(MAKE) -C stubdom install
 ifeq (x86_64,$(XEN_TARGET_ARCH))
 	XEN_TARGET_ARCH=x86_32 $(MAKE) -C stubdom install-grub
 endif
 
-tools/qemu-xen-traditional-dir:
-	$(MAKE) -C tools qemu-xen-traditional-dir-find
-
-.PHONY: tools/qemu-xen-traditional-dir-force-update
-tools/qemu-xen-traditional-dir-force-update:
-	$(MAKE) -C tools qemu-xen-traditional-dir-force-update
-
 tools/qemu-xen-dir:
 	$(MAKE) -C tools qemu-xen-dir-find
 
diff --git a/config/Tools.mk.in b/config/Tools.mk.in
index 1915295..5ec9623 100644
--- a/config/Tools.mk.in
+++ b/config/Tools.mk.in
@@ -50,6 +50,7 @@ FLASK_POLICY        := @xsmpolicy@
 CONFIG_OVMF         := @ovmf@
 CONFIG_ROMBIOS      := @rombios@
 CONFIG_SEABIOS      := @seabios@
+CONFIG_QEMU_TRAD    := @qemu_traditional@
 CONFIG_XEND         := @xend@
 CONFIG_BLKTAP1      := @blktap1@
 
diff --git a/stubdom/Makefile b/stubdom/Makefile
index 35295f0..19f2228 100644
--- a/stubdom/Makefile
+++ b/stubdom/Makefile
@@ -264,6 +264,10 @@ $(CROSS_ROOT): cross-newlib cross-zlib cross-libpci
 
 QEMU_ROOT := $(shell if [ -d "$(CONFIG_QEMU)" ]; then echo "$(CONFIG_QEMU)"; else echo .; fi)
 
+ifneq ($(filter ioemu,$(STUBDOM_TARGETS)),)
+IOEMU_LINKFARM_TARGET := ioemu/linkfarm.stamp
+endif
+
 ifeq ($(QEMU_ROOT),.)
 $(XEN_ROOT)/tools/qemu-xen-traditional-dir:
 	$(MAKE) DESTDIR= -C $(XEN_ROOT)/tools qemu-xen-traditional-dir-find
@@ -289,7 +293,7 @@ ioemu/linkfarm.stamp:
 	touch ioemu/linkfarm.stamp
 endif
 
-mk-headers-$(XEN_TARGET_ARCH): ioemu/linkfarm.stamp
+mk-headers-$(XEN_TARGET_ARCH): $(IOEMU_LINKFARM_TARGET)
 	mkdir -p include/xen && \
           ln -sf $(wildcard $(XEN_ROOT)/xen/include/public/*.h) include/xen && \
           ln -sf $(addprefix $(XEN_ROOT)/xen/include/public/,arch-x86 hvm io xsm) include/xen && \
diff --git a/stubdom/configure b/stubdom/configure
index 3da2677..81eff6d 100755
--- a/stubdom/configure
+++ b/stubdom/configure
@@ -562,6 +562,7 @@ LIBOBJS
 STUBDOM_INSTALL
 STUBDOM_BUILD
 STUBDOM_TARGETS
+ioemu
 vtpmmgr
 vtpm
 TPMEMU_VERSION
@@ -603,7 +604,14 @@ xenstore
 grub
 caml
 c
-ioemu
+host_os
+host_vendor
+host_cpu
+host
+build_os
+build_vendor
+build_cpu
+build
 target_alias
 host_alias
 build_alias
@@ -652,6 +660,7 @@ enable_pv_grub
 enable_xenstore_stubdom
 enable_vtpm_stubdom
 enable_vtpmmgr_stubdom
+enable_qemu_traditional
 enable_debug
 enable_extfiles
 '
@@ -1271,6 +1280,10 @@ Fine tuning of the installation directories:
 _ACEOF
 
   cat <<\_ACEOF
+
+System types:
+  --build=BUILD     configure for building on BUILD [guessed]
+  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
 _ACEOF
 fi
 
@@ -1284,7 +1297,7 @@ Optional Features:
   --disable-option-checking  ignore unrecognized --enable/--with options
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --disable-ioemu-stubdom Build and install ioemu-stubdom (default is ENABLED)
+  --enable-ioemu-stubdom  Build and install ioemu-stubdom
   --enable-c-stubdom      Build and install c-stubdom (default is DISABLED)
   --enable-caml-stubdom   Build and install caml-stubdom (default is DISABLED)
   --disable-pv-grub       Build and install pv-grub (default is ENABLED)
@@ -1294,6 +1307,7 @@ Optional Features:
   --enable-vtpm-stubdom   Build and install vtpm-stubdom
   --enable-vtpmmgr-stubdom
                           Build and install vtpmmgr-stubdom
+
   --disable-debug         Disable debug build of stubdom (default is ENABLED)
   --disable-extfiles      Use xen extfiles repository for libraries (default
                           is ENABLED)
@@ -1821,6 +1835,78 @@ ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
 
 
 
+# Make sure we can run config.sub.
+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
+$as_echo_n "checking build system type... " >&6; }
+if test "${ac_cv_build+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_build_alias=$build_alias
+test "x$ac_build_alias" = x &&
+  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+test "x$ac_build_alias" = x &&
+  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
+$as_echo "$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5 ;;
+esac
+build=$ac_cv_build
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_build
+shift
+build_cpu=$1
+build_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+build_os=$*
+IFS=$ac_save_IFS
+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
+$as_echo_n "checking host system type... " >&6; }
+if test "${ac_cv_host+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "x$host_alias" = x; then
+  ac_cv_host=$ac_cv_build
+else
+  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
+$as_echo "$ac_cv_host" >&6; }
+case $ac_cv_host in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5 ;;
+esac
+host=$ac_cv_host
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_host
+shift
+host_cpu=$1
+host_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+host_os=$*
+IFS=$ac_save_IFS
+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
+
+
+
 # M4 Macro includes
 
 
@@ -1887,20 +1973,10 @@ fi
 fi
 
 
-else
-
-
-ioemu=y
-STUBDOM_TARGETS="$STUBDOM_TARGETS ioemu"
-STUBDOM_BUILD="$STUBDOM_BUILD ioemu-stubdom"
-STUBDOM_INSTALL="$STUBDOM_INSTALL install-ioemu"
-
-
 fi
 
 
 
-
 # Check whether --enable-c-stubdom was given.
 if test "${enable_c_stubdom+set}" = set; then :
   enableval=$enable_c_stubdom;
@@ -2115,6 +2191,39 @@ fi
 
 
 
+# Check whether --enable-qemu-traditional was given.
+if test "${enable_qemu_traditional+set}" = set; then :
+  enableval=$enable_qemu_traditional;
+else
+
+    case "$host_cpu" in
+        i[3456]86|x86_64)
+           enable_qemu_traditional="yes";;
+        *) enable_qemu_traditional="no";;
+    esac
+
+fi
+
+if test "x$enable_qemu_traditional" = "xyes"; then :
+
+    qemu_traditional=y
+else
+
+    qemu_traditional=n
+
+fi
+if test "x$ioemu" = "x"; then :
+
+    ioemu=$qemu_traditional
+
+fi
+echo "x$ioemu$qemu_traditional"
+if test "x$ioemu$qemu_traditional" = "xyn"; then :
+
+    as_fn_error $? "IOEMU stubdomain requires qemu-traditional" "$LINENO" 5
+
+fi
+
 
 # Check whether --enable-debug was given.
 if test "${enable_debug+set}" = set; then :
@@ -3474,6 +3583,25 @@ fi
 
 
 
+if test "x$ioemu" = "xy" || test "x$ioemu" = "x"; then :
+
+
+ioemu=y
+STUBDOM_TARGETS="$STUBDOM_TARGETS ioemu"
+STUBDOM_BUILD="$STUBDOM_BUILD ioemu-stubdom"
+STUBDOM_INSTALL="$STUBDOM_INSTALL install-ioemu"
+
+
+else
+
+
+ioemu=n
+
+
+fi
+
+
+
 
 
 
diff --git a/stubdom/configure.ac b/stubdom/configure.ac
index 90fc94f..6468203 100644
--- a/stubdom/configure.ac
+++ b/stubdom/configure.ac
@@ -8,6 +8,8 @@ AC_CONFIG_SRCDIR([../extras/mini-os/kernel.c])
 AC_CONFIG_FILES([../config/Stubdom.mk])
 AC_CONFIG_AUX_DIR([../])
 
+AC_CANONICAL_HOST
+
 # M4 Macro includes
 m4_include([../m4/stubdom.m4])
 m4_include([../m4/features.m4])
@@ -16,7 +18,7 @@ m4_include([../m4/depends.m4])
 m4_include([../m4/fetcher.m4])
 
 # Enable/disable stub domains
-AX_STUBDOM_DEFAULT_ENABLE([ioemu-stubdom], [ioemu])
+AX_STUBDOM_CONDITIONAL([ioemu-stubdom], [ioemu])
 AX_STUBDOM_DEFAULT_DISABLE([c-stubdom], [c])
 AX_STUBDOM_DEFAULT_DISABLE([caml-stubdom], [caml])
 AX_STUBDOM_DEFAULT_ENABLE([pv-grub], [grub])
@@ -24,6 +26,25 @@ AX_STUBDOM_DEFAULT_ENABLE([xenstore-stubdom], [xenstore])
 AX_STUBDOM_CONDITIONAL([vtpm-stubdom], [vtpm])
 AX_STUBDOM_CONDITIONAL([vtpmmgr-stubdom], [vtpmmgr])
 
+AC_ARG_ENABLE([qemu-traditional],,,[
+    case "$host_cpu" in
+        i[[3456]]86|x86_64)
+           enable_qemu_traditional="yes";;
+        *) enable_qemu_traditional="no";;
+    esac
+])
+AS_IF([test "x$enable_qemu_traditional" = "xyes"], [
+    qemu_traditional=y],[
+    qemu_traditional=n
+])
+AS_IF([test "x$ioemu" = "x"], [
+    ioemu=$qemu_traditional
+])
+echo "x$ioemu$qemu_traditional"
+AS_IF([test "x$ioemu$qemu_traditional" = "xyn"], [
+    AC_MSG_ERROR(IOEMU stubdomain requires qemu-traditional)
+])
+
 AX_ARG_DEFAULT_ENABLE([debug], [Disable debug build of stubdom])
 AX_ARG_DEFAULT_ENABLE([extfiles], [Use xen extfiles repository for libraries])
 
@@ -55,6 +76,7 @@ AX_STUBDOM_AUTO_DEPENDS([vtpmmgr], [vtpm])
 #Conditionally enable these stubdoms based on the presense of dependencies
 AX_STUBDOM_CONDITIONAL_FINISH([vtpm-stubdom], [vtpm])
 AX_STUBDOM_CONDITIONAL_FINISH([vtpmmgr-stubdom], [vtpmmgr])
+AX_STUBDOM_CONDITIONAL_FINISH([ioemu-stubdom], [ioemu])
 
 AX_STUBDOM_FINISH
 AC_OUTPUT()
diff --git a/tools/Makefile b/tools/Makefile
index 381af04..6fa589b 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -28,7 +28,7 @@ SUBDIRS-$(CONFIG_Linux) += libvchan
 
 # do not recurse in to a dir we are about to delete
 ifneq "$(MAKECMDGOALS)" "distclean"
-SUBDIRS-$(CONFIG_IOEMU) += qemu-xen-traditional-dir
+SUBDIRS-$(CONFIG_QEMU_TRAD) += qemu-xen-traditional-dir
 SUBDIRS-$(CONFIG_IOEMU) += qemu-xen-dir
 endif
 
diff --git a/tools/config.h.in b/tools/config.h.in
index 8bda0bd..f844222 100644
--- a/tools/config.h.in
+++ b/tools/config.h.in
@@ -18,6 +18,9 @@
 /* Define to 1 if you have the <memory.h> header file. */
 #undef HAVE_MEMORY_H
 
+/* Qemu traditional enabled */
+#undef HAVE_QEMU_TRADITIONAL
+
 /* Define to 1 if you have the <stdint.h> header file. */
 #undef HAVE_STDINT_H
 
diff --git a/tools/configure b/tools/configure
index ad4b5fe..7398423 100755
--- a/tools/configure
+++ b/tools/configure
@@ -654,6 +654,7 @@ APPEND_LIB
 APPEND_INCLUDES
 PREPEND_LIB
 PREPEND_INCLUDES
+qemu_traditional
 blktap1
 xend
 debug
@@ -734,6 +735,7 @@ enable_seabios
 enable_debug
 enable_xend
 enable_blktap1
+enable_qemu_traditional
 '
       ac_precious_vars='build_alias
 host_alias
@@ -1394,6 +1396,9 @@ Optional Features:
   --disable-debug         Disable debug build of tools (default is ENABLED)
   --disable-xend          Disable xend toolstack (default is ENABLED)
   --enable-blktap1        Disable blktap1 tools (default is DISABLED)
+  --enable-qemu-traditional
+                          Enable qemu traditional device model, (DEFAULT is on
+                          for x86, otherwise off)
 
 Some influential environment variables:
   CC          C compiler command
@@ -3654,6 +3659,32 @@ blktap1=$ax_cv_blktap1
 
 
 
+# Check whether --enable-qemu-traditional was given.
+if test "${enable_qemu_traditional+set}" = set; then :
+  enableval=$enable_qemu_traditional;
+else
+
+    case "$host_cpu" in
+        i[3456]86|x86_64)
+           enable_qemu_traditional="yes";;
+        *) enable_qemu_traditional="no";;
+    esac
+
+fi
+
+if test "x$enable_qemu_traditional" = "xyes"; then :
+
+
+$as_echo "#define HAVE_QEMU_TRADITIONAL 1" >>confdefs.h
+
+    qemu_traditional=y
+else
+
+    qemu_traditional=n
+
+fi
+
+
 
 
 
diff --git a/tools/configure.ac b/tools/configure.ac
index 1b4625a..9b05478 100644
--- a/tools/configure.ac
+++ b/tools/configure.ac
@@ -60,6 +60,22 @@ AX_ARG_DEFAULT_ENABLE([debug], [Disable debug build of tools])
 AX_ARG_DEFAULT_ENABLE([xend], [Disable xend toolstack])
 AX_ARG_DEFAULT_DISABLE([blktap1], [Disable blktap1 tools])
 
+AC_ARG_ENABLE([qemu-traditional],
+    AS_HELP_STRING([--enable-qemu-traditional],
+                   [Enable qemu traditional device model, (DEFAULT is on for x86, otherwise off)]),,[
+    case "$host_cpu" in
+        i[[3456]]86|x86_64)
+           enable_qemu_traditional="yes";;
+        *) enable_qemu_traditional="no";;
+    esac
+])
+AS_IF([test "x$enable_qemu_traditional" = "xyes"], [
+AC_DEFINE([HAVE_QEMU_TRADITIONAL], [1], [Qemu traditional enabled])
+    qemu_traditional=y],[
+    qemu_traditional=n
+])
+AC_SUBST(qemu_traditional)
+
 AC_ARG_VAR([PREPEND_INCLUDES],
     [List of include folders to prepend to CFLAGS (without -I)])
 AC_ARG_VAR([PREPEND_LIB],
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 23:00:36 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 23:00:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCHOA-0006TY-NC; Wed, 21 Aug 2013 23:00:30 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCHO9-0006TB-UZ
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 23:00:30 +0000
Received: from [85.158.139.211:59037] by server-17.bemta-5.messagelabs.com id
	CD/72-19396-D8645125; Wed, 21 Aug 2013 23:00:29 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-206.messagelabs.com!1377126027!3669313!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23945 invoked from network); 21 Aug 2013 23:00:28 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-7.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 23:00:28 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCHO6-00010a-Q2
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 23:00:26 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCHO6-00044f-Hi
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 23:00:26 +0000
Date: Wed, 21 Aug 2013 23:00:26 +0000
Message-Id: <E1VCHO6-00044f-Hi@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] tools: allow user to specify a system
	qemu-xen binary
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 5c7cbadaccca8dbb47f2c42ab1b5a8afac9275e3
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed May 15 14:47:32 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Wed Aug 21 10:39:20 2013 +0100

    tools: allow user to specify a system qemu-xen binary
    
    If this option is given don't bother building qemu-xen ourselves. Likely to be
    handy for distros who have an existing qemu package which they want to reuse.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 Makefile               |   20 ++++++++++++--------
 config/Tools.mk.in     |    1 +
 tools/Makefile         |    2 +-
 tools/config.h.in      |    3 +++
 tools/configure        |   41 +++++++++++++++++++++++++++++++++++++++++
 tools/configure.ac     |   21 +++++++++++++++++++++
 tools/libxl/libxl_dm.c |   11 ++++++++++-
 7 files changed, 89 insertions(+), 10 deletions(-)

diff --git a/Makefile b/Makefile
index a936fbe..2b91537 100644
--- a/Makefile
+++ b/Makefile
@@ -84,8 +84,19 @@ tools/qemu-xen-traditional-dir-force-update:
 	$(MAKE) -C tools qemu-xen-traditional-dir-force-update
 endif
 
+ifeq ($(CONFIG_QEMU_XEN),y)
+QEMU_XEN_DIR_TGT := tools/qemu-xen-dir
+
+tools/qemu-xen-dir:
+	$(MAKE) -C tools qemu-xen-dir-find
+
+.PHONY: tools/qemu-xen-dir-force-update
+tools/qemu-xen-dir-force-update:
+	$(MAKE) -C tools qemu-xen-dir-force-update
+endif
+
 ifeq ($(CONFIG_IOEMU),y)
-install-tools: $(QEMU_TRAD_DIR_TARGET) tools/qemu-xen-dir
+install-tools: $(QEMU_TRAD_DIR_TARGET) $(QEMU_XEN_DIR_TARGET)
 endif
 
 .PHONY: install-kernels
@@ -99,13 +110,6 @@ ifeq (x86_64,$(XEN_TARGET_ARCH))
 	XEN_TARGET_ARCH=x86_32 $(MAKE) -C stubdom install-grub
 endif
 
-tools/qemu-xen-dir:
-	$(MAKE) -C tools qemu-xen-dir-find
-
-.PHONY: tools/qemu-xen-dir-force-update
-tools/qemu-xen-dir-force-update:
-	$(MAKE) -C tools qemu-xen-dir-force-update
-
 .PHONY: tools/firmware/seabios-dir-force-update
 tools/firmware/seabios-dir-force-update:
 	$(MAKE) -C tools/firmware seabios-dir-force-update
diff --git a/config/Tools.mk.in b/config/Tools.mk.in
index 5ec9623..e388e42 100644
--- a/config/Tools.mk.in
+++ b/config/Tools.mk.in
@@ -51,6 +51,7 @@ CONFIG_OVMF         := @ovmf@
 CONFIG_ROMBIOS      := @rombios@
 CONFIG_SEABIOS      := @seabios@
 CONFIG_QEMU_TRAD    := @qemu_traditional@
+CONFIG_QEMU_XEN     := @qemu_xen@
 CONFIG_XEND         := @xend@
 CONFIG_BLKTAP1      := @blktap1@
 
diff --git a/tools/Makefile b/tools/Makefile
index 6fa589b..0531f48 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -29,7 +29,7 @@ SUBDIRS-$(CONFIG_Linux) += libvchan
 # do not recurse in to a dir we are about to delete
 ifneq "$(MAKECMDGOALS)" "distclean"
 SUBDIRS-$(CONFIG_QEMU_TRAD) += qemu-xen-traditional-dir
-SUBDIRS-$(CONFIG_IOEMU) += qemu-xen-dir
+SUBDIRS-$(CONFIG_QEMU_XEN) += qemu-xen-dir
 endif
 
 SUBDIRS-y += xenpmd
diff --git a/tools/config.h.in b/tools/config.h.in
index f844222..aaa1027 100644
--- a/tools/config.h.in
+++ b/tools/config.h.in
@@ -75,6 +75,9 @@
 /* Define to the version of this package. */
 #undef PACKAGE_VERSION
 
+/* Qemu Xen path */
+#undef QEMU_XEN_PATH
+
 /* Define to 1 if you have the ANSI C header files. */
 #undef STDC_HEADERS
 
diff --git a/tools/configure b/tools/configure
index 7398423..4be39fc 100755
--- a/tools/configure
+++ b/tools/configure
@@ -654,6 +654,7 @@ APPEND_LIB
 APPEND_INCLUDES
 PREPEND_LIB
 PREPEND_INCLUDES
+qemu_xen
 qemu_traditional
 blktap1
 xend
@@ -736,6 +737,7 @@ enable_debug
 enable_xend
 enable_blktap1
 enable_qemu_traditional
+with_system_qemu
 '
       ac_precious_vars='build_alias
 host_alias
@@ -1400,6 +1402,14 @@ Optional Features:
                           Enable qemu traditional device model, (DEFAULT is on
                           for x86, otherwise off)
 
+Optional Packages:
+  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
+  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
+  --with-system-qemu[=PATH]
+                          Use system supplied qemu PATH or qemu (taken from
+                          $PATH) as qemu-xen device model instead of building
+                          and installing our own version
+
 Some influential environment variables:
   CC          C compiler command
   CFLAGS      C compiler flags
@@ -3686,6 +3696,37 @@ fi
 
 
 
+# Check whether --with-system-qemu was given.
+if test "${with_system_qemu+set}" = set; then :
+  withval=$with_system_qemu;
+    case $withval in
+    yes) qemu_xen=n ; qemu_xen_path=qemu ;;
+    no)  qemu_xen=y ; qemu_xen_path= ;;
+    *)   qemu_xen=n ; qemu_xen_path=$withval ;;
+    esac
+
+else
+
+    case "$host_cpu" in
+        i[3456]86|x86_64)
+           qemu_xen=y;;
+        *) qemu_xen=n;;
+    esac
+
+fi
+
+if test "x$qemu_xen" = "xn"; then :
+
+
+cat >>confdefs.h <<_ACEOF
+#define QEMU_XEN_PATH "$qemu_xen_path"
+_ACEOF
+
+
+fi
+
+
+
 
 
 
diff --git a/tools/configure.ac b/tools/configure.ac
index 9b05478..1f57681 100644
--- a/tools/configure.ac
+++ b/tools/configure.ac
@@ -76,6 +76,27 @@ AC_DEFINE([HAVE_QEMU_TRADITIONAL], [1], [Qemu traditional enabled])
 ])
 AC_SUBST(qemu_traditional)
 
+AC_ARG_WITH([system-qemu],
+    AS_HELP_STRING([--with-system-qemu@<:@=PATH@:>@],
+       [Use system supplied qemu PATH or qemu (taken from $PATH) as qemu-xen
+        device model instead of building and installing our own version]),[
+    case $withval in
+    yes) qemu_xen=n ; qemu_xen_path=qemu ;;
+    no)  qemu_xen=y ; qemu_xen_path= ;;
+    *)   qemu_xen=n ; qemu_xen_path=$withval ;;
+    esac
+],[
+    case "$host_cpu" in
+        i[[3456]]86|x86_64)
+           qemu_xen=y;;
+        *) qemu_xen=n;;
+    esac
+])
+AS_IF([test "x$qemu_xen" = "xn"], [
+    AC_DEFINE_UNQUOTED([QEMU_XEN_PATH], ["$qemu_xen_path"], [Qemu Xen path])
+])
+AC_SUBST(qemu_xen)
+
 AC_ARG_VAR([PREPEND_INCLUDES],
     [List of include folders to prepend to CFLAGS (without -I)])
 AC_ARG_VAR([PREPEND_LIB],
diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index 615dcf3..4035b6d 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -33,6 +33,15 @@ const char *libxl__device_model_savefile(libxl__gc *gc, uint32_t domid)
     return libxl__sprintf(gc, "/var/lib/xen/qemu-save.%d", domid);
 }
 
+static const char *qemu_xen_path(libxl__gc *gc)
+{
+#ifdef QEMU_XEN_PATH
+    return QEMU_XEN_PATH;
+#else
+    return libxl__abs_path(gc, "qemu-system-i386", libxl__libexec_path());
+#endif
+}
+
 const char *libxl__domain_device_model(libxl__gc *gc,
                                        const libxl_domain_build_info *info)
 {
@@ -50,7 +59,7 @@ const char *libxl__domain_device_model(libxl__gc *gc,
             dm = libxl__abs_path(gc, "qemu-dm", libxl__libexec_path());
             break;
         case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN:
-            dm = libxl__abs_path(gc, "qemu-system-i386", libxl__libexec_path());
+            dm = qemu_xen_path(gc);
             break;
         default:
             LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 23:00:36 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 23:00:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCHOA-0006TY-NC; Wed, 21 Aug 2013 23:00:30 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCHO9-0006TB-UZ
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 23:00:30 +0000
Received: from [85.158.139.211:59037] by server-17.bemta-5.messagelabs.com id
	CD/72-19396-D8645125; Wed, 21 Aug 2013 23:00:29 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-206.messagelabs.com!1377126027!3669313!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 23945 invoked from network); 21 Aug 2013 23:00:28 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-7.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 23:00:28 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCHO6-00010a-Q2
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 23:00:26 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCHO6-00044f-Hi
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 23:00:26 +0000
Date: Wed, 21 Aug 2013 23:00:26 +0000
Message-Id: <E1VCHO6-00044f-Hi@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] tools: allow user to specify a system
	qemu-xen binary
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 5c7cbadaccca8dbb47f2c42ab1b5a8afac9275e3
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed May 15 14:47:32 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Wed Aug 21 10:39:20 2013 +0100

    tools: allow user to specify a system qemu-xen binary
    
    If this option is given don't bother building qemu-xen ourselves. Likely to be
    handy for distros who have an existing qemu package which they want to reuse.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 Makefile               |   20 ++++++++++++--------
 config/Tools.mk.in     |    1 +
 tools/Makefile         |    2 +-
 tools/config.h.in      |    3 +++
 tools/configure        |   41 +++++++++++++++++++++++++++++++++++++++++
 tools/configure.ac     |   21 +++++++++++++++++++++
 tools/libxl/libxl_dm.c |   11 ++++++++++-
 7 files changed, 89 insertions(+), 10 deletions(-)

diff --git a/Makefile b/Makefile
index a936fbe..2b91537 100644
--- a/Makefile
+++ b/Makefile
@@ -84,8 +84,19 @@ tools/qemu-xen-traditional-dir-force-update:
 	$(MAKE) -C tools qemu-xen-traditional-dir-force-update
 endif
 
+ifeq ($(CONFIG_QEMU_XEN),y)
+QEMU_XEN_DIR_TGT := tools/qemu-xen-dir
+
+tools/qemu-xen-dir:
+	$(MAKE) -C tools qemu-xen-dir-find
+
+.PHONY: tools/qemu-xen-dir-force-update
+tools/qemu-xen-dir-force-update:
+	$(MAKE) -C tools qemu-xen-dir-force-update
+endif
+
 ifeq ($(CONFIG_IOEMU),y)
-install-tools: $(QEMU_TRAD_DIR_TARGET) tools/qemu-xen-dir
+install-tools: $(QEMU_TRAD_DIR_TARGET) $(QEMU_XEN_DIR_TARGET)
 endif
 
 .PHONY: install-kernels
@@ -99,13 +110,6 @@ ifeq (x86_64,$(XEN_TARGET_ARCH))
 	XEN_TARGET_ARCH=x86_32 $(MAKE) -C stubdom install-grub
 endif
 
-tools/qemu-xen-dir:
-	$(MAKE) -C tools qemu-xen-dir-find
-
-.PHONY: tools/qemu-xen-dir-force-update
-tools/qemu-xen-dir-force-update:
-	$(MAKE) -C tools qemu-xen-dir-force-update
-
 .PHONY: tools/firmware/seabios-dir-force-update
 tools/firmware/seabios-dir-force-update:
 	$(MAKE) -C tools/firmware seabios-dir-force-update
diff --git a/config/Tools.mk.in b/config/Tools.mk.in
index 5ec9623..e388e42 100644
--- a/config/Tools.mk.in
+++ b/config/Tools.mk.in
@@ -51,6 +51,7 @@ CONFIG_OVMF         := @ovmf@
 CONFIG_ROMBIOS      := @rombios@
 CONFIG_SEABIOS      := @seabios@
 CONFIG_QEMU_TRAD    := @qemu_traditional@
+CONFIG_QEMU_XEN     := @qemu_xen@
 CONFIG_XEND         := @xend@
 CONFIG_BLKTAP1      := @blktap1@
 
diff --git a/tools/Makefile b/tools/Makefile
index 6fa589b..0531f48 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -29,7 +29,7 @@ SUBDIRS-$(CONFIG_Linux) += libvchan
 # do not recurse in to a dir we are about to delete
 ifneq "$(MAKECMDGOALS)" "distclean"
 SUBDIRS-$(CONFIG_QEMU_TRAD) += qemu-xen-traditional-dir
-SUBDIRS-$(CONFIG_IOEMU) += qemu-xen-dir
+SUBDIRS-$(CONFIG_QEMU_XEN) += qemu-xen-dir
 endif
 
 SUBDIRS-y += xenpmd
diff --git a/tools/config.h.in b/tools/config.h.in
index f844222..aaa1027 100644
--- a/tools/config.h.in
+++ b/tools/config.h.in
@@ -75,6 +75,9 @@
 /* Define to the version of this package. */
 #undef PACKAGE_VERSION
 
+/* Qemu Xen path */
+#undef QEMU_XEN_PATH
+
 /* Define to 1 if you have the ANSI C header files. */
 #undef STDC_HEADERS
 
diff --git a/tools/configure b/tools/configure
index 7398423..4be39fc 100755
--- a/tools/configure
+++ b/tools/configure
@@ -654,6 +654,7 @@ APPEND_LIB
 APPEND_INCLUDES
 PREPEND_LIB
 PREPEND_INCLUDES
+qemu_xen
 qemu_traditional
 blktap1
 xend
@@ -736,6 +737,7 @@ enable_debug
 enable_xend
 enable_blktap1
 enable_qemu_traditional
+with_system_qemu
 '
       ac_precious_vars='build_alias
 host_alias
@@ -1400,6 +1402,14 @@ Optional Features:
                           Enable qemu traditional device model, (DEFAULT is on
                           for x86, otherwise off)
 
+Optional Packages:
+  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
+  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
+  --with-system-qemu[=PATH]
+                          Use system supplied qemu PATH or qemu (taken from
+                          $PATH) as qemu-xen device model instead of building
+                          and installing our own version
+
 Some influential environment variables:
   CC          C compiler command
   CFLAGS      C compiler flags
@@ -3686,6 +3696,37 @@ fi
 
 
 
+# Check whether --with-system-qemu was given.
+if test "${with_system_qemu+set}" = set; then :
+  withval=$with_system_qemu;
+    case $withval in
+    yes) qemu_xen=n ; qemu_xen_path=qemu ;;
+    no)  qemu_xen=y ; qemu_xen_path= ;;
+    *)   qemu_xen=n ; qemu_xen_path=$withval ;;
+    esac
+
+else
+
+    case "$host_cpu" in
+        i[3456]86|x86_64)
+           qemu_xen=y;;
+        *) qemu_xen=n;;
+    esac
+
+fi
+
+if test "x$qemu_xen" = "xn"; then :
+
+
+cat >>confdefs.h <<_ACEOF
+#define QEMU_XEN_PATH "$qemu_xen_path"
+_ACEOF
+
+
+fi
+
+
+
 
 
 
diff --git a/tools/configure.ac b/tools/configure.ac
index 9b05478..1f57681 100644
--- a/tools/configure.ac
+++ b/tools/configure.ac
@@ -76,6 +76,27 @@ AC_DEFINE([HAVE_QEMU_TRADITIONAL], [1], [Qemu traditional enabled])
 ])
 AC_SUBST(qemu_traditional)
 
+AC_ARG_WITH([system-qemu],
+    AS_HELP_STRING([--with-system-qemu@<:@=PATH@:>@],
+       [Use system supplied qemu PATH or qemu (taken from $PATH) as qemu-xen
+        device model instead of building and installing our own version]),[
+    case $withval in
+    yes) qemu_xen=n ; qemu_xen_path=qemu ;;
+    no)  qemu_xen=y ; qemu_xen_path= ;;
+    *)   qemu_xen=n ; qemu_xen_path=$withval ;;
+    esac
+],[
+    case "$host_cpu" in
+        i[[3456]]86|x86_64)
+           qemu_xen=y;;
+        *) qemu_xen=n;;
+    esac
+])
+AS_IF([test "x$qemu_xen" = "xn"], [
+    AC_DEFINE_UNQUOTED([QEMU_XEN_PATH], ["$qemu_xen_path"], [Qemu Xen path])
+])
+AC_SUBST(qemu_xen)
+
 AC_ARG_VAR([PREPEND_INCLUDES],
     [List of include folders to prepend to CFLAGS (without -I)])
 AC_ARG_VAR([PREPEND_LIB],
diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c
index 615dcf3..4035b6d 100644
--- a/tools/libxl/libxl_dm.c
+++ b/tools/libxl/libxl_dm.c
@@ -33,6 +33,15 @@ const char *libxl__device_model_savefile(libxl__gc *gc, uint32_t domid)
     return libxl__sprintf(gc, "/var/lib/xen/qemu-save.%d", domid);
 }
 
+static const char *qemu_xen_path(libxl__gc *gc)
+{
+#ifdef QEMU_XEN_PATH
+    return QEMU_XEN_PATH;
+#else
+    return libxl__abs_path(gc, "qemu-system-i386", libxl__libexec_path());
+#endif
+}
+
 const char *libxl__domain_device_model(libxl__gc *gc,
                                        const libxl_domain_build_info *info)
 {
@@ -50,7 +59,7 @@ const char *libxl__domain_device_model(libxl__gc *gc,
             dm = libxl__abs_path(gc, "qemu-dm", libxl__libexec_path());
             break;
         case LIBXL_DEVICE_MODEL_VERSION_QEMU_XEN:
-            dm = libxl__abs_path(gc, "qemu-system-i386", libxl__libexec_path());
+            dm = qemu_xen_path(gc);
             break;
         default:
             LIBXL__LOG(ctx, LIBXL__LOG_ERROR,
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 23:00:43 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 23:00:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCHOK-0006Us-Sr; Wed, 21 Aug 2013 23:00:40 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCHOJ-0006Ud-Ij
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 23:00:39 +0000
Received: from [193.109.254.147:25949] by server-9.bemta-14.messagelabs.com id
	58/C8-30026-69645125; Wed, 21 Aug 2013 23:00:38 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1377126037!5246139!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4972 invoked from network); 21 Aug 2013 23:00:38 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-14.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 23:00:38 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCHOH-00010l-0z
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 23:00:37 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCHOG-000455-Un
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 23:00:36 +0000
Date: Wed, 21 Aug 2013 23:00:36 +0000
Message-Id: <E1VCHOG-000455-Un@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] build: CONFIG_IOEMU is now obsolete
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit d7f056a32e0906c2ef43e23801c621ec897a238c
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Tue Aug 6 11:32:34 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Wed Aug 21 10:41:00 2013 +0100

    build: CONFIG_IOEMU is now obsolete
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 Makefile         |    8 ++------
 config/x86_32.mk |    1 -
 config/x86_64.mk |    1 -
 3 files changed, 2 insertions(+), 8 deletions(-)

diff --git a/Makefile b/Makefile
index 2b91537..d915660 100644
--- a/Makefile
+++ b/Makefile
@@ -69,10 +69,6 @@ prep-kernels:
 install-xen:
 	$(MAKE) -C xen install
 
-.PHONY: install-tools
-install-tools:
-	$(MAKE) -C tools install
-
 ifeq ($(CONFIG_QEMU_TRAD),y)
 QEMU_TRAD_DIR_TGT := tools/qemu-xen-traditional-dir
 
@@ -95,9 +91,9 @@ tools/qemu-xen-dir-force-update:
 	$(MAKE) -C tools qemu-xen-dir-force-update
 endif
 
-ifeq ($(CONFIG_IOEMU),y)
+.PHONY: install-tools
 install-tools: $(QEMU_TRAD_DIR_TARGET) $(QEMU_XEN_DIR_TARGET)
-endif
+	$(MAKE) -C tools install
 
 .PHONY: install-kernels
 install-kernels:
diff --git a/config/x86_32.mk b/config/x86_32.mk
index df52bd6..7f76b25 100644
--- a/config/x86_32.mk
+++ b/config/x86_32.mk
@@ -5,7 +5,6 @@ CONFIG_X86_$(XEN_OS) := y
 CONFIG_HVM := y
 CONFIG_MIGRATE := y
 CONFIG_XCUTILS := y
-CONFIG_IOEMU ?= y
 
 CFLAGS += -m32 -march=i686
 
diff --git a/config/x86_64.mk b/config/x86_64.mk
index d925b23..11104bd 100644
--- a/config/x86_64.mk
+++ b/config/x86_64.mk
@@ -6,7 +6,6 @@ CONFIG_COMPAT := y
 CONFIG_HVM := y
 CONFIG_MIGRATE := y
 CONFIG_XCUTILS := y
-CONFIG_IOEMU ?= y
 
 CONFIG_XEN_INSTALL_SUFFIX := .gz
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 23:00:43 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 23:00:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCHOK-0006Us-Sr; Wed, 21 Aug 2013 23:00:40 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCHOJ-0006Ud-Ij
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 23:00:39 +0000
Received: from [193.109.254.147:25949] by server-9.bemta-14.messagelabs.com id
	58/C8-30026-69645125; Wed, 21 Aug 2013 23:00:38 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-27.messagelabs.com!1377126037!5246139!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4972 invoked from network); 21 Aug 2013 23:00:38 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-14.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 23:00:38 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCHOH-00010l-0z
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 23:00:37 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCHOG-000455-Un
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 23:00:36 +0000
Date: Wed, 21 Aug 2013 23:00:36 +0000
Message-Id: <E1VCHOG-000455-Un@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] build: CONFIG_IOEMU is now obsolete
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit d7f056a32e0906c2ef43e23801c621ec897a238c
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Tue Aug 6 11:32:34 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Wed Aug 21 10:41:00 2013 +0100

    build: CONFIG_IOEMU is now obsolete
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
---
 Makefile         |    8 ++------
 config/x86_32.mk |    1 -
 config/x86_64.mk |    1 -
 3 files changed, 2 insertions(+), 8 deletions(-)

diff --git a/Makefile b/Makefile
index 2b91537..d915660 100644
--- a/Makefile
+++ b/Makefile
@@ -69,10 +69,6 @@ prep-kernels:
 install-xen:
 	$(MAKE) -C xen install
 
-.PHONY: install-tools
-install-tools:
-	$(MAKE) -C tools install
-
 ifeq ($(CONFIG_QEMU_TRAD),y)
 QEMU_TRAD_DIR_TGT := tools/qemu-xen-traditional-dir
 
@@ -95,9 +91,9 @@ tools/qemu-xen-dir-force-update:
 	$(MAKE) -C tools qemu-xen-dir-force-update
 endif
 
-ifeq ($(CONFIG_IOEMU),y)
+.PHONY: install-tools
 install-tools: $(QEMU_TRAD_DIR_TARGET) $(QEMU_XEN_DIR_TARGET)
-endif
+	$(MAKE) -C tools install
 
 .PHONY: install-kernels
 install-kernels:
diff --git a/config/x86_32.mk b/config/x86_32.mk
index df52bd6..7f76b25 100644
--- a/config/x86_32.mk
+++ b/config/x86_32.mk
@@ -5,7 +5,6 @@ CONFIG_X86_$(XEN_OS) := y
 CONFIG_HVM := y
 CONFIG_MIGRATE := y
 CONFIG_XCUTILS := y
-CONFIG_IOEMU ?= y
 
 CFLAGS += -m32 -march=i686
 
diff --git a/config/x86_64.mk b/config/x86_64.mk
index d925b23..11104bd 100644
--- a/config/x86_64.mk
+++ b/config/x86_64.mk
@@ -6,7 +6,6 @@ CONFIG_COMPAT := y
 CONFIG_HVM := y
 CONFIG_MIGRATE := y
 CONFIG_XCUTILS := y
-CONFIG_IOEMU ?= y
 
 CONFIG_XEN_INSTALL_SUFFIX := .gz
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 23:00:55 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 23:00:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCHOV-0006Wv-Vq; Wed, 21 Aug 2013 23:00:51 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCHOU-0006WY-LM
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 23:00:50 +0000
Received: from [85.158.137.68:43117] by server-8.bemta-3.messagelabs.com id
	64/9C-28652-1A645125; Wed, 21 Aug 2013 23:00:49 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-31.messagelabs.com!1377126048!3058959!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1380 invoked from network); 21 Aug 2013 23:00:49 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-9.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 23:00:49 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCHOR-00010u-M5
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 23:00:47 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCHOR-00045q-DP
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 23:00:47 +0000
Date: Wed, 21 Aug 2013 23:00:47 +0000
Message-Id: <E1VCHOR-00045q-DP@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] ACPI: fix acpi_os_map_memory()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 2ee9cbf9d8eaeff6e21222905d22dbd58dc5fe29
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Aug 21 08:38:40 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Aug 21 08:38:40 2013 +0200

    ACPI: fix acpi_os_map_memory()
    
    It using map_domain_page() was entirely wrong. Use __acpi_map_table()
    instead for the time being, with locking added as the mappings it
    produces get replaced with subsequent invocations. Using locking in
    this way is acceptable here since the only two runtime callers are
    acpi_os_{read,write}_memory(), which don't leave mappings pending upon
    returning to their callers.
    
    Also fix __acpi_map_table()'s first parameter's type - while benign for
    unstable, backports to pre-4.3 trees will need this.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/acpi/lib.c |    2 +-
 xen/drivers/acpi/osl.c  |   23 +++++++++++++----------
 xen/include/xen/acpi.h  |    2 +-
 3 files changed, 15 insertions(+), 12 deletions(-)

diff --git a/xen/arch/x86/acpi/lib.c b/xen/arch/x86/acpi/lib.c
index e8e69d1..1f98c31 100644
--- a/xen/arch/x86/acpi/lib.c
+++ b/xen/arch/x86/acpi/lib.c
@@ -39,7 +39,7 @@ u32 __read_mostly x86_acpiid_to_apicid[MAX_MADT_ENTRIES] =
  * from the fixed base.  That's why we start at FIX_ACPI_END and
  * count idx down while incrementing the phys address.
  */
-char *__acpi_map_table(unsigned long phys, unsigned long size)
+char *__acpi_map_table(paddr_t phys, unsigned long size)
 {
 	unsigned long base, offset, mapped_size;
 	int idx;
diff --git a/xen/drivers/acpi/osl.c b/xen/drivers/acpi/osl.c
index 1b60be6..4cba3c0 100644
--- a/xen/drivers/acpi/osl.c
+++ b/xen/drivers/acpi/osl.c
@@ -83,14 +83,20 @@ acpi_physical_address __init acpi_os_get_root_pointer(void)
 	}
 }
 
-void __iomem *__init
+static DEFINE_SPINLOCK(map_lock);
+
+void __iomem *
 acpi_os_map_memory(acpi_physical_address phys, acpi_size size)
 {
-	return __acpi_map_table((unsigned long)phys, size);
+	if (system_state >= SYS_STATE_active)
+		spin_lock(&map_lock);
+	return __acpi_map_table(phys, size);
 }
 
-void __init acpi_os_unmap_memory(void __iomem * virt, acpi_size size)
+void acpi_os_unmap_memory(void __iomem * virt, acpi_size size)
 {
+	if (system_state >= SYS_STATE_active)
+		spin_unlock(&map_lock);
 }
 
 acpi_status acpi_os_read_port(acpi_io_address port, u32 * value, u32 width)
@@ -133,9 +139,8 @@ acpi_status
 acpi_os_read_memory(acpi_physical_address phys_addr, u32 * value, u32 width)
 {
 	u32 dummy;
-	void __iomem *virt_addr;
+	void __iomem *virt_addr = acpi_os_map_memory(phys_addr, width >> 3);
 
-	virt_addr = map_domain_page(phys_addr>>PAGE_SHIFT);
 	if (!value)
 		value = &dummy;
 
@@ -153,7 +158,7 @@ acpi_os_read_memory(acpi_physical_address phys_addr, u32 * value, u32 width)
 		BUG();
 	}
 
-	unmap_domain_page(virt_addr);
+	acpi_os_unmap_memory(virt_addr, width >> 3);
 
 	return AE_OK;
 }
@@ -161,9 +166,7 @@ acpi_os_read_memory(acpi_physical_address phys_addr, u32 * value, u32 width)
 acpi_status
 acpi_os_write_memory(acpi_physical_address phys_addr, u32 value, u32 width)
 {
-	void __iomem *virt_addr;
-
-	virt_addr = map_domain_page(phys_addr>>PAGE_SHIFT);
+	void __iomem *virt_addr = acpi_os_map_memory(phys_addr, width >> 3);
 
 	switch (width) {
 	case 8:
@@ -179,7 +182,7 @@ acpi_os_write_memory(acpi_physical_address phys_addr, u32 value, u32 width)
 		BUG();
 	}
 
-	unmap_domain_page(virt_addr);
+	acpi_os_unmap_memory(virt_addr, width >> 3);
 
 	return AE_OK;
 }
diff --git a/xen/include/xen/acpi.h b/xen/include/xen/acpi.h
index 8f3cdca..aedec65 100644
--- a/xen/include/xen/acpi.h
+++ b/xen/include/xen/acpi.h
@@ -56,7 +56,7 @@ typedef int (*acpi_table_handler) (struct acpi_table_header *table);
 typedef int (*acpi_table_entry_handler) (struct acpi_subtable_header *header, const unsigned long end);
 
 unsigned int acpi_get_processor_id (unsigned int cpu);
-char * __acpi_map_table (unsigned long phys_addr, unsigned long size);
+char * __acpi_map_table (paddr_t phys_addr, unsigned long size);
 int acpi_boot_init (void);
 int acpi_boot_table_init (void);
 int acpi_numa_init (void);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 23:00:55 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 23:00:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCHOV-0006Wv-Vq; Wed, 21 Aug 2013 23:00:51 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCHOU-0006WY-LM
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 23:00:50 +0000
Received: from [85.158.137.68:43117] by server-8.bemta-3.messagelabs.com id
	64/9C-28652-1A645125; Wed, 21 Aug 2013 23:00:49 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-31.messagelabs.com!1377126048!3058959!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1380 invoked from network); 21 Aug 2013 23:00:49 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-9.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 23:00:49 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCHOR-00010u-M5
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 23:00:47 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCHOR-00045q-DP
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 23:00:47 +0000
Date: Wed, 21 Aug 2013 23:00:47 +0000
Message-Id: <E1VCHOR-00045q-DP@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] ACPI: fix acpi_os_map_memory()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 2ee9cbf9d8eaeff6e21222905d22dbd58dc5fe29
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Aug 21 08:38:40 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Aug 21 08:38:40 2013 +0200

    ACPI: fix acpi_os_map_memory()
    
    It using map_domain_page() was entirely wrong. Use __acpi_map_table()
    instead for the time being, with locking added as the mappings it
    produces get replaced with subsequent invocations. Using locking in
    this way is acceptable here since the only two runtime callers are
    acpi_os_{read,write}_memory(), which don't leave mappings pending upon
    returning to their callers.
    
    Also fix __acpi_map_table()'s first parameter's type - while benign for
    unstable, backports to pre-4.3 trees will need this.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/acpi/lib.c |    2 +-
 xen/drivers/acpi/osl.c  |   23 +++++++++++++----------
 xen/include/xen/acpi.h  |    2 +-
 3 files changed, 15 insertions(+), 12 deletions(-)

diff --git a/xen/arch/x86/acpi/lib.c b/xen/arch/x86/acpi/lib.c
index e8e69d1..1f98c31 100644
--- a/xen/arch/x86/acpi/lib.c
+++ b/xen/arch/x86/acpi/lib.c
@@ -39,7 +39,7 @@ u32 __read_mostly x86_acpiid_to_apicid[MAX_MADT_ENTRIES] =
  * from the fixed base.  That's why we start at FIX_ACPI_END and
  * count idx down while incrementing the phys address.
  */
-char *__acpi_map_table(unsigned long phys, unsigned long size)
+char *__acpi_map_table(paddr_t phys, unsigned long size)
 {
 	unsigned long base, offset, mapped_size;
 	int idx;
diff --git a/xen/drivers/acpi/osl.c b/xen/drivers/acpi/osl.c
index 1b60be6..4cba3c0 100644
--- a/xen/drivers/acpi/osl.c
+++ b/xen/drivers/acpi/osl.c
@@ -83,14 +83,20 @@ acpi_physical_address __init acpi_os_get_root_pointer(void)
 	}
 }
 
-void __iomem *__init
+static DEFINE_SPINLOCK(map_lock);
+
+void __iomem *
 acpi_os_map_memory(acpi_physical_address phys, acpi_size size)
 {
-	return __acpi_map_table((unsigned long)phys, size);
+	if (system_state >= SYS_STATE_active)
+		spin_lock(&map_lock);
+	return __acpi_map_table(phys, size);
 }
 
-void __init acpi_os_unmap_memory(void __iomem * virt, acpi_size size)
+void acpi_os_unmap_memory(void __iomem * virt, acpi_size size)
 {
+	if (system_state >= SYS_STATE_active)
+		spin_unlock(&map_lock);
 }
 
 acpi_status acpi_os_read_port(acpi_io_address port, u32 * value, u32 width)
@@ -133,9 +139,8 @@ acpi_status
 acpi_os_read_memory(acpi_physical_address phys_addr, u32 * value, u32 width)
 {
 	u32 dummy;
-	void __iomem *virt_addr;
+	void __iomem *virt_addr = acpi_os_map_memory(phys_addr, width >> 3);
 
-	virt_addr = map_domain_page(phys_addr>>PAGE_SHIFT);
 	if (!value)
 		value = &dummy;
 
@@ -153,7 +158,7 @@ acpi_os_read_memory(acpi_physical_address phys_addr, u32 * value, u32 width)
 		BUG();
 	}
 
-	unmap_domain_page(virt_addr);
+	acpi_os_unmap_memory(virt_addr, width >> 3);
 
 	return AE_OK;
 }
@@ -161,9 +166,7 @@ acpi_os_read_memory(acpi_physical_address phys_addr, u32 * value, u32 width)
 acpi_status
 acpi_os_write_memory(acpi_physical_address phys_addr, u32 value, u32 width)
 {
-	void __iomem *virt_addr;
-
-	virt_addr = map_domain_page(phys_addr>>PAGE_SHIFT);
+	void __iomem *virt_addr = acpi_os_map_memory(phys_addr, width >> 3);
 
 	switch (width) {
 	case 8:
@@ -179,7 +182,7 @@ acpi_os_write_memory(acpi_physical_address phys_addr, u32 value, u32 width)
 		BUG();
 	}
 
-	unmap_domain_page(virt_addr);
+	acpi_os_unmap_memory(virt_addr, width >> 3);
 
 	return AE_OK;
 }
diff --git a/xen/include/xen/acpi.h b/xen/include/xen/acpi.h
index 8f3cdca..aedec65 100644
--- a/xen/include/xen/acpi.h
+++ b/xen/include/xen/acpi.h
@@ -56,7 +56,7 @@ typedef int (*acpi_table_handler) (struct acpi_table_header *table);
 typedef int (*acpi_table_entry_handler) (struct acpi_subtable_header *header, const unsigned long end);
 
 unsigned int acpi_get_processor_id (unsigned int cpu);
-char * __acpi_map_table (unsigned long phys_addr, unsigned long size);
+char * __acpi_map_table (paddr_t phys_addr, unsigned long size);
 int acpi_boot_init (void);
 int acpi_boot_table_init (void);
 int acpi_numa_init (void);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 23:01:07 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 23:01:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCHOi-0006Yf-37; Wed, 21 Aug 2013 23:01:04 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCHOe-0006YA-LS
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 23:01:00 +0000
Received: from [85.158.137.68:25774] by server-8.bemta-3.messagelabs.com id
	5E/AC-28652-BA645125; Wed, 21 Aug 2013 23:00:59 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-31.messagelabs.com!1377126058!3080735!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7021 invoked from network); 21 Aug 2013 23:00:59 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-11.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 23:00:59 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCHOb-000111-Sc
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 23:00:57 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCHOb-00046F-Qd
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 23:00:57 +0000
Date: Wed, 21 Aug 2013 23:00:57 +0000
Message-Id: <E1VCHOb-00046F-Qd@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] ACPI: use ioremap() in
	acpi_os_map_memory()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit c5ba8ed4c6f005d332a49d93a3ef8ff2b690b256
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Aug 21 08:40:22 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Aug 21 08:40:22 2013 +0200

    ACPI: use ioremap() in acpi_os_map_memory()
    
    This drops the post-boot use of __acpi_map_table() here again (together
    with the somewhat awkward locking), in favor of using ioremap().
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
 xen/drivers/acpi/osl.c |   16 +++++++++++-----
 1 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/xen/drivers/acpi/osl.c b/xen/drivers/acpi/osl.c
index 4cba3c0..93c983c 100644
--- a/xen/drivers/acpi/osl.c
+++ b/xen/drivers/acpi/osl.c
@@ -38,6 +38,7 @@
 #include <xen/spinlock.h>
 #include <xen/domain_page.h>
 #include <xen/efi.h>
+#include <xen/vmap.h>
 
 #define _COMPONENT		ACPI_OS_SERVICES
 ACPI_MODULE_NAME("osl")
@@ -83,20 +84,25 @@ acpi_physical_address __init acpi_os_get_root_pointer(void)
 	}
 }
 
-static DEFINE_SPINLOCK(map_lock);
-
 void __iomem *
 acpi_os_map_memory(acpi_physical_address phys, acpi_size size)
 {
-	if (system_state >= SYS_STATE_active)
-		spin_lock(&map_lock);
+	if (system_state >= SYS_STATE_active) {
+		unsigned long pfn = PFN_DOWN(phys);
+		unsigned int offs = phys & (PAGE_SIZE - 1);
+
+		/* The low first Mb is always mapped. */
+		if ( !((phys + size - 1) >> 20) )
+			return __va(phys);
+		return __vmap(&pfn, PFN_UP(offs + size), 1, 1, PAGE_HYPERVISOR_NOCACHE) + offs;
+	}
 	return __acpi_map_table(phys, size);
 }
 
 void acpi_os_unmap_memory(void __iomem * virt, acpi_size size)
 {
 	if (system_state >= SYS_STATE_active)
-		spin_unlock(&map_lock);
+		vunmap((void *)((unsigned long)virt & PAGE_MASK));
 }
 
 acpi_status acpi_os_read_port(acpi_io_address port, u32 * value, u32 width)
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 23:01:07 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 23:01:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCHOi-0006Yf-37; Wed, 21 Aug 2013 23:01:04 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCHOe-0006YA-LS
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 23:01:00 +0000
Received: from [85.158.137.68:25774] by server-8.bemta-3.messagelabs.com id
	5E/AC-28652-BA645125; Wed, 21 Aug 2013 23:00:59 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-11.tower-31.messagelabs.com!1377126058!3080735!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7021 invoked from network); 21 Aug 2013 23:00:59 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-11.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 23:00:59 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCHOb-000111-Sc
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 23:00:57 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCHOb-00046F-Qd
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 23:00:57 +0000
Date: Wed, 21 Aug 2013 23:00:57 +0000
Message-Id: <E1VCHOb-00046F-Qd@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] ACPI: use ioremap() in
	acpi_os_map_memory()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit c5ba8ed4c6f005d332a49d93a3ef8ff2b690b256
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Aug 21 08:40:22 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Aug 21 08:40:22 2013 +0200

    ACPI: use ioremap() in acpi_os_map_memory()
    
    This drops the post-boot use of __acpi_map_table() here again (together
    with the somewhat awkward locking), in favor of using ioremap().
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
 xen/drivers/acpi/osl.c |   16 +++++++++++-----
 1 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/xen/drivers/acpi/osl.c b/xen/drivers/acpi/osl.c
index 4cba3c0..93c983c 100644
--- a/xen/drivers/acpi/osl.c
+++ b/xen/drivers/acpi/osl.c
@@ -38,6 +38,7 @@
 #include <xen/spinlock.h>
 #include <xen/domain_page.h>
 #include <xen/efi.h>
+#include <xen/vmap.h>
 
 #define _COMPONENT		ACPI_OS_SERVICES
 ACPI_MODULE_NAME("osl")
@@ -83,20 +84,25 @@ acpi_physical_address __init acpi_os_get_root_pointer(void)
 	}
 }
 
-static DEFINE_SPINLOCK(map_lock);
-
 void __iomem *
 acpi_os_map_memory(acpi_physical_address phys, acpi_size size)
 {
-	if (system_state >= SYS_STATE_active)
-		spin_lock(&map_lock);
+	if (system_state >= SYS_STATE_active) {
+		unsigned long pfn = PFN_DOWN(phys);
+		unsigned int offs = phys & (PAGE_SIZE - 1);
+
+		/* The low first Mb is always mapped. */
+		if ( !((phys + size - 1) >> 20) )
+			return __va(phys);
+		return __vmap(&pfn, PFN_UP(offs + size), 1, 1, PAGE_HYPERVISOR_NOCACHE) + offs;
+	}
 	return __acpi_map_table(phys, size);
 }
 
 void acpi_os_unmap_memory(void __iomem * virt, acpi_size size)
 {
 	if (system_state >= SYS_STATE_active)
-		spin_unlock(&map_lock);
+		vunmap((void *)((unsigned long)virt & PAGE_MASK));
 }
 
 acpi_status acpi_os_read_port(acpi_io_address port, u32 * value, u32 width)
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 23:01:13 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 23:01:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCHOp-0006aM-75; Wed, 21 Aug 2013 23:01:11 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCHOo-0006a7-Ox
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 23:01:10 +0000
Received: from [85.158.139.211:4512] by server-8.bemta-5.messagelabs.com id
	16/04-17437-5B645125; Wed, 21 Aug 2013 23:01:09 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-206.messagelabs.com!1377126068!3674953!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21039 invoked from network); 21 Aug 2013 23:01:09 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-10.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 23:01:09 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCHOm-00011Y-1Q
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 23:01:08 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCHOm-00046l-0I
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 23:01:08 +0000
Date: Wed, 21 Aug 2013 23:01:08 +0000
Message-Id: <E1VCHOm-00046l-0I@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] Merge branch 'staging' of
	ssh://xenbits.xen.org/home/xen/git/xen into staging
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 71b9ff99e174e422270d5dadc30021009d4c8699
Merge: d7f056a32e0906c2ef43e23801c621ec897a238c c5ba8ed4c6f005d332a49d93a3ef8ff2b690b256
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed Aug 21 11:03:18 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Wed Aug 21 11:03:18 2013 +0100

    Merge branch 'staging' of ssh://xenbits.xen.org/home/xen/git/xen into staging

 xen/arch/x86/acpi/lib.c |    2 +-
 xen/arch/x86/hvm/vmsi.c |   61 ++++++++++++++++++++++++++++++++++++----------
 xen/drivers/acpi/osl.c  |   29 ++++++++++++++-------
 xen/include/xen/acpi.h  |    2 +-
 4 files changed, 68 insertions(+), 26 deletions(-)
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 23:01:13 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 23:01:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCHOp-0006aM-75; Wed, 21 Aug 2013 23:01:11 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCHOo-0006a7-Ox
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 23:01:10 +0000
Received: from [85.158.139.211:4512] by server-8.bemta-5.messagelabs.com id
	16/04-17437-5B645125; Wed, 21 Aug 2013 23:01:09 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-206.messagelabs.com!1377126068!3674953!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21039 invoked from network); 21 Aug 2013 23:01:09 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-10.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 23:01:09 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCHOm-00011Y-1Q
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 23:01:08 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCHOm-00046l-0I
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 23:01:08 +0000
Date: Wed, 21 Aug 2013 23:01:08 +0000
Message-Id: <E1VCHOm-00046l-0I@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] Merge branch 'staging' of
	ssh://xenbits.xen.org/home/xen/git/xen into staging
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 71b9ff99e174e422270d5dadc30021009d4c8699
Merge: d7f056a32e0906c2ef43e23801c621ec897a238c c5ba8ed4c6f005d332a49d93a3ef8ff2b690b256
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Wed Aug 21 11:03:18 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Wed Aug 21 11:03:18 2013 +0100

    Merge branch 'staging' of ssh://xenbits.xen.org/home/xen/git/xen into staging

 xen/arch/x86/acpi/lib.c |    2 +-
 xen/arch/x86/hvm/vmsi.c |   61 ++++++++++++++++++++++++++++++++++++----------
 xen/drivers/acpi/osl.c  |   29 ++++++++++++++-------
 xen/include/xen/acpi.h  |    2 +-
 4 files changed, 68 insertions(+), 26 deletions(-)
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 23:01:23 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 23:01:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCHP0-0006cd-An; Wed, 21 Aug 2013 23:01:22 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCHOz-0006cC-1x
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 23:01:21 +0000
Received: from [85.158.139.211:46179] by server-9.bemta-5.messagelabs.com id
	27/CD-24493-0C645125; Wed, 21 Aug 2013 23:01:20 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-206.messagelabs.com!1377126078!3669401!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25540 invoked from network); 21 Aug 2013 23:01:19 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-7.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 23:01:19 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCHOw-00011h-9e
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 23:01:18 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCHOw-00047h-5F
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 23:01:18 +0000
Date: Wed, 21 Aug 2013 23:01:18 +0000
Message-Id: <E1VCHOw-00047h-5F@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] VT-d: warn about Compatibility Format
	Interrupts being enabled by firmware
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit c9c6abab583d27fdca1d979a7f1d18ae30f54e9b
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Aug 21 16:44:58 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Aug 21 16:44:58 2013 +0200

    VT-d: warn about Compatibility Format Interrupts being enabled by firmware
    
    ... as being insecure.
    
    Also drop the second (redundant) read DMAR_GSTS_REG from enable_intremap().
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by Xiantao Zhang <xiantao.zhang@intel.com>
---
 xen/drivers/passthrough/vtd/intremap.c |   16 ++++++++++------
 1 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/xen/drivers/passthrough/vtd/intremap.c b/xen/drivers/passthrough/vtd/intremap.c
index 5248d48..f3bb31b 100644
--- a/xen/drivers/passthrough/vtd/intremap.c
+++ b/xen/drivers/passthrough/vtd/intremap.c
@@ -712,8 +712,8 @@ int enable_intremap(struct iommu *iommu, int eim)
 
     if ( !platform_supports_intremap() )
     {
-        dprintk(XENLOG_ERR VTDPREFIX,
-                "Platform firmware does not support interrupt remapping\n");
+        printk(XENLOG_ERR VTDPREFIX
+               " Platform firmware does not support interrupt remapping\n");
         return -EINVAL;
     }
 
@@ -724,15 +724,19 @@ int enable_intremap(struct iommu *iommu, int eim)
     if ( (sts & DMA_GSTS_IRES) && ir_ctrl->iremap_maddr )
         return 0;
 
-    sts = dmar_readl(iommu->reg, DMAR_GSTS_REG);
     if ( !(sts & DMA_GSTS_QIES) )
     {
-        dprintk(XENLOG_ERR VTDPREFIX,
-                "Queued invalidation is not enabled, should not enable "
-                "interrupt remapping\n");
+        printk(XENLOG_ERR VTDPREFIX
+               " Queued invalidation is not enabled on IOMMU #%u:"
+               " Should not enable interrupt remapping\n", iommu->index);
         return -EINVAL;
     }
 
+    if ( !eim && (sts & DMA_GSTS_CFIS) )
+        printk(XENLOG_WARNING VTDPREFIX
+               " Compatibility Format Interrupts permitted on IOMMU #%u:"
+               " Device pass-through will be insecure\n", iommu->index);
+
     if ( ir_ctrl->iremap_maddr == 0 )
     {
         drhd = iommu_to_drhd(iommu);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 21 23:01:23 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Aug 2013 23:01:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCHP0-0006cd-An; Wed, 21 Aug 2013 23:01:22 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCHOz-0006cC-1x
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 23:01:21 +0000
Received: from [85.158.139.211:46179] by server-9.bemta-5.messagelabs.com id
	27/CD-24493-0C645125; Wed, 21 Aug 2013 23:01:20 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-206.messagelabs.com!1377126078!3669401!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25540 invoked from network); 21 Aug 2013 23:01:19 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-7.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	21 Aug 2013 23:01:19 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCHOw-00011h-9e
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 23:01:18 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCHOw-00047h-5F
	for xen-changelog@lists.xensource.com; Wed, 21 Aug 2013 23:01:18 +0000
Date: Wed, 21 Aug 2013 23:01:18 +0000
Message-Id: <E1VCHOw-00047h-5F@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] VT-d: warn about Compatibility Format
	Interrupts being enabled by firmware
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit c9c6abab583d27fdca1d979a7f1d18ae30f54e9b
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Wed Aug 21 16:44:58 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Wed Aug 21 16:44:58 2013 +0200

    VT-d: warn about Compatibility Format Interrupts being enabled by firmware
    
    ... as being insecure.
    
    Also drop the second (redundant) read DMAR_GSTS_REG from enable_intremap().
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by Xiantao Zhang <xiantao.zhang@intel.com>
---
 xen/drivers/passthrough/vtd/intremap.c |   16 ++++++++++------
 1 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/xen/drivers/passthrough/vtd/intremap.c b/xen/drivers/passthrough/vtd/intremap.c
index 5248d48..f3bb31b 100644
--- a/xen/drivers/passthrough/vtd/intremap.c
+++ b/xen/drivers/passthrough/vtd/intremap.c
@@ -712,8 +712,8 @@ int enable_intremap(struct iommu *iommu, int eim)
 
     if ( !platform_supports_intremap() )
     {
-        dprintk(XENLOG_ERR VTDPREFIX,
-                "Platform firmware does not support interrupt remapping\n");
+        printk(XENLOG_ERR VTDPREFIX
+               " Platform firmware does not support interrupt remapping\n");
         return -EINVAL;
     }
 
@@ -724,15 +724,19 @@ int enable_intremap(struct iommu *iommu, int eim)
     if ( (sts & DMA_GSTS_IRES) && ir_ctrl->iremap_maddr )
         return 0;
 
-    sts = dmar_readl(iommu->reg, DMAR_GSTS_REG);
     if ( !(sts & DMA_GSTS_QIES) )
     {
-        dprintk(XENLOG_ERR VTDPREFIX,
-                "Queued invalidation is not enabled, should not enable "
-                "interrupt remapping\n");
+        printk(XENLOG_ERR VTDPREFIX
+               " Queued invalidation is not enabled on IOMMU #%u:"
+               " Should not enable interrupt remapping\n", iommu->index);
         return -EINVAL;
     }
 
+    if ( !eim && (sts & DMA_GSTS_CFIS) )
+        printk(XENLOG_WARNING VTDPREFIX
+               " Compatibility Format Interrupts permitted on IOMMU #%u:"
+               " Device pass-through will be insecure\n", iommu->index);
+
     if ( ir_ctrl->iremap_maddr == 0 )
     {
         drhd = iommu_to_drhd(iommu);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Aug 22 19:33:11 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Aug 2013 19:33:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCad0-0000SB-Cr; Thu, 22 Aug 2013 19:33:06 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCacz-0000S4-Bk
	for xen-changelog@lists.xensource.com; Thu, 22 Aug 2013 19:33:05 +0000
Received: from [85.158.139.211:51209] by server-15.bemta-5.messagelabs.com id
	8F/42-01145-07766125; Thu, 22 Aug 2013 19:33:04 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-206.messagelabs.com!1377199982!3871646!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14868 invoked from network); 22 Aug 2013 19:33:03 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-8.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	22 Aug 2013 19:33:03 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCacw-0005eq-O8
	for xen-changelog@lists.xensource.com; Thu, 22 Aug 2013 19:33:02 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCacw-0005ac-CU
	for xen-changelog@lists.xensource.com; Thu, 22 Aug 2013 19:33:02 +0000
Date: Thu, 22 Aug 2013 19:33:02 +0000
Message-Id: <E1VCacw-0005ac-CU@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.1] Correct X2-APIC HVM emulation
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 687a29af0b348ec932173ea5fe5c38c361b9eeea
Author:     Juergen Gross <juergen.gross@ts.fujitsu.com>
AuthorDate: Thu Aug 22 11:32:00 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Aug 22 11:32:00 2013 +0200

    Correct X2-APIC HVM emulation
    
    commit 6859874b61d5ddaf5289e72ed2b2157739b72ca5 ("x86/HVM: fix x2APIC
    APIC_ID read emulation") introduced an error for the hvm emulation of
    x2apic. Any try to write to APIC_ICR MSR will result in a GP fault.
    
    Signed-off-by: Juergen Gross <juergen.gross@ts.fujitsu.com>
    master commit: 69962e19ed432570f6cdcfdb5f6f22d6e3c54e6c
    master date: 2013-08-22 11:24:00 +0200
---
 xen/arch/x86/hvm/vlapic.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
index 1ed0d43..f55407f 100644
--- a/xen/arch/x86/hvm/vlapic.c
+++ b/xen/arch/x86/hvm/vlapic.c
@@ -843,6 +843,7 @@ int hvm_x2apic_msr_write(struct vcpu *v, unsigned int msr, uint64_t msr_content)
         rc = vlapic_reg_write(v, APIC_ICR2, (uint32_t)(msr_content >> 32));
         if ( rc )
             return rc;
+        break;
 
     case APIC_ICR2:
         return X86EMUL_UNHANDLEABLE;
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.1

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Aug 22 19:33:11 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Aug 2013 19:33:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCad0-0000SB-Cr; Thu, 22 Aug 2013 19:33:06 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCacz-0000S4-Bk
	for xen-changelog@lists.xensource.com; Thu, 22 Aug 2013 19:33:05 +0000
Received: from [85.158.139.211:51209] by server-15.bemta-5.messagelabs.com id
	8F/42-01145-07766125; Thu, 22 Aug 2013 19:33:04 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-8.tower-206.messagelabs.com!1377199982!3871646!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14868 invoked from network); 22 Aug 2013 19:33:03 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-8.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	22 Aug 2013 19:33:03 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCacw-0005eq-O8
	for xen-changelog@lists.xensource.com; Thu, 22 Aug 2013 19:33:02 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCacw-0005ac-CU
	for xen-changelog@lists.xensource.com; Thu, 22 Aug 2013 19:33:02 +0000
Date: Thu, 22 Aug 2013 19:33:02 +0000
Message-Id: <E1VCacw-0005ac-CU@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.1] Correct X2-APIC HVM emulation
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 687a29af0b348ec932173ea5fe5c38c361b9eeea
Author:     Juergen Gross <juergen.gross@ts.fujitsu.com>
AuthorDate: Thu Aug 22 11:32:00 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Aug 22 11:32:00 2013 +0200

    Correct X2-APIC HVM emulation
    
    commit 6859874b61d5ddaf5289e72ed2b2157739b72ca5 ("x86/HVM: fix x2APIC
    APIC_ID read emulation") introduced an error for the hvm emulation of
    x2apic. Any try to write to APIC_ICR MSR will result in a GP fault.
    
    Signed-off-by: Juergen Gross <juergen.gross@ts.fujitsu.com>
    master commit: 69962e19ed432570f6cdcfdb5f6f22d6e3c54e6c
    master date: 2013-08-22 11:24:00 +0200
---
 xen/arch/x86/hvm/vlapic.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
index 1ed0d43..f55407f 100644
--- a/xen/arch/x86/hvm/vlapic.c
+++ b/xen/arch/x86/hvm/vlapic.c
@@ -843,6 +843,7 @@ int hvm_x2apic_msr_write(struct vcpu *v, unsigned int msr, uint64_t msr_content)
         rc = vlapic_reg_write(v, APIC_ICR2, (uint32_t)(msr_content >> 32));
         if ( rc )
             return rc;
+        break;
 
     case APIC_ICR2:
         return X86EMUL_UNHANDLEABLE;
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.1

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Aug 22 21:22:16 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Aug 2013 21:22:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCcKY-0001hB-45; Thu, 22 Aug 2013 21:22:10 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCcKW-0001gz-Ki
	for xen-changelog@lists.xensource.com; Thu, 22 Aug 2013 21:22:08 +0000
Received: from [85.158.143.35:50060] by server-1.bemta-4.messagelabs.com id
	AE/16-16125-00186125; Thu, 22 Aug 2013 21:22:08 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1377206526!1616314!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_DONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25557 invoked from network); 22 Aug 2013 21:22:07 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-10.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	22 Aug 2013 21:22:07 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCcKR-0006y4-8A
	for xen-changelog@lists.xensource.com; Thu, 22 Aug 2013 21:22:05 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCcKQ-0000Go-Vd
	for xen-changelog@lists.xensource.com; Thu, 22 Aug 2013 21:22:03 +0000
Date: Thu, 22 Aug 2013 21:22:02 +0000
Message-Id: <E1VCcKQ-0000Go-Vd@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] Nested VMX: Check whether interrupt is
	blocked by TPR
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 7fb5c6b9ef22915e3fcac95cd44857f4457ba783
Author:     Yang Zhang <yang.z.zhang@Intel.com>
AuthorDate: Thu Aug 22 10:49:24 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Aug 22 10:49:24 2013 +0200

    Nested VMX: Check whether interrupt is blocked by TPR
    
    If interrupt is blocked by L1's TPR, L2 should not see it and keep
    running. Adding the check before L2 to retrive interrupt.
    
    Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com>
    Acked-by: "Dong, Eddie" <eddie.dong@intel.com>
---
 xen/arch/x86/hvm/vmx/intr.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/xen/arch/x86/hvm/vmx/intr.c b/xen/arch/x86/hvm/vmx/intr.c
index e376f3c..cab9109 100644
--- a/xen/arch/x86/hvm/vmx/intr.c
+++ b/xen/arch/x86/hvm/vmx/intr.c
@@ -165,6 +165,11 @@ static int nvmx_intr_intercept(struct vcpu *v, struct hvm_intack intack)
 {
     u32 ctrl;
 
+    /* If blocked by L1's tpr, then nothing to do. */
+    if ( nestedhvm_vcpu_in_guestmode(v) &&
+         hvm_interrupt_blocked(v, intack) == hvm_intblk_tpr )
+        return 1;
+
     if ( nvmx_intr_blocked(v) != hvm_intblk_none )
     {
         enable_intr_window(v, intack);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Aug 22 21:22:16 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Aug 2013 21:22:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCcKY-0001hB-45; Thu, 22 Aug 2013 21:22:10 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCcKW-0001gz-Ki
	for xen-changelog@lists.xensource.com; Thu, 22 Aug 2013 21:22:08 +0000
Received: from [85.158.143.35:50060] by server-1.bemta-4.messagelabs.com id
	AE/16-16125-00186125; Thu, 22 Aug 2013 21:22:08 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1377206526!1616314!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_DONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25557 invoked from network); 22 Aug 2013 21:22:07 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-10.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	22 Aug 2013 21:22:07 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCcKR-0006y4-8A
	for xen-changelog@lists.xensource.com; Thu, 22 Aug 2013 21:22:05 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCcKQ-0000Go-Vd
	for xen-changelog@lists.xensource.com; Thu, 22 Aug 2013 21:22:03 +0000
Date: Thu, 22 Aug 2013 21:22:02 +0000
Message-Id: <E1VCcKQ-0000Go-Vd@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] Nested VMX: Check whether interrupt is
	blocked by TPR
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 7fb5c6b9ef22915e3fcac95cd44857f4457ba783
Author:     Yang Zhang <yang.z.zhang@Intel.com>
AuthorDate: Thu Aug 22 10:49:24 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Aug 22 10:49:24 2013 +0200

    Nested VMX: Check whether interrupt is blocked by TPR
    
    If interrupt is blocked by L1's TPR, L2 should not see it and keep
    running. Adding the check before L2 to retrive interrupt.
    
    Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com>
    Acked-by: "Dong, Eddie" <eddie.dong@intel.com>
---
 xen/arch/x86/hvm/vmx/intr.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/xen/arch/x86/hvm/vmx/intr.c b/xen/arch/x86/hvm/vmx/intr.c
index e376f3c..cab9109 100644
--- a/xen/arch/x86/hvm/vmx/intr.c
+++ b/xen/arch/x86/hvm/vmx/intr.c
@@ -165,6 +165,11 @@ static int nvmx_intr_intercept(struct vcpu *v, struct hvm_intack intack)
 {
     u32 ctrl;
 
+    /* If blocked by L1's tpr, then nothing to do. */
+    if ( nestedhvm_vcpu_in_guestmode(v) &&
+         hvm_interrupt_blocked(v, intack) == hvm_intblk_tpr )
+        return 1;
+
     if ( nvmx_intr_blocked(v) != hvm_intblk_none )
     {
         enable_intr_window(v, intack);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Aug 22 21:22:28 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Aug 2013 21:22:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCcKi-0001hv-7b; Thu, 22 Aug 2013 21:22:20 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCcKg-0001hl-Hw
	for xen-changelog@lists.xensource.com; Thu, 22 Aug 2013 21:22:18 +0000
Received: from [85.158.143.35:45702] by server-3.bemta-4.messagelabs.com id
	6F/75-08835-90186125; Thu, 22 Aug 2013 21:22:17 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1377206536!1616331!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_DONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25847 invoked from network); 22 Aug 2013 21:22:17 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-10.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	22 Aug 2013 21:22:17 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCcKe-0006yD-0C
	for xen-changelog@lists.xensource.com; Thu, 22 Aug 2013 21:22:16 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCcKd-0000HF-UO
	for xen-changelog@lists.xensource.com; Thu, 22 Aug 2013 21:22:15 +0000
Date: Thu, 22 Aug 2013 21:22:15 +0000
Message-Id: <E1VCcKd-0000HF-UO@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] Nested VMX: Force check ISR when L2 is
	running
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit b35d0a26983843c092bfa353fd6b9aa8c3bf4886
Author:     Yang Zhang <yang.z.zhang@Intel.com>
AuthorDate: Thu Aug 22 10:50:13 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Aug 22 10:50:13 2013 +0200

    Nested VMX: Force check ISR when L2 is running
    
    External interrupt is allowed to notify CPU only when it has higher
    priority than current in servicing interrupt. With APIC-v, the priority
    comparing is done by hardware and hardware will inject the interrupt to
    VCPU when it recognizes an interrupt. Currently, there is no virtual
    APIC-v feature available for L1 to use, so when L2 is running, we still need
    to compare interrupt priority with ISR in hypervisor instead via hardware.
    
    Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com>
    Acked-by: "Dong, Eddie" <eddie.dong@intel.com>
---
 xen/arch/x86/hvm/vlapic.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
index 7a154f9..f1530fd 100644
--- a/xen/arch/x86/hvm/vlapic.c
+++ b/xen/arch/x86/hvm/vlapic.c
@@ -37,6 +37,7 @@
 #include <asm/hvm/io.h>
 #include <asm/hvm/support.h>
 #include <asm/hvm/vmx/vmx.h>
+#include <asm/hvm/nestedhvm.h>
 #include <public/hvm/ioreq.h>
 #include <public/hvm/params.h>
 
@@ -1037,7 +1038,8 @@ int vlapic_has_pending_irq(struct vcpu *v)
     if ( irr == -1 )
         return -1;
 
-    if ( vlapic_virtual_intr_delivery_enabled() )
+    if ( vlapic_virtual_intr_delivery_enabled() &&
+         !nestedhvm_vcpu_in_guestmode(v) )
         return irr;
 
     isr = vlapic_find_highest_isr(vlapic);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Aug 22 21:22:28 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Aug 2013 21:22:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCcKi-0001hv-7b; Thu, 22 Aug 2013 21:22:20 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCcKg-0001hl-Hw
	for xen-changelog@lists.xensource.com; Thu, 22 Aug 2013 21:22:18 +0000
Received: from [85.158.143.35:45702] by server-3.bemta-4.messagelabs.com id
	6F/75-08835-90186125; Thu, 22 Aug 2013 21:22:17 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1377206536!1616331!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_DONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25847 invoked from network); 22 Aug 2013 21:22:17 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-10.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	22 Aug 2013 21:22:17 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCcKe-0006yD-0C
	for xen-changelog@lists.xensource.com; Thu, 22 Aug 2013 21:22:16 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCcKd-0000HF-UO
	for xen-changelog@lists.xensource.com; Thu, 22 Aug 2013 21:22:15 +0000
Date: Thu, 22 Aug 2013 21:22:15 +0000
Message-Id: <E1VCcKd-0000HF-UO@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] Nested VMX: Force check ISR when L2 is
	running
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit b35d0a26983843c092bfa353fd6b9aa8c3bf4886
Author:     Yang Zhang <yang.z.zhang@Intel.com>
AuthorDate: Thu Aug 22 10:50:13 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Aug 22 10:50:13 2013 +0200

    Nested VMX: Force check ISR when L2 is running
    
    External interrupt is allowed to notify CPU only when it has higher
    priority than current in servicing interrupt. With APIC-v, the priority
    comparing is done by hardware and hardware will inject the interrupt to
    VCPU when it recognizes an interrupt. Currently, there is no virtual
    APIC-v feature available for L1 to use, so when L2 is running, we still need
    to compare interrupt priority with ISR in hypervisor instead via hardware.
    
    Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com>
    Acked-by: "Dong, Eddie" <eddie.dong@intel.com>
---
 xen/arch/x86/hvm/vlapic.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
index 7a154f9..f1530fd 100644
--- a/xen/arch/x86/hvm/vlapic.c
+++ b/xen/arch/x86/hvm/vlapic.c
@@ -37,6 +37,7 @@
 #include <asm/hvm/io.h>
 #include <asm/hvm/support.h>
 #include <asm/hvm/vmx/vmx.h>
+#include <asm/hvm/nestedhvm.h>
 #include <public/hvm/ioreq.h>
 #include <public/hvm/params.h>
 
@@ -1037,7 +1038,8 @@ int vlapic_has_pending_irq(struct vcpu *v)
     if ( irr == -1 )
         return -1;
 
-    if ( vlapic_virtual_intr_delivery_enabled() )
+    if ( vlapic_virtual_intr_delivery_enabled() &&
+         !nestedhvm_vcpu_in_guestmode(v) )
         return irr;
 
     isr = vlapic_find_highest_isr(vlapic);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Aug 22 21:22:34 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Aug 2013 21:22:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCcKt-0001iu-Ap; Thu, 22 Aug 2013 21:22:31 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCcKr-0001if-LC
	for xen-changelog@lists.xensource.com; Thu, 22 Aug 2013 21:22:29 +0000
Received: from [85.158.137.68:13956] by server-6.bemta-3.messagelabs.com id
	D1/60-32441-41186125; Thu, 22 Aug 2013 21:22:28 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-31.messagelabs.com!1377206546!3141976!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_DONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2964 invoked from network); 22 Aug 2013 21:22:27 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-6.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	22 Aug 2013 21:22:27 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCcKo-0006yJ-6G
	for xen-changelog@lists.xensource.com; Thu, 22 Aug 2013 21:22:26 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCcKo-0000Hd-4A
	for xen-changelog@lists.xensource.com; Thu, 22 Aug 2013 21:22:26 +0000
Date: Thu, 22 Aug 2013 21:22:26 +0000
Message-Id: <E1VCcKo-0000Hd-4A@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] Nested VMX: Clear APIC-v control bit
	in vmcs02
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 375a1035002fb257087756a86e6caeda649fc0f1
Author:     Yang Zhang <yang.z.zhang@Intel.com>
AuthorDate: Thu Aug 22 10:52:05 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Aug 22 10:52:05 2013 +0200

    Nested VMX: Clear APIC-v control bit in vmcs02
    
    There is no vAPIC-v support, so mask APIC-v control bit when
    constructing vmcs02.
    
    Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com>
    Acked-by: "Dong, Eddie" <eddie.dong@intel.com>
---
 xen/arch/x86/hvm/vmx/vvmx.c |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/xen/arch/x86/hvm/vmx/vvmx.c b/xen/arch/x86/hvm/vmx/vvmx.c
index 5dfbc54..0dc567a 100644
--- a/xen/arch/x86/hvm/vmx/vvmx.c
+++ b/xen/arch/x86/hvm/vmx/vvmx.c
@@ -613,8 +613,15 @@ void nvmx_update_secondary_exec_control(struct vcpu *v,
     u32 shadow_cntrl;
     struct nestedvcpu *nvcpu = &vcpu_nestedhvm(v);
     struct nestedvmx *nvmx = &vcpu_2_nvmx(v);
+    u32 apicv_bit = SECONDARY_EXEC_APIC_REGISTER_VIRT |
+                    SECONDARY_EXEC_VIRTUAL_INTR_DELIVERY;
 
+    host_cntrl &= ~apicv_bit;
     shadow_cntrl = __get_vvmcs(nvcpu->nv_vvmcx, SECONDARY_VM_EXEC_CONTROL);
+
+    /* No vAPIC-v support, so it shouldn't be set in vmcs12. */
+    ASSERT(!(shadow_cntrl & apicv_bit));
+
     nvmx->ept.enabled = !!(shadow_cntrl & SECONDARY_EXEC_ENABLE_EPT);
     shadow_cntrl |= host_cntrl;
     __vmwrite(SECONDARY_VM_EXEC_CONTROL, shadow_cntrl);
@@ -625,7 +632,12 @@ static void nvmx_update_pin_control(struct vcpu *v, unsigned long host_cntrl)
     u32 shadow_cntrl;
     struct nestedvcpu *nvcpu = &vcpu_nestedhvm(v);
 
+    host_cntrl &= ~PIN_BASED_POSTED_INTERRUPT;
     shadow_cntrl = __get_vvmcs(nvcpu->nv_vvmcx, PIN_BASED_VM_EXEC_CONTROL);
+
+    /* No vAPIC-v support, so it shouldn't be set in vmcs12. */
+    ASSERT(!(shadow_cntrl & PIN_BASED_POSTED_INTERRUPT));
+
     shadow_cntrl |= host_cntrl;
     __vmwrite(PIN_BASED_VM_EXEC_CONTROL, shadow_cntrl);
 }
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Aug 22 21:22:34 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Aug 2013 21:22:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCcKt-0001iu-Ap; Thu, 22 Aug 2013 21:22:31 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCcKr-0001if-LC
	for xen-changelog@lists.xensource.com; Thu, 22 Aug 2013 21:22:29 +0000
Received: from [85.158.137.68:13956] by server-6.bemta-3.messagelabs.com id
	D1/60-32441-41186125; Thu, 22 Aug 2013 21:22:28 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-31.messagelabs.com!1377206546!3141976!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_DONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 2964 invoked from network); 22 Aug 2013 21:22:27 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-6.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	22 Aug 2013 21:22:27 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCcKo-0006yJ-6G
	for xen-changelog@lists.xensource.com; Thu, 22 Aug 2013 21:22:26 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCcKo-0000Hd-4A
	for xen-changelog@lists.xensource.com; Thu, 22 Aug 2013 21:22:26 +0000
Date: Thu, 22 Aug 2013 21:22:26 +0000
Message-Id: <E1VCcKo-0000Hd-4A@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] Nested VMX: Clear APIC-v control bit
	in vmcs02
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 375a1035002fb257087756a86e6caeda649fc0f1
Author:     Yang Zhang <yang.z.zhang@Intel.com>
AuthorDate: Thu Aug 22 10:52:05 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Aug 22 10:52:05 2013 +0200

    Nested VMX: Clear APIC-v control bit in vmcs02
    
    There is no vAPIC-v support, so mask APIC-v control bit when
    constructing vmcs02.
    
    Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com>
    Acked-by: "Dong, Eddie" <eddie.dong@intel.com>
---
 xen/arch/x86/hvm/vmx/vvmx.c |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/xen/arch/x86/hvm/vmx/vvmx.c b/xen/arch/x86/hvm/vmx/vvmx.c
index 5dfbc54..0dc567a 100644
--- a/xen/arch/x86/hvm/vmx/vvmx.c
+++ b/xen/arch/x86/hvm/vmx/vvmx.c
@@ -613,8 +613,15 @@ void nvmx_update_secondary_exec_control(struct vcpu *v,
     u32 shadow_cntrl;
     struct nestedvcpu *nvcpu = &vcpu_nestedhvm(v);
     struct nestedvmx *nvmx = &vcpu_2_nvmx(v);
+    u32 apicv_bit = SECONDARY_EXEC_APIC_REGISTER_VIRT |
+                    SECONDARY_EXEC_VIRTUAL_INTR_DELIVERY;
 
+    host_cntrl &= ~apicv_bit;
     shadow_cntrl = __get_vvmcs(nvcpu->nv_vvmcx, SECONDARY_VM_EXEC_CONTROL);
+
+    /* No vAPIC-v support, so it shouldn't be set in vmcs12. */
+    ASSERT(!(shadow_cntrl & apicv_bit));
+
     nvmx->ept.enabled = !!(shadow_cntrl & SECONDARY_EXEC_ENABLE_EPT);
     shadow_cntrl |= host_cntrl;
     __vmwrite(SECONDARY_VM_EXEC_CONTROL, shadow_cntrl);
@@ -625,7 +632,12 @@ static void nvmx_update_pin_control(struct vcpu *v, unsigned long host_cntrl)
     u32 shadow_cntrl;
     struct nestedvcpu *nvcpu = &vcpu_nestedhvm(v);
 
+    host_cntrl &= ~PIN_BASED_POSTED_INTERRUPT;
     shadow_cntrl = __get_vvmcs(nvcpu->nv_vvmcx, PIN_BASED_VM_EXEC_CONTROL);
+
+    /* No vAPIC-v support, so it shouldn't be set in vmcs12. */
+    ASSERT(!(shadow_cntrl & PIN_BASED_POSTED_INTERRUPT));
+
     shadow_cntrl |= host_cntrl;
     __vmwrite(PIN_BASED_VM_EXEC_CONTROL, shadow_cntrl);
 }
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Aug 22 21:22:44 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Aug 2013 21:22:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCcL3-0001k4-Do; Thu, 22 Aug 2013 21:22:41 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCcL1-0001jq-GA
	for xen-changelog@lists.xensource.com; Thu, 22 Aug 2013 21:22:39 +0000
Received: from [193.109.254.147:36371] by server-5.bemta-14.messagelabs.com id
	19/44-04931-E1186125; Thu, 22 Aug 2013 21:22:38 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1377206556!5448956!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_DONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18112 invoked from network); 22 Aug 2013 21:22:37 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-10.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	22 Aug 2013 21:22:37 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCcKy-0006yR-C0
	for xen-changelog@lists.xensource.com; Thu, 22 Aug 2013 21:22:36 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCcKy-0000I6-AG
	for xen-changelog@lists.xensource.com; Thu, 22 Aug 2013 21:22:36 +0000
Date: Thu, 22 Aug 2013 21:22:36 +0000
Message-Id: <E1VCcKy-0000I6-AG@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] Nested VMX: Update APIC-v(RVI/SVI)
	when vmexit to L1
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 84e6af58707520baf59c1c86c29237419e439afb
Author:     Yang Zhang <yang.z.zhang@Intel.com>
AuthorDate: Thu Aug 22 10:59:01 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Aug 22 10:59:01 2013 +0200

    Nested VMX: Update APIC-v(RVI/SVI) when vmexit to L1
    
    If enabling APIC-v, all interrupts to L1 are delivered through APIC-v.
    But when L2 is running, external interrupt will casue L1 vmexit with
    reason external interrupt. Then L1 will pick up the interrupt through
    vmcs12. when L1 ack the interrupt, since the APIC-v is enabled when
    L1 is running, so APIC-v hardware still will do vEOI updating. The problem
    is that the interrupt is delivered not through APIC-v hardware, this means
    SVI/RVI/vPPR are not setting, but hardware required them when doing vEOI
    updating. The solution is that, when L1 tried to pick up the interrupt
    from vmcs12, then hypervisor will help to update the SVI/RVI/vPPR to make
    sure the following vEOI updating and vPPR updating corrently.
    
    Also, since interrupt is delivered through vmcs12, so APIC-v hardware will
    not cleare vIRR and hypervisor need to clear it before L1 running.
    
    Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com>
    Acked-by: "Dong, Eddie" <eddie.dong@intel.com>
---
 xen/arch/x86/hvm/irq.c             |    2 +-
 xen/arch/x86/hvm/vlapic.c          |   20 ++++++++++++++------
 xen/arch/x86/hvm/vmx/intr.c        |    4 ++--
 xen/arch/x86/hvm/vmx/vmx.c         |   14 ++++++++------
 xen/arch/x86/hvm/vmx/vvmx.c        |   33 +++++++++++++++++++++++++++++++++
 xen/include/asm-x86/hvm/vlapic.h   |    3 ++-
 xen/include/asm-x86/hvm/vmx/vmx.h  |    2 +-
 xen/include/asm-x86/hvm/vmx/vvmx.h |    1 +
 8 files changed, 62 insertions(+), 17 deletions(-)

diff --git a/xen/arch/x86/hvm/irq.c b/xen/arch/x86/hvm/irq.c
index 9eae5de..6a6fb68 100644
--- a/xen/arch/x86/hvm/irq.c
+++ b/xen/arch/x86/hvm/irq.c
@@ -437,7 +437,7 @@ struct hvm_intack hvm_vcpu_ack_pending_irq(
             intack.vector = (uint8_t)vector;
         break;
     case hvm_intsrc_lapic:
-        if ( !vlapic_ack_pending_irq(v, intack.vector) )
+        if ( !vlapic_ack_pending_irq(v, intack.vector, 0) )
             intack = hvm_intack_none;
         break;
     case hvm_intsrc_vector:
diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
index f1530fd..7b10ab6 100644
--- a/xen/arch/x86/hvm/vlapic.c
+++ b/xen/arch/x86/hvm/vlapic.c
@@ -168,6 +168,14 @@ static uint32_t vlapic_get_ppr(struct vlapic *vlapic)
     return ppr;
 }
 
+uint32_t vlapic_set_ppr(struct vlapic *vlapic)
+{
+   uint32_t ppr = vlapic_get_ppr(vlapic);
+
+   vlapic_set_reg(vlapic, APIC_PROCPRI, ppr);
+   return ppr;
+}
+
 static int vlapic_match_logical_addr(struct vlapic *vlapic, uint8_t mda)
 {
     int result = 0;
@@ -1050,15 +1058,15 @@ int vlapic_has_pending_irq(struct vcpu *v)
     return irr;
 }
 
-int vlapic_ack_pending_irq(struct vcpu *v, int vector)
+int vlapic_ack_pending_irq(struct vcpu *v, int vector, bool_t force_ack)
 {
     struct vlapic *vlapic = vcpu_vlapic(v);
 
-    if ( vlapic_virtual_intr_delivery_enabled() )
-        return 1;
-
-    vlapic_set_vector(vector, &vlapic->regs->data[APIC_ISR]);
-    vlapic_clear_irr(vector, vlapic);
+    if ( force_ack || !vlapic_virtual_intr_delivery_enabled() )
+    {
+        vlapic_set_vector(vector, &vlapic->regs->data[APIC_ISR]);
+        vlapic_clear_irr(vector, vlapic);
+    }
 
     return 1;
 }
diff --git a/xen/arch/x86/hvm/vmx/intr.c b/xen/arch/x86/hvm/vmx/intr.c
index cab9109..45942ab 100644
--- a/xen/arch/x86/hvm/vmx/intr.c
+++ b/xen/arch/x86/hvm/vmx/intr.c
@@ -185,7 +185,7 @@ static int nvmx_intr_intercept(struct vcpu *v, struct hvm_intack intack)
             if ( !(ctrl & PIN_BASED_EXT_INTR_MASK) )
                 return 0;
 
-            vmx_inject_extint(intack.vector);
+            vmx_inject_extint(intack.vector, intack.source);
 
             ctrl = __get_vvmcs(vcpu_nestedhvm(v).nv_vvmcx, VM_EXIT_CONTROLS);
             if ( ctrl & VM_EXIT_ACK_INTR_ON_EXIT )
@@ -314,7 +314,7 @@ void vmx_intr_assist(void)
     else
     {
         HVMTRACE_2D(INJ_VIRQ, intack.vector, /*fake=*/ 0);
-        vmx_inject_extint(intack.vector);
+        vmx_inject_extint(intack.vector, intack.source);
         pt_intr_post(v, intack);
     }
 
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 8ed7026..011a817 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -1208,7 +1208,7 @@ static void vmx_update_guest_efer(struct vcpu *v)
 }
 
 void nvmx_enqueue_n2_exceptions(struct vcpu *v, 
-            unsigned long intr_fields, int error_code)
+            unsigned long intr_fields, int error_code, uint8_t source)
 {
     struct nestedvmx *nvmx = &vcpu_2_nvmx(v);
 
@@ -1216,6 +1216,7 @@ void nvmx_enqueue_n2_exceptions(struct vcpu *v,
         /* enqueue the exception till the VMCS switch back to L1 */
         nvmx->intr.intr_info = intr_fields;
         nvmx->intr.error_code = error_code;
+        nvmx->intr.source = source;
         vcpu_nestedhvm(v).nv_vmexit_pending = 1;
         return;
     }
@@ -1227,7 +1228,8 @@ void nvmx_enqueue_n2_exceptions(struct vcpu *v,
 
 static int nvmx_vmexit_trap(struct vcpu *v, struct hvm_trap *trap)
 {
-    nvmx_enqueue_n2_exceptions(v, trap->vector, trap->error_code);
+    nvmx_enqueue_n2_exceptions(v, trap->vector, trap->error_code,
+                               hvm_intsrc_none);
     return NESTEDHVM_VMEXIT_DONE;
 }
 
@@ -1258,7 +1260,7 @@ static void __vmx_inject_exception(int trap, int type, int error_code)
         curr->arch.hvm_vmx.vmx_emulate = 1;
 }
 
-void vmx_inject_extint(int trap)
+void vmx_inject_extint(int trap, uint8_t source)
 {
     struct vcpu *v = current;
     u32    pin_based_cntrl;
@@ -1269,7 +1271,7 @@ void vmx_inject_extint(int trap)
         if ( pin_based_cntrl & PIN_BASED_EXT_INTR_MASK ) {
             nvmx_enqueue_n2_exceptions (v, 
                INTR_INFO_VALID_MASK | (X86_EVENTTYPE_EXT_INTR<<8) | trap,
-               HVM_DELIVER_NO_ERROR_CODE);
+               HVM_DELIVER_NO_ERROR_CODE, source);
             return;
         }
     }
@@ -1288,7 +1290,7 @@ void vmx_inject_nmi(void)
         if ( pin_based_cntrl & PIN_BASED_NMI_EXITING ) {
             nvmx_enqueue_n2_exceptions (v, 
                INTR_INFO_VALID_MASK | (X86_EVENTTYPE_NMI<<8) | TRAP_nmi,
-               HVM_DELIVER_NO_ERROR_CODE);
+               HVM_DELIVER_NO_ERROR_CODE, hvm_intsrc_nmi);
             return;
         }
     }
@@ -1356,7 +1358,7 @@ static void vmx_inject_trap(struct hvm_trap *trap)
     {
         nvmx_enqueue_n2_exceptions (curr, 
             INTR_INFO_VALID_MASK | (_trap.type<<8) | _trap.vector,
-            _trap.error_code); 
+            _trap.error_code, hvm_intsrc_none);
         return;
     }
     else
diff --git a/xen/arch/x86/hvm/vmx/vvmx.c b/xen/arch/x86/hvm/vmx/vvmx.c
index 0dc567a..cecc72f 100644
--- a/xen/arch/x86/hvm/vmx/vvmx.c
+++ b/xen/arch/x86/hvm/vmx/vvmx.c
@@ -1295,6 +1295,36 @@ static void sync_exception_state(struct vcpu *v)
     }
 }
 
+static void nvmx_update_apicv(struct vcpu *v)
+{
+    struct nestedvmx *nvmx = &vcpu_2_nvmx(v);
+    struct nestedvcpu *nvcpu = &vcpu_nestedhvm(v);
+    unsigned long reason = __get_vvmcs(nvcpu->nv_vvmcx, VM_EXIT_REASON);
+    uint32_t intr_info = __get_vvmcs(nvcpu->nv_vvmcx, VM_EXIT_INTR_INFO);
+
+    if ( reason == EXIT_REASON_EXTERNAL_INTERRUPT &&
+         nvmx->intr.source == hvm_intsrc_lapic &&
+         (intr_info & INTR_INFO_VALID_MASK) )
+    {
+        uint16_t status;
+        uint32_t rvi, ppr;
+        uint32_t vector = intr_info & 0xff;
+        struct vlapic *vlapic = vcpu_vlapic(v);
+
+        vlapic_ack_pending_irq(v, vector, 1);
+
+        ppr = vlapic_set_ppr(vlapic);
+        WARN_ON((ppr & 0xf0) != (vector & 0xf0));
+
+        status = vector << 8;
+        rvi = vlapic_has_pending_irq(v);
+        if ( rvi != -1 )
+            status |= rvi & 0xff;
+
+        __vmwrite(GUEST_INTR_STATUS, status);
+    }
+}
+
 static void virtual_vmexit(struct cpu_user_regs *regs)
 {
     struct vcpu *v = current;
@@ -1340,6 +1370,9 @@ static void virtual_vmexit(struct cpu_user_regs *regs)
     /* updating host cr0 to sync TS bit */
     __vmwrite(HOST_CR0, v->arch.hvm_vmx.host_cr0);
 
+    if ( cpu_has_vmx_virtual_intr_delivery )
+        nvmx_update_apicv(v);
+
     vmreturn(regs, VMSUCCEED);
 }
 
diff --git a/xen/include/asm-x86/hvm/vlapic.h b/xen/include/asm-x86/hvm/vlapic.h
index 021a5f2..eb6dec9 100644
--- a/xen/include/asm-x86/hvm/vlapic.h
+++ b/xen/include/asm-x86/hvm/vlapic.h
@@ -96,7 +96,7 @@ bool_t is_vlapic_lvtpc_enabled(struct vlapic *vlapic);
 void vlapic_set_irq(struct vlapic *vlapic, uint8_t vec, uint8_t trig);
 
 int vlapic_has_pending_irq(struct vcpu *v);
-int vlapic_ack_pending_irq(struct vcpu *v, int vector);
+int vlapic_ack_pending_irq(struct vcpu *v, int vector, bool_t force_ack);
 
 int  vlapic_init(struct vcpu *v);
 void vlapic_destroy(struct vcpu *v);
@@ -108,6 +108,7 @@ void vlapic_tdt_msr_set(struct vlapic *vlapic, uint64_t value);
 uint64_t vlapic_tdt_msr_get(struct vlapic *vlapic);
 
 int vlapic_accept_pic_intr(struct vcpu *v);
+uint32_t vlapic_set_ppr(struct vlapic *vlapic);
 
 void vlapic_adjust_i8259_target(struct domain *d);
 
diff --git a/xen/include/asm-x86/hvm/vmx/vmx.h b/xen/include/asm-x86/hvm/vmx/vmx.h
index c33b9f9..f4d759b 100644
--- a/xen/include/asm-x86/hvm/vmx/vmx.h
+++ b/xen/include/asm-x86/hvm/vmx/vmx.h
@@ -448,7 +448,7 @@ static inline int __vmxon(u64 addr)
 
 void vmx_get_segment_register(struct vcpu *, enum x86_segment,
                               struct segment_register *);
-void vmx_inject_extint(int trap);
+void vmx_inject_extint(int trap, uint8_t source);
 void vmx_inject_nmi(void);
 
 int ept_p2m_init(struct p2m_domain *p2m);
diff --git a/xen/include/asm-x86/hvm/vmx/vvmx.h b/xen/include/asm-x86/hvm/vmx/vvmx.h
index 3874525..848be75 100644
--- a/xen/include/asm-x86/hvm/vmx/vvmx.h
+++ b/xen/include/asm-x86/hvm/vmx/vvmx.h
@@ -36,6 +36,7 @@ struct nestedvmx {
     struct {
         unsigned long intr_info;
         u32           error_code;
+        u8            source;
     } intr;
     struct {
         bool_t   enabled;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Aug 22 21:22:44 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Aug 2013 21:22:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCcL3-0001k4-Do; Thu, 22 Aug 2013 21:22:41 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCcL1-0001jq-GA
	for xen-changelog@lists.xensource.com; Thu, 22 Aug 2013 21:22:39 +0000
Received: from [193.109.254.147:36371] by server-5.bemta-14.messagelabs.com id
	19/44-04931-E1186125; Thu, 22 Aug 2013 21:22:38 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1377206556!5448956!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_DONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18112 invoked from network); 22 Aug 2013 21:22:37 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-10.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	22 Aug 2013 21:22:37 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCcKy-0006yR-C0
	for xen-changelog@lists.xensource.com; Thu, 22 Aug 2013 21:22:36 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCcKy-0000I6-AG
	for xen-changelog@lists.xensource.com; Thu, 22 Aug 2013 21:22:36 +0000
Date: Thu, 22 Aug 2013 21:22:36 +0000
Message-Id: <E1VCcKy-0000I6-AG@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] Nested VMX: Update APIC-v(RVI/SVI)
	when vmexit to L1
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 84e6af58707520baf59c1c86c29237419e439afb
Author:     Yang Zhang <yang.z.zhang@Intel.com>
AuthorDate: Thu Aug 22 10:59:01 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Aug 22 10:59:01 2013 +0200

    Nested VMX: Update APIC-v(RVI/SVI) when vmexit to L1
    
    If enabling APIC-v, all interrupts to L1 are delivered through APIC-v.
    But when L2 is running, external interrupt will casue L1 vmexit with
    reason external interrupt. Then L1 will pick up the interrupt through
    vmcs12. when L1 ack the interrupt, since the APIC-v is enabled when
    L1 is running, so APIC-v hardware still will do vEOI updating. The problem
    is that the interrupt is delivered not through APIC-v hardware, this means
    SVI/RVI/vPPR are not setting, but hardware required them when doing vEOI
    updating. The solution is that, when L1 tried to pick up the interrupt
    from vmcs12, then hypervisor will help to update the SVI/RVI/vPPR to make
    sure the following vEOI updating and vPPR updating corrently.
    
    Also, since interrupt is delivered through vmcs12, so APIC-v hardware will
    not cleare vIRR and hypervisor need to clear it before L1 running.
    
    Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com>
    Acked-by: "Dong, Eddie" <eddie.dong@intel.com>
---
 xen/arch/x86/hvm/irq.c             |    2 +-
 xen/arch/x86/hvm/vlapic.c          |   20 ++++++++++++++------
 xen/arch/x86/hvm/vmx/intr.c        |    4 ++--
 xen/arch/x86/hvm/vmx/vmx.c         |   14 ++++++++------
 xen/arch/x86/hvm/vmx/vvmx.c        |   33 +++++++++++++++++++++++++++++++++
 xen/include/asm-x86/hvm/vlapic.h   |    3 ++-
 xen/include/asm-x86/hvm/vmx/vmx.h  |    2 +-
 xen/include/asm-x86/hvm/vmx/vvmx.h |    1 +
 8 files changed, 62 insertions(+), 17 deletions(-)

diff --git a/xen/arch/x86/hvm/irq.c b/xen/arch/x86/hvm/irq.c
index 9eae5de..6a6fb68 100644
--- a/xen/arch/x86/hvm/irq.c
+++ b/xen/arch/x86/hvm/irq.c
@@ -437,7 +437,7 @@ struct hvm_intack hvm_vcpu_ack_pending_irq(
             intack.vector = (uint8_t)vector;
         break;
     case hvm_intsrc_lapic:
-        if ( !vlapic_ack_pending_irq(v, intack.vector) )
+        if ( !vlapic_ack_pending_irq(v, intack.vector, 0) )
             intack = hvm_intack_none;
         break;
     case hvm_intsrc_vector:
diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
index f1530fd..7b10ab6 100644
--- a/xen/arch/x86/hvm/vlapic.c
+++ b/xen/arch/x86/hvm/vlapic.c
@@ -168,6 +168,14 @@ static uint32_t vlapic_get_ppr(struct vlapic *vlapic)
     return ppr;
 }
 
+uint32_t vlapic_set_ppr(struct vlapic *vlapic)
+{
+   uint32_t ppr = vlapic_get_ppr(vlapic);
+
+   vlapic_set_reg(vlapic, APIC_PROCPRI, ppr);
+   return ppr;
+}
+
 static int vlapic_match_logical_addr(struct vlapic *vlapic, uint8_t mda)
 {
     int result = 0;
@@ -1050,15 +1058,15 @@ int vlapic_has_pending_irq(struct vcpu *v)
     return irr;
 }
 
-int vlapic_ack_pending_irq(struct vcpu *v, int vector)
+int vlapic_ack_pending_irq(struct vcpu *v, int vector, bool_t force_ack)
 {
     struct vlapic *vlapic = vcpu_vlapic(v);
 
-    if ( vlapic_virtual_intr_delivery_enabled() )
-        return 1;
-
-    vlapic_set_vector(vector, &vlapic->regs->data[APIC_ISR]);
-    vlapic_clear_irr(vector, vlapic);
+    if ( force_ack || !vlapic_virtual_intr_delivery_enabled() )
+    {
+        vlapic_set_vector(vector, &vlapic->regs->data[APIC_ISR]);
+        vlapic_clear_irr(vector, vlapic);
+    }
 
     return 1;
 }
diff --git a/xen/arch/x86/hvm/vmx/intr.c b/xen/arch/x86/hvm/vmx/intr.c
index cab9109..45942ab 100644
--- a/xen/arch/x86/hvm/vmx/intr.c
+++ b/xen/arch/x86/hvm/vmx/intr.c
@@ -185,7 +185,7 @@ static int nvmx_intr_intercept(struct vcpu *v, struct hvm_intack intack)
             if ( !(ctrl & PIN_BASED_EXT_INTR_MASK) )
                 return 0;
 
-            vmx_inject_extint(intack.vector);
+            vmx_inject_extint(intack.vector, intack.source);
 
             ctrl = __get_vvmcs(vcpu_nestedhvm(v).nv_vvmcx, VM_EXIT_CONTROLS);
             if ( ctrl & VM_EXIT_ACK_INTR_ON_EXIT )
@@ -314,7 +314,7 @@ void vmx_intr_assist(void)
     else
     {
         HVMTRACE_2D(INJ_VIRQ, intack.vector, /*fake=*/ 0);
-        vmx_inject_extint(intack.vector);
+        vmx_inject_extint(intack.vector, intack.source);
         pt_intr_post(v, intack);
     }
 
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 8ed7026..011a817 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -1208,7 +1208,7 @@ static void vmx_update_guest_efer(struct vcpu *v)
 }
 
 void nvmx_enqueue_n2_exceptions(struct vcpu *v, 
-            unsigned long intr_fields, int error_code)
+            unsigned long intr_fields, int error_code, uint8_t source)
 {
     struct nestedvmx *nvmx = &vcpu_2_nvmx(v);
 
@@ -1216,6 +1216,7 @@ void nvmx_enqueue_n2_exceptions(struct vcpu *v,
         /* enqueue the exception till the VMCS switch back to L1 */
         nvmx->intr.intr_info = intr_fields;
         nvmx->intr.error_code = error_code;
+        nvmx->intr.source = source;
         vcpu_nestedhvm(v).nv_vmexit_pending = 1;
         return;
     }
@@ -1227,7 +1228,8 @@ void nvmx_enqueue_n2_exceptions(struct vcpu *v,
 
 static int nvmx_vmexit_trap(struct vcpu *v, struct hvm_trap *trap)
 {
-    nvmx_enqueue_n2_exceptions(v, trap->vector, trap->error_code);
+    nvmx_enqueue_n2_exceptions(v, trap->vector, trap->error_code,
+                               hvm_intsrc_none);
     return NESTEDHVM_VMEXIT_DONE;
 }
 
@@ -1258,7 +1260,7 @@ static void __vmx_inject_exception(int trap, int type, int error_code)
         curr->arch.hvm_vmx.vmx_emulate = 1;
 }
 
-void vmx_inject_extint(int trap)
+void vmx_inject_extint(int trap, uint8_t source)
 {
     struct vcpu *v = current;
     u32    pin_based_cntrl;
@@ -1269,7 +1271,7 @@ void vmx_inject_extint(int trap)
         if ( pin_based_cntrl & PIN_BASED_EXT_INTR_MASK ) {
             nvmx_enqueue_n2_exceptions (v, 
                INTR_INFO_VALID_MASK | (X86_EVENTTYPE_EXT_INTR<<8) | trap,
-               HVM_DELIVER_NO_ERROR_CODE);
+               HVM_DELIVER_NO_ERROR_CODE, source);
             return;
         }
     }
@@ -1288,7 +1290,7 @@ void vmx_inject_nmi(void)
         if ( pin_based_cntrl & PIN_BASED_NMI_EXITING ) {
             nvmx_enqueue_n2_exceptions (v, 
                INTR_INFO_VALID_MASK | (X86_EVENTTYPE_NMI<<8) | TRAP_nmi,
-               HVM_DELIVER_NO_ERROR_CODE);
+               HVM_DELIVER_NO_ERROR_CODE, hvm_intsrc_nmi);
             return;
         }
     }
@@ -1356,7 +1358,7 @@ static void vmx_inject_trap(struct hvm_trap *trap)
     {
         nvmx_enqueue_n2_exceptions (curr, 
             INTR_INFO_VALID_MASK | (_trap.type<<8) | _trap.vector,
-            _trap.error_code); 
+            _trap.error_code, hvm_intsrc_none);
         return;
     }
     else
diff --git a/xen/arch/x86/hvm/vmx/vvmx.c b/xen/arch/x86/hvm/vmx/vvmx.c
index 0dc567a..cecc72f 100644
--- a/xen/arch/x86/hvm/vmx/vvmx.c
+++ b/xen/arch/x86/hvm/vmx/vvmx.c
@@ -1295,6 +1295,36 @@ static void sync_exception_state(struct vcpu *v)
     }
 }
 
+static void nvmx_update_apicv(struct vcpu *v)
+{
+    struct nestedvmx *nvmx = &vcpu_2_nvmx(v);
+    struct nestedvcpu *nvcpu = &vcpu_nestedhvm(v);
+    unsigned long reason = __get_vvmcs(nvcpu->nv_vvmcx, VM_EXIT_REASON);
+    uint32_t intr_info = __get_vvmcs(nvcpu->nv_vvmcx, VM_EXIT_INTR_INFO);
+
+    if ( reason == EXIT_REASON_EXTERNAL_INTERRUPT &&
+         nvmx->intr.source == hvm_intsrc_lapic &&
+         (intr_info & INTR_INFO_VALID_MASK) )
+    {
+        uint16_t status;
+        uint32_t rvi, ppr;
+        uint32_t vector = intr_info & 0xff;
+        struct vlapic *vlapic = vcpu_vlapic(v);
+
+        vlapic_ack_pending_irq(v, vector, 1);
+
+        ppr = vlapic_set_ppr(vlapic);
+        WARN_ON((ppr & 0xf0) != (vector & 0xf0));
+
+        status = vector << 8;
+        rvi = vlapic_has_pending_irq(v);
+        if ( rvi != -1 )
+            status |= rvi & 0xff;
+
+        __vmwrite(GUEST_INTR_STATUS, status);
+    }
+}
+
 static void virtual_vmexit(struct cpu_user_regs *regs)
 {
     struct vcpu *v = current;
@@ -1340,6 +1370,9 @@ static void virtual_vmexit(struct cpu_user_regs *regs)
     /* updating host cr0 to sync TS bit */
     __vmwrite(HOST_CR0, v->arch.hvm_vmx.host_cr0);
 
+    if ( cpu_has_vmx_virtual_intr_delivery )
+        nvmx_update_apicv(v);
+
     vmreturn(regs, VMSUCCEED);
 }
 
diff --git a/xen/include/asm-x86/hvm/vlapic.h b/xen/include/asm-x86/hvm/vlapic.h
index 021a5f2..eb6dec9 100644
--- a/xen/include/asm-x86/hvm/vlapic.h
+++ b/xen/include/asm-x86/hvm/vlapic.h
@@ -96,7 +96,7 @@ bool_t is_vlapic_lvtpc_enabled(struct vlapic *vlapic);
 void vlapic_set_irq(struct vlapic *vlapic, uint8_t vec, uint8_t trig);
 
 int vlapic_has_pending_irq(struct vcpu *v);
-int vlapic_ack_pending_irq(struct vcpu *v, int vector);
+int vlapic_ack_pending_irq(struct vcpu *v, int vector, bool_t force_ack);
 
 int  vlapic_init(struct vcpu *v);
 void vlapic_destroy(struct vcpu *v);
@@ -108,6 +108,7 @@ void vlapic_tdt_msr_set(struct vlapic *vlapic, uint64_t value);
 uint64_t vlapic_tdt_msr_get(struct vlapic *vlapic);
 
 int vlapic_accept_pic_intr(struct vcpu *v);
+uint32_t vlapic_set_ppr(struct vlapic *vlapic);
 
 void vlapic_adjust_i8259_target(struct domain *d);
 
diff --git a/xen/include/asm-x86/hvm/vmx/vmx.h b/xen/include/asm-x86/hvm/vmx/vmx.h
index c33b9f9..f4d759b 100644
--- a/xen/include/asm-x86/hvm/vmx/vmx.h
+++ b/xen/include/asm-x86/hvm/vmx/vmx.h
@@ -448,7 +448,7 @@ static inline int __vmxon(u64 addr)
 
 void vmx_get_segment_register(struct vcpu *, enum x86_segment,
                               struct segment_register *);
-void vmx_inject_extint(int trap);
+void vmx_inject_extint(int trap, uint8_t source);
 void vmx_inject_nmi(void);
 
 int ept_p2m_init(struct p2m_domain *p2m);
diff --git a/xen/include/asm-x86/hvm/vmx/vvmx.h b/xen/include/asm-x86/hvm/vmx/vvmx.h
index 3874525..848be75 100644
--- a/xen/include/asm-x86/hvm/vmx/vvmx.h
+++ b/xen/include/asm-x86/hvm/vmx/vvmx.h
@@ -36,6 +36,7 @@ struct nestedvmx {
     struct {
         unsigned long intr_info;
         u32           error_code;
+        u8            source;
     } intr;
     struct {
         bool_t   enabled;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Aug 22 21:22:53 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Aug 2013 21:22:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCcLD-0001ln-HA; Thu, 22 Aug 2013 21:22:51 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCcLB-0001lM-NY
	for xen-changelog@lists.xensource.com; Thu, 22 Aug 2013 21:22:49 +0000
Received: from [85.158.143.35:46688] by server-3.bemta-4.messagelabs.com id
	3E/A5-08835-82186125; Thu, 22 Aug 2013 21:22:48 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1377206566!1616382!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27280 invoked from network); 22 Aug 2013 21:22:47 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-10.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	22 Aug 2013 21:22:47 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCcL8-0006yY-Jg
	for xen-changelog@lists.xensource.com; Thu, 22 Aug 2013 21:22:46 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCcL8-0000IX-HG
	for xen-changelog@lists.xensource.com; Thu, 22 Aug 2013 21:22:46 +0000
Date: Thu, 22 Aug 2013 21:22:46 +0000
Message-Id: <E1VCcL8-0000IX-HG@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] Correct X2-APIC HVM emulation
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 69962e19ed432570f6cdcfdb5f6f22d6e3c54e6c
Author:     Juergen Gross <juergen.gross@ts.fujitsu.com>
AuthorDate: Thu Aug 22 11:24:00 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Aug 22 11:24:00 2013 +0200

    Correct X2-APIC HVM emulation
    
    commit 6859874b61d5ddaf5289e72ed2b2157739b72ca5 ("x86/HVM: fix x2APIC
    APIC_ID read emulation") introduced an error for the hvm emulation of
    x2apic. Any try to write to APIC_ICR MSR will result in a GP fault.
    
    Signed-off-by: Juergen Gross <juergen.gross@ts.fujitsu.com>
---
 xen/arch/x86/hvm/vlapic.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
index 7b10ab6..5c33d3a 100644
--- a/xen/arch/x86/hvm/vlapic.c
+++ b/xen/arch/x86/hvm/vlapic.c
@@ -868,6 +868,7 @@ int hvm_x2apic_msr_write(struct vcpu *v, unsigned int msr, uint64_t msr_content)
         rc = vlapic_reg_write(v, APIC_ICR2, (uint32_t)(msr_content >> 32));
         if ( rc )
             return rc;
+        break;
 
     case APIC_ICR2:
         return X86EMUL_UNHANDLEABLE;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Aug 22 21:22:53 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Aug 2013 21:22:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCcLD-0001ln-HA; Thu, 22 Aug 2013 21:22:51 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCcLB-0001lM-NY
	for xen-changelog@lists.xensource.com; Thu, 22 Aug 2013 21:22:49 +0000
Received: from [85.158.143.35:46688] by server-3.bemta-4.messagelabs.com id
	3E/A5-08835-82186125; Thu, 22 Aug 2013 21:22:48 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1377206566!1616382!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 27280 invoked from network); 22 Aug 2013 21:22:47 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-10.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	22 Aug 2013 21:22:47 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCcL8-0006yY-Jg
	for xen-changelog@lists.xensource.com; Thu, 22 Aug 2013 21:22:46 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCcL8-0000IX-HG
	for xen-changelog@lists.xensource.com; Thu, 22 Aug 2013 21:22:46 +0000
Date: Thu, 22 Aug 2013 21:22:46 +0000
Message-Id: <E1VCcL8-0000IX-HG@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] Correct X2-APIC HVM emulation
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 69962e19ed432570f6cdcfdb5f6f22d6e3c54e6c
Author:     Juergen Gross <juergen.gross@ts.fujitsu.com>
AuthorDate: Thu Aug 22 11:24:00 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Aug 22 11:24:00 2013 +0200

    Correct X2-APIC HVM emulation
    
    commit 6859874b61d5ddaf5289e72ed2b2157739b72ca5 ("x86/HVM: fix x2APIC
    APIC_ID read emulation") introduced an error for the hvm emulation of
    x2apic. Any try to write to APIC_ICR MSR will result in a GP fault.
    
    Signed-off-by: Juergen Gross <juergen.gross@ts.fujitsu.com>
---
 xen/arch/x86/hvm/vlapic.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
index 7b10ab6..5c33d3a 100644
--- a/xen/arch/x86/hvm/vlapic.c
+++ b/xen/arch/x86/hvm/vlapic.c
@@ -868,6 +868,7 @@ int hvm_x2apic_msr_write(struct vcpu *v, unsigned int msr, uint64_t msr_content)
         rc = vlapic_reg_write(v, APIC_ICR2, (uint32_t)(msr_content >> 32));
         if ( rc )
             return rc;
+        break;
 
     case APIC_ICR2:
         return X86EMUL_UNHANDLEABLE;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 23 02:22:16 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Aug 2013 02:22:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCh0o-0004UN-43; Fri, 23 Aug 2013 02:22:06 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCh0n-0004UI-IP
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 02:22:05 +0000
Received: from [85.158.143.35:10534] by server-1.bemta-4.messagelabs.com id
	34/77-16125-C47C6125; Fri, 23 Aug 2013 02:22:04 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1377224523!5982619!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5952 invoked from network); 23 Aug 2013 02:22:04 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-5.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Aug 2013 02:22:04 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCh0l-0000Us-8m
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 02:22:03 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCh0k-00009G-Pr
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 02:22:02 +0000
Date: Fri, 23 Aug 2013 02:22:02 +0000
Message-Id: <E1VCh0k-00009G-Pr@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.3] Correct X2-APIC HVM emulation
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit fa20320edac4666c5214892db5cf216738ac02da
Author:     Juergen Gross <juergen.gross@ts.fujitsu.com>
AuthorDate: Thu Aug 22 11:28:28 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Aug 22 11:28:28 2013 +0200

    Correct X2-APIC HVM emulation
    
    commit 6859874b61d5ddaf5289e72ed2b2157739b72ca5 ("x86/HVM: fix x2APIC
    APIC_ID read emulation") introduced an error for the hvm emulation of
    x2apic. Any try to write to APIC_ICR MSR will result in a GP fault.
    
    Signed-off-by: Juergen Gross <juergen.gross@ts.fujitsu.com>
    master commit: 69962e19ed432570f6cdcfdb5f6f22d6e3c54e6c
    master date: 2013-08-22 11:24:00 +0200
---
 xen/arch/x86/hvm/vlapic.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
index 7dea8fb..f3fdab9 100644
--- a/xen/arch/x86/hvm/vlapic.c
+++ b/xen/arch/x86/hvm/vlapic.c
@@ -856,6 +856,7 @@ int hvm_x2apic_msr_write(struct vcpu *v, unsigned int msr, uint64_t msr_content)
         rc = vlapic_reg_write(v, APIC_ICR2, (uint32_t)(msr_content >> 32));
         if ( rc )
             return rc;
+        break;
 
     case APIC_ICR2:
         return X86EMUL_UNHANDLEABLE;
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 23 02:22:16 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Aug 2013 02:22:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCh0o-0004UN-43; Fri, 23 Aug 2013 02:22:06 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCh0n-0004UI-IP
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 02:22:05 +0000
Received: from [85.158.143.35:10534] by server-1.bemta-4.messagelabs.com id
	34/77-16125-C47C6125; Fri, 23 Aug 2013 02:22:04 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1377224523!5982619!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5952 invoked from network); 23 Aug 2013 02:22:04 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-5.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Aug 2013 02:22:04 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCh0l-0000Us-8m
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 02:22:03 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCh0k-00009G-Pr
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 02:22:02 +0000
Date: Fri, 23 Aug 2013 02:22:02 +0000
Message-Id: <E1VCh0k-00009G-Pr@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.3] Correct X2-APIC HVM emulation
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit fa20320edac4666c5214892db5cf216738ac02da
Author:     Juergen Gross <juergen.gross@ts.fujitsu.com>
AuthorDate: Thu Aug 22 11:28:28 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Aug 22 11:28:28 2013 +0200

    Correct X2-APIC HVM emulation
    
    commit 6859874b61d5ddaf5289e72ed2b2157739b72ca5 ("x86/HVM: fix x2APIC
    APIC_ID read emulation") introduced an error for the hvm emulation of
    x2apic. Any try to write to APIC_ICR MSR will result in a GP fault.
    
    Signed-off-by: Juergen Gross <juergen.gross@ts.fujitsu.com>
    master commit: 69962e19ed432570f6cdcfdb5f6f22d6e3c54e6c
    master date: 2013-08-22 11:24:00 +0200
---
 xen/arch/x86/hvm/vlapic.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
index 7dea8fb..f3fdab9 100644
--- a/xen/arch/x86/hvm/vlapic.c
+++ b/xen/arch/x86/hvm/vlapic.c
@@ -856,6 +856,7 @@ int hvm_x2apic_msr_write(struct vcpu *v, unsigned int msr, uint64_t msr_content)
         rc = vlapic_reg_write(v, APIC_ICR2, (uint32_t)(msr_content >> 32));
         if ( rc )
             return rc;
+        break;
 
     case APIC_ICR2:
         return X86EMUL_UNHANDLEABLE;
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 23 06:55:17 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Aug 2013 06:55:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VClH3-00066z-CN; Fri, 23 Aug 2013 06:55:09 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VClH1-00066p-Mt
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 06:55:07 +0000
Received: from [85.158.137.68:35713] by server-5.bemta-3.messagelabs.com id
	71/CC-23058-94707125; Fri, 23 Aug 2013 06:55:05 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-31.messagelabs.com!1377240904!3354708!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10214 invoked from network); 23 Aug 2013 06:55:05 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-7.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Aug 2013 06:55:05 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VClGx-0003XR-Le
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 06:55:03 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VClGx-0007UG-CY
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 06:55:03 +0000
Date: Fri, 23 Aug 2013 06:55:03 +0000
Message-Id: <E1VClGx-0007UG-CY@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.2] Correct X2-APIC HVM emulation
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit f8c580babc6c06d9e49a1c6b93b4ab94cd3ce88d
Author:     Juergen Gross <juergen.gross@ts.fujitsu.com>
AuthorDate: Thu Aug 22 11:30:01 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Aug 22 11:30:01 2013 +0200

    Correct X2-APIC HVM emulation
    
    commit 6859874b61d5ddaf5289e72ed2b2157739b72ca5 ("x86/HVM: fix x2APIC
    APIC_ID read emulation") introduced an error for the hvm emulation of
    x2apic. Any try to write to APIC_ICR MSR will result in a GP fault.
    
    Signed-off-by: Juergen Gross <juergen.gross@ts.fujitsu.com>
    master commit: 69962e19ed432570f6cdcfdb5f6f22d6e3c54e6c
    master date: 2013-08-22 11:24:00 +0200
---
 xen/arch/x86/hvm/vlapic.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
index f3833be..9c6f6fd 100644
--- a/xen/arch/x86/hvm/vlapic.c
+++ b/xen/arch/x86/hvm/vlapic.c
@@ -852,6 +852,7 @@ int hvm_x2apic_msr_write(struct vcpu *v, unsigned int msr, uint64_t msr_content)
         rc = vlapic_reg_write(v, APIC_ICR2, (uint32_t)(msr_content >> 32));
         if ( rc )
             return rc;
+        break;
 
     case APIC_ICR2:
         return X86EMUL_UNHANDLEABLE;
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.2

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 23 06:55:17 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Aug 2013 06:55:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VClH3-00066z-CN; Fri, 23 Aug 2013 06:55:09 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VClH1-00066p-Mt
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 06:55:07 +0000
Received: from [85.158.137.68:35713] by server-5.bemta-3.messagelabs.com id
	71/CC-23058-94707125; Fri, 23 Aug 2013 06:55:05 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-31.messagelabs.com!1377240904!3354708!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 10214 invoked from network); 23 Aug 2013 06:55:05 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-7.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Aug 2013 06:55:05 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VClGx-0003XR-Le
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 06:55:03 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VClGx-0007UG-CY
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 06:55:03 +0000
Date: Fri, 23 Aug 2013 06:55:03 +0000
Message-Id: <E1VClGx-0007UG-CY@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.2] Correct X2-APIC HVM emulation
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit f8c580babc6c06d9e49a1c6b93b4ab94cd3ce88d
Author:     Juergen Gross <juergen.gross@ts.fujitsu.com>
AuthorDate: Thu Aug 22 11:30:01 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Thu Aug 22 11:30:01 2013 +0200

    Correct X2-APIC HVM emulation
    
    commit 6859874b61d5ddaf5289e72ed2b2157739b72ca5 ("x86/HVM: fix x2APIC
    APIC_ID read emulation") introduced an error for the hvm emulation of
    x2apic. Any try to write to APIC_ICR MSR will result in a GP fault.
    
    Signed-off-by: Juergen Gross <juergen.gross@ts.fujitsu.com>
    master commit: 69962e19ed432570f6cdcfdb5f6f22d6e3c54e6c
    master date: 2013-08-22 11:24:00 +0200
---
 xen/arch/x86/hvm/vlapic.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
index f3833be..9c6f6fd 100644
--- a/xen/arch/x86/hvm/vlapic.c
+++ b/xen/arch/x86/hvm/vlapic.c
@@ -852,6 +852,7 @@ int hvm_x2apic_msr_write(struct vcpu *v, unsigned int msr, uint64_t msr_content)
         rc = vlapic_reg_write(v, APIC_ICR2, (uint32_t)(msr_content >> 32));
         if ( rc )
             return rc;
+        break;
 
     case APIC_ICR2:
         return X86EMUL_UNHANDLEABLE;
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.2

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 23 13:22:14 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Aug 2013 13:22:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCrJY-0007UO-Db; Fri, 23 Aug 2013 13:22:08 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrJX-0007UF-GH
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:22:07 +0000
Received: from [85.158.139.211:24419] by server-9.bemta-5.messagelabs.com id
	12/D2-24493-EF167125; Fri, 23 Aug 2013 13:22:06 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-206.messagelabs.com!1377264125!4010174!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21692 invoked from network); 23 Aug 2013 13:22:06 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-14.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Aug 2013 13:22:06 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrJT-00086U-Ae
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:22:05 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrJT-00019Y-4V
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:22:03 +0000
Date: Fri, 23 Aug 2013 13:22:03 +0000
Message-Id: <E1VCrJT-00019Y-4V@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] ARM: fix const declaration of platform
	struct
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit a09a23c19b37a1626338c261e403a458a055b4e4
Author:     Andre Przywara <andre.przywara@linaro.org>
AuthorDate: Thu Aug 22 09:40:54 2013 +0200
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Aug 22 13:12:33 2013 +0100

    ARM: fix const declaration of platform struct
    
    As Julien pointed out the other day, the data type for the platform
    DT name match struct is wrong.
    To be really immutable, we have to use "const char * const".
    
    Fix it on the three currently existing platforms.
    
    Signed-off-by: Andre Przywara <andre.przywara@linaro.org>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 xen/arch/arm/platforms/exynos5.c  |    2 +-
 xen/arch/arm/platforms/midway.c   |    2 +-
 xen/arch/arm/platforms/vexpress.c |    2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/xen/arch/arm/platforms/exynos5.c b/xen/arch/arm/platforms/exynos5.c
index 1368a04..262ded8 100644
--- a/xen/arch/arm/platforms/exynos5.c
+++ b/xen/arch/arm/platforms/exynos5.c
@@ -86,7 +86,7 @@ static uint32_t exynos5_quirks(void)
     return PLATFORM_QUIRK_DOM0_MAPPING_11;
 }
 
-static const char const *exynos5_dt_compat[] __initdata =
+static const char * const exynos5_dt_compat[] __initdata =
 {
     "samsung,exynos5250",
     NULL
diff --git a/xen/arch/arm/platforms/midway.c b/xen/arch/arm/platforms/midway.c
index 2d3be1b..7a3dfe1 100644
--- a/xen/arch/arm/platforms/midway.c
+++ b/xen/arch/arm/platforms/midway.c
@@ -41,7 +41,7 @@ static void midway_reset(void)
     iounmap(pmu);
 }
 
-static const char const *midway_dt_compat[] __initdata =
+static const char * const midway_dt_compat[] __initdata =
 {
     "calxeda,ecx-2000",
     NULL
diff --git a/xen/arch/arm/platforms/vexpress.c b/xen/arch/arm/platforms/vexpress.c
index 8fc30c4..6f7dc2c 100644
--- a/xen/arch/arm/platforms/vexpress.c
+++ b/xen/arch/arm/platforms/vexpress.c
@@ -119,7 +119,7 @@ static void vexpress_reset(void)
     iounmap(sp810);
 }
 
-static const char const *vexpress_dt_compat[] __initdata =
+static const char * const vexpress_dt_compat[] __initdata =
 {
     "arm,vexpress",
     NULL
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 23 13:22:14 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Aug 2013 13:22:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCrJY-0007UO-Db; Fri, 23 Aug 2013 13:22:08 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrJX-0007UF-GH
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:22:07 +0000
Received: from [85.158.139.211:24419] by server-9.bemta-5.messagelabs.com id
	12/D2-24493-EF167125; Fri, 23 Aug 2013 13:22:06 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-206.messagelabs.com!1377264125!4010174!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 21692 invoked from network); 23 Aug 2013 13:22:06 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-14.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Aug 2013 13:22:06 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrJT-00086U-Ae
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:22:05 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrJT-00019Y-4V
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:22:03 +0000
Date: Fri, 23 Aug 2013 13:22:03 +0000
Message-Id: <E1VCrJT-00019Y-4V@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] ARM: fix const declaration of platform
	struct
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit a09a23c19b37a1626338c261e403a458a055b4e4
Author:     Andre Przywara <andre.przywara@linaro.org>
AuthorDate: Thu Aug 22 09:40:54 2013 +0200
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Aug 22 13:12:33 2013 +0100

    ARM: fix const declaration of platform struct
    
    As Julien pointed out the other day, the data type for the platform
    DT name match struct is wrong.
    To be really immutable, we have to use "const char * const".
    
    Fix it on the three currently existing platforms.
    
    Signed-off-by: Andre Przywara <andre.przywara@linaro.org>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 xen/arch/arm/platforms/exynos5.c  |    2 +-
 xen/arch/arm/platforms/midway.c   |    2 +-
 xen/arch/arm/platforms/vexpress.c |    2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/xen/arch/arm/platforms/exynos5.c b/xen/arch/arm/platforms/exynos5.c
index 1368a04..262ded8 100644
--- a/xen/arch/arm/platforms/exynos5.c
+++ b/xen/arch/arm/platforms/exynos5.c
@@ -86,7 +86,7 @@ static uint32_t exynos5_quirks(void)
     return PLATFORM_QUIRK_DOM0_MAPPING_11;
 }
 
-static const char const *exynos5_dt_compat[] __initdata =
+static const char * const exynos5_dt_compat[] __initdata =
 {
     "samsung,exynos5250",
     NULL
diff --git a/xen/arch/arm/platforms/midway.c b/xen/arch/arm/platforms/midway.c
index 2d3be1b..7a3dfe1 100644
--- a/xen/arch/arm/platforms/midway.c
+++ b/xen/arch/arm/platforms/midway.c
@@ -41,7 +41,7 @@ static void midway_reset(void)
     iounmap(pmu);
 }
 
-static const char const *midway_dt_compat[] __initdata =
+static const char * const midway_dt_compat[] __initdata =
 {
     "calxeda,ecx-2000",
     NULL
diff --git a/xen/arch/arm/platforms/vexpress.c b/xen/arch/arm/platforms/vexpress.c
index 8fc30c4..6f7dc2c 100644
--- a/xen/arch/arm/platforms/vexpress.c
+++ b/xen/arch/arm/platforms/vexpress.c
@@ -119,7 +119,7 @@ static void vexpress_reset(void)
     iounmap(sp810);
 }
 
-static const char const *vexpress_dt_compat[] __initdata =
+static const char * const vexpress_dt_compat[] __initdata =
 {
     "arm,vexpress",
     NULL
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 23 13:22:22 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Aug 2013 13:22:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCrJj-0007Uz-Gj; Fri, 23 Aug 2013 13:22:19 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrJi-0007Us-GH
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:22:18 +0000
Received: from [193.109.254.147:28512] by server-10.bemta-14.messagelabs.com
	id D6/62-26557-90267125; Fri, 23 Aug 2013 13:22:17 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1377264135!5564085!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG, UPPERCASE_25_50
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22330 invoked from network); 23 Aug 2013 13:22:16 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-6.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Aug 2013 13:22:16 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrJf-00086X-CW
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:22:15 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrJf-00019w-4V
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:22:15 +0000
Date: Fri, 23 Aug 2013 13:22:15 +0000
Message-Id: <E1VCrJf-00019w-4V@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen: rename ns16550-uart.h to
	8250-uart.h and fix some typos
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 1cd9b317d21eb85432a2ee9487be916b34fc2238
Author:     Chen Baozi <baozich@gmail.com>
AuthorDate: Tue Aug 13 19:14:21 2013 +0800
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Aug 22 13:16:04 2013 +0100

    xen: rename ns16550-uart.h to 8250-uart.h and fix some typos
    
    Since UARTs on OMAP5 & Allwinner's SoC are not ns16550 but only 8250
    compatible, rename ns16550-uart.h to 8250-uart.h, which is a more pervasive
    name. At the same time, fix some typos, which have redundance UART_
    prefixes in some macros.
    
    Signed-off-by: Chen Baozi <baozich@gmail.com>
    Acked-by: Julien Grall <julien.grall@linaro.org>
    Acked-by: Keir Fraser <keir@xen.org>
---
 xen/drivers/char/ns16550.c     |    2 +-
 xen/include/xen/8250-uart.h    |  104 ++++++++++++++++++++++++++++++++++++++++
 xen/include/xen/ns16550-uart.h |  104 ----------------------------------------
 3 files changed, 105 insertions(+), 105 deletions(-)

diff --git a/xen/drivers/char/ns16550.c b/xen/drivers/char/ns16550.c
index e085a64..6082c85 100644
--- a/xen/drivers/char/ns16550.c
+++ b/xen/drivers/char/ns16550.c
@@ -19,7 +19,7 @@
 #include <xen/iocap.h>
 #include <xen/pci.h>
 #include <xen/pci_regs.h>
-#include <xen/ns16550-uart.h>
+#include <xen/8250-uart.h>
 #include <asm/io.h>
 #ifdef CONFIG_X86
 #include <asm/fixmap.h>
diff --git a/xen/include/xen/8250-uart.h b/xen/include/xen/8250-uart.h
new file mode 100644
index 0000000..7287364
--- /dev/null
+++ b/xen/include/xen/8250-uart.h
@@ -0,0 +1,104 @@
+/*
+ * xen/include/xen/8250-uart.h
+ *
+ * This header is extracted from driver/char/ns16550.c
+ *
+ * Common constant definition between early printk and the UART driver
+ * for the 16550-series UART
+ *
+ * Copyright (c) 2003-2005, K A Fraser
+ *
+ * This program 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.
+ *
+ * This program 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.
+ */
+
+#ifndef __XEN_8250_UART_H__
+#define __XEN_8250_UART_H__
+
+/* Register offsets */
+#define UART_RBR          0x00    /* receive buffer       */
+#define UART_THR          0x00    /* transmit holding     */
+#define UART_IER          0x01    /* interrupt enable     */
+#define UART_IIR          0x02    /* interrupt identity   */
+#define UART_FCR          0x02    /* FIFO control         */
+#define UART_LCR          0x03    /* line control         */
+#define UART_MCR          0x04    /* Modem control        */
+#define UART_LSR          0x05    /* line status          */
+#define UART_MSR          0x06    /* Modem status         */
+#define UART_DLL          0x00    /* divisor latch (ls) (DLAB=1) */
+#define UART_DLM          0x01    /* divisor latch (ms) (DLAB=1) */
+
+/* Interrupt Enable Register */
+#define UART_IER_ERDAI    0x01    /* rx data recv'd       */
+#define UART_IER_ETHREI   0x02    /* tx reg. empty        */
+#define UART_IER_ELSI     0x04    /* rx line status       */
+#define UART_IER_EMSI     0x08    /* MODEM status         */
+
+/* Interrupt Identificatiegister */
+#define UART_IIR_NOINT    0x01    /* no interrupt pending */
+#define UART_IIR_IMA      0x06    /* interrupt identity:  */
+#define UART_IIR_LSI      0x06    /*  - rx line status    */
+#define UART_IIR_RDA      0x04    /*  - rx data recv'd    */
+#define UART_IIR_THR      0x02    /*  - tx reg. empty     */
+#define UART_IIR_MSI      0x00    /*  - MODEM status      */
+
+/* FIFO Control Register */
+#define UART_FCR_ENABLE   0x01    /* enable FIFO          */
+#define UART_FCR_CLRX     0x02    /* clear Rx FIFO        */
+#define UART_FCR_CLTX     0x04    /* clear Tx FIFO        */
+#define UART_FCR_DMA      0x10    /* enter DMA mode       */
+#define UART_FCR_TRG1     0x00    /* Rx FIFO trig lev 1   */
+#define UART_FCR_TRG4     0x40    /* Rx FIFO trig lev 4   */
+#define UART_FCR_TRG8     0x80    /* Rx FIFO trig lev 8   */
+#define UART_FCR_TRG14    0xc0    /* Rx FIFO trig lev 14  */
+
+/* Line Control Register */
+#define UART_LCR_DLAB     0x80    /* Divisor Latch Access */
+
+/* Modem Control Register */
+#define UART_MCR_DTR      0x01    /* Data Terminal Ready  */
+#define UART_MCR_RTS      0x02    /* Request to Send      */
+#define UART_MCR_OUT2     0x08    /* OUT2: interrupt mask */
+#define UART_MCR_LOOP     0x10    /* Enable loopback test mode */
+
+/* Line Status Register */
+#define UART_LSR_DR       0x01    /* Data ready           */
+#define UART_LSR_OE       0x02    /* Overrun              */
+#define UART_LSR_PE       0x04    /* Parity error         */
+#define UART_LSR_FE       0x08    /* Framing error        */
+#define UART_LSR_BI       0x10    /* Break                */
+#define UART_LSR_THRE     0x20    /* Xmit hold reg empty  */
+#define UART_LSR_TEMT     0x40    /* Xmitter empty        */
+#define UART_LSR_ERR      0x80    /* Error                */
+
+/* These parity settings can be ORed directly into the LCR. */
+#define UART_PARITY_NONE  (0<<3)
+#define UART_PARITY_ODD   (1<<3)
+#define UART_PARITY_EVEN  (3<<3)
+#define UART_PARITY_MARK  (5<<3)
+#define UART_PARITY_SPACE (7<<3)
+
+/* Frequency of external clock source. This definition assumes PC platform. */
+#define UART_CLOCK_HZ     1843200
+
+/* Resume retry settings */
+#define RESUME_DELAY      MILLISECS(10)
+#define RESUME_RETRIES    100
+
+#endif /* __XEN_8250_UART_H__ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/include/xen/ns16550-uart.h b/xen/include/xen/ns16550-uart.h
deleted file mode 100644
index 232cef9..0000000
--- a/xen/include/xen/ns16550-uart.h
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * xen/include/xen/ns16550-uart.h
- *
- * This header is extracted from driver/char/ns16550.c
- *
- * Common constant definition between early printk and the UART driver
- * for the 16550-series UART
- *
- * Copyright (c) 2003-2005, K A Fraser
- *
- * This program 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.
- *
- * This program 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.
- */
-
-#ifndef __XEN_NS16550_UART_H__
-#define __XEN_NS16550_UART_H__
-
-/* Register offsets */
-#define UART_RBR          0x00    /* receive buffer       */
-#define UART_THR          0x00    /* transmit holding     */
-#define UART_IER          0x01    /* interrupt enable     */
-#define UART_IIR          0x02    /* interrupt identity   */
-#define UART_FCR          0x02    /* FIFO control         */
-#define UART_LCR          0x03    /* line control         */
-#define UART_MCR          0x04    /* Modem control        */
-#define UART_LSR          0x05    /* line status          */
-#define UART_MSR          0x06    /* Modem status         */
-#define UART_DLL          0x00    /* divisor latch (ls) (DLAB=1) */
-#define UART_DLM          0x01    /* divisor latch (ms) (DLAB=1) */
-
-/* Interrupt Enable Register */
-#define UART_IER_ERDAI    0x01    /* rx data recv'd       */
-#define UART_IER_ETHREI   0x02    /* tx reg. empty        */
-#define UART_IER_ELSI     0x04    /* rx line status       */
-#define UART_IER_EMSI     0x08    /* MODEM status         */
-
-/* Interrupt Identificatiegister */
-#define UART_IIR_NOINT    0x01    /* no interrupt pending */
-#define UART_UART_IIR_IMA 0x06    /* interrupt identity:  */
-#define UART_UART_IIR_LSI 0x06    /*  - rx line status    */
-#define UART_UART_IIR_RDA 0x04    /*  - rx data recv'd    */
-#define UART_UART_IIR_THR 0x02    /*  - tx reg. empty     */
-#define UART_UART_IIR_MSI 0x00    /*  - MODEM status      */
-
-/* FIFO Control Register */
-#define UART_FCR_ENABLE   0x01    /* enable FIFO          */
-#define UART_FCR_CLRX     0x02    /* clear Rx FIFO        */
-#define UART_FCR_CLTX     0x04    /* clear Tx FIFO        */
-#define UART_FCR_DMA      0x10    /* enter DMA mode       */
-#define UART_FCR_TRG1     0x00    /* Rx FIFO trig lev 1   */
-#define UART_FCR_TRG4     0x40    /* Rx FIFO trig lev 4   */
-#define UART_FCR_TRG8     0x80    /* Rx FIFO trig lev 8   */
-#define UART_FCR_TRG14    0xc0    /* Rx FIFO trig lev 14  */
-
-/* Line Control Register */
-#define UART_LCR_DLAB     0x80    /* Divisor Latch Access */
-
-/* Modem Control Register */
-#define UART_MCR_DTR      0x01    /* Data Terminal Ready  */
-#define UART_MCR_RTS      0x02    /* Request to Send      */
-#define UART_MCR_OUT2     0x08    /* OUT2: interrupt mask */
-#define UART_MCR_LOOP     0x10    /* Enable loopback test mode */
-
-/* Line Status Register */
-#define UART_LSR_DR       0x01    /* Data ready           */
-#define UART_LSR_OE       0x02    /* Overrun              */
-#define UART_LSR_PE       0x04    /* Parity error         */
-#define UART_LSR_FE       0x08    /* Framing error        */
-#define UART_LSR_BI       0x10    /* Break                */
-#define UART_LSR_THRE     0x20    /* Xmit hold reg empty  */
-#define UART_LSR_TEMT     0x40    /* Xmitter empty        */
-#define UART_LSR_ERR      0x80    /* Error                */
-
-/* These parity settings can be ORed directly into the LCR. */
-#define UART_PARITY_NONE  (0<<3)
-#define UART_PARITY_ODD   (1<<3)
-#define UART_PARITY_EVEN  (3<<3)
-#define UART_PARITY_MARK  (5<<3)
-#define UART_PARITY_SPACE (7<<3)
-
-/* Frequency of external clock source. This definition assumes PC platform. */
-#define UART_CLOCK_HZ     1843200
-
-/* Resume retry settings */
-#define RESUME_DELAY      MILLISECS(10)
-#define RESUME_RETRIES    100
-
-#endif /* __XEN_NS16550_UART_H__ */
-
-/*
- * Local variables:
- * mode: C
- * c-file-style: "BSD"
- * c-basic-offset: 4
- * indent-tabs-mode: nil
- * End:
- */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 23 13:22:22 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Aug 2013 13:22:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCrJj-0007Uz-Gj; Fri, 23 Aug 2013 13:22:19 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrJi-0007Us-GH
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:22:18 +0000
Received: from [193.109.254.147:28512] by server-10.bemta-14.messagelabs.com
	id D6/62-26557-90267125; Fri, 23 Aug 2013 13:22:17 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-27.messagelabs.com!1377264135!5564085!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG, UPPERCASE_25_50
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22330 invoked from network); 23 Aug 2013 13:22:16 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-6.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Aug 2013 13:22:16 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrJf-00086X-CW
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:22:15 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrJf-00019w-4V
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:22:15 +0000
Date: Fri, 23 Aug 2013 13:22:15 +0000
Message-Id: <E1VCrJf-00019w-4V@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen: rename ns16550-uart.h to
	8250-uart.h and fix some typos
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 1cd9b317d21eb85432a2ee9487be916b34fc2238
Author:     Chen Baozi <baozich@gmail.com>
AuthorDate: Tue Aug 13 19:14:21 2013 +0800
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Aug 22 13:16:04 2013 +0100

    xen: rename ns16550-uart.h to 8250-uart.h and fix some typos
    
    Since UARTs on OMAP5 & Allwinner's SoC are not ns16550 but only 8250
    compatible, rename ns16550-uart.h to 8250-uart.h, which is a more pervasive
    name. At the same time, fix some typos, which have redundance UART_
    prefixes in some macros.
    
    Signed-off-by: Chen Baozi <baozich@gmail.com>
    Acked-by: Julien Grall <julien.grall@linaro.org>
    Acked-by: Keir Fraser <keir@xen.org>
---
 xen/drivers/char/ns16550.c     |    2 +-
 xen/include/xen/8250-uart.h    |  104 ++++++++++++++++++++++++++++++++++++++++
 xen/include/xen/ns16550-uart.h |  104 ----------------------------------------
 3 files changed, 105 insertions(+), 105 deletions(-)

diff --git a/xen/drivers/char/ns16550.c b/xen/drivers/char/ns16550.c
index e085a64..6082c85 100644
--- a/xen/drivers/char/ns16550.c
+++ b/xen/drivers/char/ns16550.c
@@ -19,7 +19,7 @@
 #include <xen/iocap.h>
 #include <xen/pci.h>
 #include <xen/pci_regs.h>
-#include <xen/ns16550-uart.h>
+#include <xen/8250-uart.h>
 #include <asm/io.h>
 #ifdef CONFIG_X86
 #include <asm/fixmap.h>
diff --git a/xen/include/xen/8250-uart.h b/xen/include/xen/8250-uart.h
new file mode 100644
index 0000000..7287364
--- /dev/null
+++ b/xen/include/xen/8250-uart.h
@@ -0,0 +1,104 @@
+/*
+ * xen/include/xen/8250-uart.h
+ *
+ * This header is extracted from driver/char/ns16550.c
+ *
+ * Common constant definition between early printk and the UART driver
+ * for the 16550-series UART
+ *
+ * Copyright (c) 2003-2005, K A Fraser
+ *
+ * This program 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.
+ *
+ * This program 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.
+ */
+
+#ifndef __XEN_8250_UART_H__
+#define __XEN_8250_UART_H__
+
+/* Register offsets */
+#define UART_RBR          0x00    /* receive buffer       */
+#define UART_THR          0x00    /* transmit holding     */
+#define UART_IER          0x01    /* interrupt enable     */
+#define UART_IIR          0x02    /* interrupt identity   */
+#define UART_FCR          0x02    /* FIFO control         */
+#define UART_LCR          0x03    /* line control         */
+#define UART_MCR          0x04    /* Modem control        */
+#define UART_LSR          0x05    /* line status          */
+#define UART_MSR          0x06    /* Modem status         */
+#define UART_DLL          0x00    /* divisor latch (ls) (DLAB=1) */
+#define UART_DLM          0x01    /* divisor latch (ms) (DLAB=1) */
+
+/* Interrupt Enable Register */
+#define UART_IER_ERDAI    0x01    /* rx data recv'd       */
+#define UART_IER_ETHREI   0x02    /* tx reg. empty        */
+#define UART_IER_ELSI     0x04    /* rx line status       */
+#define UART_IER_EMSI     0x08    /* MODEM status         */
+
+/* Interrupt Identificatiegister */
+#define UART_IIR_NOINT    0x01    /* no interrupt pending */
+#define UART_IIR_IMA      0x06    /* interrupt identity:  */
+#define UART_IIR_LSI      0x06    /*  - rx line status    */
+#define UART_IIR_RDA      0x04    /*  - rx data recv'd    */
+#define UART_IIR_THR      0x02    /*  - tx reg. empty     */
+#define UART_IIR_MSI      0x00    /*  - MODEM status      */
+
+/* FIFO Control Register */
+#define UART_FCR_ENABLE   0x01    /* enable FIFO          */
+#define UART_FCR_CLRX     0x02    /* clear Rx FIFO        */
+#define UART_FCR_CLTX     0x04    /* clear Tx FIFO        */
+#define UART_FCR_DMA      0x10    /* enter DMA mode       */
+#define UART_FCR_TRG1     0x00    /* Rx FIFO trig lev 1   */
+#define UART_FCR_TRG4     0x40    /* Rx FIFO trig lev 4   */
+#define UART_FCR_TRG8     0x80    /* Rx FIFO trig lev 8   */
+#define UART_FCR_TRG14    0xc0    /* Rx FIFO trig lev 14  */
+
+/* Line Control Register */
+#define UART_LCR_DLAB     0x80    /* Divisor Latch Access */
+
+/* Modem Control Register */
+#define UART_MCR_DTR      0x01    /* Data Terminal Ready  */
+#define UART_MCR_RTS      0x02    /* Request to Send      */
+#define UART_MCR_OUT2     0x08    /* OUT2: interrupt mask */
+#define UART_MCR_LOOP     0x10    /* Enable loopback test mode */
+
+/* Line Status Register */
+#define UART_LSR_DR       0x01    /* Data ready           */
+#define UART_LSR_OE       0x02    /* Overrun              */
+#define UART_LSR_PE       0x04    /* Parity error         */
+#define UART_LSR_FE       0x08    /* Framing error        */
+#define UART_LSR_BI       0x10    /* Break                */
+#define UART_LSR_THRE     0x20    /* Xmit hold reg empty  */
+#define UART_LSR_TEMT     0x40    /* Xmitter empty        */
+#define UART_LSR_ERR      0x80    /* Error                */
+
+/* These parity settings can be ORed directly into the LCR. */
+#define UART_PARITY_NONE  (0<<3)
+#define UART_PARITY_ODD   (1<<3)
+#define UART_PARITY_EVEN  (3<<3)
+#define UART_PARITY_MARK  (5<<3)
+#define UART_PARITY_SPACE (7<<3)
+
+/* Frequency of external clock source. This definition assumes PC platform. */
+#define UART_CLOCK_HZ     1843200
+
+/* Resume retry settings */
+#define RESUME_DELAY      MILLISECS(10)
+#define RESUME_RETRIES    100
+
+#endif /* __XEN_8250_UART_H__ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/include/xen/ns16550-uart.h b/xen/include/xen/ns16550-uart.h
deleted file mode 100644
index 232cef9..0000000
--- a/xen/include/xen/ns16550-uart.h
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * xen/include/xen/ns16550-uart.h
- *
- * This header is extracted from driver/char/ns16550.c
- *
- * Common constant definition between early printk and the UART driver
- * for the 16550-series UART
- *
- * Copyright (c) 2003-2005, K A Fraser
- *
- * This program 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.
- *
- * This program 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.
- */
-
-#ifndef __XEN_NS16550_UART_H__
-#define __XEN_NS16550_UART_H__
-
-/* Register offsets */
-#define UART_RBR          0x00    /* receive buffer       */
-#define UART_THR          0x00    /* transmit holding     */
-#define UART_IER          0x01    /* interrupt enable     */
-#define UART_IIR          0x02    /* interrupt identity   */
-#define UART_FCR          0x02    /* FIFO control         */
-#define UART_LCR          0x03    /* line control         */
-#define UART_MCR          0x04    /* Modem control        */
-#define UART_LSR          0x05    /* line status          */
-#define UART_MSR          0x06    /* Modem status         */
-#define UART_DLL          0x00    /* divisor latch (ls) (DLAB=1) */
-#define UART_DLM          0x01    /* divisor latch (ms) (DLAB=1) */
-
-/* Interrupt Enable Register */
-#define UART_IER_ERDAI    0x01    /* rx data recv'd       */
-#define UART_IER_ETHREI   0x02    /* tx reg. empty        */
-#define UART_IER_ELSI     0x04    /* rx line status       */
-#define UART_IER_EMSI     0x08    /* MODEM status         */
-
-/* Interrupt Identificatiegister */
-#define UART_IIR_NOINT    0x01    /* no interrupt pending */
-#define UART_UART_IIR_IMA 0x06    /* interrupt identity:  */
-#define UART_UART_IIR_LSI 0x06    /*  - rx line status    */
-#define UART_UART_IIR_RDA 0x04    /*  - rx data recv'd    */
-#define UART_UART_IIR_THR 0x02    /*  - tx reg. empty     */
-#define UART_UART_IIR_MSI 0x00    /*  - MODEM status      */
-
-/* FIFO Control Register */
-#define UART_FCR_ENABLE   0x01    /* enable FIFO          */
-#define UART_FCR_CLRX     0x02    /* clear Rx FIFO        */
-#define UART_FCR_CLTX     0x04    /* clear Tx FIFO        */
-#define UART_FCR_DMA      0x10    /* enter DMA mode       */
-#define UART_FCR_TRG1     0x00    /* Rx FIFO trig lev 1   */
-#define UART_FCR_TRG4     0x40    /* Rx FIFO trig lev 4   */
-#define UART_FCR_TRG8     0x80    /* Rx FIFO trig lev 8   */
-#define UART_FCR_TRG14    0xc0    /* Rx FIFO trig lev 14  */
-
-/* Line Control Register */
-#define UART_LCR_DLAB     0x80    /* Divisor Latch Access */
-
-/* Modem Control Register */
-#define UART_MCR_DTR      0x01    /* Data Terminal Ready  */
-#define UART_MCR_RTS      0x02    /* Request to Send      */
-#define UART_MCR_OUT2     0x08    /* OUT2: interrupt mask */
-#define UART_MCR_LOOP     0x10    /* Enable loopback test mode */
-
-/* Line Status Register */
-#define UART_LSR_DR       0x01    /* Data ready           */
-#define UART_LSR_OE       0x02    /* Overrun              */
-#define UART_LSR_PE       0x04    /* Parity error         */
-#define UART_LSR_FE       0x08    /* Framing error        */
-#define UART_LSR_BI       0x10    /* Break                */
-#define UART_LSR_THRE     0x20    /* Xmit hold reg empty  */
-#define UART_LSR_TEMT     0x40    /* Xmitter empty        */
-#define UART_LSR_ERR      0x80    /* Error                */
-
-/* These parity settings can be ORed directly into the LCR. */
-#define UART_PARITY_NONE  (0<<3)
-#define UART_PARITY_ODD   (1<<3)
-#define UART_PARITY_EVEN  (3<<3)
-#define UART_PARITY_MARK  (5<<3)
-#define UART_PARITY_SPACE (7<<3)
-
-/* Frequency of external clock source. This definition assumes PC platform. */
-#define UART_CLOCK_HZ     1843200
-
-/* Resume retry settings */
-#define RESUME_DELAY      MILLISECS(10)
-#define RESUME_RETRIES    100
-
-#endif /* __XEN_NS16550_UART_H__ */
-
-/*
- * Local variables:
- * mode: C
- * c-file-style: "BSD"
- * c-basic-offset: 4
- * indent-tabs-mode: nil
- * End:
- */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 23 13:22:33 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Aug 2013 13:22:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCrJt-0007Vv-Jb; Fri, 23 Aug 2013 13:22:29 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrJs-0007Vn-Hf
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:22:28 +0000
Received: from [193.109.254.147:8002] by server-10.bemta-14.messagelabs.com id
	FC/92-26557-31267125; Fri, 23 Aug 2013 13:22:27 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1377264145!5577446!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=UPPERCASE_25_50
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28564 invoked from network); 23 Aug 2013 13:22:26 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-5.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Aug 2013 13:22:26 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrJp-00086g-Ne
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:22:25 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrJp-0001AI-F4
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:22:25 +0000
Date: Fri, 23 Aug 2013 13:22:25 +0000
Message-Id: <E1VCrJp-0001AI-F4@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen/arm: add 8250 compatible UART
	support for early_printk
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit e7ac471d5ceb955c050c9330afd56d1cdb0da52f
Author:     Chen Baozi <baozich@gmail.com>
AuthorDate: Tue Aug 13 19:14:22 2013 +0800
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Aug 22 13:17:19 2013 +0100

    xen/arm: add 8250 compatible UART support for early_printk
    
    Both OMAP5 and sun6i/sun7i SoCs share this UART driver for early_printk.
    
    Signed-off-by: Chen Baozi <baozich@gmail.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 docs/misc/arm/early-printk.txt    |    3 ++
 xen/arch/arm/Rules.mk             |   16 ++++++++++++++
 xen/arch/arm/arm32/debug-8250.inc |   41 +++++++++++++++++++++++++++++++++++++
 3 files changed, 60 insertions(+), 0 deletions(-)

diff --git a/docs/misc/arm/early-printk.txt b/docs/misc/arm/early-printk.txt
index fbc3208..1431751 100644
--- a/docs/misc/arm/early-printk.txt
+++ b/docs/misc/arm/early-printk.txt
@@ -13,6 +13,9 @@ where mach is the name of the machine:
   - exynos5250: printk with the second UART
   - midway: printk with the pl011 on Calxeda Midway processors
   - fastmodel: printk on ARM Fastmodel software emulators
+  - omap5432: printk with UART3 on TI OMAP5432 processors
+  - sun6i: printk with 8250 on Allwinner A31 processors
+  - sun7i: printk with 8250 on Allwinner A20 processors
 
 The base address and baud rate is hardcoded in xen/arch/arm/Rules.mk,
 see there when adding support for new machines.
diff --git a/xen/arch/arm/Rules.mk b/xen/arch/arm/Rules.mk
index d80dfce..bd79b26 100644
--- a/xen/arch/arm/Rules.mk
+++ b/xen/arch/arm/Rules.mk
@@ -62,6 +62,21 @@ EARLY_PRINTK_INC := pl011
 EARLY_PRINTK_BAUD := 115200
 EARLY_UART_BASE_ADDRESS := 0xfff36000
 endif
+ifeq ($(CONFIG_EARLY_PRINTK), omap5432)
+EARLY_PRINTK_INC := 8250
+EARLY_UART_BASE_ADDRESS := 0x48020000
+EARLY_UART_REG_SHIFT := 2
+endif
+ifeq ($(CONFIG_EARLY_PRINTK), sun6i)
+EARLY_PRINTK_INC := 8250
+EARLY_UART_BASE_ADDRESS := 0x01c28000
+EARLY_UART_REG_SHIFT := 2
+endif
+ifeq ($(CONFIG_EARLY_PRINTK), sun7i)
+EARLY_PRINTK_INC := 8250
+EARLY_UART_BASE_ADDRESS := 0x01c28000
+EARLY_UART_REG_SHIFT := 2
+endif
 
 ifneq ($(EARLY_PRINTK_INC),)
 EARLY_PRINTK := y
@@ -72,4 +87,5 @@ CFLAGS-$(EARLY_PRINTK_INIT_UART) += -DEARLY_PRINTK_INIT_UART
 CFLAGS-$(EARLY_PRINTK) += -DEARLY_PRINTK_INC=\"debug-$(EARLY_PRINTK_INC).inc\"
 CFLAGS-$(EARLY_PRINTK) += -DEARLY_PRINTK_BAUD=$(EARLY_PRINTK_BAUD)
 CFLAGS-$(EARLY_PRINTK) += -DEARLY_UART_BASE_ADDRESS=$(EARLY_UART_BASE_ADDRESS)
+CFLAGS-$(EARLY_PRINTK) += -DEARLY_UART_REG_SHIFT=$(EARLY_UART_REG_SHIFT)
 endif
diff --git a/xen/arch/arm/arm32/debug-8250.inc b/xen/arch/arm/arm32/debug-8250.inc
new file mode 100644
index 0000000..eb25882
--- /dev/null
+++ b/xen/arch/arm/arm32/debug-8250.inc
@@ -0,0 +1,41 @@
+/*
+ * xen/arch/arm/arm32/debug-8250.inc
+ *
+ * 8250 specific debug code
+ *
+ * This program 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.
+ *
+ * This program 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.
+ */
+
+#include <xen/8250-uart.h>
+
+/* 8250 UART wait UART to be ready to transmit
+ * rb: register which contains the UART base address
+ * rc: scratch register */
+.macro early_uart_ready rb rc
+1:
+	ldr	\rc, [\rb, #(UART_LSR << EARLY_UART_REG_SHIFT)] /* Read LSR */
+	tst	\rc, #UART_LSR_THRE     /* Check Xmit holding register flag */
+	beq	1b		           /* Wait for the UART to be ready */
+.endm
+
+/* 8250 UART transmit character
+ * rb: register which contains the UART base address
+ * rt: register which contains the character to transmit */
+.macro early_uart_transmit rb rt
+        str   \rt, [\rb, #UART_THR]      /* Write Transmit buffer */
+.endm
+
+/*
+ * Local variables:
+ * mode: ASM
+ * indent-tabs-mode: nil
+ * End:
+ */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 23 13:22:33 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Aug 2013 13:22:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCrJt-0007Vv-Jb; Fri, 23 Aug 2013 13:22:29 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrJs-0007Vn-Hf
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:22:28 +0000
Received: from [193.109.254.147:8002] by server-10.bemta-14.messagelabs.com id
	FC/92-26557-31267125; Fri, 23 Aug 2013 13:22:27 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-27.messagelabs.com!1377264145!5577446!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=UPPERCASE_25_50
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28564 invoked from network); 23 Aug 2013 13:22:26 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-5.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Aug 2013 13:22:26 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrJp-00086g-Ne
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:22:25 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrJp-0001AI-F4
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:22:25 +0000
Date: Fri, 23 Aug 2013 13:22:25 +0000
Message-Id: <E1VCrJp-0001AI-F4@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen/arm: add 8250 compatible UART
	support for early_printk
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit e7ac471d5ceb955c050c9330afd56d1cdb0da52f
Author:     Chen Baozi <baozich@gmail.com>
AuthorDate: Tue Aug 13 19:14:22 2013 +0800
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Aug 22 13:17:19 2013 +0100

    xen/arm: add 8250 compatible UART support for early_printk
    
    Both OMAP5 and sun6i/sun7i SoCs share this UART driver for early_printk.
    
    Signed-off-by: Chen Baozi <baozich@gmail.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 docs/misc/arm/early-printk.txt    |    3 ++
 xen/arch/arm/Rules.mk             |   16 ++++++++++++++
 xen/arch/arm/arm32/debug-8250.inc |   41 +++++++++++++++++++++++++++++++++++++
 3 files changed, 60 insertions(+), 0 deletions(-)

diff --git a/docs/misc/arm/early-printk.txt b/docs/misc/arm/early-printk.txt
index fbc3208..1431751 100644
--- a/docs/misc/arm/early-printk.txt
+++ b/docs/misc/arm/early-printk.txt
@@ -13,6 +13,9 @@ where mach is the name of the machine:
   - exynos5250: printk with the second UART
   - midway: printk with the pl011 on Calxeda Midway processors
   - fastmodel: printk on ARM Fastmodel software emulators
+  - omap5432: printk with UART3 on TI OMAP5432 processors
+  - sun6i: printk with 8250 on Allwinner A31 processors
+  - sun7i: printk with 8250 on Allwinner A20 processors
 
 The base address and baud rate is hardcoded in xen/arch/arm/Rules.mk,
 see there when adding support for new machines.
diff --git a/xen/arch/arm/Rules.mk b/xen/arch/arm/Rules.mk
index d80dfce..bd79b26 100644
--- a/xen/arch/arm/Rules.mk
+++ b/xen/arch/arm/Rules.mk
@@ -62,6 +62,21 @@ EARLY_PRINTK_INC := pl011
 EARLY_PRINTK_BAUD := 115200
 EARLY_UART_BASE_ADDRESS := 0xfff36000
 endif
+ifeq ($(CONFIG_EARLY_PRINTK), omap5432)
+EARLY_PRINTK_INC := 8250
+EARLY_UART_BASE_ADDRESS := 0x48020000
+EARLY_UART_REG_SHIFT := 2
+endif
+ifeq ($(CONFIG_EARLY_PRINTK), sun6i)
+EARLY_PRINTK_INC := 8250
+EARLY_UART_BASE_ADDRESS := 0x01c28000
+EARLY_UART_REG_SHIFT := 2
+endif
+ifeq ($(CONFIG_EARLY_PRINTK), sun7i)
+EARLY_PRINTK_INC := 8250
+EARLY_UART_BASE_ADDRESS := 0x01c28000
+EARLY_UART_REG_SHIFT := 2
+endif
 
 ifneq ($(EARLY_PRINTK_INC),)
 EARLY_PRINTK := y
@@ -72,4 +87,5 @@ CFLAGS-$(EARLY_PRINTK_INIT_UART) += -DEARLY_PRINTK_INIT_UART
 CFLAGS-$(EARLY_PRINTK) += -DEARLY_PRINTK_INC=\"debug-$(EARLY_PRINTK_INC).inc\"
 CFLAGS-$(EARLY_PRINTK) += -DEARLY_PRINTK_BAUD=$(EARLY_PRINTK_BAUD)
 CFLAGS-$(EARLY_PRINTK) += -DEARLY_UART_BASE_ADDRESS=$(EARLY_UART_BASE_ADDRESS)
+CFLAGS-$(EARLY_PRINTK) += -DEARLY_UART_REG_SHIFT=$(EARLY_UART_REG_SHIFT)
 endif
diff --git a/xen/arch/arm/arm32/debug-8250.inc b/xen/arch/arm/arm32/debug-8250.inc
new file mode 100644
index 0000000..eb25882
--- /dev/null
+++ b/xen/arch/arm/arm32/debug-8250.inc
@@ -0,0 +1,41 @@
+/*
+ * xen/arch/arm/arm32/debug-8250.inc
+ *
+ * 8250 specific debug code
+ *
+ * This program 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.
+ *
+ * This program 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.
+ */
+
+#include <xen/8250-uart.h>
+
+/* 8250 UART wait UART to be ready to transmit
+ * rb: register which contains the UART base address
+ * rc: scratch register */
+.macro early_uart_ready rb rc
+1:
+	ldr	\rc, [\rb, #(UART_LSR << EARLY_UART_REG_SHIFT)] /* Read LSR */
+	tst	\rc, #UART_LSR_THRE     /* Check Xmit holding register flag */
+	beq	1b		           /* Wait for the UART to be ready */
+.endm
+
+/* 8250 UART transmit character
+ * rb: register which contains the UART base address
+ * rt: register which contains the character to transmit */
+.macro early_uart_transmit rb rt
+        str   \rt, [\rb, #UART_THR]      /* Write Transmit buffer */
+.endm
+
+/*
+ * Local variables:
+ * mode: ASM
+ * indent-tabs-mode: nil
+ * End:
+ */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 23 13:22:42 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Aug 2013 13:22:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCrK3-0007XC-Mi; Fri, 23 Aug 2013 13:22:39 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrK2-0007X0-Cx
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:22:38 +0000
Received: from [85.158.139.211:32815] by server-1.bemta-5.messagelabs.com id
	3C/87-26518-D1267125; Fri, 23 Aug 2013 13:22:37 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-206.messagelabs.com!1377264156!4018341!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4415 invoked from network); 23 Aug 2013 13:22:37 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-2.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Aug 2013 13:22:37 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrJz-00086l-Rb
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:22:35 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrJz-0001Ai-QL
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:22:35 +0000
Date: Fri, 23 Aug 2013 13:22:35 +0000
Message-Id: <E1VCrJz-0001Ai-QL@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen: Introduce a helper to read a u32
	property in device tree.
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 282a1c2aba06d1860ed91e4df8dd4c42f1a822e6
Author:     Chen Baozi <baozich@gmail.com>
AuthorDate: Tue Aug 13 19:14:23 2013 +0800
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Aug 22 13:17:29 2013 +0100

    xen: Introduce a helper to read a u32 property in device tree.
    
    Signed-off-by: Chen Baozi <baozich@gmail.com>
    Acked-by: Julien Grall <julien.grall@linaro.org>
---
 xen/common/device_tree.c      |   15 +++++++++++++++
 xen/include/xen/device_tree.h |   11 +++++++++++
 2 files changed, 26 insertions(+), 0 deletions(-)

diff --git a/xen/common/device_tree.c b/xen/common/device_tree.c
index 84d704d..1249985 100644
--- a/xen/common/device_tree.c
+++ b/xen/common/device_tree.c
@@ -574,6 +574,21 @@ const void *dt_get_property(const struct dt_device_node *np,
     return pp ? pp->value : NULL;
 }
 
+bool_t dt_property_read_u32(const struct dt_device_node *np,
+                         const char *name, u32 *out_value)
+{
+    u32 len;
+    const __be32 *val;
+
+    val = dt_get_property(np, name, &len);
+    if ( !val || len < sizeof(*out_value) )
+        return 0;
+
+    *out_value = be32_to_cpup(val);
+
+    return 1;
+}
+
 bool_t dt_device_is_compatible(const struct dt_device_node *device,
                                const char *compat)
 {
diff --git a/xen/include/xen/device_tree.h b/xen/include/xen/device_tree.h
index 5a2a5c6..faf727f 100644
--- a/xen/include/xen/device_tree.h
+++ b/xen/include/xen/device_tree.h
@@ -300,6 +300,17 @@ const void *dt_get_property(const struct dt_device_node *np,
                             const char *name, u32 *lenp);
 
 /**
+ * dt_property_read_u32 - Helper to read a u32 property.
+ * @np: node to get the value
+ * @name: name of the property
+ * @out_value: pointer to return value
+ *
+ * Return true if get the desired value.
+ */
+bool_t dt_property_read_u32(const struct dt_device_node *np,
+                            const char *name, u32 *out_value);
+
+/**
  * Checks if the given "compat" string matches one of the strings in
  * the device's "compatible" property
  */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 23 13:22:42 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Aug 2013 13:22:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCrK3-0007XC-Mi; Fri, 23 Aug 2013 13:22:39 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrK2-0007X0-Cx
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:22:38 +0000
Received: from [85.158.139.211:32815] by server-1.bemta-5.messagelabs.com id
	3C/87-26518-D1267125; Fri, 23 Aug 2013 13:22:37 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-206.messagelabs.com!1377264156!4018341!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4415 invoked from network); 23 Aug 2013 13:22:37 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-2.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Aug 2013 13:22:37 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrJz-00086l-Rb
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:22:35 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrJz-0001Ai-QL
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:22:35 +0000
Date: Fri, 23 Aug 2013 13:22:35 +0000
Message-Id: <E1VCrJz-0001Ai-QL@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen: Introduce a helper to read a u32
	property in device tree.
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 282a1c2aba06d1860ed91e4df8dd4c42f1a822e6
Author:     Chen Baozi <baozich@gmail.com>
AuthorDate: Tue Aug 13 19:14:23 2013 +0800
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Aug 22 13:17:29 2013 +0100

    xen: Introduce a helper to read a u32 property in device tree.
    
    Signed-off-by: Chen Baozi <baozich@gmail.com>
    Acked-by: Julien Grall <julien.grall@linaro.org>
---
 xen/common/device_tree.c      |   15 +++++++++++++++
 xen/include/xen/device_tree.h |   11 +++++++++++
 2 files changed, 26 insertions(+), 0 deletions(-)

diff --git a/xen/common/device_tree.c b/xen/common/device_tree.c
index 84d704d..1249985 100644
--- a/xen/common/device_tree.c
+++ b/xen/common/device_tree.c
@@ -574,6 +574,21 @@ const void *dt_get_property(const struct dt_device_node *np,
     return pp ? pp->value : NULL;
 }
 
+bool_t dt_property_read_u32(const struct dt_device_node *np,
+                         const char *name, u32 *out_value)
+{
+    u32 len;
+    const __be32 *val;
+
+    val = dt_get_property(np, name, &len);
+    if ( !val || len < sizeof(*out_value) )
+        return 0;
+
+    *out_value = be32_to_cpup(val);
+
+    return 1;
+}
+
 bool_t dt_device_is_compatible(const struct dt_device_node *device,
                                const char *compat)
 {
diff --git a/xen/include/xen/device_tree.h b/xen/include/xen/device_tree.h
index 5a2a5c6..faf727f 100644
--- a/xen/include/xen/device_tree.h
+++ b/xen/include/xen/device_tree.h
@@ -300,6 +300,17 @@ const void *dt_get_property(const struct dt_device_node *np,
                             const char *name, u32 *lenp);
 
 /**
+ * dt_property_read_u32 - Helper to read a u32 property.
+ * @np: node to get the value
+ * @name: name of the property
+ * @out_value: pointer to return value
+ *
+ * Return true if get the desired value.
+ */
+bool_t dt_property_read_u32(const struct dt_device_node *np,
+                            const char *name, u32 *out_value);
+
+/**
  * Checks if the given "compat" string matches one of the strings in
  * the device's "compatible" property
  */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 23 13:22:52 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Aug 2013 13:22:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCrKE-0007Yt-Pj; Fri, 23 Aug 2013 13:22:50 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrKD-0007YV-89
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:22:49 +0000
Received: from [85.158.139.211:33638] by server-13.bemta-5.messagelabs.com id
	50/5C-23010-82267125; Fri, 23 Aug 2013 13:22:48 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-206.messagelabs.com!1377264166!4012127!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25183 invoked from network); 23 Aug 2013 13:22:47 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-12.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Aug 2013 13:22:47 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrK9-00086s-VT
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:22:45 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrK9-0001B4-UD
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:22:45 +0000
Date: Fri, 23 Aug 2013 13:22:45 +0000
Message-Id: <E1VCrK9-0001B4-UD@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen/arm: Add the new OMAP UART driver.
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 393cc78449d22299c359c863880170f4cc2e831c
Author:     Chen Baozi <baozich@gmail.com>
AuthorDate: Tue Aug 13 19:14:24 2013 +0800
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Aug 22 13:17:29 2013 +0100

    xen/arm: Add the new OMAP UART driver.
    
    TI OMAP UART introduces some features such as register access modes, which
    makes its configuration and interrupt handling differs from 8250 compatible
    UART. Thus, we seperate this driver from ns16550's implementation.
    
    Signed-off-by: Chen Baozi <baozich@gmail.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 config/arm32.mk              |    1 +
 xen/drivers/char/Makefile    |    1 +
 xen/drivers/char/omap-uart.c |  374 ++++++++++++++++++++++++++++++++++++++++++
 xen/include/xen/8250-uart.h  |   51 ++++++
 4 files changed, 427 insertions(+), 0 deletions(-)

diff --git a/config/arm32.mk b/config/arm32.mk
index 8e21158..76e229d 100644
--- a/config/arm32.mk
+++ b/config/arm32.mk
@@ -11,6 +11,7 @@ CFLAGS += -marm
 
 HAS_PL011 := y
 HAS_EXYNOS4210 := y
+HAS_OMAP := y
 
 # Use only if calling $(LD) directly.
 LDFLAGS_DIRECT += -EL
diff --git a/xen/drivers/char/Makefile b/xen/drivers/char/Makefile
index 37543f0..911b788 100644
--- a/xen/drivers/char/Makefile
+++ b/xen/drivers/char/Makefile
@@ -2,6 +2,7 @@ obj-y += console.o
 obj-$(HAS_NS16550) += ns16550.o
 obj-$(HAS_PL011) += pl011.o
 obj-$(HAS_EXYNOS4210) += exynos4210-uart.o
+obj-$(HAS_OMAP) += omap-uart.o
 obj-$(HAS_EHCI) += ehci-dbgp.o
 obj-$(CONFIG_ARM) += dt-uart.o
 obj-y += serial.o
diff --git a/xen/drivers/char/omap-uart.c b/xen/drivers/char/omap-uart.c
new file mode 100644
index 0000000..91391c8
--- /dev/null
+++ b/xen/drivers/char/omap-uart.c
@@ -0,0 +1,374 @@
+/*
+ * omap-uart.c
+ * Based on drivers/char/ns16550.c
+ *
+ * Driver for OMAP-UART controller
+ *
+ * Copyright (C) 2013, Chen Baozi <baozich@gmail.com>
+ *
+ * Note: This driver is made separate from 16550-series UART driver as
+ * omap platform has some specific configurations
+ */
+
+#include <xen/config.h>
+#include <xen/console.h>
+#include <xen/serial.h>
+#include <xen/init.h>
+#include <xen/irq.h>
+#include <asm/early_printk.h>
+#include <xen/device_tree.h>
+#include <asm/device.h>
+#include <xen/errno.h>
+#include <xen/mm.h>
+#include <xen/vmap.h>
+#include <xen/8250-uart.h>
+
+#define REG_SHIFT 2
+
+#define omap_read(uart, off)       ioreadl((uart)->regs + (off<<REG_SHIFT))
+#define omap_write(uart, off, val) iowritel((uart)->regs + (off<<REG_SHIFT), (val))
+
+static struct omap_uart {
+    u32 baud, clock_hz, data_bits, parity, stop_bits, fifo_size;
+    struct dt_irq irq;
+    char __iomem *regs;
+    struct irqaction irqaction;
+    struct vuart_info vuart;
+} omap_com = {0};
+
+static void omap_uart_interrupt(int irq, void *data, struct cpu_user_regs *regs)
+{
+    struct serial_port *port = data;
+    struct omap_uart *uart = port->uart;
+    u32 lsr;
+    uint32_t reg;
+
+    while ( !(omap_read(uart, UART_IIR) & UART_IIR_NOINT) )
+    {
+        lsr = omap_read(uart, UART_LSR) & 0xff;
+	if ( lsr & UART_LSR_THRE )
+            serial_tx_interrupt(port, regs);
+	if ( lsr & UART_LSR_DR )
+            serial_rx_interrupt(port, regs);
+
+        if ( port->txbufc == port->txbufp ) {
+            reg = omap_read(uart, UART_IER);
+            omap_write(uart, UART_IER, reg & (~UART_IER_ETHREI));
+        }
+    };
+}
+
+static void baud_protocol_setup(struct omap_uart *uart)
+{
+    u32 dll, dlh, efr;
+    unsigned int divisor;
+
+    divisor = uart->clock_hz / (uart->baud << 4);
+    dll = divisor & 0xff;
+    dlh = divisor >> 8;
+
+    /*
+     * Switch to register configuration mode B to access the UART_OMAP_EFR
+     * register.
+     */
+    omap_write(uart, UART_LCR, UART_LCR_CONF_MODE_B);
+    /*
+     * Enable access to the UART_IER[7:4] bit field.
+     */
+    efr = omap_read(uart, UART_OMAP_EFR);
+    omap_write(uart, UART_OMAP_EFR, efr|UART_OMAP_EFR_ECB);
+    /*
+     * Switch to register operation mode to access the UART_IER register.
+     */
+    omap_write(uart, UART_LCR, 0);
+    /*
+     * Clear the UART_IER register (set the UART_IER[4] SLEEP_MODE bit
+     * to 0 to change the UART_DLL and UART_DLM register). Set the
+     * UART_IER register value to 0x0000.
+     */
+    omap_write(uart, UART_IER, 0);
+    /*
+     * Switch to register configuartion mode B to access the UART_DLL and
+     * UART_DLM registers.
+     */
+    omap_write(uart, UART_LCR, UART_LCR_CONF_MODE_B);
+    /*
+     * Load divisor value.
+     */
+    omap_write(uart, UART_DLL, dll);
+    omap_write(uart, UART_DLM, dlh);
+    /*
+     * Restore the UART_OMAP_EFR
+     */
+    omap_write(uart, UART_OMAP_EFR, efr);
+    /*
+     * Load the new protocol formatting (parity, stop-bit, character length)
+     * and switch to register operational mode.
+     */
+    omap_write(uart, UART_LCR, (uart->data_bits - 5) |
+               ((uart->stop_bits - 1) << 2) | uart->parity);
+}
+
+static void fifo_setup(struct omap_uart *uart)
+{
+    u32 lcr, efr, mcr;
+    /*
+     * Switch to register configuration mode B to access the UART_OMAP_EFR
+     * register.
+     */
+    lcr = omap_read(uart, UART_LCR);
+    omap_write(uart, UART_LCR, UART_LCR_CONF_MODE_B);
+    /*
+     * Enable register submode TCR_TLR to access the UART_OMAP_TLR register.
+     */
+    efr = omap_read(uart, UART_OMAP_EFR);
+    omap_write(uart, UART_OMAP_EFR, efr|UART_OMAP_EFR_ECB);
+    /*
+     * Switch to register configuration mode A to access the UART_MCR
+     * register.
+     */
+    omap_write(uart, UART_LCR, UART_LCR_CONF_MODE_A);
+    /*
+     * Enable register submode TCR_TLR to access the UART_OMAP_TLR register
+     */
+    mcr = omap_read(uart, UART_MCR);
+    omap_write(uart, UART_MCR, mcr|UART_MCR_TCRTLR);
+    /*
+     * Enable the FIFO; load the new FIFO trigger and the new DMA mode.
+     */
+    omap_write(uart, UART_FCR, UART_FCR_R_TRIG_01|
+               UART_FCR_T_TRIG_10|UART_FCR_ENABLE);
+    /*
+     * Switch to register configuration mode B to access the UART_EFR
+     * register.
+     */
+    omap_write(uart, UART_LCR, UART_LCR_CONF_MODE_B);
+    /*
+     * Load the new FIFO triggers and the new DMA mode bit.
+     */
+    omap_write(uart, UART_OMAP_SCR, OMAP_UART_SCR_RX_TRIG_GRANU1_MASK);
+    /*
+     * Restore the UART_OMAP_EFR[4] value.
+     */
+    omap_write(uart, UART_OMAP_EFR, efr);
+    /*
+     * Switch to register configuration mode A to access the UART_MCR
+     * register.
+     */
+    omap_write(uart, UART_LCR, UART_LCR_CONF_MODE_A);
+    /*
+     * Restore UART_MCR[6] value.
+     */
+    omap_write(uart, UART_MCR, mcr);
+    /*
+     * Restore UART_LCR value.
+     */
+    omap_write(uart, UART_LCR, lcr);
+
+    uart->fifo_size = 64;
+}
+
+static void __init omap_uart_init_preirq(struct serial_port *port)
+{
+    struct omap_uart *uart = port->uart;
+
+    /*
+     * Clear the FIFO buffers.
+     */
+    omap_write(uart, UART_FCR, UART_FCR_ENABLE);
+    omap_write(uart, UART_FCR, UART_FCR_ENABLE|UART_FCR_CLRX|UART_FCR_CLTX);
+    omap_write(uart, UART_FCR, 0);
+
+    /*
+     * The TRM says the mode should be disabled while UART_DLL and UART_DHL
+     * are being changed so we disable before setup, then enable.
+     */
+    omap_write(uart, UART_OMAP_MDR1, UART_OMAP_MDR1_DISABLE);
+
+    /* Baud rate & protocol format setup */
+    baud_protocol_setup(uart);
+
+    /* FIFO setup */
+    fifo_setup(uart);
+
+    /* No flow control */
+    omap_write(uart, UART_MCR, UART_MCR_DTR|UART_MCR_RTS);
+
+    omap_write(uart, UART_OMAP_MDR1, UART_OMAP_MDR1_16X_MODE);
+}
+
+static void __init omap_uart_init_postirq(struct serial_port *port)
+{
+    struct omap_uart *uart = port->uart;
+
+    uart->irqaction.handler = omap_uart_interrupt;
+    uart->irqaction.name = "omap_uart";
+    uart->irqaction.dev_id = port;
+
+    if ( setup_dt_irq(&uart->irq, &uart->irqaction) != 0 )
+    {
+        dprintk(XENLOG_ERR, "Failed to allocated omap_uart IRQ %d\n",
+                uart->irq.irq);
+        return;
+    }
+
+    /* Enable interrupts */
+    omap_write(uart, UART_IER, UART_IER_ERDAI|UART_IER_ETHREI|UART_IER_ELSI);
+}
+
+static void omap_uart_suspend(struct serial_port *port)
+{
+    BUG();
+}
+
+static void omap_uart_resume(struct serial_port *port)
+{
+    BUG();
+}
+
+static unsigned int omap_uart_tx_ready(struct serial_port *port)
+{
+    struct omap_uart *uart = port->uart;
+    uint32_t reg;
+
+    reg = omap_read(uart, UART_IER);
+    omap_write(uart, UART_IER, reg | UART_IER_ETHREI);
+
+    return omap_read(uart, UART_LSR) & UART_LSR_THRE ? uart->fifo_size : 0;
+}
+
+static void omap_uart_putc(struct serial_port *port, char c)
+{
+    struct omap_uart *uart = port->uart;
+
+    omap_write(uart, UART_THR, (uint32_t)(unsigned char)c);
+}
+
+static int omap_uart_getc(struct serial_port *port, char *pc)
+{
+    struct omap_uart *uart = port->uart;
+
+    if ( !(omap_read(uart, UART_LSR) & UART_LSR_DR) )
+	return 0;
+
+    *pc = omap_read(uart, UART_RBR) & 0xff;
+    return 1;
+}
+
+static int __init omap_uart_irq(struct serial_port *port)
+{
+    struct omap_uart *uart = port->uart;
+
+    return ((uart->irq.irq > 0) ? uart->irq.irq : -1);
+}
+
+static const struct dt_irq __init *omap_uart_dt_irq(struct serial_port *port)
+{
+    struct omap_uart *uart = port->uart;
+
+    return &uart->irq;
+}
+
+static const struct vuart_info *omap_vuart_info(struct serial_port *port)
+{
+    struct omap_uart *uart = port->uart;
+
+    return &uart->vuart;
+}
+
+static struct uart_driver __read_mostly omap_uart_driver = {
+    .init_preirq = omap_uart_init_preirq,
+    .init_postirq = omap_uart_init_postirq,
+    .endboot = NULL,
+    .suspend = omap_uart_suspend,
+    .resume = omap_uart_resume,
+    .tx_ready = omap_uart_tx_ready,
+    .putc = omap_uart_putc,
+    .getc = omap_uart_getc,
+    .irq = omap_uart_irq,
+    .dt_irq_get = omap_uart_dt_irq,
+    .vuart_info = omap_vuart_info,
+};
+
+static int __init omap_uart_init(struct dt_device_node *dev,
+                                 const void *data)
+{
+    const char *config = data;
+    struct omap_uart *uart;
+    u32 clkspec;
+    int res;
+    u64 addr, size;
+
+    if ( strcmp(config, "") )
+        early_printk("WARNING: UART configuration is not supported\n");
+
+    uart = &omap_com;
+
+    res = dt_property_read_u32(dev, "clock-frequency", &clkspec);
+    if ( !res )
+    {
+        early_printk("omap-uart: Unable to retrieve the clock frequency\n");
+        return -EINVAL;
+    }
+
+    uart->clock_hz = clkspec;
+    uart->baud = 115200;
+    uart->data_bits = 8;
+    uart->parity = UART_PARITY_NONE;
+    uart->stop_bits = 1;
+
+    res = dt_device_get_address(dev, 0, &addr, &size);
+    if ( res )
+    {
+        early_printk("omap-uart: Unable to retrieve the base"
+                     " address of the UART\n");
+        return res;
+    }
+
+    uart->regs = ioremap_attr(addr, size, PAGE_HYPERVISOR_NOCACHE);
+    if ( !uart->regs )
+    {
+        early_printk("omap-uart: Unable to map the UART memory\n");
+        return -ENOMEM;
+    }
+
+    res = dt_device_get_irq(dev, 0, &uart->irq);
+    if ( res )
+    {
+        early_printk("omap-uart: Unable to retrieve the IRQ\n");
+        return res;
+    }
+
+    uart->vuart.base_addr = addr;
+    uart->vuart.size = size;
+    uart->vuart.data_off = UART_THR;
+    uart->vuart.status_off = UART_LSR << REG_SHIFT;
+    uart->vuart.status = UART_LSR_THRE;
+
+    /* Register with generic serial driver */
+    serial_register_uart(SERHND_DTUART, &omap_uart_driver, uart);
+
+    dt_device_set_used_by(dev, DOMID_XEN);
+
+    return 0;
+}
+
+static const char * const omap_uart_dt_compat[] __initdata =
+{
+    "ti,omap4-uart",
+    NULL
+};
+
+DT_DEVICE_START(omap_uart, "OMAP UART", DEVICE_SERIAL)
+    .compatible = omap_uart_dt_compat,
+    .init = omap_uart_init,
+DT_DEVICE_END
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/include/xen/8250-uart.h b/xen/include/xen/8250-uart.h
index 7287364..8693d15 100644
--- a/xen/include/xen/8250-uart.h
+++ b/xen/include/xen/8250-uart.h
@@ -59,14 +59,45 @@
 #define UART_FCR_TRG8     0x80    /* Rx FIFO trig lev 8   */
 #define UART_FCR_TRG14    0xc0    /* Rx FIFO trig lev 14  */
 
+/*
+ * Note: The FIFO trigger levels are chip specific:
+ *	RX:76 = 00  01  10  11	TX:54 = 00  01  10  11
+ * PC16550D:	 1   4   8  14		xx  xx  xx  xx
+ * TI16C550A:	 1   4   8  14          xx  xx  xx  xx
+ * TI16C550C:	 1   4   8  14          xx  xx  xx  xx
+ * ST16C550:	 1   4   8  14		xx  xx  xx  xx
+ * ST16C650:	 8  16  24  28		16   8  24  30	PORT_16650V2
+ * NS16C552:	 1   4   8  14		xx  xx  xx  xx
+ * ST16C654:	 8  16  56  60		 8  16  32  56	PORT_16654
+ * TI16C750:	 1  16  32  56		xx  xx  xx  xx	PORT_16750
+ * TI16C752:	 8  16  56  60		 8  16  32  56
+ * Tegra:	 1   4   8  14		16   8   4   1	PORT_TEGRA
+ */
+#define UART_FCR_R_TRIG_00 0x00
+#define UART_FCR_R_TRIG_01 0x40
+#define UART_FCR_R_TRIG_10 0x80
+#define UART_FCR_R_TRIG_11 0xc0
+#define UART_FCR_T_TRIG_00 0x00
+#define UART_FCR_T_TRIG_01 0x10
+#define UART_FCR_T_TRIG_10 0x20
+#define UART_FCR_T_TRIG_11 0x30
+
 /* Line Control Register */
 #define UART_LCR_DLAB     0x80    /* Divisor Latch Access */
 
+/*
+ * Access to some registers depends on register access / configuration
+ * mode.
+ */
+#define UART_LCR_CONF_MODE_A	UART_LCR_DLAB	/* Configuration mode A */
+#define UART_LCR_CONF_MODE_B	0xBF		/* Configuration mode B */
+
 /* Modem Control Register */
 #define UART_MCR_DTR      0x01    /* Data Terminal Ready  */
 #define UART_MCR_RTS      0x02    /* Request to Send      */
 #define UART_MCR_OUT2     0x08    /* OUT2: interrupt mask */
 #define UART_MCR_LOOP     0x10    /* Enable loopback test mode */
+#define UART_MCR_TCRTLR   0x40    /* Access TCR/TLR (TI16C752, EFR[4]=1) */
 
 /* Line Status Register */
 #define UART_LSR_DR       0x01    /* Data ready           */
@@ -92,6 +123,26 @@
 #define RESUME_DELAY      MILLISECS(10)
 #define RESUME_RETRIES    100
 
+/* Enhanced feature register */
+#define UART_OMAP_EFR     0x02
+
+#define UART_OMAP_EFR_ECB 0x10 /* Enhanced control bit */
+
+/* Mode definition register 1 */
+#define UART_OMAP_MDR1    0x08
+
+/*
+ * These are the definitions for the MDR1 register
+ */
+#define UART_OMAP_MDR1_16X_MODE 0x00 /* UART 16x mode           */
+#define UART_OMAP_MDR1_DISABLE  0x07 /* Disable (default state) */
+
+/* Supplementary control register */
+#define UART_OMAP_SCR     0x10
+
+/* SCR register bitmasks */
+#define OMAP_UART_SCR_RX_TRIG_GRANU1_MASK (1 << 7)
+
 #endif /* __XEN_8250_UART_H__ */
 
 /*
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 23 13:22:52 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Aug 2013 13:22:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCrKE-0007Yt-Pj; Fri, 23 Aug 2013 13:22:50 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrKD-0007YV-89
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:22:49 +0000
Received: from [85.158.139.211:33638] by server-13.bemta-5.messagelabs.com id
	50/5C-23010-82267125; Fri, 23 Aug 2013 13:22:48 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-206.messagelabs.com!1377264166!4012127!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 25183 invoked from network); 23 Aug 2013 13:22:47 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-12.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Aug 2013 13:22:47 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrK9-00086s-VT
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:22:45 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrK9-0001B4-UD
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:22:45 +0000
Date: Fri, 23 Aug 2013 13:22:45 +0000
Message-Id: <E1VCrK9-0001B4-UD@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen/arm: Add the new OMAP UART driver.
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 393cc78449d22299c359c863880170f4cc2e831c
Author:     Chen Baozi <baozich@gmail.com>
AuthorDate: Tue Aug 13 19:14:24 2013 +0800
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Aug 22 13:17:29 2013 +0100

    xen/arm: Add the new OMAP UART driver.
    
    TI OMAP UART introduces some features such as register access modes, which
    makes its configuration and interrupt handling differs from 8250 compatible
    UART. Thus, we seperate this driver from ns16550's implementation.
    
    Signed-off-by: Chen Baozi <baozich@gmail.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 config/arm32.mk              |    1 +
 xen/drivers/char/Makefile    |    1 +
 xen/drivers/char/omap-uart.c |  374 ++++++++++++++++++++++++++++++++++++++++++
 xen/include/xen/8250-uart.h  |   51 ++++++
 4 files changed, 427 insertions(+), 0 deletions(-)

diff --git a/config/arm32.mk b/config/arm32.mk
index 8e21158..76e229d 100644
--- a/config/arm32.mk
+++ b/config/arm32.mk
@@ -11,6 +11,7 @@ CFLAGS += -marm
 
 HAS_PL011 := y
 HAS_EXYNOS4210 := y
+HAS_OMAP := y
 
 # Use only if calling $(LD) directly.
 LDFLAGS_DIRECT += -EL
diff --git a/xen/drivers/char/Makefile b/xen/drivers/char/Makefile
index 37543f0..911b788 100644
--- a/xen/drivers/char/Makefile
+++ b/xen/drivers/char/Makefile
@@ -2,6 +2,7 @@ obj-y += console.o
 obj-$(HAS_NS16550) += ns16550.o
 obj-$(HAS_PL011) += pl011.o
 obj-$(HAS_EXYNOS4210) += exynos4210-uart.o
+obj-$(HAS_OMAP) += omap-uart.o
 obj-$(HAS_EHCI) += ehci-dbgp.o
 obj-$(CONFIG_ARM) += dt-uart.o
 obj-y += serial.o
diff --git a/xen/drivers/char/omap-uart.c b/xen/drivers/char/omap-uart.c
new file mode 100644
index 0000000..91391c8
--- /dev/null
+++ b/xen/drivers/char/omap-uart.c
@@ -0,0 +1,374 @@
+/*
+ * omap-uart.c
+ * Based on drivers/char/ns16550.c
+ *
+ * Driver for OMAP-UART controller
+ *
+ * Copyright (C) 2013, Chen Baozi <baozich@gmail.com>
+ *
+ * Note: This driver is made separate from 16550-series UART driver as
+ * omap platform has some specific configurations
+ */
+
+#include <xen/config.h>
+#include <xen/console.h>
+#include <xen/serial.h>
+#include <xen/init.h>
+#include <xen/irq.h>
+#include <asm/early_printk.h>
+#include <xen/device_tree.h>
+#include <asm/device.h>
+#include <xen/errno.h>
+#include <xen/mm.h>
+#include <xen/vmap.h>
+#include <xen/8250-uart.h>
+
+#define REG_SHIFT 2
+
+#define omap_read(uart, off)       ioreadl((uart)->regs + (off<<REG_SHIFT))
+#define omap_write(uart, off, val) iowritel((uart)->regs + (off<<REG_SHIFT), (val))
+
+static struct omap_uart {
+    u32 baud, clock_hz, data_bits, parity, stop_bits, fifo_size;
+    struct dt_irq irq;
+    char __iomem *regs;
+    struct irqaction irqaction;
+    struct vuart_info vuart;
+} omap_com = {0};
+
+static void omap_uart_interrupt(int irq, void *data, struct cpu_user_regs *regs)
+{
+    struct serial_port *port = data;
+    struct omap_uart *uart = port->uart;
+    u32 lsr;
+    uint32_t reg;
+
+    while ( !(omap_read(uart, UART_IIR) & UART_IIR_NOINT) )
+    {
+        lsr = omap_read(uart, UART_LSR) & 0xff;
+	if ( lsr & UART_LSR_THRE )
+            serial_tx_interrupt(port, regs);
+	if ( lsr & UART_LSR_DR )
+            serial_rx_interrupt(port, regs);
+
+        if ( port->txbufc == port->txbufp ) {
+            reg = omap_read(uart, UART_IER);
+            omap_write(uart, UART_IER, reg & (~UART_IER_ETHREI));
+        }
+    };
+}
+
+static void baud_protocol_setup(struct omap_uart *uart)
+{
+    u32 dll, dlh, efr;
+    unsigned int divisor;
+
+    divisor = uart->clock_hz / (uart->baud << 4);
+    dll = divisor & 0xff;
+    dlh = divisor >> 8;
+
+    /*
+     * Switch to register configuration mode B to access the UART_OMAP_EFR
+     * register.
+     */
+    omap_write(uart, UART_LCR, UART_LCR_CONF_MODE_B);
+    /*
+     * Enable access to the UART_IER[7:4] bit field.
+     */
+    efr = omap_read(uart, UART_OMAP_EFR);
+    omap_write(uart, UART_OMAP_EFR, efr|UART_OMAP_EFR_ECB);
+    /*
+     * Switch to register operation mode to access the UART_IER register.
+     */
+    omap_write(uart, UART_LCR, 0);
+    /*
+     * Clear the UART_IER register (set the UART_IER[4] SLEEP_MODE bit
+     * to 0 to change the UART_DLL and UART_DLM register). Set the
+     * UART_IER register value to 0x0000.
+     */
+    omap_write(uart, UART_IER, 0);
+    /*
+     * Switch to register configuartion mode B to access the UART_DLL and
+     * UART_DLM registers.
+     */
+    omap_write(uart, UART_LCR, UART_LCR_CONF_MODE_B);
+    /*
+     * Load divisor value.
+     */
+    omap_write(uart, UART_DLL, dll);
+    omap_write(uart, UART_DLM, dlh);
+    /*
+     * Restore the UART_OMAP_EFR
+     */
+    omap_write(uart, UART_OMAP_EFR, efr);
+    /*
+     * Load the new protocol formatting (parity, stop-bit, character length)
+     * and switch to register operational mode.
+     */
+    omap_write(uart, UART_LCR, (uart->data_bits - 5) |
+               ((uart->stop_bits - 1) << 2) | uart->parity);
+}
+
+static void fifo_setup(struct omap_uart *uart)
+{
+    u32 lcr, efr, mcr;
+    /*
+     * Switch to register configuration mode B to access the UART_OMAP_EFR
+     * register.
+     */
+    lcr = omap_read(uart, UART_LCR);
+    omap_write(uart, UART_LCR, UART_LCR_CONF_MODE_B);
+    /*
+     * Enable register submode TCR_TLR to access the UART_OMAP_TLR register.
+     */
+    efr = omap_read(uart, UART_OMAP_EFR);
+    omap_write(uart, UART_OMAP_EFR, efr|UART_OMAP_EFR_ECB);
+    /*
+     * Switch to register configuration mode A to access the UART_MCR
+     * register.
+     */
+    omap_write(uart, UART_LCR, UART_LCR_CONF_MODE_A);
+    /*
+     * Enable register submode TCR_TLR to access the UART_OMAP_TLR register
+     */
+    mcr = omap_read(uart, UART_MCR);
+    omap_write(uart, UART_MCR, mcr|UART_MCR_TCRTLR);
+    /*
+     * Enable the FIFO; load the new FIFO trigger and the new DMA mode.
+     */
+    omap_write(uart, UART_FCR, UART_FCR_R_TRIG_01|
+               UART_FCR_T_TRIG_10|UART_FCR_ENABLE);
+    /*
+     * Switch to register configuration mode B to access the UART_EFR
+     * register.
+     */
+    omap_write(uart, UART_LCR, UART_LCR_CONF_MODE_B);
+    /*
+     * Load the new FIFO triggers and the new DMA mode bit.
+     */
+    omap_write(uart, UART_OMAP_SCR, OMAP_UART_SCR_RX_TRIG_GRANU1_MASK);
+    /*
+     * Restore the UART_OMAP_EFR[4] value.
+     */
+    omap_write(uart, UART_OMAP_EFR, efr);
+    /*
+     * Switch to register configuration mode A to access the UART_MCR
+     * register.
+     */
+    omap_write(uart, UART_LCR, UART_LCR_CONF_MODE_A);
+    /*
+     * Restore UART_MCR[6] value.
+     */
+    omap_write(uart, UART_MCR, mcr);
+    /*
+     * Restore UART_LCR value.
+     */
+    omap_write(uart, UART_LCR, lcr);
+
+    uart->fifo_size = 64;
+}
+
+static void __init omap_uart_init_preirq(struct serial_port *port)
+{
+    struct omap_uart *uart = port->uart;
+
+    /*
+     * Clear the FIFO buffers.
+     */
+    omap_write(uart, UART_FCR, UART_FCR_ENABLE);
+    omap_write(uart, UART_FCR, UART_FCR_ENABLE|UART_FCR_CLRX|UART_FCR_CLTX);
+    omap_write(uart, UART_FCR, 0);
+
+    /*
+     * The TRM says the mode should be disabled while UART_DLL and UART_DHL
+     * are being changed so we disable before setup, then enable.
+     */
+    omap_write(uart, UART_OMAP_MDR1, UART_OMAP_MDR1_DISABLE);
+
+    /* Baud rate & protocol format setup */
+    baud_protocol_setup(uart);
+
+    /* FIFO setup */
+    fifo_setup(uart);
+
+    /* No flow control */
+    omap_write(uart, UART_MCR, UART_MCR_DTR|UART_MCR_RTS);
+
+    omap_write(uart, UART_OMAP_MDR1, UART_OMAP_MDR1_16X_MODE);
+}
+
+static void __init omap_uart_init_postirq(struct serial_port *port)
+{
+    struct omap_uart *uart = port->uart;
+
+    uart->irqaction.handler = omap_uart_interrupt;
+    uart->irqaction.name = "omap_uart";
+    uart->irqaction.dev_id = port;
+
+    if ( setup_dt_irq(&uart->irq, &uart->irqaction) != 0 )
+    {
+        dprintk(XENLOG_ERR, "Failed to allocated omap_uart IRQ %d\n",
+                uart->irq.irq);
+        return;
+    }
+
+    /* Enable interrupts */
+    omap_write(uart, UART_IER, UART_IER_ERDAI|UART_IER_ETHREI|UART_IER_ELSI);
+}
+
+static void omap_uart_suspend(struct serial_port *port)
+{
+    BUG();
+}
+
+static void omap_uart_resume(struct serial_port *port)
+{
+    BUG();
+}
+
+static unsigned int omap_uart_tx_ready(struct serial_port *port)
+{
+    struct omap_uart *uart = port->uart;
+    uint32_t reg;
+
+    reg = omap_read(uart, UART_IER);
+    omap_write(uart, UART_IER, reg | UART_IER_ETHREI);
+
+    return omap_read(uart, UART_LSR) & UART_LSR_THRE ? uart->fifo_size : 0;
+}
+
+static void omap_uart_putc(struct serial_port *port, char c)
+{
+    struct omap_uart *uart = port->uart;
+
+    omap_write(uart, UART_THR, (uint32_t)(unsigned char)c);
+}
+
+static int omap_uart_getc(struct serial_port *port, char *pc)
+{
+    struct omap_uart *uart = port->uart;
+
+    if ( !(omap_read(uart, UART_LSR) & UART_LSR_DR) )
+	return 0;
+
+    *pc = omap_read(uart, UART_RBR) & 0xff;
+    return 1;
+}
+
+static int __init omap_uart_irq(struct serial_port *port)
+{
+    struct omap_uart *uart = port->uart;
+
+    return ((uart->irq.irq > 0) ? uart->irq.irq : -1);
+}
+
+static const struct dt_irq __init *omap_uart_dt_irq(struct serial_port *port)
+{
+    struct omap_uart *uart = port->uart;
+
+    return &uart->irq;
+}
+
+static const struct vuart_info *omap_vuart_info(struct serial_port *port)
+{
+    struct omap_uart *uart = port->uart;
+
+    return &uart->vuart;
+}
+
+static struct uart_driver __read_mostly omap_uart_driver = {
+    .init_preirq = omap_uart_init_preirq,
+    .init_postirq = omap_uart_init_postirq,
+    .endboot = NULL,
+    .suspend = omap_uart_suspend,
+    .resume = omap_uart_resume,
+    .tx_ready = omap_uart_tx_ready,
+    .putc = omap_uart_putc,
+    .getc = omap_uart_getc,
+    .irq = omap_uart_irq,
+    .dt_irq_get = omap_uart_dt_irq,
+    .vuart_info = omap_vuart_info,
+};
+
+static int __init omap_uart_init(struct dt_device_node *dev,
+                                 const void *data)
+{
+    const char *config = data;
+    struct omap_uart *uart;
+    u32 clkspec;
+    int res;
+    u64 addr, size;
+
+    if ( strcmp(config, "") )
+        early_printk("WARNING: UART configuration is not supported\n");
+
+    uart = &omap_com;
+
+    res = dt_property_read_u32(dev, "clock-frequency", &clkspec);
+    if ( !res )
+    {
+        early_printk("omap-uart: Unable to retrieve the clock frequency\n");
+        return -EINVAL;
+    }
+
+    uart->clock_hz = clkspec;
+    uart->baud = 115200;
+    uart->data_bits = 8;
+    uart->parity = UART_PARITY_NONE;
+    uart->stop_bits = 1;
+
+    res = dt_device_get_address(dev, 0, &addr, &size);
+    if ( res )
+    {
+        early_printk("omap-uart: Unable to retrieve the base"
+                     " address of the UART\n");
+        return res;
+    }
+
+    uart->regs = ioremap_attr(addr, size, PAGE_HYPERVISOR_NOCACHE);
+    if ( !uart->regs )
+    {
+        early_printk("omap-uart: Unable to map the UART memory\n");
+        return -ENOMEM;
+    }
+
+    res = dt_device_get_irq(dev, 0, &uart->irq);
+    if ( res )
+    {
+        early_printk("omap-uart: Unable to retrieve the IRQ\n");
+        return res;
+    }
+
+    uart->vuart.base_addr = addr;
+    uart->vuart.size = size;
+    uart->vuart.data_off = UART_THR;
+    uart->vuart.status_off = UART_LSR << REG_SHIFT;
+    uart->vuart.status = UART_LSR_THRE;
+
+    /* Register with generic serial driver */
+    serial_register_uart(SERHND_DTUART, &omap_uart_driver, uart);
+
+    dt_device_set_used_by(dev, DOMID_XEN);
+
+    return 0;
+}
+
+static const char * const omap_uart_dt_compat[] __initdata =
+{
+    "ti,omap4-uart",
+    NULL
+};
+
+DT_DEVICE_START(omap_uart, "OMAP UART", DEVICE_SERIAL)
+    .compatible = omap_uart_dt_compat,
+    .init = omap_uart_init,
+DT_DEVICE_END
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/include/xen/8250-uart.h b/xen/include/xen/8250-uart.h
index 7287364..8693d15 100644
--- a/xen/include/xen/8250-uart.h
+++ b/xen/include/xen/8250-uart.h
@@ -59,14 +59,45 @@
 #define UART_FCR_TRG8     0x80    /* Rx FIFO trig lev 8   */
 #define UART_FCR_TRG14    0xc0    /* Rx FIFO trig lev 14  */
 
+/*
+ * Note: The FIFO trigger levels are chip specific:
+ *	RX:76 = 00  01  10  11	TX:54 = 00  01  10  11
+ * PC16550D:	 1   4   8  14		xx  xx  xx  xx
+ * TI16C550A:	 1   4   8  14          xx  xx  xx  xx
+ * TI16C550C:	 1   4   8  14          xx  xx  xx  xx
+ * ST16C550:	 1   4   8  14		xx  xx  xx  xx
+ * ST16C650:	 8  16  24  28		16   8  24  30	PORT_16650V2
+ * NS16C552:	 1   4   8  14		xx  xx  xx  xx
+ * ST16C654:	 8  16  56  60		 8  16  32  56	PORT_16654
+ * TI16C750:	 1  16  32  56		xx  xx  xx  xx	PORT_16750
+ * TI16C752:	 8  16  56  60		 8  16  32  56
+ * Tegra:	 1   4   8  14		16   8   4   1	PORT_TEGRA
+ */
+#define UART_FCR_R_TRIG_00 0x00
+#define UART_FCR_R_TRIG_01 0x40
+#define UART_FCR_R_TRIG_10 0x80
+#define UART_FCR_R_TRIG_11 0xc0
+#define UART_FCR_T_TRIG_00 0x00
+#define UART_FCR_T_TRIG_01 0x10
+#define UART_FCR_T_TRIG_10 0x20
+#define UART_FCR_T_TRIG_11 0x30
+
 /* Line Control Register */
 #define UART_LCR_DLAB     0x80    /* Divisor Latch Access */
 
+/*
+ * Access to some registers depends on register access / configuration
+ * mode.
+ */
+#define UART_LCR_CONF_MODE_A	UART_LCR_DLAB	/* Configuration mode A */
+#define UART_LCR_CONF_MODE_B	0xBF		/* Configuration mode B */
+
 /* Modem Control Register */
 #define UART_MCR_DTR      0x01    /* Data Terminal Ready  */
 #define UART_MCR_RTS      0x02    /* Request to Send      */
 #define UART_MCR_OUT2     0x08    /* OUT2: interrupt mask */
 #define UART_MCR_LOOP     0x10    /* Enable loopback test mode */
+#define UART_MCR_TCRTLR   0x40    /* Access TCR/TLR (TI16C752, EFR[4]=1) */
 
 /* Line Status Register */
 #define UART_LSR_DR       0x01    /* Data ready           */
@@ -92,6 +123,26 @@
 #define RESUME_DELAY      MILLISECS(10)
 #define RESUME_RETRIES    100
 
+/* Enhanced feature register */
+#define UART_OMAP_EFR     0x02
+
+#define UART_OMAP_EFR_ECB 0x10 /* Enhanced control bit */
+
+/* Mode definition register 1 */
+#define UART_OMAP_MDR1    0x08
+
+/*
+ * These are the definitions for the MDR1 register
+ */
+#define UART_OMAP_MDR1_16X_MODE 0x00 /* UART 16x mode           */
+#define UART_OMAP_MDR1_DISABLE  0x07 /* Disable (default state) */
+
+/* Supplementary control register */
+#define UART_OMAP_SCR     0x10
+
+/* SCR register bitmasks */
+#define OMAP_UART_SCR_RX_TRIG_GRANU1_MASK (1 << 7)
+
 #endif /* __XEN_8250_UART_H__ */
 
 /*
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 23 13:23:01 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Aug 2013 13:23:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCrKN-0007ac-Ur; Fri, 23 Aug 2013 13:22:59 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrKM-0007aK-IJ
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:22:58 +0000
Received: from [193.109.254.147:59005] by server-2.bemta-14.messagelabs.com id
	8B/5E-18933-13267125; Fri, 23 Aug 2013 13:22:57 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1377264176!5555696!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8099 invoked from network); 23 Aug 2013 13:22:57 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-12.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Aug 2013 13:22:57 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrKK-000873-4e
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:22:56 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrKK-0001BR-2W
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:22:56 +0000
Date: Fri, 23 Aug 2013 13:22:56 +0000
Message-Id: <E1VCrKK-0001BR-2W@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen/arm: Add support for device tree
	specified arch_timer clock frequency.
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 5f99725ce1f53c21aec71cb4de7f387136279857
Author:     Chen Baozi <baozich@gmail.com>
AuthorDate: Tue Aug 13 19:14:25 2013 +0800
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Aug 22 13:17:41 2013 +0100

    xen/arm: Add support for device tree specified arch_timer clock frequency.
    
    Signed-off-by: Chen Baozi <baozich@gmail.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 xen/arch/arm/time.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/xen/arch/arm/time.c b/xen/arch/arm/time.c
index b5864ef..9c176cd 100644
--- a/xen/arch/arm/time.c
+++ b/xen/arch/arm/time.c
@@ -104,6 +104,7 @@ int __init init_xen_time(void)
     struct dt_device_node *dev;
     int res;
     unsigned int i;
+    u32 rate;
 
     dev = dt_find_compatible_node(NULL, NULL, "arm,armv7-timer");
     if ( !dev )
@@ -134,7 +135,11 @@ int __init init_xen_time(void)
     if ( !cpu_has_gentimer )
         panic("CPU does not support the Generic Timer v1 interface.\n");
 
-    cpu_khz = READ_SYSREG32(CNTFRQ_EL0) / 1000;
+    res = dt_property_read_u32(dev, "clock-frequency", &rate);
+    if ( res )
+        cpu_khz = rate / 1000;
+    else
+        cpu_khz = READ_SYSREG32(CNTFRQ_EL0) / 1000;
 
     boot_count = READ_SYSREG64(CNTPCT_EL0);
     printk("Using generic timer at %lu KHz\n", cpu_khz);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 23 13:23:01 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Aug 2013 13:23:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCrKN-0007ac-Ur; Fri, 23 Aug 2013 13:22:59 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrKM-0007aK-IJ
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:22:58 +0000
Received: from [193.109.254.147:59005] by server-2.bemta-14.messagelabs.com id
	8B/5E-18933-13267125; Fri, 23 Aug 2013 13:22:57 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-27.messagelabs.com!1377264176!5555696!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8099 invoked from network); 23 Aug 2013 13:22:57 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-12.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Aug 2013 13:22:57 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrKK-000873-4e
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:22:56 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrKK-0001BR-2W
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:22:56 +0000
Date: Fri, 23 Aug 2013 13:22:56 +0000
Message-Id: <E1VCrKK-0001BR-2W@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen/arm: Add support for device tree
	specified arch_timer clock frequency.
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 5f99725ce1f53c21aec71cb4de7f387136279857
Author:     Chen Baozi <baozich@gmail.com>
AuthorDate: Tue Aug 13 19:14:25 2013 +0800
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Aug 22 13:17:41 2013 +0100

    xen/arm: Add support for device tree specified arch_timer clock frequency.
    
    Signed-off-by: Chen Baozi <baozich@gmail.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 xen/arch/arm/time.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/xen/arch/arm/time.c b/xen/arch/arm/time.c
index b5864ef..9c176cd 100644
--- a/xen/arch/arm/time.c
+++ b/xen/arch/arm/time.c
@@ -104,6 +104,7 @@ int __init init_xen_time(void)
     struct dt_device_node *dev;
     int res;
     unsigned int i;
+    u32 rate;
 
     dev = dt_find_compatible_node(NULL, NULL, "arm,armv7-timer");
     if ( !dev )
@@ -134,7 +135,11 @@ int __init init_xen_time(void)
     if ( !cpu_has_gentimer )
         panic("CPU does not support the Generic Timer v1 interface.\n");
 
-    cpu_khz = READ_SYSREG32(CNTFRQ_EL0) / 1000;
+    res = dt_property_read_u32(dev, "clock-frequency", &rate);
+    if ( res )
+        cpu_khz = rate / 1000;
+    else
+        cpu_khz = READ_SYSREG32(CNTFRQ_EL0) / 1000;
 
     boot_count = READ_SYSREG64(CNTPCT_EL0);
     printk("Using generic timer at %lu KHz\n", cpu_khz);
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 23 13:23:21 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Aug 2013 13:23:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCrKj-0007e7-2B; Fri, 23 Aug 2013 13:23:21 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrKg-0007dn-VI
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:23:19 +0000
Received: from [85.158.143.35:39912] by server-3.bemta-4.messagelabs.com id
	00/F1-08835-64267125; Fri, 23 Aug 2013 13:23:18 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1377264196!3997319!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11373 invoked from network); 23 Aug 2013 13:23:17 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-2.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Aug 2013 13:23:17 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrKe-00087f-F0
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:23:16 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrKe-0001DN-CC
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:23:16 +0000
Date: Fri, 23 Aug 2013 13:23:16 +0000
Message-Id: <E1VCrKe-0001DN-CC@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen/arm: Specific mapping for dom0 on
	OMAP5 platform
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 7f4f85a70d645bff93230ab86c0276a5eb67c3bc
Author:     Chen Baozi <baozich@gmail.com>
AuthorDate: Thu Aug 15 21:19:48 2013 +0800
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Aug 22 13:26:49 2013 +0100

    xen/arm: Specific mapping for dom0 on OMAP5 platform
    
    Signed-off-by: Chen Baozi <baozich@gmail.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 xen/arch/arm/platforms/omap5.c        |   31 +++++++++++++++++++++++++++++++
 xen/include/asm-arm/platforms/omap5.h |    4 ++++
 2 files changed, 35 insertions(+), 0 deletions(-)

diff --git a/xen/arch/arm/platforms/omap5.c b/xen/arch/arm/platforms/omap5.c
index 402dddd..c10cf00 100644
--- a/xen/arch/arm/platforms/omap5.c
+++ b/xen/arch/arm/platforms/omap5.c
@@ -17,6 +17,7 @@
  * GNU General Public License for more details.
  */
 
+#include <asm/p2m.h>
 #include <xen/config.h>
 #include <asm/platform.h>
 #include <asm/platforms/omap5.h>
@@ -96,6 +97,34 @@ static int omap5_init_time(void)
     return 0;
 }
 
+/* Additional mappings for dom0 (not in the DTS) */
+static int omap5_specific_mapping(struct domain *d)
+{
+    /* Map the PRM module */
+    map_mmio_regions(d, OMAP5_PRM_BASE, OMAP5_PRM_BASE + (PAGE_SIZE * 2) - 1,
+                     OMAP5_PRM_BASE);
+
+    /* Map the PRM_MPU */
+    map_mmio_regions(d, OMAP5_PRCM_MPU_BASE,
+                     OMAP5_PRCM_MPU_BASE + PAGE_SIZE - 1,
+                     OMAP5_PRCM_MPU_BASE);
+
+    /* Map the Wakeup Gen */
+    map_mmio_regions(d, OMAP5_WKUPGEN_BASE, OMAP5_WKUPGEN_BASE + PAGE_SIZE - 1,
+                     OMAP5_WKUPGEN_BASE);
+
+    /* Map the on-chip SRAM */
+    map_mmio_regions(d, OMAP5_SRAM_PA, OMAP5_SRAM_PA + (PAGE_SIZE * 32) - 1,
+                     OMAP5_SRAM_PA);
+
+    return 0;
+}
+
+static uint32_t omap5_quirks(void)
+{
+    return PLATFORM_QUIRK_DOM0_MAPPING_11;
+}
+
 static const char const *omap5_dt_compat[] __initdata =
 {
     "ti,omap5",
@@ -105,6 +134,8 @@ static const char const *omap5_dt_compat[] __initdata =
 PLATFORM_START(omap5, "TI OMAP5")
     .compatible = omap5_dt_compat,
     .init_time = omap5_init_time,
+    .specific_mapping = omap5_specific_mapping,
+    .quirks = omap5_quirks,
 PLATFORM_END
 
 /*
diff --git a/xen/include/asm-arm/platforms/omap5.h b/xen/include/asm-arm/platforms/omap5.h
index 092f340..dd8c6ca 100644
--- a/xen/include/asm-arm/platforms/omap5.h
+++ b/xen/include/asm-arm/platforms/omap5.h
@@ -13,6 +13,10 @@
 #define OMAP5_CM_CLKSEL_SYS                     0x10
 #define SYS_CLKSEL_MASK                         0xfffffff8
 
+#define OMAP5_PRCM_MPU_BASE                     0x48243000
+#define OMAP5_WKUPGEN_BASE                      0x48281000
+#define OMAP5_SRAM_PA                           0x40300000
+
 #endif /* __ASM_ARM_PLATFORMS_OMAP5_H */
 
 /*
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 23 13:23:21 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Aug 2013 13:23:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCrKj-0007e7-2B; Fri, 23 Aug 2013 13:23:21 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrKg-0007dn-VI
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:23:19 +0000
Received: from [85.158.143.35:39912] by server-3.bemta-4.messagelabs.com id
	00/F1-08835-64267125; Fri, 23 Aug 2013 13:23:18 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-21.messagelabs.com!1377264196!3997319!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 11373 invoked from network); 23 Aug 2013 13:23:17 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-2.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Aug 2013 13:23:17 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrKe-00087f-F0
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:23:16 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrKe-0001DN-CC
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:23:16 +0000
Date: Fri, 23 Aug 2013 13:23:16 +0000
Message-Id: <E1VCrKe-0001DN-CC@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen/arm: Specific mapping for dom0 on
	OMAP5 platform
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 7f4f85a70d645bff93230ab86c0276a5eb67c3bc
Author:     Chen Baozi <baozich@gmail.com>
AuthorDate: Thu Aug 15 21:19:48 2013 +0800
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Aug 22 13:26:49 2013 +0100

    xen/arm: Specific mapping for dom0 on OMAP5 platform
    
    Signed-off-by: Chen Baozi <baozich@gmail.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 xen/arch/arm/platforms/omap5.c        |   31 +++++++++++++++++++++++++++++++
 xen/include/asm-arm/platforms/omap5.h |    4 ++++
 2 files changed, 35 insertions(+), 0 deletions(-)

diff --git a/xen/arch/arm/platforms/omap5.c b/xen/arch/arm/platforms/omap5.c
index 402dddd..c10cf00 100644
--- a/xen/arch/arm/platforms/omap5.c
+++ b/xen/arch/arm/platforms/omap5.c
@@ -17,6 +17,7 @@
  * GNU General Public License for more details.
  */
 
+#include <asm/p2m.h>
 #include <xen/config.h>
 #include <asm/platform.h>
 #include <asm/platforms/omap5.h>
@@ -96,6 +97,34 @@ static int omap5_init_time(void)
     return 0;
 }
 
+/* Additional mappings for dom0 (not in the DTS) */
+static int omap5_specific_mapping(struct domain *d)
+{
+    /* Map the PRM module */
+    map_mmio_regions(d, OMAP5_PRM_BASE, OMAP5_PRM_BASE + (PAGE_SIZE * 2) - 1,
+                     OMAP5_PRM_BASE);
+
+    /* Map the PRM_MPU */
+    map_mmio_regions(d, OMAP5_PRCM_MPU_BASE,
+                     OMAP5_PRCM_MPU_BASE + PAGE_SIZE - 1,
+                     OMAP5_PRCM_MPU_BASE);
+
+    /* Map the Wakeup Gen */
+    map_mmio_regions(d, OMAP5_WKUPGEN_BASE, OMAP5_WKUPGEN_BASE + PAGE_SIZE - 1,
+                     OMAP5_WKUPGEN_BASE);
+
+    /* Map the on-chip SRAM */
+    map_mmio_regions(d, OMAP5_SRAM_PA, OMAP5_SRAM_PA + (PAGE_SIZE * 32) - 1,
+                     OMAP5_SRAM_PA);
+
+    return 0;
+}
+
+static uint32_t omap5_quirks(void)
+{
+    return PLATFORM_QUIRK_DOM0_MAPPING_11;
+}
+
 static const char const *omap5_dt_compat[] __initdata =
 {
     "ti,omap5",
@@ -105,6 +134,8 @@ static const char const *omap5_dt_compat[] __initdata =
 PLATFORM_START(omap5, "TI OMAP5")
     .compatible = omap5_dt_compat,
     .init_time = omap5_init_time,
+    .specific_mapping = omap5_specific_mapping,
+    .quirks = omap5_quirks,
 PLATFORM_END
 
 /*
diff --git a/xen/include/asm-arm/platforms/omap5.h b/xen/include/asm-arm/platforms/omap5.h
index 092f340..dd8c6ca 100644
--- a/xen/include/asm-arm/platforms/omap5.h
+++ b/xen/include/asm-arm/platforms/omap5.h
@@ -13,6 +13,10 @@
 #define OMAP5_CM_CLKSEL_SYS                     0x10
 #define SYS_CLKSEL_MASK                         0xfffffff8
 
+#define OMAP5_PRCM_MPU_BASE                     0x48243000
+#define OMAP5_WKUPGEN_BASE                      0x48281000
+#define OMAP5_SRAM_PA                           0x40300000
+
 #endif /* __ASM_ARM_PLATFORMS_OMAP5_H */
 
 /*
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 23 13:23:35 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Aug 2013 13:23:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCrKu-0007gD-4y; Fri, 23 Aug 2013 13:23:32 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrKs-0007fl-1I
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:23:30 +0000
Received: from [85.158.137.68:64743] by server-7.bemta-3.messagelabs.com id
	46/FC-24536-15267125; Fri, 23 Aug 2013 13:23:29 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-31.messagelabs.com!1377264206!3280805!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20768 invoked from network); 23 Aug 2013 13:23:27 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-6.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Aug 2013 13:23:27 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrKo-00087l-KO
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:23:26 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrKo-0001Do-It
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:23:26 +0000
Date: Fri, 23 Aug 2013 13:23:26 +0000
Message-Id: <E1VCrKo-0001Do-It@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen/arm64: Assembly optimized bitops
	from Linux
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 79474832b5e068aa4d131f8e586b0fa674a7ee3e
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Fri Jul 19 16:20:08 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Aug 22 15:47:44 2013 +0100

    xen/arm64: Assembly optimized bitops from Linux
    
    This patch replaces the previous hashed lock implementaiton of bitops with
    assembly optimized ones taken from Linux v3.10-rc4.
    
    The Linux derived ASM only supports 8 byte aligned bitmaps (which under Linux
    are unsigned long * rather than our void *). We do have actually uses of 4
    byte alignment (i.e. the bitmaps in struct xmem_pool) which trigger alignment
    faults.
    
    Therefore adjust the assembly to work in 4 byte increments, which involved:
        - bit offset now bits 4:0 => mask #31 not #63
        - use wN register not xN for load/modify/store loop.
    
    There is no need to adjust the shift used to calculate the word offset, the
    difference is already acounted for in the #63->#31 change.
    
    NB: Xen's build system cannot cope with the change from .c to .S file,
    remove xen/arch/arm/arm64/lib/.bitops.o.d or clean your build tree.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Tim Deegan <tim@xen.org>
---
 xen/arch/arm/arm64/lib/bitops.S    |   68 ++++++++++++
 xen/arch/arm/arm64/lib/bitops.c    |   22 ----
 xen/include/asm-arm/arm64/bitops.h |  203 ++----------------------------------
 3 files changed, 76 insertions(+), 217 deletions(-)

diff --git a/xen/arch/arm/arm64/lib/bitops.S b/xen/arch/arm/arm64/lib/bitops.S
new file mode 100644
index 0000000..80cc903
--- /dev/null
+++ b/xen/arch/arm/arm64/lib/bitops.S
@@ -0,0 +1,68 @@
+/*
+ * Based on linux/arch/arm64/lib/bitops.h which in turn is
+ * Based on arch/arm/lib/bitops.h
+ *
+ * Copyright (C) 2013 ARM Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program 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 this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <xen/config.h>
+
+/*
+ * x0: bits 4:0  bit offset
+ *     bits 31:5 word offset
+ * x1: address
+ */
+	.macro	bitop, name, instr
+ENTRY(	\name	)
+	and	w3, w0, #31		// Get bit offset
+	eor	w0, w0, w3		// Clear low bits
+	mov	x2, #1
+	add	x1, x1, x0, lsr #3	// Get word offset
+	lsl	x3, x2, x3		// Create mask
+1:	ldxr	w2, [x1]
+	\instr	w2, w2, w3
+	stxr	w0, w2, [x1]
+	cbnz	w0, 1b
+	ret
+ENDPROC(\name	)
+	.endm
+
+	.macro	testop, name, instr
+ENTRY(	\name	)
+	and	w3, w0, #31		// Get bit offset
+	eor	w0, w0, w3		// Clear low bits
+	mov	x2, #1
+	add	x1, x1, x0, lsr #3	// Get word offset
+	lsl	x4, x2, x3		// Create mask
+1:	ldaxr	w2, [x1]
+	lsr	w0, w2, w3		// Save old value of bit
+	\instr	w2, w2, w4		// toggle bit
+	stlxr	w5, w2, [x1]
+	cbnz	w5, 1b
+	and	w0, w0, #1
+3:	ret
+ENDPROC(\name	)
+	.endm
+
+/*
+ * Atomic bit operations.
+ */
+	bitop	change_bit, eor
+	bitop	clear_bit, bic
+	bitop	set_bit, orr
+
+	testop	test_and_change_bit, eor
+	testop	test_and_clear_bit, bic
+	testop	test_and_set_bit, orr
diff --git a/xen/arch/arm/arm64/lib/bitops.c b/xen/arch/arm/arm64/lib/bitops.c
deleted file mode 100644
index 02d8d78..0000000
--- a/xen/arch/arm/arm64/lib/bitops.c
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright (C) 2012 ARM Limited
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program 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 this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include <xen/spinlock.h>
-#include <xen/bitops.h>
-
-spinlock_t __atomic_hash[ATOMIC_HASH_SIZE] /*__lock_aligned*/ = {
-       [0 ... (ATOMIC_HASH_SIZE-1)]  = SPIN_LOCK_UNLOCKED
-};
diff --git a/xen/include/asm-arm/arm64/bitops.h b/xen/include/asm-arm/arm64/bitops.h
index 0a6eba3..b43931d 100644
--- a/xen/include/asm-arm/arm64/bitops.h
+++ b/xen/include/asm-arm/arm64/bitops.h
@@ -1,200 +1,15 @@
 #ifndef _ARM_ARM64_BITOPS_H
 #define _ARM_ARM64_BITOPS_H
 
-/* Generic bitop support. Based on linux/include/asm-generic/bitops/atomic.h */
-
-#include <xen/spinlock.h>
-#include <xen/cache.h>          /* we use L1_CACHE_BYTES */
-
-/* Use an array of spinlocks for our atomic_ts.
- * Hash function to index into a different SPINLOCK.
- * Since "a" is usually an address, use one spinlock per cacheline.
- */
-#  define ATOMIC_HASH_SIZE 4
-#  define ATOMIC_HASH(a) (&(__atomic_hash[ (((unsigned long) a)/L1_CACHE_BYTES) & (ATOMIC_HASH_SIZE-1) ]))
-
-extern spinlock_t __atomic_hash[ATOMIC_HASH_SIZE]/* __lock_aligned*/;
-
-#define _atomic_spin_lock_irqsave(l,f) do {     \
-       spinlock_t *s = ATOMIC_HASH(l);          \
-       spin_lock_irqsave(s, f);\
-} while(0)
-
-#define _atomic_spin_unlock_irqrestore(l,f) do {\
-        spinlock_t *s = ATOMIC_HASH(l);         \
-        spin_unlock_irqrestore(s,f);		\
-} while(0)
-
-#define FIXUP(_p, _mask)                        \
-    {                                           \
-        unsigned long __p = (unsigned long)_p;  \
-        if (__p & 0x7) {                        \
-            if (_mask > 0xffffffff) {           \
-             __p = (__p+32)&~0x7; _mask >>=32;  \
-            } else {                            \
-                __p &= ~0x7; _mask <<= 32;      \
-            }                                   \
-            if (0)printk("BITOPS: Fixup misaligned ptr %p => %#lx\n", _p, __p); \
-            _p = (void *)__p;                   \
-        }                                       \
-    }
-
-/**
- * set_bit - Atomically set a bit in memory
- * @nr: the bit to set
- * @addr: the address to start counting from
- *
- * This function is atomic and may not be reordered.  See __set_bit()
- * if you do not require the atomic guarantees.
- *
- * Note: there are no guarantees that this function will not be reordered
- * on non x86 architectures, so if you are writing portable code,
- * make sure not to rely on its reordering guarantees.
- *
- * Note that @nr may be almost arbitrarily large; this function is not
- * restricted to acting on a single-word quantity.
- */
-
-static inline void set_bit(int nr, volatile void *addr)
-{
-	unsigned long mask = BIT_MASK(nr);
-	unsigned long *p = ((unsigned long *)addr) + BIT_WORD(nr);
-	unsigned long flags;
-
-        //printk("set_bit: nr %d addr %p mask %#lx p %p lock %p\n",
-        //       nr, addr, mask, p, ATOMIC_HASH(p));
-        FIXUP(p, mask);
-        //printk("set_bit: nr %d addr %p mask %#lx p %p lock %p\n",
-        //       nr, addr, mask, p, ATOMIC_HASH(p));
-        //printk("before *p is %#lx\n", *p);
-	_atomic_spin_lock_irqsave(p, flags);
-	*p  |= mask;
-	_atomic_spin_unlock_irqrestore(p, flags);
-        //printk(" after *p is %#lx\n", *p);
-}
-
-/**
- * clear_bit - Clears a bit in memory
- * @nr: Bit to clear
- * @addr: Address to start counting from
- *
- * clear_bit() is atomic and may not be reordered.  However, it does
- * not contain a memory barrier, so if it is used for locking purposes,
- * you should call smp_mb__before_clear_bit() and/or smp_mb__after_clear_bit()
- * in order to ensure changes are visible on other processors.
- */
-static inline void clear_bit(int nr, volatile void *addr)
-{
-	unsigned long mask = BIT_MASK(nr);
-	unsigned long *p = ((unsigned long *)addr) + BIT_WORD(nr);
-	unsigned long flags;
-
-        FIXUP(p, mask);
-
-	_atomic_spin_lock_irqsave(p, flags);
-	*p &= ~mask;
-	_atomic_spin_unlock_irqrestore(p, flags);
-}
-
-/**
- * change_bit - Toggle a bit in memory
- * @nr: Bit to change
- * @addr: Address to start counting from
- *
- * change_bit() is atomic and may not be reordered. It may be
- * reordered on other architectures than x86.
- * Note that @nr may be almost arbitrarily large; this function is not
- * restricted to acting on a single-word quantity.
- */
-static inline void change_bit(int nr, volatile void *addr)
-{
-	unsigned long mask = BIT_MASK(nr);
-	unsigned long *p = ((unsigned long *)addr) + BIT_WORD(nr);
-	unsigned long flags;
-
-        FIXUP(p, mask);
-
-	_atomic_spin_lock_irqsave(p, flags);
-	*p ^= mask;
-	_atomic_spin_unlock_irqrestore(p, flags);
-}
-
-/**
- * test_and_set_bit - Set a bit and return its old value
- * @nr: Bit to set
- * @addr: Address to count from
- *
- * This operation is atomic and cannot be reordered.
- * It may be reordered on other architectures than x86.
- * It also implies a memory barrier.
- */
-static inline int test_and_set_bit(int nr, volatile void *addr)
-{
-	unsigned long mask = BIT_MASK(nr);
-	unsigned long *p = ((unsigned long *)addr) + BIT_WORD(nr);
-	unsigned long old;
-	unsigned long flags;
-
-        FIXUP(p, mask);
-
-	_atomic_spin_lock_irqsave(p, flags);
-	old = *p;
-	*p = old | mask;
-	_atomic_spin_unlock_irqrestore(p, flags);
-
-	return (old & mask) != 0;
-}
-
-/**
- * test_and_clear_bit - Clear a bit and return its old value
- * @nr: Bit to clear
- * @addr: Address to count from
- *
- * This operation is atomic and cannot be reordered.
- * It can be reorderdered on other architectures other than x86.
- * It also implies a memory barrier.
- */
-static inline int test_and_clear_bit(int nr, volatile void *addr)
-{
-	unsigned long mask = BIT_MASK(nr);
-	unsigned long *p = ((unsigned long *)addr) + BIT_WORD(nr);
-	unsigned long old;
-	unsigned long flags;
-
-        FIXUP(p, mask);
-
-	_atomic_spin_lock_irqsave(p, flags);
-	old = *p;
-	*p = old & ~mask;
-	_atomic_spin_unlock_irqrestore(p, flags);
-
-	return (old & mask) != 0;
-}
-
-/**
- * test_and_change_bit - Change a bit and return its old value
- * @nr: Bit to change
- * @addr: Address to count from
- *
- * This operation is atomic and cannot be reordered.
- * It also implies a memory barrier.
+/*
+ * Little endian assembly atomic bitops.
  */
-static inline int test_and_change_bit(int nr, volatile void *addr)
-{
-	unsigned long mask = BIT_MASK(nr);
-	unsigned long *p = ((unsigned long *)addr) + BIT_WORD(nr);
-	unsigned long old;
-	unsigned long flags;
-
-        FIXUP(p, mask);
-
-	_atomic_spin_lock_irqsave(p, flags);
-	old = *p;
-	*p = old ^ mask;
-	_atomic_spin_unlock_irqrestore(p, flags);
-
-	return (old & mask) != 0;
-}
+extern void set_bit(int nr, volatile void *p);
+extern void clear_bit(int nr, volatile void *p);
+extern void change_bit(int nr, volatile void *p);
+extern int test_and_set_bit(int nr, volatile void *p);
+extern int test_and_clear_bit(int nr, volatile void *p);
+extern int test_and_change_bit(int nr, volatile void *p);
 
 /* Based on linux/include/asm-generic/bitops/builtin-__ffs.h */
 /**
@@ -217,8 +32,6 @@ static /*__*/always_inline unsigned long __ffs(unsigned long word)
  */
 #define ffz(x)  __ffs(~(x))
 
-
-
 /* Based on linux/include/asm-generic/bitops/find.h */
 
 #ifndef find_next_bit
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 23 13:23:35 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Aug 2013 13:23:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCrKu-0007gD-4y; Fri, 23 Aug 2013 13:23:32 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrKs-0007fl-1I
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:23:30 +0000
Received: from [85.158.137.68:64743] by server-7.bemta-3.messagelabs.com id
	46/FC-24536-15267125; Fri, 23 Aug 2013 13:23:29 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-31.messagelabs.com!1377264206!3280805!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20768 invoked from network); 23 Aug 2013 13:23:27 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-6.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Aug 2013 13:23:27 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrKo-00087l-KO
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:23:26 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrKo-0001Do-It
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:23:26 +0000
Date: Fri, 23 Aug 2013 13:23:26 +0000
Message-Id: <E1VCrKo-0001Do-It@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen/arm64: Assembly optimized bitops
	from Linux
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 79474832b5e068aa4d131f8e586b0fa674a7ee3e
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Fri Jul 19 16:20:08 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Aug 22 15:47:44 2013 +0100

    xen/arm64: Assembly optimized bitops from Linux
    
    This patch replaces the previous hashed lock implementaiton of bitops with
    assembly optimized ones taken from Linux v3.10-rc4.
    
    The Linux derived ASM only supports 8 byte aligned bitmaps (which under Linux
    are unsigned long * rather than our void *). We do have actually uses of 4
    byte alignment (i.e. the bitmaps in struct xmem_pool) which trigger alignment
    faults.
    
    Therefore adjust the assembly to work in 4 byte increments, which involved:
        - bit offset now bits 4:0 => mask #31 not #63
        - use wN register not xN for load/modify/store loop.
    
    There is no need to adjust the shift used to calculate the word offset, the
    difference is already acounted for in the #63->#31 change.
    
    NB: Xen's build system cannot cope with the change from .c to .S file,
    remove xen/arch/arm/arm64/lib/.bitops.o.d or clean your build tree.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Tim Deegan <tim@xen.org>
---
 xen/arch/arm/arm64/lib/bitops.S    |   68 ++++++++++++
 xen/arch/arm/arm64/lib/bitops.c    |   22 ----
 xen/include/asm-arm/arm64/bitops.h |  203 ++----------------------------------
 3 files changed, 76 insertions(+), 217 deletions(-)

diff --git a/xen/arch/arm/arm64/lib/bitops.S b/xen/arch/arm/arm64/lib/bitops.S
new file mode 100644
index 0000000..80cc903
--- /dev/null
+++ b/xen/arch/arm/arm64/lib/bitops.S
@@ -0,0 +1,68 @@
+/*
+ * Based on linux/arch/arm64/lib/bitops.h which in turn is
+ * Based on arch/arm/lib/bitops.h
+ *
+ * Copyright (C) 2013 ARM Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program 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 this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <xen/config.h>
+
+/*
+ * x0: bits 4:0  bit offset
+ *     bits 31:5 word offset
+ * x1: address
+ */
+	.macro	bitop, name, instr
+ENTRY(	\name	)
+	and	w3, w0, #31		// Get bit offset
+	eor	w0, w0, w3		// Clear low bits
+	mov	x2, #1
+	add	x1, x1, x0, lsr #3	// Get word offset
+	lsl	x3, x2, x3		// Create mask
+1:	ldxr	w2, [x1]
+	\instr	w2, w2, w3
+	stxr	w0, w2, [x1]
+	cbnz	w0, 1b
+	ret
+ENDPROC(\name	)
+	.endm
+
+	.macro	testop, name, instr
+ENTRY(	\name	)
+	and	w3, w0, #31		// Get bit offset
+	eor	w0, w0, w3		// Clear low bits
+	mov	x2, #1
+	add	x1, x1, x0, lsr #3	// Get word offset
+	lsl	x4, x2, x3		// Create mask
+1:	ldaxr	w2, [x1]
+	lsr	w0, w2, w3		// Save old value of bit
+	\instr	w2, w2, w4		// toggle bit
+	stlxr	w5, w2, [x1]
+	cbnz	w5, 1b
+	and	w0, w0, #1
+3:	ret
+ENDPROC(\name	)
+	.endm
+
+/*
+ * Atomic bit operations.
+ */
+	bitop	change_bit, eor
+	bitop	clear_bit, bic
+	bitop	set_bit, orr
+
+	testop	test_and_change_bit, eor
+	testop	test_and_clear_bit, bic
+	testop	test_and_set_bit, orr
diff --git a/xen/arch/arm/arm64/lib/bitops.c b/xen/arch/arm/arm64/lib/bitops.c
deleted file mode 100644
index 02d8d78..0000000
--- a/xen/arch/arm/arm64/lib/bitops.c
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Copyright (C) 2012 ARM Limited
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program 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 this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include <xen/spinlock.h>
-#include <xen/bitops.h>
-
-spinlock_t __atomic_hash[ATOMIC_HASH_SIZE] /*__lock_aligned*/ = {
-       [0 ... (ATOMIC_HASH_SIZE-1)]  = SPIN_LOCK_UNLOCKED
-};
diff --git a/xen/include/asm-arm/arm64/bitops.h b/xen/include/asm-arm/arm64/bitops.h
index 0a6eba3..b43931d 100644
--- a/xen/include/asm-arm/arm64/bitops.h
+++ b/xen/include/asm-arm/arm64/bitops.h
@@ -1,200 +1,15 @@
 #ifndef _ARM_ARM64_BITOPS_H
 #define _ARM_ARM64_BITOPS_H
 
-/* Generic bitop support. Based on linux/include/asm-generic/bitops/atomic.h */
-
-#include <xen/spinlock.h>
-#include <xen/cache.h>          /* we use L1_CACHE_BYTES */
-
-/* Use an array of spinlocks for our atomic_ts.
- * Hash function to index into a different SPINLOCK.
- * Since "a" is usually an address, use one spinlock per cacheline.
- */
-#  define ATOMIC_HASH_SIZE 4
-#  define ATOMIC_HASH(a) (&(__atomic_hash[ (((unsigned long) a)/L1_CACHE_BYTES) & (ATOMIC_HASH_SIZE-1) ]))
-
-extern spinlock_t __atomic_hash[ATOMIC_HASH_SIZE]/* __lock_aligned*/;
-
-#define _atomic_spin_lock_irqsave(l,f) do {     \
-       spinlock_t *s = ATOMIC_HASH(l);          \
-       spin_lock_irqsave(s, f);\
-} while(0)
-
-#define _atomic_spin_unlock_irqrestore(l,f) do {\
-        spinlock_t *s = ATOMIC_HASH(l);         \
-        spin_unlock_irqrestore(s,f);		\
-} while(0)
-
-#define FIXUP(_p, _mask)                        \
-    {                                           \
-        unsigned long __p = (unsigned long)_p;  \
-        if (__p & 0x7) {                        \
-            if (_mask > 0xffffffff) {           \
-             __p = (__p+32)&~0x7; _mask >>=32;  \
-            } else {                            \
-                __p &= ~0x7; _mask <<= 32;      \
-            }                                   \
-            if (0)printk("BITOPS: Fixup misaligned ptr %p => %#lx\n", _p, __p); \
-            _p = (void *)__p;                   \
-        }                                       \
-    }
-
-/**
- * set_bit - Atomically set a bit in memory
- * @nr: the bit to set
- * @addr: the address to start counting from
- *
- * This function is atomic and may not be reordered.  See __set_bit()
- * if you do not require the atomic guarantees.
- *
- * Note: there are no guarantees that this function will not be reordered
- * on non x86 architectures, so if you are writing portable code,
- * make sure not to rely on its reordering guarantees.
- *
- * Note that @nr may be almost arbitrarily large; this function is not
- * restricted to acting on a single-word quantity.
- */
-
-static inline void set_bit(int nr, volatile void *addr)
-{
-	unsigned long mask = BIT_MASK(nr);
-	unsigned long *p = ((unsigned long *)addr) + BIT_WORD(nr);
-	unsigned long flags;
-
-        //printk("set_bit: nr %d addr %p mask %#lx p %p lock %p\n",
-        //       nr, addr, mask, p, ATOMIC_HASH(p));
-        FIXUP(p, mask);
-        //printk("set_bit: nr %d addr %p mask %#lx p %p lock %p\n",
-        //       nr, addr, mask, p, ATOMIC_HASH(p));
-        //printk("before *p is %#lx\n", *p);
-	_atomic_spin_lock_irqsave(p, flags);
-	*p  |= mask;
-	_atomic_spin_unlock_irqrestore(p, flags);
-        //printk(" after *p is %#lx\n", *p);
-}
-
-/**
- * clear_bit - Clears a bit in memory
- * @nr: Bit to clear
- * @addr: Address to start counting from
- *
- * clear_bit() is atomic and may not be reordered.  However, it does
- * not contain a memory barrier, so if it is used for locking purposes,
- * you should call smp_mb__before_clear_bit() and/or smp_mb__after_clear_bit()
- * in order to ensure changes are visible on other processors.
- */
-static inline void clear_bit(int nr, volatile void *addr)
-{
-	unsigned long mask = BIT_MASK(nr);
-	unsigned long *p = ((unsigned long *)addr) + BIT_WORD(nr);
-	unsigned long flags;
-
-        FIXUP(p, mask);
-
-	_atomic_spin_lock_irqsave(p, flags);
-	*p &= ~mask;
-	_atomic_spin_unlock_irqrestore(p, flags);
-}
-
-/**
- * change_bit - Toggle a bit in memory
- * @nr: Bit to change
- * @addr: Address to start counting from
- *
- * change_bit() is atomic and may not be reordered. It may be
- * reordered on other architectures than x86.
- * Note that @nr may be almost arbitrarily large; this function is not
- * restricted to acting on a single-word quantity.
- */
-static inline void change_bit(int nr, volatile void *addr)
-{
-	unsigned long mask = BIT_MASK(nr);
-	unsigned long *p = ((unsigned long *)addr) + BIT_WORD(nr);
-	unsigned long flags;
-
-        FIXUP(p, mask);
-
-	_atomic_spin_lock_irqsave(p, flags);
-	*p ^= mask;
-	_atomic_spin_unlock_irqrestore(p, flags);
-}
-
-/**
- * test_and_set_bit - Set a bit and return its old value
- * @nr: Bit to set
- * @addr: Address to count from
- *
- * This operation is atomic and cannot be reordered.
- * It may be reordered on other architectures than x86.
- * It also implies a memory barrier.
- */
-static inline int test_and_set_bit(int nr, volatile void *addr)
-{
-	unsigned long mask = BIT_MASK(nr);
-	unsigned long *p = ((unsigned long *)addr) + BIT_WORD(nr);
-	unsigned long old;
-	unsigned long flags;
-
-        FIXUP(p, mask);
-
-	_atomic_spin_lock_irqsave(p, flags);
-	old = *p;
-	*p = old | mask;
-	_atomic_spin_unlock_irqrestore(p, flags);
-
-	return (old & mask) != 0;
-}
-
-/**
- * test_and_clear_bit - Clear a bit and return its old value
- * @nr: Bit to clear
- * @addr: Address to count from
- *
- * This operation is atomic and cannot be reordered.
- * It can be reorderdered on other architectures other than x86.
- * It also implies a memory barrier.
- */
-static inline int test_and_clear_bit(int nr, volatile void *addr)
-{
-	unsigned long mask = BIT_MASK(nr);
-	unsigned long *p = ((unsigned long *)addr) + BIT_WORD(nr);
-	unsigned long old;
-	unsigned long flags;
-
-        FIXUP(p, mask);
-
-	_atomic_spin_lock_irqsave(p, flags);
-	old = *p;
-	*p = old & ~mask;
-	_atomic_spin_unlock_irqrestore(p, flags);
-
-	return (old & mask) != 0;
-}
-
-/**
- * test_and_change_bit - Change a bit and return its old value
- * @nr: Bit to change
- * @addr: Address to count from
- *
- * This operation is atomic and cannot be reordered.
- * It also implies a memory barrier.
+/*
+ * Little endian assembly atomic bitops.
  */
-static inline int test_and_change_bit(int nr, volatile void *addr)
-{
-	unsigned long mask = BIT_MASK(nr);
-	unsigned long *p = ((unsigned long *)addr) + BIT_WORD(nr);
-	unsigned long old;
-	unsigned long flags;
-
-        FIXUP(p, mask);
-
-	_atomic_spin_lock_irqsave(p, flags);
-	old = *p;
-	*p = old ^ mask;
-	_atomic_spin_unlock_irqrestore(p, flags);
-
-	return (old & mask) != 0;
-}
+extern void set_bit(int nr, volatile void *p);
+extern void clear_bit(int nr, volatile void *p);
+extern void change_bit(int nr, volatile void *p);
+extern int test_and_set_bit(int nr, volatile void *p);
+extern int test_and_clear_bit(int nr, volatile void *p);
+extern int test_and_change_bit(int nr, volatile void *p);
 
 /* Based on linux/include/asm-generic/bitops/builtin-__ffs.h */
 /**
@@ -217,8 +32,6 @@ static /*__*/always_inline unsigned long __ffs(unsigned long word)
  */
 #define ffz(x)  __ffs(~(x))
 
-
-
 /* Based on linux/include/asm-generic/bitops/find.h */
 
 #ifndef find_next_bit
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 23 13:23:44 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Aug 2013 13:23:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCrL3-0007hy-8F; Fri, 23 Aug 2013 13:23:41 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrL1-0007hW-Hk
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:23:39 +0000
Received: from [85.158.143.35:41775] by server-3.bemta-4.messagelabs.com id
	8A/52-08835-A5267125; Fri, 23 Aug 2013 13:23:38 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1377264216!6112850!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32306 invoked from network); 23 Aug 2013 13:23:37 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-3.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Aug 2013 13:23:37 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrKy-00087u-Pt
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:23:36 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrKy-0001EM-OA
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:23:36 +0000
Date: Fri, 23 Aug 2013 13:23:36 +0000
Message-Id: <E1VCrKy-0001EM-OA@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen/arm64: resync atomics and spinlock
	asm with Linux
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit c85c3e3cb9c0540cb604c379298bfd885ade1592
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Fri Jul 19 16:20:09 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Aug 22 15:48:00 2013 +0100

    xen/arm64: resync atomics and spinlock asm with Linux
    
    This picks up the changes from Linux commit 3a0310eb369a:
        arm64: atomics: fix grossly inconsistent asm constraints for exclusives
    
        Our uses of inline asm constraints for atomic operations are fairly
        wild and varied. We basically need to guarantee the following:
    
          1. Any instructions with barrier implications
             (load-acquire/store-release) have a "memory" clobber
    
          2. When performing exclusive accesses, the addresing mode is generated
             using the "Q" constraint
    
          3. Atomic blocks which use the condition flags, have a "cc" clobber
    
        This patch addresses these concerns which, as well as fixing the
        semantics of the code, stops GCC complaining about impossible asm
        constraints.
    
        Signed-off-by: Will Deacon <will.deacon@arm.com>
        Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Tim Deegan <tim@xen.org>
---
 xen/include/asm-arm/arm64/atomic.h   |   66 +++++++++++++++---------------
 xen/include/asm-arm/arm64/spinlock.h |   48 +++++++++++-----------
 xen/include/asm-arm/arm64/system.h   |   74 +++++++++++++++++-----------------
 3 files changed, 94 insertions(+), 94 deletions(-)

diff --git a/xen/include/asm-arm/arm64/atomic.h b/xen/include/asm-arm/arm64/atomic.h
index 5e4ffed..a279755 100644
--- a/xen/include/asm-arm/arm64/atomic.h
+++ b/xen/include/asm-arm/arm64/atomic.h
@@ -33,12 +33,12 @@ static inline void atomic_add(int i, atomic_t *v)
 	int result;
 
 	asm volatile("// atomic_add\n"
-"1:	ldxr	%w0, [%3]\n"
-"	add	%w0, %w0, %w4\n"
-"	stxr	%w1, %w0, [%3]\n"
+"1:	ldxr	%w0, %2\n"
+"	add	%w0, %w0, %w3\n"
+"	stxr	%w1, %w0, %2\n"
 "	cbnz	%w1, 1b"
-	: "=&r" (result), "=&r" (tmp), "+o" (v->counter)
-	: "r" (&v->counter), "Ir" (i)
+	: "=&r" (result), "=&r" (tmp), "+Q" (v->counter)
+	: "Ir" (i)
 	: "cc");
 }
 
@@ -48,13 +48,13 @@ static inline int atomic_add_return(int i, atomic_t *v)
 	int result;
 
 	asm volatile("// atomic_add_return\n"
-"1:	ldaxr	%w0, [%3]\n"
-"	add	%w0, %w0, %w4\n"
-"	stlxr	%w1, %w0, [%3]\n"
+"1:	ldaxr	%w0, %2\n"
+"	add	%w0, %w0, %w3\n"
+"	stlxr	%w1, %w0, %2\n"
 "	cbnz	%w1, 1b"
-	: "=&r" (result), "=&r" (tmp), "+o" (v->counter)
-	: "r" (&v->counter), "Ir" (i)
-	: "cc");
+	: "=&r" (result), "=&r" (tmp), "+Q" (v->counter)
+	: "Ir" (i)
+	: "cc", "memory");
 
 	return result;
 }
@@ -65,12 +65,12 @@ static inline void atomic_sub(int i, atomic_t *v)
 	int result;
 
 	asm volatile("// atomic_sub\n"
-"1:	ldxr	%w0, [%3]\n"
-"	sub	%w0, %w0, %w4\n"
-"	stxr	%w1, %w0, [%3]\n"
+"1:	ldxr	%w0, %2\n"
+"	sub	%w0, %w0, %w3\n"
+"	stxr	%w1, %w0, %2\n"
 "	cbnz	%w1, 1b"
-	: "=&r" (result), "=&r" (tmp), "+o" (v->counter)
-	: "r" (&v->counter), "Ir" (i)
+	: "=&r" (result), "=&r" (tmp), "+Q" (v->counter)
+	: "Ir" (i)
 	: "cc");
 }
 
@@ -80,13 +80,13 @@ static inline int atomic_sub_return(int i, atomic_t *v)
 	int result;
 
 	asm volatile("// atomic_sub_return\n"
-"1:	ldaxr	%w0, [%3]\n"
-"	sub	%w0, %w0, %w4\n"
-"	stlxr	%w1, %w0, [%3]\n"
+"1:	ldaxr	%w0, %2\n"
+"	sub	%w0, %w0, %w3\n"
+"	stlxr	%w1, %w0, %2\n"
 "	cbnz	%w1, 1b"
-	: "=&r" (result), "=&r" (tmp), "+o" (v->counter)
-	: "r" (&v->counter), "Ir" (i)
-	: "cc");
+	: "=&r" (result), "=&r" (tmp), "+Q" (v->counter)
+	: "Ir" (i)
+	: "cc", "memory");
 
 	return result;
 }
@@ -97,15 +97,15 @@ static inline int atomic_cmpxchg(atomic_t *ptr, int old, int new)
 	int oldval;
 
 	asm volatile("// atomic_cmpxchg\n"
-"1:	ldaxr	%w1, [%3]\n"
-"	cmp	%w1, %w4\n"
+"1:	ldaxr	%w1, %2\n"
+"	cmp	%w1, %w3\n"
 "	b.ne	2f\n"
-"	stlxr	%w0, %w5, [%3]\n"
+"	stlxr	%w0, %w4, %2\n"
 "	cbnz	%w0, 1b\n"
 "2:"
-	: "=&r" (tmp), "=&r" (oldval), "+o" (ptr->counter)
-	: "r" (&ptr->counter), "Ir" (old), "r" (new)
-	: "cc");
+	: "=&r" (tmp), "=&r" (oldval), "+Q" (ptr->counter)
+	: "Ir" (old), "r" (new)
+	: "cc", "memory");
 
 	return oldval;
 }
@@ -115,12 +115,12 @@ static inline void atomic_clear_mask(unsigned long mask, unsigned long *addr)
 	unsigned long tmp, tmp2;
 
 	asm volatile("// atomic_clear_mask\n"
-"1:	ldxr	%0, [%3]\n"
-"	bic	%0, %0, %4\n"
-"	stxr	%w1, %0, [%3]\n"
+"1:	ldxr	%0, %2\n"
+"	bic	%0, %0, %3\n"
+"	stxr	%w1, %0, %2\n"
 "	cbnz	%w1, 1b"
-	: "=&r" (tmp), "=&r" (tmp2), "+o" (*addr)
-	: "r" (addr), "Ir" (mask)
+	: "=&r" (tmp), "=&r" (tmp2), "+Q" (*addr)
+	: "Ir" (mask)
 	: "cc");
 }
 
diff --git a/xen/include/asm-arm/arm64/spinlock.h b/xen/include/asm-arm/arm64/spinlock.h
index fe4c403..717f2fe 100644
--- a/xen/include/asm-arm/arm64/spinlock.h
+++ b/xen/include/asm-arm/arm64/spinlock.h
@@ -31,8 +31,8 @@ static always_inline void _raw_spin_unlock(raw_spinlock_t *lock)
     ASSERT(_raw_spin_is_locked(lock));
 
     asm volatile(
-        "       stlr    %w1, [%0]\n"
-        : : "r" (&lock->lock), "r" (0) : "memory");
+        "       stlr    %w1, %0\n"
+        : "=Q" (lock->lock) : "r" (0) : "memory");
 }
 
 static always_inline int _raw_spin_trylock(raw_spinlock_t *lock)
@@ -40,13 +40,13 @@ static always_inline int _raw_spin_trylock(raw_spinlock_t *lock)
     unsigned int tmp;
 
     asm volatile(
-        "       ldaxr   %w0, [%1]\n"
+        "       ldaxr   %w0, %1\n"
         "       cbnz    %w0, 1f\n"
-        "       stxr    %w0, %w2, [%1]\n"
+        "       stxr    %w0, %w2, %1\n"
         "1:\n"
-        : "=&r" (tmp)
-        : "r" (&lock->lock), "r" (1)
-        : "memory");
+        : "=&r" (tmp), "+Q" (lock->lock)
+        : "r" (1)
+        : "cc", "memory");
 
     return !tmp;
 }
@@ -62,14 +62,14 @@ static always_inline int _raw_read_trylock(raw_rwlock_t *rw)
     unsigned int tmp, tmp2 = 1;
 
     asm volatile(
-        "       ldaxr   %w0, [%2]\n"
+        "       ldaxr   %w0, %2\n"
         "       add     %w0, %w0, #1\n"
         "       tbnz    %w0, #31, 1f\n"
-        "       stxr    %w1, %w0, [%2]\n"
+        "       stxr    %w1, %w0, %2\n"
         "1:\n"
-        : "=&r" (tmp), "+r" (tmp2)
-        : "r" (&rw->lock)
-        : "memory");
+        : "=&r" (tmp), "+r" (tmp2), "+Q" (rw->lock)
+        :
+        : "cc", "memory");
 
     return !tmp2;
 }
@@ -79,13 +79,13 @@ static always_inline int _raw_write_trylock(raw_rwlock_t *rw)
     unsigned int tmp;
 
     asm volatile(
-        "       ldaxr   %w0, [%1]\n"
+        "       ldaxr   %w0, %1\n"
         "       cbnz    %w0, 1f\n"
-        "       stxr    %w0, %w2, [%1]\n"
+        "       stxr    %w0, %w2, %1\n"
         "1:\n"
-        : "=&r" (tmp)
-        : "r" (&rw->lock), "r" (0x80000000)
-        : "memory");
+        : "=&r" (tmp), "+Q" (rw->lock)
+        : "r" (0x80000000)
+        : "cc", "memory");
 
     return !tmp;
 }
@@ -95,20 +95,20 @@ static inline void _raw_read_unlock(raw_rwlock_t *rw)
     unsigned int tmp, tmp2;
 
     asm volatile(
-        "1:     ldxr    %w0, [%2]\n"
+        "    1: ldxr    %w0, %2\n"
         "       sub     %w0, %w0, #1\n"
-        "       stlxr   %w1, %w0, [%2]\n"
+        "       stlxr   %w1, %w0, %2\n"
         "       cbnz    %w1, 1b\n"
-        : "=&r" (tmp), "=&r" (tmp2)
-        : "r" (&rw->lock)
-        : "memory");
+        : "=&r" (tmp), "=&r" (tmp2), "+Q" (rw->lock)
+        :
+        : "cc", "memory");
 }
 
 static inline void _raw_write_unlock(raw_rwlock_t *rw)
 {
     asm volatile(
-        "       stlr    %w1, [%0]\n"
-        : : "r" (&rw->lock), "r" (0) : "memory");
+        "       stlr    %w1, %0\n"
+        : "=Q" (rw->lock) : "r" (0) : "memory");
 }
 
 #define _raw_rw_is_locked(x) ((x)->lock != 0)
diff --git a/xen/include/asm-arm/arm64/system.h b/xen/include/asm-arm/arm64/system.h
index 4e41913..d7e912f 100644
--- a/xen/include/asm-arm/arm64/system.h
+++ b/xen/include/asm-arm/arm64/system.h
@@ -28,39 +28,39 @@ static inline unsigned long __xchg(unsigned long x, volatile void *ptr, int size
         switch (size) {
         case 1:
                 asm volatile("//        __xchg1\n"
-                "1:     ldaxrb  %w0, [%3]\n"
-                "       stlxrb  %w1, %w2, [%3]\n"
+                "1:     ldaxrb  %w0, %2\n"
+                "       stlxrb  %w1, %w3, %2\n"
                 "       cbnz    %w1, 1b\n"
-                        : "=&r" (ret), "=&r" (tmp)
-                        : "r" (x), "r" (ptr)
-                        : "memory", "cc");
+                        : "=&r" (ret), "=&r" (tmp), "+Q" (*(u8 *)ptr)
+                        : "r" (x)
+                        : "cc", "memory");
                 break;
         case 2:
                 asm volatile("//        __xchg2\n"
-                "1:     ldaxrh  %w0, [%3]\n"
-                "       stlxrh  %w1, %w2, [%3]\n"
+                "1:     ldaxrh  %w0, %2\n"
+                "       stlxrh  %w1, %w3, %2\n"
                 "       cbnz    %w1, 1b\n"
-                        : "=&r" (ret), "=&r" (tmp)
-                        : "r" (x), "r" (ptr)
-                        : "memory", "cc");
+                        : "=&r" (ret), "=&r" (tmp), "+Q" (*(u16 *)ptr)
+                        : "r" (x)
+                        : "cc", "memory");
                 break;
         case 4:
                 asm volatile("//        __xchg4\n"
-                "1:     ldaxr   %w0, [%3]\n"
-                "       stlxr   %w1, %w2, [%3]\n"
+                "1:     ldaxr   %w0, %2\n"
+                "       stlxr   %w1, %w3, %2\n"
                 "       cbnz    %w1, 1b\n"
-                        : "=&r" (ret), "=&r" (tmp)
-                        : "r" (x), "r" (ptr)
-                        : "memory", "cc");
+                        : "=&r" (ret), "=&r" (tmp), "+Q" (*(u32 *)ptr)
+                        : "r" (x)
+                        : "cc", "memory");
                 break;
         case 8:
                 asm volatile("//        __xchg8\n"
-                "1:     ldaxr   %0, [%3]\n"
-                "       stlxr   %w1, %2, [%3]\n"
+                "1:     ldaxr   %0, %2\n"
+                "       stlxr   %w1, %3, %2\n"
                 "       cbnz    %w1, 1b\n"
-                        : "=&r" (ret), "=&r" (tmp)
-                        : "r" (x), "r" (ptr)
-                        : "memory", "cc");
+                        : "=&r" (ret), "=&r" (tmp), "+Q" (*(u64 *)ptr)
+                        : "r" (x)
+                        : "cc", "memory");
                 break;
         default:
                 __bad_xchg(ptr, size), ret = 0;
@@ -84,14 +84,14 @@ static inline unsigned long __cmpxchg(volatile void *ptr, unsigned long old,
         case 1:
                 do {
                         asm volatile("// __cmpxchg1\n"
-                        "       ldxrb   %w1, [%2]\n"
+                        "       ldxrb   %w1, %2\n"
                         "       mov     %w0, #0\n"
                         "       cmp     %w1, %w3\n"
                         "       b.ne    1f\n"
-                        "       stxrb   %w0, %w4, [%2]\n"
+                        "       stxrb   %w0, %w4, %2\n"
                         "1:\n"
-                                : "=&r" (res), "=&r" (oldval)
-                                : "r" (ptr), "Ir" (old), "r" (new)
+                                : "=&r" (res), "=&r" (oldval), "+Q" (*(u8 *)ptr)
+                                : "Ir" (old), "r" (new)
                                 : "cc");
                 } while (res);
                 break;
@@ -99,29 +99,29 @@ static inline unsigned long __cmpxchg(volatile void *ptr, unsigned long old,
         case 2:
                 do {
                         asm volatile("// __cmpxchg2\n"
-                        "       ldxrh   %w1, [%2]\n"
+                        "       ldxrh   %w1, %2\n"
                         "       mov     %w0, #0\n"
                         "       cmp     %w1, %w3\n"
                         "       b.ne    1f\n"
-                        "       stxrh   %w0, %w4, [%2]\n"
+                        "       stxrh   %w0, %w4, %2\n"
                         "1:\n"
-                                : "=&r" (res), "=&r" (oldval)
-                                : "r" (ptr), "Ir" (old), "r" (new)
-                                : "memory", "cc");
+                                : "=&r" (res), "=&r" (oldval), "+Q" (*(u16 *)ptr)
+                                : "Ir" (old), "r" (new)
+                                : "cc");
                 } while (res);
                 break;
 
         case 4:
                 do {
                         asm volatile("// __cmpxchg4\n"
-                        "       ldxr    %w1, [%2]\n"
+                        "       ldxr    %w1, %2\n"
                         "       mov     %w0, #0\n"
                         "       cmp     %w1, %w3\n"
                         "       b.ne    1f\n"
-                        "       stxr    %w0, %w4, [%2]\n"
+                        "       stxr    %w0, %w4, %2\n"
                         "1:\n"
-                                : "=&r" (res), "=&r" (oldval)
-                                : "r" (ptr), "Ir" (old), "r" (new)
+                                : "=&r" (res), "=&r" (oldval), "+Q" (*(u32 *)ptr)
+                                : "Ir" (old), "r" (new)
                                 : "cc");
                 } while (res);
                 break;
@@ -129,14 +129,14 @@ static inline unsigned long __cmpxchg(volatile void *ptr, unsigned long old,
         case 8:
                 do {
                         asm volatile("// __cmpxchg8\n"
-                        "       ldxr    %1, [%2]\n"
+                        "       ldxr    %1, %2\n"
                         "       mov     %w0, #0\n"
                         "       cmp     %1, %3\n"
                         "       b.ne    1f\n"
-                        "       stxr    %w0, %4, [%2]\n"
+                        "       stxr    %w0, %4, %2\n"
                         "1:\n"
-                                : "=&r" (res), "=&r" (oldval)
-                                : "r" (ptr), "Ir" (old), "r" (new)
+                                : "=&r" (res), "=&r" (oldval), "+Q" (*(u64 *)ptr)
+                                : "Ir" (old), "r" (new)
                                 : "cc");
                 } while (res);
                 break;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 23 13:23:44 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Aug 2013 13:23:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCrL3-0007hy-8F; Fri, 23 Aug 2013 13:23:41 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrL1-0007hW-Hk
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:23:39 +0000
Received: from [85.158.143.35:41775] by server-3.bemta-4.messagelabs.com id
	8A/52-08835-A5267125; Fri, 23 Aug 2013 13:23:38 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-21.messagelabs.com!1377264216!6112850!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 32306 invoked from network); 23 Aug 2013 13:23:37 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-3.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Aug 2013 13:23:37 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrKy-00087u-Pt
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:23:36 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrKy-0001EM-OA
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:23:36 +0000
Date: Fri, 23 Aug 2013 13:23:36 +0000
Message-Id: <E1VCrKy-0001EM-OA@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen/arm64: resync atomics and spinlock
	asm with Linux
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit c85c3e3cb9c0540cb604c379298bfd885ade1592
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Fri Jul 19 16:20:09 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Aug 22 15:48:00 2013 +0100

    xen/arm64: resync atomics and spinlock asm with Linux
    
    This picks up the changes from Linux commit 3a0310eb369a:
        arm64: atomics: fix grossly inconsistent asm constraints for exclusives
    
        Our uses of inline asm constraints for atomic operations are fairly
        wild and varied. We basically need to guarantee the following:
    
          1. Any instructions with barrier implications
             (load-acquire/store-release) have a "memory" clobber
    
          2. When performing exclusive accesses, the addresing mode is generated
             using the "Q" constraint
    
          3. Atomic blocks which use the condition flags, have a "cc" clobber
    
        This patch addresses these concerns which, as well as fixing the
        semantics of the code, stops GCC complaining about impossible asm
        constraints.
    
        Signed-off-by: Will Deacon <will.deacon@arm.com>
        Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Tim Deegan <tim@xen.org>
---
 xen/include/asm-arm/arm64/atomic.h   |   66 +++++++++++++++---------------
 xen/include/asm-arm/arm64/spinlock.h |   48 +++++++++++-----------
 xen/include/asm-arm/arm64/system.h   |   74 +++++++++++++++++-----------------
 3 files changed, 94 insertions(+), 94 deletions(-)

diff --git a/xen/include/asm-arm/arm64/atomic.h b/xen/include/asm-arm/arm64/atomic.h
index 5e4ffed..a279755 100644
--- a/xen/include/asm-arm/arm64/atomic.h
+++ b/xen/include/asm-arm/arm64/atomic.h
@@ -33,12 +33,12 @@ static inline void atomic_add(int i, atomic_t *v)
 	int result;
 
 	asm volatile("// atomic_add\n"
-"1:	ldxr	%w0, [%3]\n"
-"	add	%w0, %w0, %w4\n"
-"	stxr	%w1, %w0, [%3]\n"
+"1:	ldxr	%w0, %2\n"
+"	add	%w0, %w0, %w3\n"
+"	stxr	%w1, %w0, %2\n"
 "	cbnz	%w1, 1b"
-	: "=&r" (result), "=&r" (tmp), "+o" (v->counter)
-	: "r" (&v->counter), "Ir" (i)
+	: "=&r" (result), "=&r" (tmp), "+Q" (v->counter)
+	: "Ir" (i)
 	: "cc");
 }
 
@@ -48,13 +48,13 @@ static inline int atomic_add_return(int i, atomic_t *v)
 	int result;
 
 	asm volatile("// atomic_add_return\n"
-"1:	ldaxr	%w0, [%3]\n"
-"	add	%w0, %w0, %w4\n"
-"	stlxr	%w1, %w0, [%3]\n"
+"1:	ldaxr	%w0, %2\n"
+"	add	%w0, %w0, %w3\n"
+"	stlxr	%w1, %w0, %2\n"
 "	cbnz	%w1, 1b"
-	: "=&r" (result), "=&r" (tmp), "+o" (v->counter)
-	: "r" (&v->counter), "Ir" (i)
-	: "cc");
+	: "=&r" (result), "=&r" (tmp), "+Q" (v->counter)
+	: "Ir" (i)
+	: "cc", "memory");
 
 	return result;
 }
@@ -65,12 +65,12 @@ static inline void atomic_sub(int i, atomic_t *v)
 	int result;
 
 	asm volatile("// atomic_sub\n"
-"1:	ldxr	%w0, [%3]\n"
-"	sub	%w0, %w0, %w4\n"
-"	stxr	%w1, %w0, [%3]\n"
+"1:	ldxr	%w0, %2\n"
+"	sub	%w0, %w0, %w3\n"
+"	stxr	%w1, %w0, %2\n"
 "	cbnz	%w1, 1b"
-	: "=&r" (result), "=&r" (tmp), "+o" (v->counter)
-	: "r" (&v->counter), "Ir" (i)
+	: "=&r" (result), "=&r" (tmp), "+Q" (v->counter)
+	: "Ir" (i)
 	: "cc");
 }
 
@@ -80,13 +80,13 @@ static inline int atomic_sub_return(int i, atomic_t *v)
 	int result;
 
 	asm volatile("// atomic_sub_return\n"
-"1:	ldaxr	%w0, [%3]\n"
-"	sub	%w0, %w0, %w4\n"
-"	stlxr	%w1, %w0, [%3]\n"
+"1:	ldaxr	%w0, %2\n"
+"	sub	%w0, %w0, %w3\n"
+"	stlxr	%w1, %w0, %2\n"
 "	cbnz	%w1, 1b"
-	: "=&r" (result), "=&r" (tmp), "+o" (v->counter)
-	: "r" (&v->counter), "Ir" (i)
-	: "cc");
+	: "=&r" (result), "=&r" (tmp), "+Q" (v->counter)
+	: "Ir" (i)
+	: "cc", "memory");
 
 	return result;
 }
@@ -97,15 +97,15 @@ static inline int atomic_cmpxchg(atomic_t *ptr, int old, int new)
 	int oldval;
 
 	asm volatile("// atomic_cmpxchg\n"
-"1:	ldaxr	%w1, [%3]\n"
-"	cmp	%w1, %w4\n"
+"1:	ldaxr	%w1, %2\n"
+"	cmp	%w1, %w3\n"
 "	b.ne	2f\n"
-"	stlxr	%w0, %w5, [%3]\n"
+"	stlxr	%w0, %w4, %2\n"
 "	cbnz	%w0, 1b\n"
 "2:"
-	: "=&r" (tmp), "=&r" (oldval), "+o" (ptr->counter)
-	: "r" (&ptr->counter), "Ir" (old), "r" (new)
-	: "cc");
+	: "=&r" (tmp), "=&r" (oldval), "+Q" (ptr->counter)
+	: "Ir" (old), "r" (new)
+	: "cc", "memory");
 
 	return oldval;
 }
@@ -115,12 +115,12 @@ static inline void atomic_clear_mask(unsigned long mask, unsigned long *addr)
 	unsigned long tmp, tmp2;
 
 	asm volatile("// atomic_clear_mask\n"
-"1:	ldxr	%0, [%3]\n"
-"	bic	%0, %0, %4\n"
-"	stxr	%w1, %0, [%3]\n"
+"1:	ldxr	%0, %2\n"
+"	bic	%0, %0, %3\n"
+"	stxr	%w1, %0, %2\n"
 "	cbnz	%w1, 1b"
-	: "=&r" (tmp), "=&r" (tmp2), "+o" (*addr)
-	: "r" (addr), "Ir" (mask)
+	: "=&r" (tmp), "=&r" (tmp2), "+Q" (*addr)
+	: "Ir" (mask)
 	: "cc");
 }
 
diff --git a/xen/include/asm-arm/arm64/spinlock.h b/xen/include/asm-arm/arm64/spinlock.h
index fe4c403..717f2fe 100644
--- a/xen/include/asm-arm/arm64/spinlock.h
+++ b/xen/include/asm-arm/arm64/spinlock.h
@@ -31,8 +31,8 @@ static always_inline void _raw_spin_unlock(raw_spinlock_t *lock)
     ASSERT(_raw_spin_is_locked(lock));
 
     asm volatile(
-        "       stlr    %w1, [%0]\n"
-        : : "r" (&lock->lock), "r" (0) : "memory");
+        "       stlr    %w1, %0\n"
+        : "=Q" (lock->lock) : "r" (0) : "memory");
 }
 
 static always_inline int _raw_spin_trylock(raw_spinlock_t *lock)
@@ -40,13 +40,13 @@ static always_inline int _raw_spin_trylock(raw_spinlock_t *lock)
     unsigned int tmp;
 
     asm volatile(
-        "       ldaxr   %w0, [%1]\n"
+        "       ldaxr   %w0, %1\n"
         "       cbnz    %w0, 1f\n"
-        "       stxr    %w0, %w2, [%1]\n"
+        "       stxr    %w0, %w2, %1\n"
         "1:\n"
-        : "=&r" (tmp)
-        : "r" (&lock->lock), "r" (1)
-        : "memory");
+        : "=&r" (tmp), "+Q" (lock->lock)
+        : "r" (1)
+        : "cc", "memory");
 
     return !tmp;
 }
@@ -62,14 +62,14 @@ static always_inline int _raw_read_trylock(raw_rwlock_t *rw)
     unsigned int tmp, tmp2 = 1;
 
     asm volatile(
-        "       ldaxr   %w0, [%2]\n"
+        "       ldaxr   %w0, %2\n"
         "       add     %w0, %w0, #1\n"
         "       tbnz    %w0, #31, 1f\n"
-        "       stxr    %w1, %w0, [%2]\n"
+        "       stxr    %w1, %w0, %2\n"
         "1:\n"
-        : "=&r" (tmp), "+r" (tmp2)
-        : "r" (&rw->lock)
-        : "memory");
+        : "=&r" (tmp), "+r" (tmp2), "+Q" (rw->lock)
+        :
+        : "cc", "memory");
 
     return !tmp2;
 }
@@ -79,13 +79,13 @@ static always_inline int _raw_write_trylock(raw_rwlock_t *rw)
     unsigned int tmp;
 
     asm volatile(
-        "       ldaxr   %w0, [%1]\n"
+        "       ldaxr   %w0, %1\n"
         "       cbnz    %w0, 1f\n"
-        "       stxr    %w0, %w2, [%1]\n"
+        "       stxr    %w0, %w2, %1\n"
         "1:\n"
-        : "=&r" (tmp)
-        : "r" (&rw->lock), "r" (0x80000000)
-        : "memory");
+        : "=&r" (tmp), "+Q" (rw->lock)
+        : "r" (0x80000000)
+        : "cc", "memory");
 
     return !tmp;
 }
@@ -95,20 +95,20 @@ static inline void _raw_read_unlock(raw_rwlock_t *rw)
     unsigned int tmp, tmp2;
 
     asm volatile(
-        "1:     ldxr    %w0, [%2]\n"
+        "    1: ldxr    %w0, %2\n"
         "       sub     %w0, %w0, #1\n"
-        "       stlxr   %w1, %w0, [%2]\n"
+        "       stlxr   %w1, %w0, %2\n"
         "       cbnz    %w1, 1b\n"
-        : "=&r" (tmp), "=&r" (tmp2)
-        : "r" (&rw->lock)
-        : "memory");
+        : "=&r" (tmp), "=&r" (tmp2), "+Q" (rw->lock)
+        :
+        : "cc", "memory");
 }
 
 static inline void _raw_write_unlock(raw_rwlock_t *rw)
 {
     asm volatile(
-        "       stlr    %w1, [%0]\n"
-        : : "r" (&rw->lock), "r" (0) : "memory");
+        "       stlr    %w1, %0\n"
+        : "=Q" (rw->lock) : "r" (0) : "memory");
 }
 
 #define _raw_rw_is_locked(x) ((x)->lock != 0)
diff --git a/xen/include/asm-arm/arm64/system.h b/xen/include/asm-arm/arm64/system.h
index 4e41913..d7e912f 100644
--- a/xen/include/asm-arm/arm64/system.h
+++ b/xen/include/asm-arm/arm64/system.h
@@ -28,39 +28,39 @@ static inline unsigned long __xchg(unsigned long x, volatile void *ptr, int size
         switch (size) {
         case 1:
                 asm volatile("//        __xchg1\n"
-                "1:     ldaxrb  %w0, [%3]\n"
-                "       stlxrb  %w1, %w2, [%3]\n"
+                "1:     ldaxrb  %w0, %2\n"
+                "       stlxrb  %w1, %w3, %2\n"
                 "       cbnz    %w1, 1b\n"
-                        : "=&r" (ret), "=&r" (tmp)
-                        : "r" (x), "r" (ptr)
-                        : "memory", "cc");
+                        : "=&r" (ret), "=&r" (tmp), "+Q" (*(u8 *)ptr)
+                        : "r" (x)
+                        : "cc", "memory");
                 break;
         case 2:
                 asm volatile("//        __xchg2\n"
-                "1:     ldaxrh  %w0, [%3]\n"
-                "       stlxrh  %w1, %w2, [%3]\n"
+                "1:     ldaxrh  %w0, %2\n"
+                "       stlxrh  %w1, %w3, %2\n"
                 "       cbnz    %w1, 1b\n"
-                        : "=&r" (ret), "=&r" (tmp)
-                        : "r" (x), "r" (ptr)
-                        : "memory", "cc");
+                        : "=&r" (ret), "=&r" (tmp), "+Q" (*(u16 *)ptr)
+                        : "r" (x)
+                        : "cc", "memory");
                 break;
         case 4:
                 asm volatile("//        __xchg4\n"
-                "1:     ldaxr   %w0, [%3]\n"
-                "       stlxr   %w1, %w2, [%3]\n"
+                "1:     ldaxr   %w0, %2\n"
+                "       stlxr   %w1, %w3, %2\n"
                 "       cbnz    %w1, 1b\n"
-                        : "=&r" (ret), "=&r" (tmp)
-                        : "r" (x), "r" (ptr)
-                        : "memory", "cc");
+                        : "=&r" (ret), "=&r" (tmp), "+Q" (*(u32 *)ptr)
+                        : "r" (x)
+                        : "cc", "memory");
                 break;
         case 8:
                 asm volatile("//        __xchg8\n"
-                "1:     ldaxr   %0, [%3]\n"
-                "       stlxr   %w1, %2, [%3]\n"
+                "1:     ldaxr   %0, %2\n"
+                "       stlxr   %w1, %3, %2\n"
                 "       cbnz    %w1, 1b\n"
-                        : "=&r" (ret), "=&r" (tmp)
-                        : "r" (x), "r" (ptr)
-                        : "memory", "cc");
+                        : "=&r" (ret), "=&r" (tmp), "+Q" (*(u64 *)ptr)
+                        : "r" (x)
+                        : "cc", "memory");
                 break;
         default:
                 __bad_xchg(ptr, size), ret = 0;
@@ -84,14 +84,14 @@ static inline unsigned long __cmpxchg(volatile void *ptr, unsigned long old,
         case 1:
                 do {
                         asm volatile("// __cmpxchg1\n"
-                        "       ldxrb   %w1, [%2]\n"
+                        "       ldxrb   %w1, %2\n"
                         "       mov     %w0, #0\n"
                         "       cmp     %w1, %w3\n"
                         "       b.ne    1f\n"
-                        "       stxrb   %w0, %w4, [%2]\n"
+                        "       stxrb   %w0, %w4, %2\n"
                         "1:\n"
-                                : "=&r" (res), "=&r" (oldval)
-                                : "r" (ptr), "Ir" (old), "r" (new)
+                                : "=&r" (res), "=&r" (oldval), "+Q" (*(u8 *)ptr)
+                                : "Ir" (old), "r" (new)
                                 : "cc");
                 } while (res);
                 break;
@@ -99,29 +99,29 @@ static inline unsigned long __cmpxchg(volatile void *ptr, unsigned long old,
         case 2:
                 do {
                         asm volatile("// __cmpxchg2\n"
-                        "       ldxrh   %w1, [%2]\n"
+                        "       ldxrh   %w1, %2\n"
                         "       mov     %w0, #0\n"
                         "       cmp     %w1, %w3\n"
                         "       b.ne    1f\n"
-                        "       stxrh   %w0, %w4, [%2]\n"
+                        "       stxrh   %w0, %w4, %2\n"
                         "1:\n"
-                                : "=&r" (res), "=&r" (oldval)
-                                : "r" (ptr), "Ir" (old), "r" (new)
-                                : "memory", "cc");
+                                : "=&r" (res), "=&r" (oldval), "+Q" (*(u16 *)ptr)
+                                : "Ir" (old), "r" (new)
+                                : "cc");
                 } while (res);
                 break;
 
         case 4:
                 do {
                         asm volatile("// __cmpxchg4\n"
-                        "       ldxr    %w1, [%2]\n"
+                        "       ldxr    %w1, %2\n"
                         "       mov     %w0, #0\n"
                         "       cmp     %w1, %w3\n"
                         "       b.ne    1f\n"
-                        "       stxr    %w0, %w4, [%2]\n"
+                        "       stxr    %w0, %w4, %2\n"
                         "1:\n"
-                                : "=&r" (res), "=&r" (oldval)
-                                : "r" (ptr), "Ir" (old), "r" (new)
+                                : "=&r" (res), "=&r" (oldval), "+Q" (*(u32 *)ptr)
+                                : "Ir" (old), "r" (new)
                                 : "cc");
                 } while (res);
                 break;
@@ -129,14 +129,14 @@ static inline unsigned long __cmpxchg(volatile void *ptr, unsigned long old,
         case 8:
                 do {
                         asm volatile("// __cmpxchg8\n"
-                        "       ldxr    %1, [%2]\n"
+                        "       ldxr    %1, %2\n"
                         "       mov     %w0, #0\n"
                         "       cmp     %1, %3\n"
                         "       b.ne    1f\n"
-                        "       stxr    %w0, %4, [%2]\n"
+                        "       stxr    %w0, %4, %2\n"
                         "1:\n"
-                                : "=&r" (res), "=&r" (oldval)
-                                : "r" (ptr), "Ir" (old), "r" (new)
+                                : "=&r" (res), "=&r" (oldval), "+Q" (*(u64 *)ptr)
+                                : "Ir" (old), "r" (new)
                                 : "cc");
                 } while (res);
                 break;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 23 13:23:51 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Aug 2013 13:23:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCrLC-0007k3-DA; Fri, 23 Aug 2013 13:23:50 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrLB-0007jj-Js
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:23:49 +0000
Received: from [85.158.137.68:44160] by server-3.bemta-3.messagelabs.com id
	78/DB-11625-46267125; Fri, 23 Aug 2013 13:23:48 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-31.messagelabs.com!1377264227!3420710!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15182 invoked from network); 23 Aug 2013 13:23:48 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-14.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Aug 2013 13:23:48 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrL8-000881-Tz
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:23:46 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrL8-0001Em-SW
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:23:46 +0000
Date: Fri, 23 Aug 2013 13:23:46 +0000
Message-Id: <E1VCrL8-0001Em-SW@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen: arm: retry trylock if strex fails
	on free lock.
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 08d89ac8bd7f43d897cdffe85b236c71d3408e16
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Fri Jul 19 16:20:10 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Aug 22 15:48:13 2013 +0100

    xen: arm: retry trylock if strex fails on free lock.
    
    This comes from the Linux patches 15e7e5c1ebf5 for arm32 and 4ecf7ccb1973 for
    arm64 by Will Deacon and Catalin Marinas respectively. The Linux commit message
    says:
    
        An exclusive store instruction may fail for reasons other than lock
        contention (e.g. a cache eviction during the critical section) so, in
        line with other architectures using similar exclusive instructions
        (alpha, mips, powerpc), retry the trylock operation if the lock appears
        to be free but the strex reported failure.
    
    I have observed this due to register_cpu_notifier containing:
        if ( !spin_trylock(&cpu_add_remove_lock) )
            BUG(); /* Should never fail as we are called only during boot. */
    which was spuriously failing.
    
    The ARMv8 variant is taken directly from the Linux patch. For v7 I had to
    reimplement since we don't currently use ticket locks.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Tim Deegan <tim@xen.org>
---
 xen/include/asm-arm/arm32/spinlock.h |   25 ++++++++++++++-----------
 xen/include/asm-arm/arm64/spinlock.h |    3 ++-
 2 files changed, 16 insertions(+), 12 deletions(-)

diff --git a/xen/include/asm-arm/arm32/spinlock.h b/xen/include/asm-arm/arm32/spinlock.h
index 4a11a97..ba11ad6 100644
--- a/xen/include/asm-arm/arm32/spinlock.h
+++ b/xen/include/asm-arm/arm32/spinlock.h
@@ -34,17 +34,20 @@ static always_inline void _raw_spin_unlock(raw_spinlock_t *lock)
 
 static always_inline int _raw_spin_trylock(raw_spinlock_t *lock)
 {
-    unsigned long tmp;
-
-    __asm__ __volatile__(
-"   ldrex   %0, [%1]\n"
-"   teq     %0, #0\n"
-"   strexeq %0, %2, [%1]"
-    : "=&r" (tmp)
-    : "r" (&lock->lock), "r" (1)
-    : "cc");
-
-    if (tmp == 0) {
+    unsigned long contended, res;
+
+    do {
+        __asm__ __volatile__(
+    "   ldrex   %0, [%2]\n"
+    "   teq     %0, #0\n"
+    "   strexeq %1, %3, [%2]\n"
+    "   movne   %1, #0\n"
+        : "=&r" (contended), "=r" (res)
+        : "r" (&lock->lock), "r" (1)
+        : "cc");
+    } while (res);
+
+    if (!contended) {
         smp_mb();
         return 1;
     } else {
diff --git a/xen/include/asm-arm/arm64/spinlock.h b/xen/include/asm-arm/arm64/spinlock.h
index 717f2fe..3a36cfd 100644
--- a/xen/include/asm-arm/arm64/spinlock.h
+++ b/xen/include/asm-arm/arm64/spinlock.h
@@ -40,9 +40,10 @@ static always_inline int _raw_spin_trylock(raw_spinlock_t *lock)
     unsigned int tmp;
 
     asm volatile(
-        "       ldaxr   %w0, %1\n"
+        "2:     ldaxr   %w0, %1\n"
         "       cbnz    %w0, 1f\n"
         "       stxr    %w0, %w2, %1\n"
+        "       cbnz    %w0, 2b\n"
         "1:\n"
         : "=&r" (tmp), "+Q" (lock->lock)
         : "r" (1)
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 23 13:23:51 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Aug 2013 13:23:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCrLC-0007k3-DA; Fri, 23 Aug 2013 13:23:50 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrLB-0007jj-Js
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:23:49 +0000
Received: from [85.158.137.68:44160] by server-3.bemta-3.messagelabs.com id
	78/DB-11625-46267125; Fri, 23 Aug 2013 13:23:48 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-31.messagelabs.com!1377264227!3420710!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 15182 invoked from network); 23 Aug 2013 13:23:48 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-14.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Aug 2013 13:23:48 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrL8-000881-Tz
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:23:46 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrL8-0001Em-SW
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:23:46 +0000
Date: Fri, 23 Aug 2013 13:23:46 +0000
Message-Id: <E1VCrL8-0001Em-SW@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen: arm: retry trylock if strex fails
	on free lock.
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 08d89ac8bd7f43d897cdffe85b236c71d3408e16
Author:     Ian Campbell <ian.campbell@citrix.com>
AuthorDate: Fri Jul 19 16:20:10 2013 +0100
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Aug 22 15:48:13 2013 +0100

    xen: arm: retry trylock if strex fails on free lock.
    
    This comes from the Linux patches 15e7e5c1ebf5 for arm32 and 4ecf7ccb1973 for
    arm64 by Will Deacon and Catalin Marinas respectively. The Linux commit message
    says:
    
        An exclusive store instruction may fail for reasons other than lock
        contention (e.g. a cache eviction during the critical section) so, in
        line with other architectures using similar exclusive instructions
        (alpha, mips, powerpc), retry the trylock operation if the lock appears
        to be free but the strex reported failure.
    
    I have observed this due to register_cpu_notifier containing:
        if ( !spin_trylock(&cpu_add_remove_lock) )
            BUG(); /* Should never fail as we are called only during boot. */
    which was spuriously failing.
    
    The ARMv8 variant is taken directly from the Linux patch. For v7 I had to
    reimplement since we don't currently use ticket locks.
    
    Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
    Acked-by: Tim Deegan <tim@xen.org>
---
 xen/include/asm-arm/arm32/spinlock.h |   25 ++++++++++++++-----------
 xen/include/asm-arm/arm64/spinlock.h |    3 ++-
 2 files changed, 16 insertions(+), 12 deletions(-)

diff --git a/xen/include/asm-arm/arm32/spinlock.h b/xen/include/asm-arm/arm32/spinlock.h
index 4a11a97..ba11ad6 100644
--- a/xen/include/asm-arm/arm32/spinlock.h
+++ b/xen/include/asm-arm/arm32/spinlock.h
@@ -34,17 +34,20 @@ static always_inline void _raw_spin_unlock(raw_spinlock_t *lock)
 
 static always_inline int _raw_spin_trylock(raw_spinlock_t *lock)
 {
-    unsigned long tmp;
-
-    __asm__ __volatile__(
-"   ldrex   %0, [%1]\n"
-"   teq     %0, #0\n"
-"   strexeq %0, %2, [%1]"
-    : "=&r" (tmp)
-    : "r" (&lock->lock), "r" (1)
-    : "cc");
-
-    if (tmp == 0) {
+    unsigned long contended, res;
+
+    do {
+        __asm__ __volatile__(
+    "   ldrex   %0, [%2]\n"
+    "   teq     %0, #0\n"
+    "   strexeq %1, %3, [%2]\n"
+    "   movne   %1, #0\n"
+        : "=&r" (contended), "=r" (res)
+        : "r" (&lock->lock), "r" (1)
+        : "cc");
+    } while (res);
+
+    if (!contended) {
         smp_mb();
         return 1;
     } else {
diff --git a/xen/include/asm-arm/arm64/spinlock.h b/xen/include/asm-arm/arm64/spinlock.h
index 717f2fe..3a36cfd 100644
--- a/xen/include/asm-arm/arm64/spinlock.h
+++ b/xen/include/asm-arm/arm64/spinlock.h
@@ -40,9 +40,10 @@ static always_inline int _raw_spin_trylock(raw_spinlock_t *lock)
     unsigned int tmp;
 
     asm volatile(
-        "       ldaxr   %w0, %1\n"
+        "2:     ldaxr   %w0, %1\n"
         "       cbnz    %w0, 1f\n"
         "       stxr    %w0, %w2, %1\n"
+        "       cbnz    %w0, 2b\n"
         "1:\n"
         : "=&r" (tmp), "+Q" (lock->lock)
         : "r" (1)
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 23 13:24:27 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Aug 2013 13:24:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCrLm-0007of-HK; Fri, 23 Aug 2013 13:24:26 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrLl-0007oN-Ab
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:24:25 +0000
Received: from [85.158.143.35:39413] by server-1.bemta-4.messagelabs.com id
	84/46-16125-88267125; Fri, 23 Aug 2013 13:24:24 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1377264186!1161539!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16930 invoked from network); 23 Aug 2013 13:23:07 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-9.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Aug 2013 13:23:07 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrKU-00087c-9b
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:23:06 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrKU-0001Cy-81
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:23:06 +0000
Date: Fri, 23 Aug 2013 13:23:06 +0000
Message-Id: <E1VCrKU-0001Cy-81@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen/arm: Platform recognition and
	initialize arch_timer for the OMAP5
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 7f2b22e9b3975650f81aa6c6d82bc716a3331fc7
Author:     Chen Baozi <baozich@gmail.com>
AuthorDate: Tue Aug 13 19:14:26 2013 +0800
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Aug 22 13:26:42 2013 +0100

    xen/arm: Platform recognition and initialize arch_timer for the OMAP5
    
    Signed-off-by: Chen Baozi <baozich@gmail.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 xen/arch/arm/platforms/Makefile       |    1 +
 xen/arch/arm/platforms/omap5.c        |  117 +++++++++++++++++++++++++++++++++
 xen/include/asm-arm/platforms/omap5.h |   25 +++++++
 3 files changed, 143 insertions(+), 0 deletions(-)

diff --git a/xen/arch/arm/platforms/Makefile b/xen/arch/arm/platforms/Makefile
index 6ee8e6a..4aa82e8 100644
--- a/xen/arch/arm/platforms/Makefile
+++ b/xen/arch/arm/platforms/Makefile
@@ -1,3 +1,4 @@
 obj-y += vexpress.o
 obj-y += exynos5.o
 obj-y += midway.o
+obj-y += omap5.o
diff --git a/xen/arch/arm/platforms/omap5.c b/xen/arch/arm/platforms/omap5.c
new file mode 100644
index 0000000..402dddd
--- /dev/null
+++ b/xen/arch/arm/platforms/omap5.c
@@ -0,0 +1,117 @@
+/*
+ * xen/arch/arm/platforms/omap5.c
+ *
+ * OMAP5 specific settings
+ *
+ * Chen Baozi <baozich@gmail.com>
+ * Copyright (c) 2013
+ *
+ * This program 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.
+ *
+ * This program 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.
+ */
+
+#include <xen/config.h>
+#include <asm/platform.h>
+#include <asm/platforms/omap5.h>
+#include <xen/mm.h>
+#include <xen/vmap.h>
+
+static uint16_t num_den[8][2] = {
+    {         0,          0 },  /* not used */
+    {  26 *  64,  26 *  125 },  /* 12.0 Mhz */
+    {   2 * 768,   2 * 1625 },  /* 13.0 Mhz */
+    {         0,          0 },  /* not used */
+    { 130 *   8, 130 *   25 },  /* 19.2 Mhz */
+    {   2 * 384,   2 * 1625 },  /* 26.0 Mhz */
+    {   3 * 256,   3 * 1125 },  /* 27.0 Mhz */
+    { 130 *   4, 130 *   25 },  /* 38.4 Mhz */
+};
+
+/*
+ * The realtime counter also called master counter, is a free-running
+ * counter, which is related to real time. It produces the count used
+ * by the CPU local timer peripherals in the MPU cluster. The timer counts
+ * at a rate of 6.144 MHz. Because the device operates on different clocks
+ * in different power modes, the master counter shifts operation between
+ * clocks, adjusting the increment per clock in hardware accordingly to
+ * maintain a constant count rate.
+ */
+static int omap5_init_time(void)
+{
+    void __iomem *ckgen_prm_base;
+    void __iomem *rt_ct_base;
+    unsigned int sys_clksel;
+    unsigned int num, den, frac1, frac2;
+
+    ckgen_prm_base = ioremap_attr(OMAP5_CKGEN_PRM_BASE,
+                                  0x20, PAGE_HYPERVISOR_NOCACHE);
+    if ( !ckgen_prm_base )
+    {
+        dprintk(XENLOG_ERR, "%s: PRM_BASE ioremap failed\n", __func__);
+        return -ENOMEM;
+    }
+
+    sys_clksel = ioreadl(ckgen_prm_base + OMAP5_CM_CLKSEL_SYS) &
+        ~SYS_CLKSEL_MASK;
+
+    iounmap(ckgen_prm_base);
+
+    rt_ct_base = ioremap_attr(REALTIME_COUNTER_BASE,
+                              0x20, PAGE_HYPERVISOR_NOCACHE);
+    if ( !rt_ct_base )
+    {
+        dprintk(XENLOG_ERR, "%s: REALTIME_COUNTER_BASE ioremap failed\n", __func__);
+        return -ENOMEM;
+    }
+
+    frac1 = ioreadl(rt_ct_base + INCREMENTER_NUMERATOR_OFFSET);
+    num = frac1 & ~NUMERATOR_DENUMERATOR_MASK;
+    if ( num_den[sys_clksel][0] != num )
+    {
+        frac1 &= NUMERATOR_DENUMERATOR_MASK;
+        frac1 |= num_den[sys_clksel][0];
+    }
+
+    frac2 = ioreadl(rt_ct_base + INCREMENTER_DENUMERATOR_RELOAD_OFFSET);
+    den = frac2 & ~NUMERATOR_DENUMERATOR_MASK;
+    if ( num_den[sys_clksel][1] != num )
+    {
+        frac2 &= NUMERATOR_DENUMERATOR_MASK;
+        frac2 |= num_den[sys_clksel][1];
+    }
+
+    iowritel(rt_ct_base + INCREMENTER_NUMERATOR_OFFSET, frac1);
+    iowritel(rt_ct_base + INCREMENTER_DENUMERATOR_RELOAD_OFFSET,
+             frac2 | PRM_FRAC_INCREMENTER_DENUMERATOR_RELOAD);
+
+    iounmap(rt_ct_base);
+
+    return 0;
+}
+
+static const char const *omap5_dt_compat[] __initdata =
+{
+    "ti,omap5",
+    NULL
+};
+
+PLATFORM_START(omap5, "TI OMAP5")
+    .compatible = omap5_dt_compat,
+    .init_time = omap5_init_time,
+PLATFORM_END
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/include/asm-arm/platforms/omap5.h b/xen/include/asm-arm/platforms/omap5.h
new file mode 100644
index 0000000..092f340
--- /dev/null
+++ b/xen/include/asm-arm/platforms/omap5.h
@@ -0,0 +1,25 @@
+#ifndef __ASM_ARM_PLATFORMS_OMAP5_H
+#define __ASM_ASM_PLATFORMS_OMAP5_H
+
+#define REALTIME_COUNTER_BASE                   0x48243200
+#define INCREMENTER_NUMERATOR_OFFSET            0x10
+#define INCREMENTER_DENUMERATOR_RELOAD_OFFSET   0x14
+#define NUMERATOR_DENUMERATOR_MASK              0xfffff000
+#define PRM_FRAC_INCREMENTER_DENUMERATOR_RELOAD 0x00010000
+
+#define OMAP5_L4_WKUP                           0x4AE00000
+#define OMAP5_PRM_BASE                          (OMAP5_L4_WKUP + 0x6000)
+#define OMAP5_CKGEN_PRM_BASE                    (OMAP5_PRM_BASE + 0x100)
+#define OMAP5_CM_CLKSEL_SYS                     0x10
+#define SYS_CLKSEL_MASK                         0xfffffff8
+
+#endif /* __ASM_ARM_PLATFORMS_OMAP5_H */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 23 13:24:27 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Aug 2013 13:24:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCrLm-0007of-HK; Fri, 23 Aug 2013 13:24:26 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrLl-0007oN-Ab
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:24:25 +0000
Received: from [85.158.143.35:39413] by server-1.bemta-4.messagelabs.com id
	84/46-16125-88267125; Fri, 23 Aug 2013 13:24:24 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-9.tower-21.messagelabs.com!1377264186!1161539!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 16930 invoked from network); 23 Aug 2013 13:23:07 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-9.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Aug 2013 13:23:07 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrKU-00087c-9b
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:23:06 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCrKU-0001Cy-81
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 13:23:06 +0000
Date: Fri, 23 Aug 2013 13:23:06 +0000
Message-Id: <E1VCrKU-0001Cy-81@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] xen/arm: Platform recognition and
	initialize arch_timer for the OMAP5
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 7f2b22e9b3975650f81aa6c6d82bc716a3331fc7
Author:     Chen Baozi <baozich@gmail.com>
AuthorDate: Tue Aug 13 19:14:26 2013 +0800
Commit:     Ian Campbell <ian.campbell@citrix.com>
CommitDate: Thu Aug 22 13:26:42 2013 +0100

    xen/arm: Platform recognition and initialize arch_timer for the OMAP5
    
    Signed-off-by: Chen Baozi <baozich@gmail.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
 xen/arch/arm/platforms/Makefile       |    1 +
 xen/arch/arm/platforms/omap5.c        |  117 +++++++++++++++++++++++++++++++++
 xen/include/asm-arm/platforms/omap5.h |   25 +++++++
 3 files changed, 143 insertions(+), 0 deletions(-)

diff --git a/xen/arch/arm/platforms/Makefile b/xen/arch/arm/platforms/Makefile
index 6ee8e6a..4aa82e8 100644
--- a/xen/arch/arm/platforms/Makefile
+++ b/xen/arch/arm/platforms/Makefile
@@ -1,3 +1,4 @@
 obj-y += vexpress.o
 obj-y += exynos5.o
 obj-y += midway.o
+obj-y += omap5.o
diff --git a/xen/arch/arm/platforms/omap5.c b/xen/arch/arm/platforms/omap5.c
new file mode 100644
index 0000000..402dddd
--- /dev/null
+++ b/xen/arch/arm/platforms/omap5.c
@@ -0,0 +1,117 @@
+/*
+ * xen/arch/arm/platforms/omap5.c
+ *
+ * OMAP5 specific settings
+ *
+ * Chen Baozi <baozich@gmail.com>
+ * Copyright (c) 2013
+ *
+ * This program 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.
+ *
+ * This program 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.
+ */
+
+#include <xen/config.h>
+#include <asm/platform.h>
+#include <asm/platforms/omap5.h>
+#include <xen/mm.h>
+#include <xen/vmap.h>
+
+static uint16_t num_den[8][2] = {
+    {         0,          0 },  /* not used */
+    {  26 *  64,  26 *  125 },  /* 12.0 Mhz */
+    {   2 * 768,   2 * 1625 },  /* 13.0 Mhz */
+    {         0,          0 },  /* not used */
+    { 130 *   8, 130 *   25 },  /* 19.2 Mhz */
+    {   2 * 384,   2 * 1625 },  /* 26.0 Mhz */
+    {   3 * 256,   3 * 1125 },  /* 27.0 Mhz */
+    { 130 *   4, 130 *   25 },  /* 38.4 Mhz */
+};
+
+/*
+ * The realtime counter also called master counter, is a free-running
+ * counter, which is related to real time. It produces the count used
+ * by the CPU local timer peripherals in the MPU cluster. The timer counts
+ * at a rate of 6.144 MHz. Because the device operates on different clocks
+ * in different power modes, the master counter shifts operation between
+ * clocks, adjusting the increment per clock in hardware accordingly to
+ * maintain a constant count rate.
+ */
+static int omap5_init_time(void)
+{
+    void __iomem *ckgen_prm_base;
+    void __iomem *rt_ct_base;
+    unsigned int sys_clksel;
+    unsigned int num, den, frac1, frac2;
+
+    ckgen_prm_base = ioremap_attr(OMAP5_CKGEN_PRM_BASE,
+                                  0x20, PAGE_HYPERVISOR_NOCACHE);
+    if ( !ckgen_prm_base )
+    {
+        dprintk(XENLOG_ERR, "%s: PRM_BASE ioremap failed\n", __func__);
+        return -ENOMEM;
+    }
+
+    sys_clksel = ioreadl(ckgen_prm_base + OMAP5_CM_CLKSEL_SYS) &
+        ~SYS_CLKSEL_MASK;
+
+    iounmap(ckgen_prm_base);
+
+    rt_ct_base = ioremap_attr(REALTIME_COUNTER_BASE,
+                              0x20, PAGE_HYPERVISOR_NOCACHE);
+    if ( !rt_ct_base )
+    {
+        dprintk(XENLOG_ERR, "%s: REALTIME_COUNTER_BASE ioremap failed\n", __func__);
+        return -ENOMEM;
+    }
+
+    frac1 = ioreadl(rt_ct_base + INCREMENTER_NUMERATOR_OFFSET);
+    num = frac1 & ~NUMERATOR_DENUMERATOR_MASK;
+    if ( num_den[sys_clksel][0] != num )
+    {
+        frac1 &= NUMERATOR_DENUMERATOR_MASK;
+        frac1 |= num_den[sys_clksel][0];
+    }
+
+    frac2 = ioreadl(rt_ct_base + INCREMENTER_DENUMERATOR_RELOAD_OFFSET);
+    den = frac2 & ~NUMERATOR_DENUMERATOR_MASK;
+    if ( num_den[sys_clksel][1] != num )
+    {
+        frac2 &= NUMERATOR_DENUMERATOR_MASK;
+        frac2 |= num_den[sys_clksel][1];
+    }
+
+    iowritel(rt_ct_base + INCREMENTER_NUMERATOR_OFFSET, frac1);
+    iowritel(rt_ct_base + INCREMENTER_DENUMERATOR_RELOAD_OFFSET,
+             frac2 | PRM_FRAC_INCREMENTER_DENUMERATOR_RELOAD);
+
+    iounmap(rt_ct_base);
+
+    return 0;
+}
+
+static const char const *omap5_dt_compat[] __initdata =
+{
+    "ti,omap5",
+    NULL
+};
+
+PLATFORM_START(omap5, "TI OMAP5")
+    .compatible = omap5_dt_compat,
+    .init_time = omap5_init_time,
+PLATFORM_END
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/include/asm-arm/platforms/omap5.h b/xen/include/asm-arm/platforms/omap5.h
new file mode 100644
index 0000000..092f340
--- /dev/null
+++ b/xen/include/asm-arm/platforms/omap5.h
@@ -0,0 +1,25 @@
+#ifndef __ASM_ARM_PLATFORMS_OMAP5_H
+#define __ASM_ASM_PLATFORMS_OMAP5_H
+
+#define REALTIME_COUNTER_BASE                   0x48243200
+#define INCREMENTER_NUMERATOR_OFFSET            0x10
+#define INCREMENTER_DENUMERATOR_RELOAD_OFFSET   0x14
+#define NUMERATOR_DENUMERATOR_MASK              0xfffff000
+#define PRM_FRAC_INCREMENTER_DENUMERATOR_RELOAD 0x00010000
+
+#define OMAP5_L4_WKUP                           0x4AE00000
+#define OMAP5_PRM_BASE                          (OMAP5_L4_WKUP + 0x6000)
+#define OMAP5_CKGEN_PRM_BASE                    (OMAP5_PRM_BASE + 0x100)
+#define OMAP5_CM_CLKSEL_SYS                     0x10
+#define SYS_CLKSEL_MASK                         0xfffffff8
+
+#endif /* __ASM_ARM_PLATFORMS_OMAP5_H */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 23 21:22:16 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Aug 2013 21:22:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCyo4-0005pi-BC; Fri, 23 Aug 2013 21:22:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCyo2-0005pY-RO
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 21:22:07 +0000
Received: from [85.158.143.35:5302] by server-2.bemta-4.messagelabs.com id
	0F/BB-26052-E72D7125; Fri, 23 Aug 2013 21:22:06 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1377292923!1825635!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3488 invoked from network); 23 Aug 2013 21:22:04 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-10.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Aug 2013 21:22:04 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCynz-0005Kf-F2
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 21:22:03 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCynz-0005Jf-7K
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 21:22:03 +0000
Date: Fri, 23 Aug 2013 21:22:03 +0000
Message-Id: <E1VCynz-0005Jf-7K@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] x86: move struct bug_frame instances
	out of line
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit b5692f2ef9b6fd67c3e7b4d4f2a4bdb1d58100e5
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Fri Aug 23 09:19:29 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Fri Aug 23 09:19:29 2013 +0200

    x86: move struct bug_frame instances out of line
    
    Just like Linux did many years ago, move them into a separate (data)
    section, such that they no longer pollute instruction caches and TLBs.
    
    Assertion frames, requiring two pointers to be stored, occupy two slots
    in the array, with the second slot mimicking a frame the location
    pointer of which doesn't match any address within .text or .init.text
    (it effectively points back to the slot itself, which - being in a data
    section - can't be reached by non-buggy execution).
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Keir Fraser <keir@xen.org>
---
 xen/arch/x86/efi/stub.c          |    2 +-
 xen/arch/x86/traps.c             |   88 +++++++++++++++++++------------------
 xen/arch/x86/xen.lds.S           |   12 +++++
 xen/include/asm-x86/bug.h        |   76 ++++++++++++++++++++------------
 xen/include/asm-x86/x86_64/bug.h |   11 -----
 5 files changed, 105 insertions(+), 84 deletions(-)

diff --git a/xen/arch/x86/efi/stub.c b/xen/arch/x86/efi/stub.c
index 1520bae..8916a2e 100644
--- a/xen/arch/x86/efi/stub.c
+++ b/xen/arch/x86/efi/stub.c
@@ -1,7 +1,7 @@
 #include <xen/efi.h>
 #include <xen/errno.h>
 #include <xen/init.h>
-#include <asm/bug.h>
+#include <xen/lib.h>
 
 #ifndef efi_enabled
 const bool_t efi_enabled = 0;
diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index b445b2f..9db42c82 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -952,11 +952,18 @@ static int emulate_forced_invalid_op(struct cpu_user_regs *regs)
 
 void do_invalid_op(struct cpu_user_regs *regs)
 {
-    struct bug_frame bug;
-    struct bug_frame_str bug_str;
-    const char *p, *filename, *predicate, *eip = (char *)regs->eip;
+    const struct bug_frame *bug;
+    u8 bug_insn[2];
+    const char *filename, *predicate, *eip = (char *)regs->eip;
     unsigned long fixup;
     int id, lineno;
+    static const struct bug_frame *const stop_frames[] = {
+        __stop_bug_frames_0,
+        __stop_bug_frames_1,
+        __stop_bug_frames_2,
+        __stop_bug_frames_3,
+        NULL
+    };
 
     DEBUGGER_trap_entry(TRAP_invalid_op, regs);
 
@@ -968,70 +975,65 @@ void do_invalid_op(struct cpu_user_regs *regs)
         return;
     }
 
-    if ( !is_kernel(eip) ||
-         __copy_from_user(&bug, eip, sizeof(bug)) ||
-         memcmp(bug.ud2, "\xf\xb", sizeof(bug.ud2)) ||
-         (bug.ret != 0xc2) )
+    if ( (!is_kernel_text(eip) &&
+          (system_state > SYS_STATE_boot || !is_kernel_inittext(eip))) ||
+         __copy_from_user(bug_insn, eip, sizeof(bug_insn)) ||
+         memcmp(bug_insn, "\xf\xb", sizeof(bug_insn)) )
         goto die;
-    eip += sizeof(bug);
 
-    /* Decode first pointer argument. */
-    if ( !is_kernel(eip) ||
-         __copy_from_user(&bug_str, eip, sizeof(bug_str)) ||
-         (bug_str.mov != 0xbc) )
-        goto die;
-    p = bug_str(bug_str, eip);
-    if ( !is_kernel(p) )
+    for ( bug = __start_bug_frames, id = 0; stop_frames[id]; ++bug )
+    {
+        while ( unlikely(bug == stop_frames[id]) )
+            ++id;
+        if ( bug_loc(bug) == eip )
+            break;
+    }
+    if ( !stop_frames[id] )
         goto die;
-    eip += sizeof(bug_str);
-
-    id = bug.id & 3;
 
+    eip += sizeof(bug_insn);
     if ( id == BUGFRAME_run_fn )
     {
-        void (*fn)(struct cpu_user_regs *) = (void *)p;
-        (*fn)(regs);
+        void (*fn)(struct cpu_user_regs *) = bug_ptr(bug);
+
+        fn(regs);
         regs->eip = (unsigned long)eip;
         return;
     }
 
     /* WARN, BUG or ASSERT: decode the filename pointer and line number. */
-    filename = p;
-    lineno = bug.id >> 2;
+    filename = bug_ptr(bug);
+    if ( !is_kernel(filename) )
+        goto die;
+    lineno = bug_line(bug);
 
-    if ( id == BUGFRAME_warn )
+    switch ( id )
     {
+    case BUGFRAME_warn:
         printk("Xen WARN at %.50s:%d\n", filename, lineno);
         show_execution_state(regs);
         regs->eip = (unsigned long)eip;
         return;
-    }
 
-    if ( id == BUGFRAME_bug )
-    {
+    case BUGFRAME_bug:
         printk("Xen BUG at %.50s:%d\n", filename, lineno);
         DEBUGGER_trap_fatal(TRAP_invalid_op, regs);
         show_execution_state(regs);
         panic("Xen BUG at %.50s:%d\n", filename, lineno);
-    }
 
-    /* ASSERT: decode the predicate string pointer. */
-    ASSERT(id == BUGFRAME_assert);
-    if ( !is_kernel(eip) ||
-         __copy_from_user(&bug_str, eip, sizeof(bug_str)) ||
-         (bug_str.mov != 0xbc) )
-        goto die;
-    predicate = bug_str(bug_str, eip);
-    eip += sizeof(bug_str);
+    case BUGFRAME_assert:
+        /* ASSERT: decode the predicate string pointer. */
+        predicate = bug_msg(bug);
+        if ( !is_kernel(predicate) )
+            predicate = "<unknown>";
 
-    if ( !is_kernel(predicate) )
-        predicate = "<unknown>";
-    printk("Assertion '%s' failed at %.50s:%d\n",
-           predicate, filename, lineno);
-    DEBUGGER_trap_fatal(TRAP_invalid_op, regs);
-    show_execution_state(regs);
-    panic("Assertion '%s' failed at %.50s:%d\n",
-          predicate, filename, lineno);
+        printk("Assertion '%s' failed at %.50s:%d\n",
+               predicate, filename, lineno);
+        DEBUGGER_trap_fatal(TRAP_invalid_op, regs);
+        show_execution_state(regs);
+        panic("Assertion '%s' failed at %.50s:%d\n",
+              predicate, filename, lineno);
+    }
 
  die:
     if ( (fixup = search_exception_table(regs->eip)) != 0 )
diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
index d959941..9600cdf 100644
--- a/xen/arch/x86/xen.lds.S
+++ b/xen/arch/x86/xen.lds.S
@@ -51,6 +51,18 @@ SECTIONS
   } :text = 0x9090
 
   .rodata : {
+       /* Bug frames table */
+       . = ALIGN(4);
+       __start_bug_frames = .;
+       *(.bug_frames.0)
+       __stop_bug_frames_0 = .;
+       *(.bug_frames.1)
+       __stop_bug_frames_1 = .;
+       *(.bug_frames.2)
+       __stop_bug_frames_2 = .;
+       *(.bug_frames.3)
+       __stop_bug_frames_3 = .;
+
        *(.rodata)
        *(.rodata.*)
   } :text
diff --git a/xen/include/asm-x86/bug.h b/xen/include/asm-x86/bug.h
index c1fc186..148975f 100644
--- a/xen/include/asm-x86/bug.h
+++ b/xen/include/asm-x86/bug.h
@@ -1,42 +1,60 @@
 #ifndef __X86_BUG_H__
 #define __X86_BUG_H__
 
-#include <asm/x86_64/bug.h>
+#define BUG_DISP_WIDTH    24
+#define BUG_LINE_LO_WIDTH (31 - BUG_DISP_WIDTH)
+#define BUG_LINE_HI_WIDTH (31 - BUG_DISP_WIDTH)
 
 struct bug_frame {
-    unsigned char ud2[2];
-    unsigned char ret;
-    unsigned short id; /* BUGFRAME_??? */
-} __attribute__((packed));
+    signed int loc_disp:BUG_DISP_WIDTH;
+    unsigned int line_hi:BUG_LINE_HI_WIDTH;
+    signed int ptr_disp:BUG_DISP_WIDTH;
+    unsigned int line_lo:BUG_LINE_LO_WIDTH;
+    signed int msg_disp[];
+};
+
+#define bug_loc(b) ((const void *)(b) + (b)->loc_disp)
+#define bug_ptr(b) ((const void *)(b) + (b)->ptr_disp)
+#define bug_line(b) ((((b)->line_hi + ((b)->loc_disp < 0)) <<                \
+                      BUG_LINE_LO_WIDTH) +                                   \
+                     (b)->line_lo + ((b)->ptr_disp < 0))
+#define bug_msg(b) ((const char *)(b) + (b)->msg_disp[1])
 
 #define BUGFRAME_run_fn 0
 #define BUGFRAME_warn   1
 #define BUGFRAME_bug    2
 #define BUGFRAME_assert 3
 
-#define run_in_exception_handler(fn)               \
-    asm volatile (                                 \
-        "ud2 ; ret %0" BUG_STR(1)                  \
-        : : "i" (BUGFRAME_run_fn),                 \
-            "i" (&(fn)) )
-
-#define WARN()                                     \
-    asm volatile (                                 \
-        "ud2 ; ret %0" BUG_STR(1)                  \
-        : : "i" (BUGFRAME_warn | (__LINE__<<2)),   \
-            "i" (__FILE__) )
-
-#define BUG()                                      \
-    asm volatile (                                 \
-        "ud2 ; ret %0" BUG_STR(1)                  \
-        : : "i" (BUGFRAME_bug | (__LINE__<<2)),    \
-            "i" (__FILE__) )
-
-#define assert_failed(p)                           \
-    asm volatile (                                 \
-        "ud2 ; ret %0" BUG_STR(1) BUG_STR(2)       \
-        : : "i" (BUGFRAME_assert | (__LINE__<<2)), \
-            "i" (__FILE__), "i" (p) )
-
+#define BUG_FRAME(type, line, ptr, msg) do {                                 \
+    BUILD_BUG_ON((line) >> (BUG_LINE_LO_WIDTH + BUG_LINE_HI_WIDTH));         \
+    asm volatile ( ".Lbug%=: ud2\n"                                          \
+                   ".pushsection .bug_frames.%c0, \"a\", @progbits\n"        \
+                   ".p2align 2\n"                                            \
+                   ".Lfrm%=:\n"                                              \
+                   ".long (.Lbug%= - .Lfrm%=) + %c4\n"                       \
+                   ".long (%c1 - .Lfrm%=) + %c3\n"                           \
+                   ".ifnes \"" msg "\", \"\"\n"                              \
+                   ".long 0, %c2 - .Lfrm%=\n"                                \
+                   ".endif\n"                                                \
+                   ".popsection"                                             \
+                   :                                                         \
+                   : "i" (type), "i" (ptr), "i" (msg),                       \
+                     "i" ((line & ((1 << BUG_LINE_LO_WIDTH) - 1))            \
+                          << BUG_DISP_WIDTH),                                \
+                     "i" (((line) >> BUG_LINE_LO_WIDTH) << BUG_DISP_WIDTH)); \
+} while (0)
+
+#define WARN() BUG_FRAME(BUGFRAME_warn, __LINE__, __FILE__, "")
+#define BUG()  BUG_FRAME(BUGFRAME_bug,  __LINE__, __FILE__, "")
+
+#define run_in_exception_handler(fn) BUG_FRAME(BUGFRAME_run_fn, 0, fn, "")
+
+#define assert_failed(msg) BUG_FRAME(BUGFRAME_assert, __LINE__, __FILE__, msg)
+
+extern const struct bug_frame __start_bug_frames[],
+                              __stop_bug_frames_0[],
+                              __stop_bug_frames_1[],
+                              __stop_bug_frames_2[],
+                              __stop_bug_frames_3[];
 
 #endif /* __X86_BUG_H__ */
diff --git a/xen/include/asm-x86/x86_64/bug.h b/xen/include/asm-x86/x86_64/bug.h
deleted file mode 100644
index ecae455..0000000
--- a/xen/include/asm-x86/x86_64/bug.h
+++ /dev/null
@@ -1,11 +0,0 @@
-#ifndef __X86_64_BUG_H__
-#define __X86_64_BUG_H__
-
-struct bug_frame_str {
-    unsigned char mov;
-    signed int str_disp;
-} __attribute__((packed));
-#define bug_str(b, rip) ((const char *)(rip) + (b).str_disp)
-#define BUG_STR(n) "; movl %" #n " - ., %%esp"
-
-#endif /* __X86_64_BUG_H__ */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 23 21:22:16 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Aug 2013 21:22:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCyo4-0005pi-BC; Fri, 23 Aug 2013 21:22:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCyo2-0005pY-RO
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 21:22:07 +0000
Received: from [85.158.143.35:5302] by server-2.bemta-4.messagelabs.com id
	0F/BB-26052-E72D7125; Fri, 23 Aug 2013 21:22:06 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-21.messagelabs.com!1377292923!1825635!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3488 invoked from network); 23 Aug 2013 21:22:04 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-10.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Aug 2013 21:22:04 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCynz-0005Kf-F2
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 21:22:03 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCynz-0005Jf-7K
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 21:22:03 +0000
Date: Fri, 23 Aug 2013 21:22:03 +0000
Message-Id: <E1VCynz-0005Jf-7K@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] x86: move struct bug_frame instances
	out of line
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit b5692f2ef9b6fd67c3e7b4d4f2a4bdb1d58100e5
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Fri Aug 23 09:19:29 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Fri Aug 23 09:19:29 2013 +0200

    x86: move struct bug_frame instances out of line
    
    Just like Linux did many years ago, move them into a separate (data)
    section, such that they no longer pollute instruction caches and TLBs.
    
    Assertion frames, requiring two pointers to be stored, occupy two slots
    in the array, with the second slot mimicking a frame the location
    pointer of which doesn't match any address within .text or .init.text
    (it effectively points back to the slot itself, which - being in a data
    section - can't be reached by non-buggy execution).
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Keir Fraser <keir@xen.org>
---
 xen/arch/x86/efi/stub.c          |    2 +-
 xen/arch/x86/traps.c             |   88 +++++++++++++++++++------------------
 xen/arch/x86/xen.lds.S           |   12 +++++
 xen/include/asm-x86/bug.h        |   76 ++++++++++++++++++++------------
 xen/include/asm-x86/x86_64/bug.h |   11 -----
 5 files changed, 105 insertions(+), 84 deletions(-)

diff --git a/xen/arch/x86/efi/stub.c b/xen/arch/x86/efi/stub.c
index 1520bae..8916a2e 100644
--- a/xen/arch/x86/efi/stub.c
+++ b/xen/arch/x86/efi/stub.c
@@ -1,7 +1,7 @@
 #include <xen/efi.h>
 #include <xen/errno.h>
 #include <xen/init.h>
-#include <asm/bug.h>
+#include <xen/lib.h>
 
 #ifndef efi_enabled
 const bool_t efi_enabled = 0;
diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index b445b2f..9db42c82 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -952,11 +952,18 @@ static int emulate_forced_invalid_op(struct cpu_user_regs *regs)
 
 void do_invalid_op(struct cpu_user_regs *regs)
 {
-    struct bug_frame bug;
-    struct bug_frame_str bug_str;
-    const char *p, *filename, *predicate, *eip = (char *)regs->eip;
+    const struct bug_frame *bug;
+    u8 bug_insn[2];
+    const char *filename, *predicate, *eip = (char *)regs->eip;
     unsigned long fixup;
     int id, lineno;
+    static const struct bug_frame *const stop_frames[] = {
+        __stop_bug_frames_0,
+        __stop_bug_frames_1,
+        __stop_bug_frames_2,
+        __stop_bug_frames_3,
+        NULL
+    };
 
     DEBUGGER_trap_entry(TRAP_invalid_op, regs);
 
@@ -968,70 +975,65 @@ void do_invalid_op(struct cpu_user_regs *regs)
         return;
     }
 
-    if ( !is_kernel(eip) ||
-         __copy_from_user(&bug, eip, sizeof(bug)) ||
-         memcmp(bug.ud2, "\xf\xb", sizeof(bug.ud2)) ||
-         (bug.ret != 0xc2) )
+    if ( (!is_kernel_text(eip) &&
+          (system_state > SYS_STATE_boot || !is_kernel_inittext(eip))) ||
+         __copy_from_user(bug_insn, eip, sizeof(bug_insn)) ||
+         memcmp(bug_insn, "\xf\xb", sizeof(bug_insn)) )
         goto die;
-    eip += sizeof(bug);
 
-    /* Decode first pointer argument. */
-    if ( !is_kernel(eip) ||
-         __copy_from_user(&bug_str, eip, sizeof(bug_str)) ||
-         (bug_str.mov != 0xbc) )
-        goto die;
-    p = bug_str(bug_str, eip);
-    if ( !is_kernel(p) )
+    for ( bug = __start_bug_frames, id = 0; stop_frames[id]; ++bug )
+    {
+        while ( unlikely(bug == stop_frames[id]) )
+            ++id;
+        if ( bug_loc(bug) == eip )
+            break;
+    }
+    if ( !stop_frames[id] )
         goto die;
-    eip += sizeof(bug_str);
-
-    id = bug.id & 3;
 
+    eip += sizeof(bug_insn);
     if ( id == BUGFRAME_run_fn )
     {
-        void (*fn)(struct cpu_user_regs *) = (void *)p;
-        (*fn)(regs);
+        void (*fn)(struct cpu_user_regs *) = bug_ptr(bug);
+
+        fn(regs);
         regs->eip = (unsigned long)eip;
         return;
     }
 
     /* WARN, BUG or ASSERT: decode the filename pointer and line number. */
-    filename = p;
-    lineno = bug.id >> 2;
+    filename = bug_ptr(bug);
+    if ( !is_kernel(filename) )
+        goto die;
+    lineno = bug_line(bug);
 
-    if ( id == BUGFRAME_warn )
+    switch ( id )
     {
+    case BUGFRAME_warn:
         printk("Xen WARN at %.50s:%d\n", filename, lineno);
         show_execution_state(regs);
         regs->eip = (unsigned long)eip;
         return;
-    }
 
-    if ( id == BUGFRAME_bug )
-    {
+    case BUGFRAME_bug:
         printk("Xen BUG at %.50s:%d\n", filename, lineno);
         DEBUGGER_trap_fatal(TRAP_invalid_op, regs);
         show_execution_state(regs);
         panic("Xen BUG at %.50s:%d\n", filename, lineno);
-    }
 
-    /* ASSERT: decode the predicate string pointer. */
-    ASSERT(id == BUGFRAME_assert);
-    if ( !is_kernel(eip) ||
-         __copy_from_user(&bug_str, eip, sizeof(bug_str)) ||
-         (bug_str.mov != 0xbc) )
-        goto die;
-    predicate = bug_str(bug_str, eip);
-    eip += sizeof(bug_str);
+    case BUGFRAME_assert:
+        /* ASSERT: decode the predicate string pointer. */
+        predicate = bug_msg(bug);
+        if ( !is_kernel(predicate) )
+            predicate = "<unknown>";
 
-    if ( !is_kernel(predicate) )
-        predicate = "<unknown>";
-    printk("Assertion '%s' failed at %.50s:%d\n",
-           predicate, filename, lineno);
-    DEBUGGER_trap_fatal(TRAP_invalid_op, regs);
-    show_execution_state(regs);
-    panic("Assertion '%s' failed at %.50s:%d\n",
-          predicate, filename, lineno);
+        printk("Assertion '%s' failed at %.50s:%d\n",
+               predicate, filename, lineno);
+        DEBUGGER_trap_fatal(TRAP_invalid_op, regs);
+        show_execution_state(regs);
+        panic("Assertion '%s' failed at %.50s:%d\n",
+              predicate, filename, lineno);
+    }
 
  die:
     if ( (fixup = search_exception_table(regs->eip)) != 0 )
diff --git a/xen/arch/x86/xen.lds.S b/xen/arch/x86/xen.lds.S
index d959941..9600cdf 100644
--- a/xen/arch/x86/xen.lds.S
+++ b/xen/arch/x86/xen.lds.S
@@ -51,6 +51,18 @@ SECTIONS
   } :text = 0x9090
 
   .rodata : {
+       /* Bug frames table */
+       . = ALIGN(4);
+       __start_bug_frames = .;
+       *(.bug_frames.0)
+       __stop_bug_frames_0 = .;
+       *(.bug_frames.1)
+       __stop_bug_frames_1 = .;
+       *(.bug_frames.2)
+       __stop_bug_frames_2 = .;
+       *(.bug_frames.3)
+       __stop_bug_frames_3 = .;
+
        *(.rodata)
        *(.rodata.*)
   } :text
diff --git a/xen/include/asm-x86/bug.h b/xen/include/asm-x86/bug.h
index c1fc186..148975f 100644
--- a/xen/include/asm-x86/bug.h
+++ b/xen/include/asm-x86/bug.h
@@ -1,42 +1,60 @@
 #ifndef __X86_BUG_H__
 #define __X86_BUG_H__
 
-#include <asm/x86_64/bug.h>
+#define BUG_DISP_WIDTH    24
+#define BUG_LINE_LO_WIDTH (31 - BUG_DISP_WIDTH)
+#define BUG_LINE_HI_WIDTH (31 - BUG_DISP_WIDTH)
 
 struct bug_frame {
-    unsigned char ud2[2];
-    unsigned char ret;
-    unsigned short id; /* BUGFRAME_??? */
-} __attribute__((packed));
+    signed int loc_disp:BUG_DISP_WIDTH;
+    unsigned int line_hi:BUG_LINE_HI_WIDTH;
+    signed int ptr_disp:BUG_DISP_WIDTH;
+    unsigned int line_lo:BUG_LINE_LO_WIDTH;
+    signed int msg_disp[];
+};
+
+#define bug_loc(b) ((const void *)(b) + (b)->loc_disp)
+#define bug_ptr(b) ((const void *)(b) + (b)->ptr_disp)
+#define bug_line(b) ((((b)->line_hi + ((b)->loc_disp < 0)) <<                \
+                      BUG_LINE_LO_WIDTH) +                                   \
+                     (b)->line_lo + ((b)->ptr_disp < 0))
+#define bug_msg(b) ((const char *)(b) + (b)->msg_disp[1])
 
 #define BUGFRAME_run_fn 0
 #define BUGFRAME_warn   1
 #define BUGFRAME_bug    2
 #define BUGFRAME_assert 3
 
-#define run_in_exception_handler(fn)               \
-    asm volatile (                                 \
-        "ud2 ; ret %0" BUG_STR(1)                  \
-        : : "i" (BUGFRAME_run_fn),                 \
-            "i" (&(fn)) )
-
-#define WARN()                                     \
-    asm volatile (                                 \
-        "ud2 ; ret %0" BUG_STR(1)                  \
-        : : "i" (BUGFRAME_warn | (__LINE__<<2)),   \
-            "i" (__FILE__) )
-
-#define BUG()                                      \
-    asm volatile (                                 \
-        "ud2 ; ret %0" BUG_STR(1)                  \
-        : : "i" (BUGFRAME_bug | (__LINE__<<2)),    \
-            "i" (__FILE__) )
-
-#define assert_failed(p)                           \
-    asm volatile (                                 \
-        "ud2 ; ret %0" BUG_STR(1) BUG_STR(2)       \
-        : : "i" (BUGFRAME_assert | (__LINE__<<2)), \
-            "i" (__FILE__), "i" (p) )
-
+#define BUG_FRAME(type, line, ptr, msg) do {                                 \
+    BUILD_BUG_ON((line) >> (BUG_LINE_LO_WIDTH + BUG_LINE_HI_WIDTH));         \
+    asm volatile ( ".Lbug%=: ud2\n"                                          \
+                   ".pushsection .bug_frames.%c0, \"a\", @progbits\n"        \
+                   ".p2align 2\n"                                            \
+                   ".Lfrm%=:\n"                                              \
+                   ".long (.Lbug%= - .Lfrm%=) + %c4\n"                       \
+                   ".long (%c1 - .Lfrm%=) + %c3\n"                           \
+                   ".ifnes \"" msg "\", \"\"\n"                              \
+                   ".long 0, %c2 - .Lfrm%=\n"                                \
+                   ".endif\n"                                                \
+                   ".popsection"                                             \
+                   :                                                         \
+                   : "i" (type), "i" (ptr), "i" (msg),                       \
+                     "i" ((line & ((1 << BUG_LINE_LO_WIDTH) - 1))            \
+                          << BUG_DISP_WIDTH),                                \
+                     "i" (((line) >> BUG_LINE_LO_WIDTH) << BUG_DISP_WIDTH)); \
+} while (0)
+
+#define WARN() BUG_FRAME(BUGFRAME_warn, __LINE__, __FILE__, "")
+#define BUG()  BUG_FRAME(BUGFRAME_bug,  __LINE__, __FILE__, "")
+
+#define run_in_exception_handler(fn) BUG_FRAME(BUGFRAME_run_fn, 0, fn, "")
+
+#define assert_failed(msg) BUG_FRAME(BUGFRAME_assert, __LINE__, __FILE__, msg)
+
+extern const struct bug_frame __start_bug_frames[],
+                              __stop_bug_frames_0[],
+                              __stop_bug_frames_1[],
+                              __stop_bug_frames_2[],
+                              __stop_bug_frames_3[];
 
 #endif /* __X86_BUG_H__ */
diff --git a/xen/include/asm-x86/x86_64/bug.h b/xen/include/asm-x86/x86_64/bug.h
deleted file mode 100644
index ecae455..0000000
--- a/xen/include/asm-x86/x86_64/bug.h
+++ /dev/null
@@ -1,11 +0,0 @@
-#ifndef __X86_64_BUG_H__
-#define __X86_64_BUG_H__
-
-struct bug_frame_str {
-    unsigned char mov;
-    signed int str_disp;
-} __attribute__((packed));
-#define bug_str(b, rip) ((const char *)(rip) + (b).str_disp)
-#define BUG_STR(n) "; movl %" #n " - ., %%esp"
-
-#endif /* __X86_64_BUG_H__ */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 23 21:22:26 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Aug 2013 21:22:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCyoF-0005qP-EU; Fri, 23 Aug 2013 21:22:19 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCyoD-0005qF-GC
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 21:22:17 +0000
Received: from [85.158.137.68:9842] by server-15.bemta-3.messagelabs.com id
	B7/8D-21409-882D7125; Fri, 23 Aug 2013 21:22:16 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-31.messagelabs.com!1377292933!3511335!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3386 invoked from network); 23 Aug 2013 21:22:15 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-2.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Aug 2013 21:22:15 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCyo9-0005Ki-LK
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 21:22:13 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCyo9-0005K4-Hu
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 21:22:13 +0000
Date: Fri, 23 Aug 2013 21:22:13 +0000
Message-Id: <E1VCyo9-0005K4-Hu@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] PCI: break MSI-X data out of struct
	pci_dev_info
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 1035bb64fd7fd9f05c510466d98566fd82e37ad9
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Fri Aug 23 09:22:08 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Fri Aug 23 09:22:08 2013 +0200

    PCI: break MSI-X data out of struct pci_dev_info
    
    Considering that a significant share of PCI devices out there (not the
    least the myriad of CPU-exposed ones) don't support MSI-X at all, and
    that the amount of data is well beyond a handful of bytes, break this
    out of the common structure, at once allowing the actual data to be
    tracked to become architecture specific.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Keir Fraser <keir@xen.org>
---
 xen/arch/x86/hvm/vmsi.c       |    2 +-
 xen/arch/x86/msi.c            |  101 +++++++++++++++++++++--------------------
 xen/drivers/passthrough/pci.c |   17 +++++++-
 xen/include/asm-x86/msi.h     |   16 +++++++
 xen/include/xen/pci.h         |   14 +-----
 5 files changed, 86 insertions(+), 64 deletions(-)

diff --git a/xen/arch/x86/hvm/vmsi.c b/xen/arch/x86/hvm/vmsi.c
index 0244b13..e36c1f0 100644
--- a/xen/arch/x86/hvm/vmsi.c
+++ b/xen/arch/x86/hvm/vmsi.c
@@ -199,7 +199,7 @@ static void __iomem *msixtbl_addr_to_virt(
     nr_page = (addr >> PAGE_SHIFT) -
               (entry->gtable >> PAGE_SHIFT);
 
-    idx = entry->pdev->msix_table_idx[nr_page];
+    idx = entry->pdev->msix->table_idx[nr_page];
     if ( !idx )
         return NULL;
 
diff --git a/xen/arch/x86/msi.c b/xen/arch/x86/msi.c
index 3a8956a..e17e5b2 100644
--- a/xen/arch/x86/msi.c
+++ b/xen/arch/x86/msi.c
@@ -66,7 +66,7 @@ static void msix_fixmap_free(int idx)
     spin_unlock(&msix_fixmap_lock);
 }
 
-static int msix_get_fixmap(struct pci_dev *dev, u64 table_paddr,
+static int msix_get_fixmap(struct arch_msix *msix, u64 table_paddr,
                            u64 entry_paddr)
 {
     long nr_page;
@@ -77,48 +77,48 @@ static int msix_get_fixmap(struct pci_dev *dev, u64 table_paddr,
     if ( nr_page < 0 || nr_page >= MAX_MSIX_TABLE_PAGES )
         return -EINVAL;
 
-    spin_lock(&dev->msix_table_lock);
-    if ( dev->msix_table_refcnt[nr_page]++ == 0 )
+    spin_lock(&msix->table_lock);
+    if ( msix->table_refcnt[nr_page]++ == 0 )
     {
         idx = msix_fixmap_alloc();
         if ( idx < 0 )
         {
-            dev->msix_table_refcnt[nr_page]--;
+            msix->table_refcnt[nr_page]--;
             goto out;
         }
         set_fixmap_nocache(idx, entry_paddr);
-        dev->msix_table_idx[nr_page] = idx;
+        msix->table_idx[nr_page] = idx;
     }
     else
-        idx = dev->msix_table_idx[nr_page];
+        idx = msix->table_idx[nr_page];
 
  out:
-    spin_unlock(&dev->msix_table_lock);
+    spin_unlock(&msix->table_lock);
     return idx;
 }
 
-static void msix_put_fixmap(struct pci_dev *dev, int idx)
+static void msix_put_fixmap(struct arch_msix *msix, int idx)
 {
     int i;
 
-    spin_lock(&dev->msix_table_lock);
+    spin_lock(&msix->table_lock);
     for ( i = 0; i < MAX_MSIX_TABLE_PAGES; i++ )
     {
-        if ( dev->msix_table_idx[i] == idx )
+        if ( msix->table_idx[i] == idx )
             break;
     }
     if ( i == MAX_MSIX_TABLE_PAGES )
         goto out;
 
-    if ( --dev->msix_table_refcnt[i] == 0 )
+    if ( --msix->table_refcnt[i] == 0 )
     {
         __set_fixmap(idx, 0, 0);
         msix_fixmap_free(idx);
-        dev->msix_table_idx[i] = 0;
+        msix->table_idx[i] = 0;
     }
 
  out:
-    spin_unlock(&dev->msix_table_lock);
+    spin_unlock(&msix->table_lock);
 }
 
 /*
@@ -503,7 +503,7 @@ int msi_free_irq(struct msi_desc *entry)
     {
         unsigned long start;
         start = (unsigned long)entry->mask_base & ~(PAGE_SIZE - 1);
-        msix_put_fixmap(entry->dev, virt_to_fix(start));
+        msix_put_fixmap(entry->dev->msix, virt_to_fix(start));
         nr = 1;
     }
 
@@ -698,6 +698,7 @@ static int msix_capability_init(struct pci_dev *dev,
                                 struct msi_desc **desc,
                                 unsigned int nr_entries)
 {
+    struct arch_msix *msix = dev->msix;
     struct msi_desc *entry = NULL;
     int pos, vf;
     u16 control;
@@ -757,17 +758,17 @@ static int msix_capability_init(struct pci_dev *dev,
     }
     table_paddr += table_offset;
 
-    if ( !dev->msix_used_entries )
+    if ( !msix->used_entries )
     {
         u64 pba_paddr;
         u32 pba_offset;
 
-        dev->msix_nr_entries = nr_entries;
-        dev->msix_table.first = PFN_DOWN(table_paddr);
-        dev->msix_table.last = PFN_DOWN(table_paddr +
-                                        nr_entries * PCI_MSIX_ENTRY_SIZE - 1);
-        WARN_ON(rangeset_overlaps_range(mmio_ro_ranges, dev->msix_table.first,
-                                        dev->msix_table.last));
+        msix->nr_entries = nr_entries;
+        msix->table.first = PFN_DOWN(table_paddr);
+        msix->table.last = PFN_DOWN(table_paddr +
+                                    nr_entries * PCI_MSIX_ENTRY_SIZE - 1);
+        WARN_ON(rangeset_overlaps_range(mmio_ro_ranges, msix->table.first,
+                                        msix->table.last));
 
         pba_offset = pci_conf_read32(seg, bus, slot, func,
                                      msix_pba_offset_reg(pos));
@@ -776,18 +777,18 @@ static int msix_capability_init(struct pci_dev *dev,
         WARN_ON(!pba_paddr);
         pba_paddr += pba_offset & ~PCI_MSIX_BIRMASK;
 
-        dev->msix_pba.first = PFN_DOWN(pba_paddr);
-        dev->msix_pba.last = PFN_DOWN(pba_paddr +
-                                      BITS_TO_LONGS(nr_entries) - 1);
-        WARN_ON(rangeset_overlaps_range(mmio_ro_ranges, dev->msix_pba.first,
-                                        dev->msix_pba.last));
+        msix->pba.first = PFN_DOWN(pba_paddr);
+        msix->pba.last = PFN_DOWN(pba_paddr +
+                                  BITS_TO_LONGS(nr_entries) - 1);
+        WARN_ON(rangeset_overlaps_range(mmio_ro_ranges, msix->pba.first,
+                                        msix->pba.last));
     }
 
     if ( entry )
     {
         /* Map MSI-X table region */
         u64 entry_paddr = table_paddr + msi->entry_nr * PCI_MSIX_ENTRY_SIZE;
-        int idx = msix_get_fixmap(dev, table_paddr, entry_paddr);
+        int idx = msix_get_fixmap(msix, table_paddr, entry_paddr);
         void __iomem *base;
 
         if ( idx < 0 )
@@ -815,13 +816,13 @@ static int msix_capability_init(struct pci_dev *dev,
         *desc = entry;
     }
 
-    if ( !dev->msix_used_entries )
+    if ( !msix->used_entries )
     {
-        if ( rangeset_add_range(mmio_ro_ranges, dev->msix_table.first,
-                                dev->msix_table.last) )
+        if ( rangeset_add_range(mmio_ro_ranges, msix->table.first,
+                                msix->table.last) )
             WARN();
-        if ( rangeset_add_range(mmio_ro_ranges, dev->msix_pba.first,
-                                dev->msix_pba.last) )
+        if ( rangeset_add_range(mmio_ro_ranges, msix->pba.first,
+                                msix->pba.last) )
             WARN();
 
         if ( dev->domain )
@@ -834,16 +835,16 @@ static int msix_capability_init(struct pci_dev *dev,
             if ( !d )
                 for_each_domain(d)
                     if ( !paging_mode_translate(d) &&
-                         (iomem_access_permitted(d, dev->msix_table.first,
-                                                 dev->msix_table.last) ||
-                          iomem_access_permitted(d, dev->msix_pba.first,
-                                                 dev->msix_pba.last)) )
+                         (iomem_access_permitted(d, msix->table.first,
+                                                 msix->table.last) ||
+                          iomem_access_permitted(d, msix->pba.first,
+                                                 msix->pba.last)) )
                         break;
             if ( d )
             {
-                if ( !is_hardware_domain(d) && dev->msix_warned != d->domain_id )
+                if ( !is_hardware_domain(d) && msix->warned != d->domain_id )
                 {
-                    dev->msix_warned = d->domain_id;
+                    msix->warned = d->domain_id;
                     printk(XENLOG_ERR
                            "Potentially insecure use of MSI-X on %04x:%02x:%02x.%u by Dom%d\n",
                            seg, bus, slot, func, d->domain_id);
@@ -852,9 +853,9 @@ static int msix_capability_init(struct pci_dev *dev,
             }
         }
     }
-    WARN_ON(dev->msix_nr_entries != nr_entries);
-    WARN_ON(dev->msix_table.first != (table_paddr >> PAGE_SHIFT));
-    ++dev->msix_used_entries;
+    WARN_ON(msix->nr_entries != nr_entries);
+    WARN_ON(msix->table.first != (table_paddr >> PAGE_SHIFT));
+    ++msix->used_entries;
 
     /* Restore MSI-X enabled bits */
     pci_conf_write16(seg, bus, slot, func, msix_control_reg(pos), control);
@@ -978,15 +979,15 @@ static int __pci_enable_msix(struct msi_info *msi, struct msi_desc **desc)
     return status;
 }
 
-static void _pci_cleanup_msix(struct pci_dev *dev)
+static void _pci_cleanup_msix(struct arch_msix *msix)
 {
-    if ( !--dev->msix_used_entries )
+    if ( !--msix->used_entries )
     {
-        if ( rangeset_remove_range(mmio_ro_ranges, dev->msix_table.first,
-                                   dev->msix_table.last) )
+        if ( rangeset_remove_range(mmio_ro_ranges, msix->table.first,
+                                   msix->table.last) )
             WARN();
-        if ( rangeset_remove_range(mmio_ro_ranges, dev->msix_pba.first,
-                                   dev->msix_pba.last) )
+        if ( rangeset_remove_range(mmio_ro_ranges, msix->pba.first,
+                                   msix->pba.last) )
             WARN();
     }
 }
@@ -1014,7 +1015,7 @@ static void __pci_disable_msix(struct msi_desc *entry)
 
     pci_conf_write16(seg, bus, slot, func, msix_control_reg(pos), control);
 
-    _pci_cleanup_msix(dev);
+    _pci_cleanup_msix(dev->msix);
 }
 
 int pci_prepare_msix(u16 seg, u8 bus, u8 devfn, bool_t off)
@@ -1035,11 +1036,11 @@ int pci_prepare_msix(u16 seg, u8 bus, u8 devfn, bool_t off)
     pdev = pci_get_pdev(seg, bus, devfn);
     if ( !pdev )
         rc = -ENODEV;
-    else if ( pdev->msix_used_entries != !!off )
+    else if ( pdev->msix->used_entries != !!off )
         rc = -EBUSY;
     else if ( off )
     {
-        _pci_cleanup_msix(pdev);
+        _pci_cleanup_msix(pdev->msix);
         rc = 0;
     }
     else
diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
index f2756c9..b488e2a 100644
--- a/xen/drivers/passthrough/pci.c
+++ b/xen/drivers/passthrough/pci.c
@@ -179,8 +179,22 @@ static struct pci_dev *alloc_pdev(struct pci_seg *pseg, u8 bus, u8 devfn)
     *((u8*) &pdev->devfn) = devfn;
     pdev->domain = NULL;
     INIT_LIST_HEAD(&pdev->msi_list);
+
+    if ( pci_find_cap_offset(pseg->nr, bus, PCI_SLOT(devfn), PCI_FUNC(devfn),
+                             PCI_CAP_ID_MSIX) )
+    {
+        struct arch_msix *msix = xzalloc(struct arch_msix);
+
+        if ( !msix )
+        {
+            xfree(pdev);
+            return NULL;
+        }
+        spin_lock_init(&msix->table_lock);
+        pdev->msix = msix;
+    }
+
     list_add(&pdev->alldevs_list, &pseg->alldevs_list);
-    spin_lock_init(&pdev->msix_table_lock);
 
     /* update bus2bridge */
     switch ( pdev->type = pdev_type(pseg->nr, bus, devfn) )
@@ -277,6 +291,7 @@ static void free_pdev(struct pci_seg *pseg, struct pci_dev *pdev)
     }
 
     list_del(&pdev->alldevs_list);
+    xfree(pdev->msix);
     xfree(pdev);
 }
 
diff --git a/xen/include/asm-x86/msi.h b/xen/include/asm-x86/msi.h
index 06e6853..9eeef63 100644
--- a/xen/include/asm-x86/msi.h
+++ b/xen/include/asm-x86/msi.h
@@ -214,6 +214,22 @@ struct msg_address {
 	__u32 	hi_address;
 } __attribute__ ((packed));
 
+#define MAX_MSIX_TABLE_ENTRIES  (PCI_MSIX_FLAGS_QSIZE + 1)
+#define MAX_MSIX_TABLE_PAGES    PFN_UP(MAX_MSIX_TABLE_ENTRIES * \
+                                       PCI_MSIX_ENTRY_SIZE + \
+                                       (~PCI_MSIX_BIRMASK & (PAGE_SIZE - 1)))
+
+struct arch_msix {
+    unsigned int nr_entries, used_entries;
+    struct {
+        unsigned long first, last;
+    } table, pba;
+    int table_refcnt[MAX_MSIX_TABLE_PAGES];
+    int table_idx[MAX_MSIX_TABLE_PAGES];
+    spinlock_t table_lock;
+    domid_t warned;
+};
+
 void early_msi_init(void);
 void msi_compose_msg(struct irq_desc *, struct msi_msg *);
 void __msi_set_enable(u16 seg, u8 bus, u8 slot, u8 func, int pos, int enable);
diff --git a/xen/include/xen/pci.h b/xen/include/xen/pci.h
index ca72a99..c367736 100644
--- a/xen/include/xen/pci.h
+++ b/xen/include/xen/pci.h
@@ -32,10 +32,6 @@
 #define PCI_BDF(b,d,f)  ((((b) & 0xff) << 8) | PCI_DEVFN(d,f))
 #define PCI_BDF2(b,df)  ((((b) & 0xff) << 8) | ((df) & 0xff))
 
-#define MAX_MSIX_TABLE_ENTRIES  (PCI_MSIX_FLAGS_QSIZE + 1)
-#define MAX_MSIX_TABLE_PAGES    PFN_UP(MAX_MSIX_TABLE_ENTRIES * \
-                                       PCI_MSIX_ENTRY_SIZE + \
-                                       (~PCI_MSIX_BIRMASK & (PAGE_SIZE - 1)))
 struct pci_dev_info {
     bool_t is_extfn;
     bool_t is_virtfn;
@@ -50,14 +46,8 @@ struct pci_dev {
     struct list_head domain_list;
 
     struct list_head msi_list;
-    unsigned int msix_nr_entries, msix_used_entries;
-    struct {
-        unsigned long first, last;
-    } msix_table, msix_pba;
-    int msix_table_refcnt[MAX_MSIX_TABLE_PAGES];
-    int msix_table_idx[MAX_MSIX_TABLE_PAGES];
-    spinlock_t msix_table_lock;
-    domid_t msix_warned;
+
+    struct arch_msix *msix;
 
     struct domain *domain;
     const u16 seg;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 23 21:22:26 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Aug 2013 21:22:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCyoF-0005qP-EU; Fri, 23 Aug 2013 21:22:19 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCyoD-0005qF-GC
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 21:22:17 +0000
Received: from [85.158.137.68:9842] by server-15.bemta-3.messagelabs.com id
	B7/8D-21409-882D7125; Fri, 23 Aug 2013 21:22:16 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-2.tower-31.messagelabs.com!1377292933!3511335!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 3386 invoked from network); 23 Aug 2013 21:22:15 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-2.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Aug 2013 21:22:15 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCyo9-0005Ki-LK
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 21:22:13 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCyo9-0005K4-Hu
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 21:22:13 +0000
Date: Fri, 23 Aug 2013 21:22:13 +0000
Message-Id: <E1VCyo9-0005K4-Hu@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] PCI: break MSI-X data out of struct
	pci_dev_info
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 1035bb64fd7fd9f05c510466d98566fd82e37ad9
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Fri Aug 23 09:22:08 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Fri Aug 23 09:22:08 2013 +0200

    PCI: break MSI-X data out of struct pci_dev_info
    
    Considering that a significant share of PCI devices out there (not the
    least the myriad of CPU-exposed ones) don't support MSI-X at all, and
    that the amount of data is well beyond a handful of bytes, break this
    out of the common structure, at once allowing the actual data to be
    tracked to become architecture specific.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Keir Fraser <keir@xen.org>
---
 xen/arch/x86/hvm/vmsi.c       |    2 +-
 xen/arch/x86/msi.c            |  101 +++++++++++++++++++++--------------------
 xen/drivers/passthrough/pci.c |   17 +++++++-
 xen/include/asm-x86/msi.h     |   16 +++++++
 xen/include/xen/pci.h         |   14 +-----
 5 files changed, 86 insertions(+), 64 deletions(-)

diff --git a/xen/arch/x86/hvm/vmsi.c b/xen/arch/x86/hvm/vmsi.c
index 0244b13..e36c1f0 100644
--- a/xen/arch/x86/hvm/vmsi.c
+++ b/xen/arch/x86/hvm/vmsi.c
@@ -199,7 +199,7 @@ static void __iomem *msixtbl_addr_to_virt(
     nr_page = (addr >> PAGE_SHIFT) -
               (entry->gtable >> PAGE_SHIFT);
 
-    idx = entry->pdev->msix_table_idx[nr_page];
+    idx = entry->pdev->msix->table_idx[nr_page];
     if ( !idx )
         return NULL;
 
diff --git a/xen/arch/x86/msi.c b/xen/arch/x86/msi.c
index 3a8956a..e17e5b2 100644
--- a/xen/arch/x86/msi.c
+++ b/xen/arch/x86/msi.c
@@ -66,7 +66,7 @@ static void msix_fixmap_free(int idx)
     spin_unlock(&msix_fixmap_lock);
 }
 
-static int msix_get_fixmap(struct pci_dev *dev, u64 table_paddr,
+static int msix_get_fixmap(struct arch_msix *msix, u64 table_paddr,
                            u64 entry_paddr)
 {
     long nr_page;
@@ -77,48 +77,48 @@ static int msix_get_fixmap(struct pci_dev *dev, u64 table_paddr,
     if ( nr_page < 0 || nr_page >= MAX_MSIX_TABLE_PAGES )
         return -EINVAL;
 
-    spin_lock(&dev->msix_table_lock);
-    if ( dev->msix_table_refcnt[nr_page]++ == 0 )
+    spin_lock(&msix->table_lock);
+    if ( msix->table_refcnt[nr_page]++ == 0 )
     {
         idx = msix_fixmap_alloc();
         if ( idx < 0 )
         {
-            dev->msix_table_refcnt[nr_page]--;
+            msix->table_refcnt[nr_page]--;
             goto out;
         }
         set_fixmap_nocache(idx, entry_paddr);
-        dev->msix_table_idx[nr_page] = idx;
+        msix->table_idx[nr_page] = idx;
     }
     else
-        idx = dev->msix_table_idx[nr_page];
+        idx = msix->table_idx[nr_page];
 
  out:
-    spin_unlock(&dev->msix_table_lock);
+    spin_unlock(&msix->table_lock);
     return idx;
 }
 
-static void msix_put_fixmap(struct pci_dev *dev, int idx)
+static void msix_put_fixmap(struct arch_msix *msix, int idx)
 {
     int i;
 
-    spin_lock(&dev->msix_table_lock);
+    spin_lock(&msix->table_lock);
     for ( i = 0; i < MAX_MSIX_TABLE_PAGES; i++ )
     {
-        if ( dev->msix_table_idx[i] == idx )
+        if ( msix->table_idx[i] == idx )
             break;
     }
     if ( i == MAX_MSIX_TABLE_PAGES )
         goto out;
 
-    if ( --dev->msix_table_refcnt[i] == 0 )
+    if ( --msix->table_refcnt[i] == 0 )
     {
         __set_fixmap(idx, 0, 0);
         msix_fixmap_free(idx);
-        dev->msix_table_idx[i] = 0;
+        msix->table_idx[i] = 0;
     }
 
  out:
-    spin_unlock(&dev->msix_table_lock);
+    spin_unlock(&msix->table_lock);
 }
 
 /*
@@ -503,7 +503,7 @@ int msi_free_irq(struct msi_desc *entry)
     {
         unsigned long start;
         start = (unsigned long)entry->mask_base & ~(PAGE_SIZE - 1);
-        msix_put_fixmap(entry->dev, virt_to_fix(start));
+        msix_put_fixmap(entry->dev->msix, virt_to_fix(start));
         nr = 1;
     }
 
@@ -698,6 +698,7 @@ static int msix_capability_init(struct pci_dev *dev,
                                 struct msi_desc **desc,
                                 unsigned int nr_entries)
 {
+    struct arch_msix *msix = dev->msix;
     struct msi_desc *entry = NULL;
     int pos, vf;
     u16 control;
@@ -757,17 +758,17 @@ static int msix_capability_init(struct pci_dev *dev,
     }
     table_paddr += table_offset;
 
-    if ( !dev->msix_used_entries )
+    if ( !msix->used_entries )
     {
         u64 pba_paddr;
         u32 pba_offset;
 
-        dev->msix_nr_entries = nr_entries;
-        dev->msix_table.first = PFN_DOWN(table_paddr);
-        dev->msix_table.last = PFN_DOWN(table_paddr +
-                                        nr_entries * PCI_MSIX_ENTRY_SIZE - 1);
-        WARN_ON(rangeset_overlaps_range(mmio_ro_ranges, dev->msix_table.first,
-                                        dev->msix_table.last));
+        msix->nr_entries = nr_entries;
+        msix->table.first = PFN_DOWN(table_paddr);
+        msix->table.last = PFN_DOWN(table_paddr +
+                                    nr_entries * PCI_MSIX_ENTRY_SIZE - 1);
+        WARN_ON(rangeset_overlaps_range(mmio_ro_ranges, msix->table.first,
+                                        msix->table.last));
 
         pba_offset = pci_conf_read32(seg, bus, slot, func,
                                      msix_pba_offset_reg(pos));
@@ -776,18 +777,18 @@ static int msix_capability_init(struct pci_dev *dev,
         WARN_ON(!pba_paddr);
         pba_paddr += pba_offset & ~PCI_MSIX_BIRMASK;
 
-        dev->msix_pba.first = PFN_DOWN(pba_paddr);
-        dev->msix_pba.last = PFN_DOWN(pba_paddr +
-                                      BITS_TO_LONGS(nr_entries) - 1);
-        WARN_ON(rangeset_overlaps_range(mmio_ro_ranges, dev->msix_pba.first,
-                                        dev->msix_pba.last));
+        msix->pba.first = PFN_DOWN(pba_paddr);
+        msix->pba.last = PFN_DOWN(pba_paddr +
+                                  BITS_TO_LONGS(nr_entries) - 1);
+        WARN_ON(rangeset_overlaps_range(mmio_ro_ranges, msix->pba.first,
+                                        msix->pba.last));
     }
 
     if ( entry )
     {
         /* Map MSI-X table region */
         u64 entry_paddr = table_paddr + msi->entry_nr * PCI_MSIX_ENTRY_SIZE;
-        int idx = msix_get_fixmap(dev, table_paddr, entry_paddr);
+        int idx = msix_get_fixmap(msix, table_paddr, entry_paddr);
         void __iomem *base;
 
         if ( idx < 0 )
@@ -815,13 +816,13 @@ static int msix_capability_init(struct pci_dev *dev,
         *desc = entry;
     }
 
-    if ( !dev->msix_used_entries )
+    if ( !msix->used_entries )
     {
-        if ( rangeset_add_range(mmio_ro_ranges, dev->msix_table.first,
-                                dev->msix_table.last) )
+        if ( rangeset_add_range(mmio_ro_ranges, msix->table.first,
+                                msix->table.last) )
             WARN();
-        if ( rangeset_add_range(mmio_ro_ranges, dev->msix_pba.first,
-                                dev->msix_pba.last) )
+        if ( rangeset_add_range(mmio_ro_ranges, msix->pba.first,
+                                msix->pba.last) )
             WARN();
 
         if ( dev->domain )
@@ -834,16 +835,16 @@ static int msix_capability_init(struct pci_dev *dev,
             if ( !d )
                 for_each_domain(d)
                     if ( !paging_mode_translate(d) &&
-                         (iomem_access_permitted(d, dev->msix_table.first,
-                                                 dev->msix_table.last) ||
-                          iomem_access_permitted(d, dev->msix_pba.first,
-                                                 dev->msix_pba.last)) )
+                         (iomem_access_permitted(d, msix->table.first,
+                                                 msix->table.last) ||
+                          iomem_access_permitted(d, msix->pba.first,
+                                                 msix->pba.last)) )
                         break;
             if ( d )
             {
-                if ( !is_hardware_domain(d) && dev->msix_warned != d->domain_id )
+                if ( !is_hardware_domain(d) && msix->warned != d->domain_id )
                 {
-                    dev->msix_warned = d->domain_id;
+                    msix->warned = d->domain_id;
                     printk(XENLOG_ERR
                            "Potentially insecure use of MSI-X on %04x:%02x:%02x.%u by Dom%d\n",
                            seg, bus, slot, func, d->domain_id);
@@ -852,9 +853,9 @@ static int msix_capability_init(struct pci_dev *dev,
             }
         }
     }
-    WARN_ON(dev->msix_nr_entries != nr_entries);
-    WARN_ON(dev->msix_table.first != (table_paddr >> PAGE_SHIFT));
-    ++dev->msix_used_entries;
+    WARN_ON(msix->nr_entries != nr_entries);
+    WARN_ON(msix->table.first != (table_paddr >> PAGE_SHIFT));
+    ++msix->used_entries;
 
     /* Restore MSI-X enabled bits */
     pci_conf_write16(seg, bus, slot, func, msix_control_reg(pos), control);
@@ -978,15 +979,15 @@ static int __pci_enable_msix(struct msi_info *msi, struct msi_desc **desc)
     return status;
 }
 
-static void _pci_cleanup_msix(struct pci_dev *dev)
+static void _pci_cleanup_msix(struct arch_msix *msix)
 {
-    if ( !--dev->msix_used_entries )
+    if ( !--msix->used_entries )
     {
-        if ( rangeset_remove_range(mmio_ro_ranges, dev->msix_table.first,
-                                   dev->msix_table.last) )
+        if ( rangeset_remove_range(mmio_ro_ranges, msix->table.first,
+                                   msix->table.last) )
             WARN();
-        if ( rangeset_remove_range(mmio_ro_ranges, dev->msix_pba.first,
-                                   dev->msix_pba.last) )
+        if ( rangeset_remove_range(mmio_ro_ranges, msix->pba.first,
+                                   msix->pba.last) )
             WARN();
     }
 }
@@ -1014,7 +1015,7 @@ static void __pci_disable_msix(struct msi_desc *entry)
 
     pci_conf_write16(seg, bus, slot, func, msix_control_reg(pos), control);
 
-    _pci_cleanup_msix(dev);
+    _pci_cleanup_msix(dev->msix);
 }
 
 int pci_prepare_msix(u16 seg, u8 bus, u8 devfn, bool_t off)
@@ -1035,11 +1036,11 @@ int pci_prepare_msix(u16 seg, u8 bus, u8 devfn, bool_t off)
     pdev = pci_get_pdev(seg, bus, devfn);
     if ( !pdev )
         rc = -ENODEV;
-    else if ( pdev->msix_used_entries != !!off )
+    else if ( pdev->msix->used_entries != !!off )
         rc = -EBUSY;
     else if ( off )
     {
-        _pci_cleanup_msix(pdev);
+        _pci_cleanup_msix(pdev->msix);
         rc = 0;
     }
     else
diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
index f2756c9..b488e2a 100644
--- a/xen/drivers/passthrough/pci.c
+++ b/xen/drivers/passthrough/pci.c
@@ -179,8 +179,22 @@ static struct pci_dev *alloc_pdev(struct pci_seg *pseg, u8 bus, u8 devfn)
     *((u8*) &pdev->devfn) = devfn;
     pdev->domain = NULL;
     INIT_LIST_HEAD(&pdev->msi_list);
+
+    if ( pci_find_cap_offset(pseg->nr, bus, PCI_SLOT(devfn), PCI_FUNC(devfn),
+                             PCI_CAP_ID_MSIX) )
+    {
+        struct arch_msix *msix = xzalloc(struct arch_msix);
+
+        if ( !msix )
+        {
+            xfree(pdev);
+            return NULL;
+        }
+        spin_lock_init(&msix->table_lock);
+        pdev->msix = msix;
+    }
+
     list_add(&pdev->alldevs_list, &pseg->alldevs_list);
-    spin_lock_init(&pdev->msix_table_lock);
 
     /* update bus2bridge */
     switch ( pdev->type = pdev_type(pseg->nr, bus, devfn) )
@@ -277,6 +291,7 @@ static void free_pdev(struct pci_seg *pseg, struct pci_dev *pdev)
     }
 
     list_del(&pdev->alldevs_list);
+    xfree(pdev->msix);
     xfree(pdev);
 }
 
diff --git a/xen/include/asm-x86/msi.h b/xen/include/asm-x86/msi.h
index 06e6853..9eeef63 100644
--- a/xen/include/asm-x86/msi.h
+++ b/xen/include/asm-x86/msi.h
@@ -214,6 +214,22 @@ struct msg_address {
 	__u32 	hi_address;
 } __attribute__ ((packed));
 
+#define MAX_MSIX_TABLE_ENTRIES  (PCI_MSIX_FLAGS_QSIZE + 1)
+#define MAX_MSIX_TABLE_PAGES    PFN_UP(MAX_MSIX_TABLE_ENTRIES * \
+                                       PCI_MSIX_ENTRY_SIZE + \
+                                       (~PCI_MSIX_BIRMASK & (PAGE_SIZE - 1)))
+
+struct arch_msix {
+    unsigned int nr_entries, used_entries;
+    struct {
+        unsigned long first, last;
+    } table, pba;
+    int table_refcnt[MAX_MSIX_TABLE_PAGES];
+    int table_idx[MAX_MSIX_TABLE_PAGES];
+    spinlock_t table_lock;
+    domid_t warned;
+};
+
 void early_msi_init(void);
 void msi_compose_msg(struct irq_desc *, struct msi_msg *);
 void __msi_set_enable(u16 seg, u8 bus, u8 slot, u8 func, int pos, int enable);
diff --git a/xen/include/xen/pci.h b/xen/include/xen/pci.h
index ca72a99..c367736 100644
--- a/xen/include/xen/pci.h
+++ b/xen/include/xen/pci.h
@@ -32,10 +32,6 @@
 #define PCI_BDF(b,d,f)  ((((b) & 0xff) << 8) | PCI_DEVFN(d,f))
 #define PCI_BDF2(b,df)  ((((b) & 0xff) << 8) | ((df) & 0xff))
 
-#define MAX_MSIX_TABLE_ENTRIES  (PCI_MSIX_FLAGS_QSIZE + 1)
-#define MAX_MSIX_TABLE_PAGES    PFN_UP(MAX_MSIX_TABLE_ENTRIES * \
-                                       PCI_MSIX_ENTRY_SIZE + \
-                                       (~PCI_MSIX_BIRMASK & (PAGE_SIZE - 1)))
 struct pci_dev_info {
     bool_t is_extfn;
     bool_t is_virtfn;
@@ -50,14 +46,8 @@ struct pci_dev {
     struct list_head domain_list;
 
     struct list_head msi_list;
-    unsigned int msix_nr_entries, msix_used_entries;
-    struct {
-        unsigned long first, last;
-    } msix_table, msix_pba;
-    int msix_table_refcnt[MAX_MSIX_TABLE_PAGES];
-    int msix_table_idx[MAX_MSIX_TABLE_PAGES];
-    spinlock_t msix_table_lock;
-    domid_t msix_warned;
+
+    struct arch_msix *msix;
 
     struct domain *domain;
     const u16 seg;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 23 21:22:32 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Aug 2013 21:22:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCyoN-0005rO-Ja; Fri, 23 Aug 2013 21:22:27 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCyoM-0005qx-Bn
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 21:22:26 +0000
Received: from [85.158.139.211:56994] by server-7.bemta-5.messagelabs.com id
	15/DE-24315-192D7125; Fri, 23 Aug 2013 21:22:25 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-206.messagelabs.com!1377292944!4069559!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30764 invoked from network); 23 Aug 2013 21:22:25 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-4.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Aug 2013 21:22:25 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCyoJ-0005Ko-VK
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 21:22:23 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCyoJ-0005KQ-Od
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 21:22:23 +0000
Date: Fri, 23 Aug 2013 21:22:23 +0000
Message-Id: <E1VCyoJ-0005KQ-Od@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] x86: correct public header's
	documentation of PAT MSR settings
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 3829655bd3ad2b1150bd94955fc6988dec6b98f2
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Fri Aug 23 09:23:24 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Fri Aug 23 09:23:24 2013 +0200

    x86: correct public header's documentation of PAT MSR settings
    
    The first (PAT6) column was wrong across the board, and the column for
    PAT7 was missing altogether.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Keir Fraser <keir@xen.org>
---
 xen/include/public/xen.h |   18 +++++++++---------
 1 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/xen/include/public/xen.h b/xen/include/public/xen.h
index 2a40970..b50bd05 100644
--- a/xen/include/public/xen.h
+++ b/xen/include/public/xen.h
@@ -277,15 +277,15 @@ DEFINE_XEN_GUEST_HANDLE(xen_ulong_t);
  *  refer to Intel SDM 10.12. The PAT allows to set the caching attributes of
  *  pages instead of using MTRRs.
  *
- *  The PAT MSR is as follow (it is a 64-bit value, each entry is 8 bits):
- *             PAT4                 PAT0
- *   +---+----+----+----+-----+----+----+
- *    WC | WC | WB | UC | UC- | WC | WB |  <= Linux
- *   +---+----+----+----+-----+----+----+
- *    WC | WT | WB | UC | UC- | WT | WB |  <= BIOS (default when machine boots)
- *   +---+----+----+----+-----+----+----+
- *    WC | WP | WC | UC | UC- | WT | WB |  <= Xen
- *   +---+----+----+----+-----+----+----+
+ *  The PAT MSR is as follows (it is a 64-bit value, each entry is 8 bits):
+ *                    PAT4                 PAT0
+ *  +-----+-----+----+----+----+-----+----+----+
+ *  | UC  | UC- | WC | WB | UC | UC- | WC | WB |  <= Linux
+ *  +-----+-----+----+----+----+-----+----+----+
+ *  | UC  | UC- | WT | WB | UC | UC- | WT | WB |  <= BIOS (default when machine boots)
+ *  +-----+-----+----+----+----+-----+----+----+
+ *  | rsv | rsv | WP | WC | UC | UC- | WT | WB |  <= Xen
+ *  +-----+-----+----+----+----+-----+----+----+
  *
  *  The lookup of this index table translates to looking up
  *  Bit 7, Bit 4, and Bit 3 of val entry:
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 23 21:22:32 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Aug 2013 21:22:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCyoN-0005rO-Ja; Fri, 23 Aug 2013 21:22:27 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCyoM-0005qx-Bn
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 21:22:26 +0000
Received: from [85.158.139.211:56994] by server-7.bemta-5.messagelabs.com id
	15/DE-24315-192D7125; Fri, 23 Aug 2013 21:22:25 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-4.tower-206.messagelabs.com!1377292944!4069559!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 30764 invoked from network); 23 Aug 2013 21:22:25 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-4.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Aug 2013 21:22:25 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCyoJ-0005Ko-VK
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 21:22:23 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCyoJ-0005KQ-Od
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 21:22:23 +0000
Date: Fri, 23 Aug 2013 21:22:23 +0000
Message-Id: <E1VCyoJ-0005KQ-Od@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] x86: correct public header's
	documentation of PAT MSR settings
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 3829655bd3ad2b1150bd94955fc6988dec6b98f2
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Fri Aug 23 09:23:24 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Fri Aug 23 09:23:24 2013 +0200

    x86: correct public header's documentation of PAT MSR settings
    
    The first (PAT6) column was wrong across the board, and the column for
    PAT7 was missing altogether.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Keir Fraser <keir@xen.org>
---
 xen/include/public/xen.h |   18 +++++++++---------
 1 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/xen/include/public/xen.h b/xen/include/public/xen.h
index 2a40970..b50bd05 100644
--- a/xen/include/public/xen.h
+++ b/xen/include/public/xen.h
@@ -277,15 +277,15 @@ DEFINE_XEN_GUEST_HANDLE(xen_ulong_t);
  *  refer to Intel SDM 10.12. The PAT allows to set the caching attributes of
  *  pages instead of using MTRRs.
  *
- *  The PAT MSR is as follow (it is a 64-bit value, each entry is 8 bits):
- *             PAT4                 PAT0
- *   +---+----+----+----+-----+----+----+
- *    WC | WC | WB | UC | UC- | WC | WB |  <= Linux
- *   +---+----+----+----+-----+----+----+
- *    WC | WT | WB | UC | UC- | WT | WB |  <= BIOS (default when machine boots)
- *   +---+----+----+----+-----+----+----+
- *    WC | WP | WC | UC | UC- | WT | WB |  <= Xen
- *   +---+----+----+----+-----+----+----+
+ *  The PAT MSR is as follows (it is a 64-bit value, each entry is 8 bits):
+ *                    PAT4                 PAT0
+ *  +-----+-----+----+----+----+-----+----+----+
+ *  | UC  | UC- | WC | WB | UC | UC- | WC | WB |  <= Linux
+ *  +-----+-----+----+----+----+-----+----+----+
+ *  | UC  | UC- | WT | WB | UC | UC- | WT | WB |  <= BIOS (default when machine boots)
+ *  +-----+-----+----+----+----+-----+----+----+
+ *  | rsv | rsv | WP | WC | UC | UC- | WT | WB |  <= Xen
+ *  +-----+-----+----+----+----+-----+----+----+
  *
  *  The lookup of this index table translates to looking up
  *  Bit 7, Bit 4, and Bit 3 of val entry:
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 23 21:22:43 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Aug 2013 21:22:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCyoY-0005so-MX; Fri, 23 Aug 2013 21:22:38 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCyoX-0005sc-Ep
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 21:22:37 +0000
Received: from [85.158.137.68:15468] by server-7.bemta-3.messagelabs.com id
	D3/86-24536-C92D7125; Fri, 23 Aug 2013 21:22:36 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-31.messagelabs.com!1377292954!3508980!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17489 invoked from network); 23 Aug 2013 21:22:35 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-7.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Aug 2013 21:22:35 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCyoU-0005Kw-4c
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 21:22:34 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCyoU-0005Kq-3Q
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 21:22:34 +0000
Date: Fri, 23 Aug 2013 21:22:34 +0000
Message-Id: <E1VCyoU-0005Kq-3Q@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] un-alias cpumask_any() from
	cpumask_first()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 829b8498cc781f5ed8f7b9e16378f448b4d45213
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Fri Aug 23 15:01:53 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Fri Aug 23 15:01:53 2013 +0200

    un-alias cpumask_any() from cpumask_first()
    
    In order to achieve more symmetric distribution of certain things,
    cpumask_any() shouldn't always pick the first CPU (which frequently
    will end up being CPU0). To facilitate that, introduce a library-like
    function to obtain random numbers.
    
    The per-architecture function is supposed to return zero if no valid
    random number can be obtained (implying that if occasionally zero got
    produced as random number, it wouldn't be considered such).
    
    As fallback this uses the trivial algorithm from the C standard,
    extended to produce "unsigned int" results.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Keir Fraser <keir@xen.org>
    Reviewed-by: George Dunlap <george.dunlap@eu.citrix.com>
---
 xen/common/Makefile          |    1 +
 xen/common/random.c          |   29 +++++++++++++++++++++++++++++
 xen/include/asm-arm/percpu.h |   11 +++++++++++
 xen/include/asm-arm/random.h |    9 +++++++++
 xen/include/asm-x86/random.h |   16 ++++++++++++++++
 xen/include/xen/cpumask.h    |   19 ++++++++++++++++++-
 xen/include/xen/random.h     |    6 ++++++
 7 files changed, 90 insertions(+), 1 deletions(-)

diff --git a/xen/common/Makefile b/xen/common/Makefile
index 0dc2050..5486140 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -17,6 +17,7 @@ obj-y += multicall.o
 obj-y += notifier.o
 obj-y += page_alloc.o
 obj-y += preempt.o
+obj-y += random.o
 obj-y += rangeset.o
 obj-y += sched_credit.o
 obj-y += sched_credit2.o
diff --git a/xen/common/random.c b/xen/common/random.c
new file mode 100644
index 0000000..4a28a24
--- /dev/null
+++ b/xen/common/random.c
@@ -0,0 +1,29 @@
+#include <xen/percpu.h>
+#include <xen/random.h>
+#include <xen/time.h>
+#include <asm/random.h>
+
+static DEFINE_PER_CPU(unsigned int, seed);
+
+unsigned int get_random(void)
+{
+    unsigned int next = this_cpu(seed), val = arch_get_random();
+
+    if ( unlikely(!next) )
+        next = val ?: NOW();
+
+    if ( !val )
+    {
+        unsigned int i;
+
+        for ( i = 0; i < sizeof(val) * 8; i += 11 )
+        {
+            next = next * 1103515245 + 12345;
+            val |= ((next >> 16) & 0x7ff) << i;
+        }
+    }
+
+    this_cpu(seed) = next;
+
+    return val;
+}
diff --git a/xen/include/asm-arm/percpu.h b/xen/include/asm-arm/percpu.h
index a0c38ce..71e7649 100644
--- a/xen/include/asm-arm/percpu.h
+++ b/xen/include/asm-arm/percpu.h
@@ -2,6 +2,17 @@
 #define __ARM_PERCPU_H__
 
 #ifndef __ASSEMBLY__
+
+#include <xen/types.h>
+#include <asm/cpregs.h>
+#if defined(CONFIG_ARM_32)
+# include <asm/arm32/processor.h>
+#elif defined(CONFIG_ARM_64)
+# include <asm/arm64/processor.h>
+#else
+# error "unknown ARM variant"
+#endif
+
 extern char __per_cpu_start[], __per_cpu_data_end[];
 extern unsigned long __per_cpu_offset[NR_CPUS];
 void percpu_init_areas(void);
diff --git a/xen/include/asm-arm/random.h b/xen/include/asm-arm/random.h
new file mode 100644
index 0000000..b4acee2
--- /dev/null
+++ b/xen/include/asm-arm/random.h
@@ -0,0 +1,9 @@
+#ifndef __ASM_RANDOM_H__
+#define __ASM_RANDOM_H__
+
+static inline unsigned int arch_get_random(void)
+{
+    return 0;
+}
+
+#endif /* __ASM_RANDOM_H__ */
diff --git a/xen/include/asm-x86/random.h b/xen/include/asm-x86/random.h
new file mode 100644
index 0000000..6198e72
--- /dev/null
+++ b/xen/include/asm-x86/random.h
@@ -0,0 +1,16 @@
+#ifndef __ASM_RANDOM_H__
+#define __ASM_RANDOM_H__
+
+#include <asm/processor.h>
+
+static inline unsigned int arch_get_random(void)
+{
+    unsigned int val = 0;
+
+    if ( cpu_has(&current_cpu_data, X86_FEATURE_RDRAND) )
+        asm ( ".byte 0x0f,0xc7,0xf0" : "+a" (val) );
+
+    return val;
+}
+
+#endif /* __ASM_RANDOM_H__ */
diff --git a/xen/include/xen/cpumask.h b/xen/include/xen/cpumask.h
index f931cf2..850b4a2 100644
--- a/xen/include/xen/cpumask.h
+++ b/xen/include/xen/cpumask.h
@@ -77,6 +77,7 @@
 
 #include <xen/bitmap.h>
 #include <xen/kernel.h>
+#include <xen/random.h>
 
 typedef struct cpumask{ DECLARE_BITMAP(bits, NR_CPUS); } cpumask_t;
 
@@ -245,7 +246,23 @@ static inline int cpumask_cycle(int n, const cpumask_t *srcp)
     return nxt;
 }
 
-#define cpumask_any(srcp) cpumask_first(srcp)
+static inline unsigned int cpumask_any(const cpumask_t *srcp)
+{
+    unsigned int cpu = cpumask_first(srcp);
+    unsigned int w = cpumask_weight(srcp);
+
+    if ( w > 1 && cpu < nr_cpu_ids )
+        for ( w = get_random() % w; w--; )
+        {
+            unsigned int next = cpumask_next(cpu, srcp);
+
+            if ( next >= nr_cpu_ids )
+                break;
+            cpu = next;
+        }
+
+    return cpu;
+}
 
 /*
  * Special-case data structure for "single bit set only" constant CPU masks.
diff --git a/xen/include/xen/random.h b/xen/include/xen/random.h
new file mode 100644
index 0000000..7c43d87
--- /dev/null
+++ b/xen/include/xen/random.h
@@ -0,0 +1,6 @@
+#ifndef __XEN_RANDOM_H__
+#define __XEN_RANDOM_H__
+
+unsigned int get_random(void);
+
+#endif /* __XEN_RANDOM_H__ */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 23 21:22:43 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Aug 2013 21:22:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCyoY-0005so-MX; Fri, 23 Aug 2013 21:22:38 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCyoX-0005sc-Ep
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 21:22:37 +0000
Received: from [85.158.137.68:15468] by server-7.bemta-3.messagelabs.com id
	D3/86-24536-C92D7125; Fri, 23 Aug 2013 21:22:36 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-31.messagelabs.com!1377292954!3508980!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 17489 invoked from network); 23 Aug 2013 21:22:35 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-7.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Aug 2013 21:22:35 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCyoU-0005Kw-4c
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 21:22:34 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCyoU-0005Kq-3Q
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 21:22:34 +0000
Date: Fri, 23 Aug 2013 21:22:34 +0000
Message-Id: <E1VCyoU-0005Kq-3Q@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] un-alias cpumask_any() from
	cpumask_first()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 829b8498cc781f5ed8f7b9e16378f448b4d45213
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Fri Aug 23 15:01:53 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Fri Aug 23 15:01:53 2013 +0200

    un-alias cpumask_any() from cpumask_first()
    
    In order to achieve more symmetric distribution of certain things,
    cpumask_any() shouldn't always pick the first CPU (which frequently
    will end up being CPU0). To facilitate that, introduce a library-like
    function to obtain random numbers.
    
    The per-architecture function is supposed to return zero if no valid
    random number can be obtained (implying that if occasionally zero got
    produced as random number, it wouldn't be considered such).
    
    As fallback this uses the trivial algorithm from the C standard,
    extended to produce "unsigned int" results.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Keir Fraser <keir@xen.org>
    Reviewed-by: George Dunlap <george.dunlap@eu.citrix.com>
---
 xen/common/Makefile          |    1 +
 xen/common/random.c          |   29 +++++++++++++++++++++++++++++
 xen/include/asm-arm/percpu.h |   11 +++++++++++
 xen/include/asm-arm/random.h |    9 +++++++++
 xen/include/asm-x86/random.h |   16 ++++++++++++++++
 xen/include/xen/cpumask.h    |   19 ++++++++++++++++++-
 xen/include/xen/random.h     |    6 ++++++
 7 files changed, 90 insertions(+), 1 deletions(-)

diff --git a/xen/common/Makefile b/xen/common/Makefile
index 0dc2050..5486140 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -17,6 +17,7 @@ obj-y += multicall.o
 obj-y += notifier.o
 obj-y += page_alloc.o
 obj-y += preempt.o
+obj-y += random.o
 obj-y += rangeset.o
 obj-y += sched_credit.o
 obj-y += sched_credit2.o
diff --git a/xen/common/random.c b/xen/common/random.c
new file mode 100644
index 0000000..4a28a24
--- /dev/null
+++ b/xen/common/random.c
@@ -0,0 +1,29 @@
+#include <xen/percpu.h>
+#include <xen/random.h>
+#include <xen/time.h>
+#include <asm/random.h>
+
+static DEFINE_PER_CPU(unsigned int, seed);
+
+unsigned int get_random(void)
+{
+    unsigned int next = this_cpu(seed), val = arch_get_random();
+
+    if ( unlikely(!next) )
+        next = val ?: NOW();
+
+    if ( !val )
+    {
+        unsigned int i;
+
+        for ( i = 0; i < sizeof(val) * 8; i += 11 )
+        {
+            next = next * 1103515245 + 12345;
+            val |= ((next >> 16) & 0x7ff) << i;
+        }
+    }
+
+    this_cpu(seed) = next;
+
+    return val;
+}
diff --git a/xen/include/asm-arm/percpu.h b/xen/include/asm-arm/percpu.h
index a0c38ce..71e7649 100644
--- a/xen/include/asm-arm/percpu.h
+++ b/xen/include/asm-arm/percpu.h
@@ -2,6 +2,17 @@
 #define __ARM_PERCPU_H__
 
 #ifndef __ASSEMBLY__
+
+#include <xen/types.h>
+#include <asm/cpregs.h>
+#if defined(CONFIG_ARM_32)
+# include <asm/arm32/processor.h>
+#elif defined(CONFIG_ARM_64)
+# include <asm/arm64/processor.h>
+#else
+# error "unknown ARM variant"
+#endif
+
 extern char __per_cpu_start[], __per_cpu_data_end[];
 extern unsigned long __per_cpu_offset[NR_CPUS];
 void percpu_init_areas(void);
diff --git a/xen/include/asm-arm/random.h b/xen/include/asm-arm/random.h
new file mode 100644
index 0000000..b4acee2
--- /dev/null
+++ b/xen/include/asm-arm/random.h
@@ -0,0 +1,9 @@
+#ifndef __ASM_RANDOM_H__
+#define __ASM_RANDOM_H__
+
+static inline unsigned int arch_get_random(void)
+{
+    return 0;
+}
+
+#endif /* __ASM_RANDOM_H__ */
diff --git a/xen/include/asm-x86/random.h b/xen/include/asm-x86/random.h
new file mode 100644
index 0000000..6198e72
--- /dev/null
+++ b/xen/include/asm-x86/random.h
@@ -0,0 +1,16 @@
+#ifndef __ASM_RANDOM_H__
+#define __ASM_RANDOM_H__
+
+#include <asm/processor.h>
+
+static inline unsigned int arch_get_random(void)
+{
+    unsigned int val = 0;
+
+    if ( cpu_has(&current_cpu_data, X86_FEATURE_RDRAND) )
+        asm ( ".byte 0x0f,0xc7,0xf0" : "+a" (val) );
+
+    return val;
+}
+
+#endif /* __ASM_RANDOM_H__ */
diff --git a/xen/include/xen/cpumask.h b/xen/include/xen/cpumask.h
index f931cf2..850b4a2 100644
--- a/xen/include/xen/cpumask.h
+++ b/xen/include/xen/cpumask.h
@@ -77,6 +77,7 @@
 
 #include <xen/bitmap.h>
 #include <xen/kernel.h>
+#include <xen/random.h>
 
 typedef struct cpumask{ DECLARE_BITMAP(bits, NR_CPUS); } cpumask_t;
 
@@ -245,7 +246,23 @@ static inline int cpumask_cycle(int n, const cpumask_t *srcp)
     return nxt;
 }
 
-#define cpumask_any(srcp) cpumask_first(srcp)
+static inline unsigned int cpumask_any(const cpumask_t *srcp)
+{
+    unsigned int cpu = cpumask_first(srcp);
+    unsigned int w = cpumask_weight(srcp);
+
+    if ( w > 1 && cpu < nr_cpu_ids )
+        for ( w = get_random() % w; w--; )
+        {
+            unsigned int next = cpumask_next(cpu, srcp);
+
+            if ( next >= nr_cpu_ids )
+                break;
+            cpu = next;
+        }
+
+    return cpu;
+}
 
 /*
  * Special-case data structure for "single bit set only" constant CPU masks.
diff --git a/xen/include/xen/random.h b/xen/include/xen/random.h
new file mode 100644
index 0000000..7c43d87
--- /dev/null
+++ b/xen/include/xen/random.h
@@ -0,0 +1,6 @@
+#ifndef __XEN_RANDOM_H__
+#define __XEN_RANDOM_H__
+
+unsigned int get_random(void);
+
+#endif /* __XEN_RANDOM_H__ */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 23 21:22:52 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Aug 2013 21:22:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCyoh-0005uc-Pu; Fri, 23 Aug 2013 21:22:47 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCyoh-0005u9-2W
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 21:22:47 +0000
Received: from [85.158.143.35:8523] by server-2.bemta-4.messagelabs.com id
	89/EB-26052-6A2D7125; Fri, 23 Aug 2013 21:22:46 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1377292964!6132750!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4428 invoked from network); 23 Aug 2013 21:22:45 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-7.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Aug 2013 21:22:45 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCyoe-0005L2-8R
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 21:22:44 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCyoe-0005Li-7F
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 21:22:44 +0000
Date: Fri, 23 Aug 2013 21:22:44 +0000
Message-Id: <E1VCyoe-0005Li-7F@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] x86: use cpumask_any() in
	mask-to-APIC-ID conversions
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 105ee865be224999e301b4303c740c1143b67b1d
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Fri Aug 23 15:04:17 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Fri Aug 23 15:04:17 2013 +0200

    x86: use cpumask_any() in mask-to-APIC-ID conversions
    
    This is to avoid picking CPU0 for almost any such operation, resulting
    in very uneven distribution of interrupt load.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Keir Fraser <keir@xen.org>
---
 xen/arch/x86/genapic/delivery.c |    2 +-
 xen/arch/x86/genapic/x2apic.c   |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/genapic/delivery.c b/xen/arch/x86/genapic/delivery.c
index cdab333..94eb857 100644
--- a/xen/arch/x86/genapic/delivery.c
+++ b/xen/arch/x86/genapic/delivery.c
@@ -67,5 +67,5 @@ const cpumask_t *vector_allocation_cpumask_phys(int cpu)
 unsigned int cpu_mask_to_apicid_phys(const cpumask_t *cpumask)
 {
 	/* As we are using single CPU as destination, pick only one CPU here */
-	return cpu_physical_id(cpumask_first(cpumask));
+	return cpu_physical_id(cpumask_any(cpumask));
 }
diff --git a/xen/arch/x86/genapic/x2apic.c b/xen/arch/x86/genapic/x2apic.c
index d4c9149..b2cab03 100644
--- a/xen/arch/x86/genapic/x2apic.c
+++ b/xen/arch/x86/genapic/x2apic.c
@@ -81,7 +81,7 @@ static const cpumask_t *vector_allocation_cpumask_x2apic_cluster(int cpu)
 
 static unsigned int cpu_mask_to_apicid_x2apic_cluster(const cpumask_t *cpumask)
 {
-    unsigned int cpu = cpumask_first(cpumask);
+    unsigned int cpu = cpumask_any(cpumask);
     unsigned int dest = per_cpu(cpu_2_logical_apicid, cpu);
     const cpumask_t *cluster_cpus = per_cpu(cluster_cpus, cpu);
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 23 21:22:52 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Aug 2013 21:22:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCyoh-0005uc-Pu; Fri, 23 Aug 2013 21:22:47 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCyoh-0005u9-2W
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 21:22:47 +0000
Received: from [85.158.143.35:8523] by server-2.bemta-4.messagelabs.com id
	89/EB-26052-6A2D7125; Fri, 23 Aug 2013 21:22:46 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-21.messagelabs.com!1377292964!6132750!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4428 invoked from network); 23 Aug 2013 21:22:45 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-7.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Aug 2013 21:22:45 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCyoe-0005L2-8R
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 21:22:44 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCyoe-0005Li-7F
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 21:22:44 +0000
Date: Fri, 23 Aug 2013 21:22:44 +0000
Message-Id: <E1VCyoe-0005Li-7F@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] x86: use cpumask_any() in
	mask-to-APIC-ID conversions
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 105ee865be224999e301b4303c740c1143b67b1d
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Fri Aug 23 15:04:17 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Fri Aug 23 15:04:17 2013 +0200

    x86: use cpumask_any() in mask-to-APIC-ID conversions
    
    This is to avoid picking CPU0 for almost any such operation, resulting
    in very uneven distribution of interrupt load.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Keir Fraser <keir@xen.org>
---
 xen/arch/x86/genapic/delivery.c |    2 +-
 xen/arch/x86/genapic/x2apic.c   |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/genapic/delivery.c b/xen/arch/x86/genapic/delivery.c
index cdab333..94eb857 100644
--- a/xen/arch/x86/genapic/delivery.c
+++ b/xen/arch/x86/genapic/delivery.c
@@ -67,5 +67,5 @@ const cpumask_t *vector_allocation_cpumask_phys(int cpu)
 unsigned int cpu_mask_to_apicid_phys(const cpumask_t *cpumask)
 {
 	/* As we are using single CPU as destination, pick only one CPU here */
-	return cpu_physical_id(cpumask_first(cpumask));
+	return cpu_physical_id(cpumask_any(cpumask));
 }
diff --git a/xen/arch/x86/genapic/x2apic.c b/xen/arch/x86/genapic/x2apic.c
index d4c9149..b2cab03 100644
--- a/xen/arch/x86/genapic/x2apic.c
+++ b/xen/arch/x86/genapic/x2apic.c
@@ -81,7 +81,7 @@ static const cpumask_t *vector_allocation_cpumask_x2apic_cluster(int cpu)
 
 static unsigned int cpu_mask_to_apicid_x2apic_cluster(const cpumask_t *cpumask)
 {
-    unsigned int cpu = cpumask_first(cpumask);
+    unsigned int cpu = cpumask_any(cpumask);
     unsigned int dest = per_cpu(cpu_2_logical_apicid, cpu);
     const cpumask_t *cluster_cpus = per_cpu(cluster_cpus, cpu);
 
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 23 21:23:02 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Aug 2013 21:23:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCyos-0005wY-TL; Fri, 23 Aug 2013 21:22:58 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCyor-0005wE-Dp
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 21:22:57 +0000
Received: from [85.158.137.68:17050] by server-10.bemta-3.messagelabs.com id
	9B/5E-30473-0B2D7125; Fri, 23 Aug 2013 21:22:56 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-31.messagelabs.com!1377292974!3486014!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 342 invoked from network); 23 Aug 2013 21:22:55 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-14.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Aug 2013 21:22:55 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCyoo-0005LC-Cz
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 21:22:54 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCyoo-0005M4-BC
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 21:22:54 +0000
Date: Fri, 23 Aug 2013 21:22:54 +0000
Message-Id: <E1VCyoo-0005M4-BC@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] credit2: replace cpumask_first() uses
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit a6aed7607de96904a96b8800b454511cf8334979
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Fri Aug 23 15:05:39 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Fri Aug 23 15:05:39 2013 +0200

    credit2: replace cpumask_first() uses
    
    ... with cpumask_any() or cpumask_cycle().
    
    In one case this also allows elimination of a cpumask_empty() call,
    and while doing this I also spotted a redundant use of
    cpumask_weight(). (When running on big systems, operations on CPU masks
    aren't cheap enough to use them carelessly.)
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Keir Fraser <keir@xen.org>
    Reviewed-by: George Dunlap <george.dunlap@eu.citrix.com>
---
 xen/common/sched_credit2.c |   18 ++++++++++--------
 1 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/xen/common/sched_credit2.c b/xen/common/sched_credit2.c
index 825ec98..ae0abc2 100644
--- a/xen/common/sched_credit2.c
+++ b/xen/common/sched_credit2.c
@@ -515,9 +515,10 @@ runq_tickle(const struct scheduler *ops, unsigned int cpu, struct csched_vcpu *n
     cpumask_andnot(&mask, &rqd->idle, &rqd->tickled);
     
     /* If it's not empty, choose one */
-    if ( !cpumask_empty(&mask) )
+    i = cpumask_cycle(cpu, &mask);
+    if ( i < nr_cpu_ids )
     {
-        ipid = cpumask_first(&mask);
+        ipid = i;
         goto tickle;
     }
 
@@ -1091,7 +1092,7 @@ choose_cpu(const struct scheduler *ops, struct vcpu *vc)
         else
         {
             d2printk("d%dv%d +\n", svc->vcpu->domain->domain_id, svc->vcpu->vcpu_id);
-            new_cpu = cpumask_first(&svc->migrate_rqd->active);
+            new_cpu = cpumask_cycle(vc->processor, &svc->migrate_rqd->active);
             goto out_up;
         }
     }
@@ -1138,8 +1139,8 @@ choose_cpu(const struct scheduler *ops, struct vcpu *vc)
         new_cpu = vc->processor;
     else
     {
-        BUG_ON(cpumask_empty(&prv->rqd[min_rqi].active));
-        new_cpu = cpumask_first(&prv->rqd[min_rqi].active);
+        new_cpu = cpumask_cycle(vc->processor, &prv->rqd[min_rqi].active);
+        BUG_ON(new_cpu >= nr_cpu_ids);
     }
 
 out_up:
@@ -1219,7 +1220,7 @@ void migrate(const struct scheduler *ops,
             on_runq=1;
         }
         __runq_deassign(svc);
-        svc->vcpu->processor = cpumask_first(&trqd->active);
+        svc->vcpu->processor = cpumask_any(&trqd->active);
         __runq_assign(svc, trqd);
         if ( on_runq )
         {
@@ -1299,8 +1300,9 @@ retry:
             load_max = st.orqd->b_avgload;
 
         cpus_max = cpumask_weight(&st.lrqd->active);
-        if ( cpumask_weight(&st.orqd->active) > cpus_max )
-            cpus_max = cpumask_weight(&st.orqd->active);
+        i = cpumask_weight(&st.orqd->active);
+        if ( i > cpus_max )
+            cpus_max = i;
 
         /* If we're under 100% capacaty, only shift if load difference
          * is > 1.  otherwise, shift if under 12.5% */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 23 21:23:02 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Aug 2013 21:23:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCyos-0005wY-TL; Fri, 23 Aug 2013 21:22:58 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCyor-0005wE-Dp
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 21:22:57 +0000
Received: from [85.158.137.68:17050] by server-10.bemta-3.messagelabs.com id
	9B/5E-30473-0B2D7125; Fri, 23 Aug 2013 21:22:56 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-31.messagelabs.com!1377292974!3486014!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 342 invoked from network); 23 Aug 2013 21:22:55 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-14.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Aug 2013 21:22:55 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCyoo-0005LC-Cz
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 21:22:54 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCyoo-0005M4-BC
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 21:22:54 +0000
Date: Fri, 23 Aug 2013 21:22:54 +0000
Message-Id: <E1VCyoo-0005M4-BC@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] credit2: replace cpumask_first() uses
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit a6aed7607de96904a96b8800b454511cf8334979
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Fri Aug 23 15:05:39 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Fri Aug 23 15:05:39 2013 +0200

    credit2: replace cpumask_first() uses
    
    ... with cpumask_any() or cpumask_cycle().
    
    In one case this also allows elimination of a cpumask_empty() call,
    and while doing this I also spotted a redundant use of
    cpumask_weight(). (When running on big systems, operations on CPU masks
    aren't cheap enough to use them carelessly.)
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Keir Fraser <keir@xen.org>
    Reviewed-by: George Dunlap <george.dunlap@eu.citrix.com>
---
 xen/common/sched_credit2.c |   18 ++++++++++--------
 1 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/xen/common/sched_credit2.c b/xen/common/sched_credit2.c
index 825ec98..ae0abc2 100644
--- a/xen/common/sched_credit2.c
+++ b/xen/common/sched_credit2.c
@@ -515,9 +515,10 @@ runq_tickle(const struct scheduler *ops, unsigned int cpu, struct csched_vcpu *n
     cpumask_andnot(&mask, &rqd->idle, &rqd->tickled);
     
     /* If it's not empty, choose one */
-    if ( !cpumask_empty(&mask) )
+    i = cpumask_cycle(cpu, &mask);
+    if ( i < nr_cpu_ids )
     {
-        ipid = cpumask_first(&mask);
+        ipid = i;
         goto tickle;
     }
 
@@ -1091,7 +1092,7 @@ choose_cpu(const struct scheduler *ops, struct vcpu *vc)
         else
         {
             d2printk("d%dv%d +\n", svc->vcpu->domain->domain_id, svc->vcpu->vcpu_id);
-            new_cpu = cpumask_first(&svc->migrate_rqd->active);
+            new_cpu = cpumask_cycle(vc->processor, &svc->migrate_rqd->active);
             goto out_up;
         }
     }
@@ -1138,8 +1139,8 @@ choose_cpu(const struct scheduler *ops, struct vcpu *vc)
         new_cpu = vc->processor;
     else
     {
-        BUG_ON(cpumask_empty(&prv->rqd[min_rqi].active));
-        new_cpu = cpumask_first(&prv->rqd[min_rqi].active);
+        new_cpu = cpumask_cycle(vc->processor, &prv->rqd[min_rqi].active);
+        BUG_ON(new_cpu >= nr_cpu_ids);
     }
 
 out_up:
@@ -1219,7 +1220,7 @@ void migrate(const struct scheduler *ops,
             on_runq=1;
         }
         __runq_deassign(svc);
-        svc->vcpu->processor = cpumask_first(&trqd->active);
+        svc->vcpu->processor = cpumask_any(&trqd->active);
         __runq_assign(svc, trqd);
         if ( on_runq )
         {
@@ -1299,8 +1300,9 @@ retry:
             load_max = st.orqd->b_avgload;
 
         cpus_max = cpumask_weight(&st.lrqd->active);
-        if ( cpumask_weight(&st.orqd->active) > cpus_max )
-            cpus_max = cpumask_weight(&st.orqd->active);
+        i = cpumask_weight(&st.orqd->active);
+        if ( i > cpus_max )
+            cpus_max = i;
 
         /* If we're under 100% capacaty, only shift if load difference
          * is > 1.  otherwise, shift if under 12.5% */
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 23 21:23:12 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Aug 2013 21:23:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCyp2-0005y5-0u; Fri, 23 Aug 2013 21:23:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCyp1-0005xn-2y
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 21:23:07 +0000
Received: from [85.158.143.35:59021] by server-3.bemta-4.messagelabs.com id
	2F/6B-08835-AB2D7125; Fri, 23 Aug 2013 21:23:06 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1377292984!6167803!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13303 invoked from network); 23 Aug 2013 21:23:05 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-5.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Aug 2013 21:23:05 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCyoy-0005Ll-IR
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 21:23:04 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCyoy-0005Mh-Fo
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 21:23:04 +0000
Date: Fri, 23 Aug 2013 21:23:04 +0000
Message-Id: <E1VCyoy-0005Mh-Fo@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] credit1: replace cpumask_empty() uses
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit b845268509f30a4f4e8e5ca9e7d323f468d21044
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Fri Aug 23 15:06:21 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Fri Aug 23 15:06:21 2013 +0200

    credit1: replace cpumask_empty() uses
    
    In one case it was redundant with the operation it got combined with,
    and in the other it could easily be replaced by range checking the
    result of a subsequent operation. (When running on big systems,
    operations on CPU masks aren't cheap enough to use them carelessly.)
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Keir Fraser <keir@xen.org>
    Reviewed-by: George Dunlap <george.dunlap@eu.citrix.com>
---
 xen/common/sched_credit.c |    7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/xen/common/sched_credit.c b/xen/common/sched_credit.c
index 3188310..0b81662 100644
--- a/xen/common/sched_credit.c
+++ b/xen/common/sched_credit.c
@@ -641,7 +641,7 @@ _csched_cpu_pick(const struct scheduler *ops, struct vcpu *vc, bool_t commit)
         cpu = cpumask_test_cpu(vc->processor, &cpus)
                 ? vc->processor
                 : cpumask_cycle(vc->processor, &cpus);
-        ASSERT( !cpumask_empty(&cpus) && cpumask_test_cpu(cpu, &cpus) );
+        ASSERT(cpumask_test_cpu(cpu, &cpus));
 
         /*
          * Try to find an idle processor within the above constraints.
@@ -1520,10 +1520,9 @@ csched_load_balance(struct csched_private *prv, int cpu,
             cpumask_and(&workers, &workers, &node_to_cpumask(peer_node));
             cpumask_clear_cpu(cpu, &workers);
 
-            if ( cpumask_empty(&workers) )
-                goto next_node;
-
             peer_cpu = cpumask_first(&workers);
+            if ( peer_cpu >= nr_cpu_ids )
+                goto next_node;
             do
             {
                 /*
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 23 21:23:12 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Aug 2013 21:23:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCyp2-0005y5-0u; Fri, 23 Aug 2013 21:23:08 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCyp1-0005xn-2y
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 21:23:07 +0000
Received: from [85.158.143.35:59021] by server-3.bemta-4.messagelabs.com id
	2F/6B-08835-AB2D7125; Fri, 23 Aug 2013 21:23:06 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-21.messagelabs.com!1377292984!6167803!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 13303 invoked from network); 23 Aug 2013 21:23:05 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-5.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Aug 2013 21:23:05 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCyoy-0005Ll-IR
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 21:23:04 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCyoy-0005Mh-Fo
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 21:23:04 +0000
Date: Fri, 23 Aug 2013 21:23:04 +0000
Message-Id: <E1VCyoy-0005Mh-Fo@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] credit1: replace cpumask_empty() uses
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit b845268509f30a4f4e8e5ca9e7d323f468d21044
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Fri Aug 23 15:06:21 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Fri Aug 23 15:06:21 2013 +0200

    credit1: replace cpumask_empty() uses
    
    In one case it was redundant with the operation it got combined with,
    and in the other it could easily be replaced by range checking the
    result of a subsequent operation. (When running on big systems,
    operations on CPU masks aren't cheap enough to use them carelessly.)
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Keir Fraser <keir@xen.org>
    Reviewed-by: George Dunlap <george.dunlap@eu.citrix.com>
---
 xen/common/sched_credit.c |    7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/xen/common/sched_credit.c b/xen/common/sched_credit.c
index 3188310..0b81662 100644
--- a/xen/common/sched_credit.c
+++ b/xen/common/sched_credit.c
@@ -641,7 +641,7 @@ _csched_cpu_pick(const struct scheduler *ops, struct vcpu *vc, bool_t commit)
         cpu = cpumask_test_cpu(vc->processor, &cpus)
                 ? vc->processor
                 : cpumask_cycle(vc->processor, &cpus);
-        ASSERT( !cpumask_empty(&cpus) && cpumask_test_cpu(cpu, &cpus) );
+        ASSERT(cpumask_test_cpu(cpu, &cpus));
 
         /*
          * Try to find an idle processor within the above constraints.
@@ -1520,10 +1520,9 @@ csched_load_balance(struct csched_private *prv, int cpu,
             cpumask_and(&workers, &workers, &node_to_cpumask(peer_node));
             cpumask_clear_cpu(cpu, &workers);
 
-            if ( cpumask_empty(&workers) )
-                goto next_node;
-
             peer_cpu = cpumask_first(&workers);
+            if ( peer_cpu >= nr_cpu_ids )
+                goto next_node;
             do
             {
                 /*
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 23 21:23:20 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Aug 2013 21:23:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCypD-000600-43; Fri, 23 Aug 2013 21:23:19 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCypB-0005zi-Rx
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 21:23:18 +0000
Received: from [85.158.139.211:29439] by server-13.bemta-5.messagelabs.com id
	F5/36-23010-5C2D7125; Fri, 23 Aug 2013 21:23:17 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-206.messagelabs.com!1377292994!4073608!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1896 invoked from network); 23 Aug 2013 21:23:15 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-12.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Aug 2013 21:23:15 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCyp8-0005Lq-NC
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 21:23:14 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCyp8-0005N9-LX
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 21:23:14 +0000
Date: Fri, 23 Aug 2013 21:23:14 +0000
Message-Id: <E1VCyp8-0005N9-LX@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] domctl: replace cpumask_weight() uses
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 30e9a840b822ea57319abc0d136945a150fb915b
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Fri Aug 23 15:07:00 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Fri Aug 23 15:07:00 2013 +0200

    domctl: replace cpumask_weight() uses
    
    In one case it could easily be replaced by range checking the result of
    a subsequent operation, and in general cpumask_next(), not always
    needing to scan the whole bitmap, is more efficient than the specific
    uses of cpumask_weight() here. (When running on big systems, operations
    on CPU masks aren't cheap enough to use them carelessly.)
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Keir Fraser <keir@xen.org>
---
 xen/common/domctl.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/xen/common/domctl.c b/xen/common/domctl.c
index c653efb..9760d50 100644
--- a/xen/common/domctl.c
+++ b/xen/common/domctl.c
@@ -230,15 +230,15 @@ static unsigned int default_vcpu0_location(cpumask_t *online)
      */
     cpumask_copy(&cpu_exclude_map, per_cpu(cpu_sibling_mask, 0));
     cpu = cpumask_first(&cpu_exclude_map);
-    if ( cpumask_weight(&cpu_exclude_map) > 1 )
-        cpu = cpumask_next(cpu, &cpu_exclude_map);
-    ASSERT(cpu < nr_cpu_ids);
+    i = cpumask_next(cpu, &cpu_exclude_map);
+    if ( i < nr_cpu_ids )
+        cpu = i;
     for_each_cpu(i, online)
     {
         if ( cpumask_test_cpu(i, &cpu_exclude_map) )
             continue;
         if ( (i == cpumask_first(per_cpu(cpu_sibling_mask, i))) &&
-             (cpumask_weight(per_cpu(cpu_sibling_mask, i)) > 1) )
+             (cpumask_next(i, per_cpu(cpu_sibling_mask, i)) < nr_cpu_ids) )
             continue;
         cpumask_or(&cpu_exclude_map, &cpu_exclude_map,
                    per_cpu(cpu_sibling_mask, i));
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Fri Aug 23 21:23:20 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Aug 2013 21:23:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VCypD-000600-43; Fri, 23 Aug 2013 21:23:19 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCypB-0005zi-Rx
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 21:23:18 +0000
Received: from [85.158.139.211:29439] by server-13.bemta-5.messagelabs.com id
	F5/36-23010-5C2D7125; Fri, 23 Aug 2013 21:23:17 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-12.tower-206.messagelabs.com!1377292994!4073608!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 1896 invoked from network); 23 Aug 2013 21:23:15 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-12.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	23 Aug 2013 21:23:15 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCyp8-0005Lq-NC
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 21:23:14 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VCyp8-0005N9-LX
	for xen-changelog@lists.xensource.com; Fri, 23 Aug 2013 21:23:14 +0000
Date: Fri, 23 Aug 2013 21:23:14 +0000
Message-Id: <E1VCyp8-0005N9-LX@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] domctl: replace cpumask_weight() uses
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 30e9a840b822ea57319abc0d136945a150fb915b
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Fri Aug 23 15:07:00 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Fri Aug 23 15:07:00 2013 +0200

    domctl: replace cpumask_weight() uses
    
    In one case it could easily be replaced by range checking the result of
    a subsequent operation, and in general cpumask_next(), not always
    needing to scan the whole bitmap, is more efficient than the specific
    uses of cpumask_weight() here. (When running on big systems, operations
    on CPU masks aren't cheap enough to use them carelessly.)
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Keir Fraser <keir@xen.org>
---
 xen/common/domctl.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/xen/common/domctl.c b/xen/common/domctl.c
index c653efb..9760d50 100644
--- a/xen/common/domctl.c
+++ b/xen/common/domctl.c
@@ -230,15 +230,15 @@ static unsigned int default_vcpu0_location(cpumask_t *online)
      */
     cpumask_copy(&cpu_exclude_map, per_cpu(cpu_sibling_mask, 0));
     cpu = cpumask_first(&cpu_exclude_map);
-    if ( cpumask_weight(&cpu_exclude_map) > 1 )
-        cpu = cpumask_next(cpu, &cpu_exclude_map);
-    ASSERT(cpu < nr_cpu_ids);
+    i = cpumask_next(cpu, &cpu_exclude_map);
+    if ( i < nr_cpu_ids )
+        cpu = i;
     for_each_cpu(i, online)
     {
         if ( cpumask_test_cpu(i, &cpu_exclude_map) )
             continue;
         if ( (i == cpumask_first(per_cpu(cpu_sibling_mask, i))) &&
-             (cpumask_weight(per_cpu(cpu_sibling_mask, i)) > 1) )
+             (cpumask_next(i, per_cpu(cpu_sibling_mask, i)) < nr_cpu_ids) )
             continue;
         cpumask_or(&cpu_exclude_map, &cpu_exclude_map,
                    per_cpu(cpu_sibling_mask, i));
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Mon Aug 26 21:11:18 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 26 Aug 2013 21:11:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VE445-00082w-88; Mon, 26 Aug 2013 21:11:09 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VE444-00082r-3Z
	for xen-changelog@lists.xensource.com; Mon, 26 Aug 2013 21:11:08 +0000
Received: from [85.158.137.68:47851] by server-6.bemta-3.messagelabs.com id
	81/A3-32441-B64CB125; Mon, 26 Aug 2013 21:11:07 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-31.messagelabs.com!1377551465!3927602!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18526 invoked from network); 26 Aug 2013 21:11:06 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-15.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	26 Aug 2013 21:11:06 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VE43z-00088F-G5
	for xen-changelog@lists.xensource.com; Mon, 26 Aug 2013 21:11:05 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VE43y-0004jy-Rn
	for xen-changelog@lists.xensource.com; Mon, 26 Aug 2013 21:11:03 +0000
Date: Mon, 26 Aug 2013 21:11:02 +0000
Message-Id: <E1VE43y-0004jy-Rn@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.2] x86: correct public header's
	documentation of PAT MSR settings
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit b8131747e2e39cc5ab147586b70a5464bd1c8ed5
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Mon Aug 26 12:48:01 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Aug 26 12:48:01 2013 +0200

    x86: correct public header's documentation of PAT MSR settings
    
    The first (PAT6) column was wrong across the board, and the column for
    PAT7 was missing altogether.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Keir Fraser <keir@xen.org>
    master commit: 3829655bd3ad2b1150bd94955fc6988dec6b98f2
    master date: 2013-08-23 09:23:24 +0200
---
 xen/include/public/xen.h |   18 +++++++++---------
 1 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/xen/include/public/xen.h b/xen/include/public/xen.h
index b2f6c50..5f40e60 100644
--- a/xen/include/public/xen.h
+++ b/xen/include/public/xen.h
@@ -276,15 +276,15 @@ DEFINE_XEN_GUEST_HANDLE(xen_pfn_t);
  *  refer to Intel SDM 10.12. The PAT allows to set the caching attributes of
  *  pages instead of using MTRRs.
  *
- *  The PAT MSR is as follow (it is a 64-bit value, each entry is 8 bits):
- *             PAT4                 PAT0
- *   +---+----+----+----+-----+----+----+
- *    WC | WC | WB | UC | UC- | WC | WB |  <= Linux
- *   +---+----+----+----+-----+----+----+
- *    WC | WT | WB | UC | UC- | WT | WB |  <= BIOS (default when machine boots)
- *   +---+----+----+----+-----+----+----+
- *    WC | WP | WC | UC | UC- | WT | WB |  <= Xen
- *   +---+----+----+----+-----+----+----+
+ *  The PAT MSR is as follows (it is a 64-bit value, each entry is 8 bits):
+ *                    PAT4                 PAT0
+ *  +-----+-----+----+----+----+-----+----+----+
+ *  | UC  | UC- | WC | WB | UC | UC- | WC | WB |  <= Linux
+ *  +-----+-----+----+----+----+-----+----+----+
+ *  | UC  | UC- | WT | WB | UC | UC- | WT | WB |  <= BIOS (default when machine boots)
+ *  +-----+-----+----+----+----+-----+----+----+
+ *  | rsv | rsv | WP | WC | UC | UC- | WT | WB |  <= Xen
+ *  +-----+-----+----+----+----+-----+----+----+
  *
  *  The lookup of this index table translates to looking up
  *  Bit 7, Bit 4, and Bit 3 of val entry:
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.2

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Mon Aug 26 21:11:18 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 26 Aug 2013 21:11:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VE445-00082w-88; Mon, 26 Aug 2013 21:11:09 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VE444-00082r-3Z
	for xen-changelog@lists.xensource.com; Mon, 26 Aug 2013 21:11:08 +0000
Received: from [85.158.137.68:47851] by server-6.bemta-3.messagelabs.com id
	81/A3-32441-B64CB125; Mon, 26 Aug 2013 21:11:07 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-31.messagelabs.com!1377551465!3927602!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 18526 invoked from network); 26 Aug 2013 21:11:06 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-15.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	26 Aug 2013 21:11:06 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VE43z-00088F-G5
	for xen-changelog@lists.xensource.com; Mon, 26 Aug 2013 21:11:05 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VE43y-0004jy-Rn
	for xen-changelog@lists.xensource.com; Mon, 26 Aug 2013 21:11:03 +0000
Date: Mon, 26 Aug 2013 21:11:02 +0000
Message-Id: <E1VE43y-0004jy-Rn@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.2] x86: correct public header's
	documentation of PAT MSR settings
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit b8131747e2e39cc5ab147586b70a5464bd1c8ed5
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Mon Aug 26 12:48:01 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Aug 26 12:48:01 2013 +0200

    x86: correct public header's documentation of PAT MSR settings
    
    The first (PAT6) column was wrong across the board, and the column for
    PAT7 was missing altogether.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Keir Fraser <keir@xen.org>
    master commit: 3829655bd3ad2b1150bd94955fc6988dec6b98f2
    master date: 2013-08-23 09:23:24 +0200
---
 xen/include/public/xen.h |   18 +++++++++---------
 1 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/xen/include/public/xen.h b/xen/include/public/xen.h
index b2f6c50..5f40e60 100644
--- a/xen/include/public/xen.h
+++ b/xen/include/public/xen.h
@@ -276,15 +276,15 @@ DEFINE_XEN_GUEST_HANDLE(xen_pfn_t);
  *  refer to Intel SDM 10.12. The PAT allows to set the caching attributes of
  *  pages instead of using MTRRs.
  *
- *  The PAT MSR is as follow (it is a 64-bit value, each entry is 8 bits):
- *             PAT4                 PAT0
- *   +---+----+----+----+-----+----+----+
- *    WC | WC | WB | UC | UC- | WC | WB |  <= Linux
- *   +---+----+----+----+-----+----+----+
- *    WC | WT | WB | UC | UC- | WT | WB |  <= BIOS (default when machine boots)
- *   +---+----+----+----+-----+----+----+
- *    WC | WP | WC | UC | UC- | WT | WB |  <= Xen
- *   +---+----+----+----+-----+----+----+
+ *  The PAT MSR is as follows (it is a 64-bit value, each entry is 8 bits):
+ *                    PAT4                 PAT0
+ *  +-----+-----+----+----+----+-----+----+----+
+ *  | UC  | UC- | WC | WB | UC | UC- | WC | WB |  <= Linux
+ *  +-----+-----+----+----+----+-----+----+----+
+ *  | UC  | UC- | WT | WB | UC | UC- | WT | WB |  <= BIOS (default when machine boots)
+ *  +-----+-----+----+----+----+-----+----+----+
+ *  | rsv | rsv | WP | WC | UC | UC- | WT | WB |  <= Xen
+ *  +-----+-----+----+----+----+-----+----+----+
  *
  *  The lookup of this index table translates to looking up
  *  Bit 7, Bit 4, and Bit 3 of val entry:
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.2

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 27 01:33:15 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 27 Aug 2013 01:33:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VE89d-00063U-DV; Tue, 27 Aug 2013 01:33:09 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VE89c-00063P-7s
	for xen-changelog@lists.xensource.com; Tue, 27 Aug 2013 01:33:08 +0000
Received: from [85.158.143.35:40463] by server-2.bemta-4.messagelabs.com id
	42/92-26052-3D10C125; Tue, 27 Aug 2013 01:33:07 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1377567185!6621262!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5070 invoked from network); 27 Aug 2013 01:33:06 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-15.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	27 Aug 2013 01:33:06 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VE89W-0000o1-AH
	for xen-changelog@lists.xensource.com; Tue, 27 Aug 2013 01:33:05 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VE89W-0003g3-5H
	for xen-changelog@lists.xensource.com; Tue, 27 Aug 2013 01:33:02 +0000
Date: Tue, 27 Aug 2013 01:33:02 +0000
Message-Id: <E1VE89W-0003g3-5H@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] Revert "interrupts: allow guest to
	set/clear MSI-X mask bit"
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 8a7769b4453168e23e8935a85e9a875ef5117253
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Mon Aug 26 12:40:44 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Aug 26 12:40:44 2013 +0200

    Revert "interrupts: allow guest to set/clear MSI-X mask bit"
    
    This reverts commit 54a46bce768033b1c36e25eace15f7abde972389.
    It's not fully cooked yet.
---
 xen/arch/x86/hvm/vmsi.c |   61 ++++++++++------------------------------------
 1 files changed, 14 insertions(+), 47 deletions(-)

diff --git a/xen/arch/x86/hvm/vmsi.c b/xen/arch/x86/hvm/vmsi.c
index e36c1f0..0d5ef1b 100644
--- a/xen/arch/x86/hvm/vmsi.c
+++ b/xen/arch/x86/hvm/vmsi.c
@@ -169,7 +169,6 @@ struct msixtbl_entry
         uint32_t msi_ad[3];	/* Shadow of address low, high and data */
     } gentries[MAX_MSIX_ACC_ENTRIES];
     struct rcu_head rcu;
-    const struct pirq *pirq;
 };
 
 static DEFINE_RCU_READ_LOCK(msixtbl_rcu_lock);
@@ -255,8 +254,6 @@ static int msixtbl_write(struct vcpu *v, unsigned long address,
     void *virt;
     unsigned int nr_entry, index;
     int r = X86EMUL_UNHANDLEABLE;
-    unsigned long flags, orig;
-    struct irq_desc *desc;
 
     if ( len != 4 || (address & 3) )
         return r;
@@ -286,49 +283,22 @@ static int msixtbl_write(struct vcpu *v, unsigned long address,
     if ( !virt )
         goto out;
 
-    desc = pirq_spin_lock_irq_desc(entry->pirq, &flags);
-    if ( !desc )
-        goto out;
-
-    if ( !desc->msi_desc )
-        goto unlock;
-
+    /* Do not allow the mask bit to be changed. */
+#if 0 /* XXX
+       * As the mask bit is the only defined bit in the word, and as the
+       * host MSI-X code doesn't preserve the other bits anyway, doing
+       * this is pointless. So for now just discard the write (also
+       * saving us from having to determine the matching irq_desc).
+       */
+    spin_lock_irqsave(&desc->lock, flags);
     orig = readl(virt);
-
-    /*
-     * Do not allow guest to modify MSI-X control bit if it is masked
-     * by Xen. We'll only handle the case where Xen thinks that
-     * bit is unmasked, but hardware has silently masked the bit
-     * (in case of SR-IOV VF reset, etc). On the other hand, if Xen
-     * thinks that the bit is masked, but it's really not,
-     * we log a warning.
-     */
-    if ( desc->msi_desc->msi_attrib.masked )
-    {
-        if ( !(orig & PCI_MSIX_VECTOR_BITMASK) )
-            printk(XENLOG_WARNING "MSI-X control bit is unmasked when"
-                   " it is expected to be masked [%04x:%02x:%02x.%01x]\n",
-                   entry->pdev->seg, entry->pdev->bus,
-                   PCI_SLOT(entry->pdev->devfn),
-                   PCI_FUNC(entry->pdev->devfn));
-
-        goto unlock;
-    }
-
-    /*
-     * The mask bit is the only defined bit in the word. But we
-     * ought to preserve the reserved bits. Clearing the reserved
-     * bits can result in undefined behaviour (see PCI Local Bus
-     * Specification revision 2.3).
-     */
-    val &= PCI_MSIX_VECTOR_BITMASK;
-    val |= (orig & ~PCI_MSIX_VECTOR_BITMASK);
+    val &= ~PCI_MSIX_VECTOR_BITMASK;
+    val |= orig & PCI_MSIX_VECTOR_BITMASK;
     writel(val, virt);
-
-unlock:
     spin_unlock_irqrestore(&desc->lock, flags);
-    r = X86EMUL_OKAY;
+#endif
 
+    r = X86EMUL_OKAY;
 out:
     rcu_read_unlock(&msixtbl_rcu_lock);
     return r;
@@ -358,8 +328,7 @@ const struct hvm_mmio_handler msixtbl_mmio_handler = {
 static void add_msixtbl_entry(struct domain *d,
                               struct pci_dev *pdev,
                               uint64_t gtable,
-                              struct msixtbl_entry *entry,
-                              const struct pirq *pirq)
+                              struct msixtbl_entry *entry)
 {
     u32 len;
 
@@ -373,7 +342,6 @@ static void add_msixtbl_entry(struct domain *d,
     entry->table_len = len;
     entry->pdev = pdev;
     entry->gtable = (unsigned long) gtable;
-    entry->pirq = pirq;
 
     list_add_rcu(&entry->list, &d->arch.hvm_domain.msixtbl_list);
 }
@@ -436,10 +404,9 @@ int msixtbl_pt_register(struct domain *d, struct pirq *pirq, uint64_t gtable)
 
     entry = new_entry;
     new_entry = NULL;
-    add_msixtbl_entry(d, pdev, gtable, entry, pirq);
+    add_msixtbl_entry(d, pdev, gtable, entry);
 
 found:
-    ASSERT(entry->pirq == pirq);
     atomic_inc(&entry->refcnt);
     spin_unlock(&d->arch.hvm_domain.msixtbl_list_lock);
     r = 0;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 27 01:33:15 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 27 Aug 2013 01:33:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VE89d-00063U-DV; Tue, 27 Aug 2013 01:33:09 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VE89c-00063P-7s
	for xen-changelog@lists.xensource.com; Tue, 27 Aug 2013 01:33:08 +0000
Received: from [85.158.143.35:40463] by server-2.bemta-4.messagelabs.com id
	42/92-26052-3D10C125; Tue, 27 Aug 2013 01:33:07 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1377567185!6621262!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 5070 invoked from network); 27 Aug 2013 01:33:06 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-15.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	27 Aug 2013 01:33:06 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VE89W-0000o1-AH
	for xen-changelog@lists.xensource.com; Tue, 27 Aug 2013 01:33:05 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VE89W-0003g3-5H
	for xen-changelog@lists.xensource.com; Tue, 27 Aug 2013 01:33:02 +0000
Date: Tue, 27 Aug 2013 01:33:02 +0000
Message-Id: <E1VE89W-0003g3-5H@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen master] Revert "interrupts: allow guest to
	set/clear MSI-X mask bit"
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 8a7769b4453168e23e8935a85e9a875ef5117253
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Mon Aug 26 12:40:44 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Aug 26 12:40:44 2013 +0200

    Revert "interrupts: allow guest to set/clear MSI-X mask bit"
    
    This reverts commit 54a46bce768033b1c36e25eace15f7abde972389.
    It's not fully cooked yet.
---
 xen/arch/x86/hvm/vmsi.c |   61 ++++++++++------------------------------------
 1 files changed, 14 insertions(+), 47 deletions(-)

diff --git a/xen/arch/x86/hvm/vmsi.c b/xen/arch/x86/hvm/vmsi.c
index e36c1f0..0d5ef1b 100644
--- a/xen/arch/x86/hvm/vmsi.c
+++ b/xen/arch/x86/hvm/vmsi.c
@@ -169,7 +169,6 @@ struct msixtbl_entry
         uint32_t msi_ad[3];	/* Shadow of address low, high and data */
     } gentries[MAX_MSIX_ACC_ENTRIES];
     struct rcu_head rcu;
-    const struct pirq *pirq;
 };
 
 static DEFINE_RCU_READ_LOCK(msixtbl_rcu_lock);
@@ -255,8 +254,6 @@ static int msixtbl_write(struct vcpu *v, unsigned long address,
     void *virt;
     unsigned int nr_entry, index;
     int r = X86EMUL_UNHANDLEABLE;
-    unsigned long flags, orig;
-    struct irq_desc *desc;
 
     if ( len != 4 || (address & 3) )
         return r;
@@ -286,49 +283,22 @@ static int msixtbl_write(struct vcpu *v, unsigned long address,
     if ( !virt )
         goto out;
 
-    desc = pirq_spin_lock_irq_desc(entry->pirq, &flags);
-    if ( !desc )
-        goto out;
-
-    if ( !desc->msi_desc )
-        goto unlock;
-
+    /* Do not allow the mask bit to be changed. */
+#if 0 /* XXX
+       * As the mask bit is the only defined bit in the word, and as the
+       * host MSI-X code doesn't preserve the other bits anyway, doing
+       * this is pointless. So for now just discard the write (also
+       * saving us from having to determine the matching irq_desc).
+       */
+    spin_lock_irqsave(&desc->lock, flags);
     orig = readl(virt);
-
-    /*
-     * Do not allow guest to modify MSI-X control bit if it is masked
-     * by Xen. We'll only handle the case where Xen thinks that
-     * bit is unmasked, but hardware has silently masked the bit
-     * (in case of SR-IOV VF reset, etc). On the other hand, if Xen
-     * thinks that the bit is masked, but it's really not,
-     * we log a warning.
-     */
-    if ( desc->msi_desc->msi_attrib.masked )
-    {
-        if ( !(orig & PCI_MSIX_VECTOR_BITMASK) )
-            printk(XENLOG_WARNING "MSI-X control bit is unmasked when"
-                   " it is expected to be masked [%04x:%02x:%02x.%01x]\n",
-                   entry->pdev->seg, entry->pdev->bus,
-                   PCI_SLOT(entry->pdev->devfn),
-                   PCI_FUNC(entry->pdev->devfn));
-
-        goto unlock;
-    }
-
-    /*
-     * The mask bit is the only defined bit in the word. But we
-     * ought to preserve the reserved bits. Clearing the reserved
-     * bits can result in undefined behaviour (see PCI Local Bus
-     * Specification revision 2.3).
-     */
-    val &= PCI_MSIX_VECTOR_BITMASK;
-    val |= (orig & ~PCI_MSIX_VECTOR_BITMASK);
+    val &= ~PCI_MSIX_VECTOR_BITMASK;
+    val |= orig & PCI_MSIX_VECTOR_BITMASK;
     writel(val, virt);
-
-unlock:
     spin_unlock_irqrestore(&desc->lock, flags);
-    r = X86EMUL_OKAY;
+#endif
 
+    r = X86EMUL_OKAY;
 out:
     rcu_read_unlock(&msixtbl_rcu_lock);
     return r;
@@ -358,8 +328,7 @@ const struct hvm_mmio_handler msixtbl_mmio_handler = {
 static void add_msixtbl_entry(struct domain *d,
                               struct pci_dev *pdev,
                               uint64_t gtable,
-                              struct msixtbl_entry *entry,
-                              const struct pirq *pirq)
+                              struct msixtbl_entry *entry)
 {
     u32 len;
 
@@ -373,7 +342,6 @@ static void add_msixtbl_entry(struct domain *d,
     entry->table_len = len;
     entry->pdev = pdev;
     entry->gtable = (unsigned long) gtable;
-    entry->pirq = pirq;
 
     list_add_rcu(&entry->list, &d->arch.hvm_domain.msixtbl_list);
 }
@@ -436,10 +404,9 @@ int msixtbl_pt_register(struct domain *d, struct pirq *pirq, uint64_t gtable)
 
     entry = new_entry;
     new_entry = NULL;
-    add_msixtbl_entry(d, pdev, gtable, entry, pirq);
+    add_msixtbl_entry(d, pdev, gtable, entry);
 
 found:
-    ASSERT(entry->pirq == pirq);
     atomic_inc(&entry->refcnt);
     spin_unlock(&d->arch.hvm_domain.msixtbl_list_lock);
     r = 0;
--
generated by git-patchbot for /home/xen/git/xen.git#master

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 27 02:44:13 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 27 Aug 2013 02:44:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VE9GJ-0006fN-8h; Tue, 27 Aug 2013 02:44:07 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VE9GI-0006fG-Ev
	for xen-changelog@lists.xensource.com; Tue, 27 Aug 2013 02:44:06 +0000
Received: from [85.158.137.68:9482] by server-16.bemta-3.messagelabs.com id
	6C/7F-30005-5721C125; Tue, 27 Aug 2013 02:44:05 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-31.messagelabs.com!1377571443!3961001!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20838 invoked from network); 27 Aug 2013 02:44:04 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-5.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	27 Aug 2013 02:44:04 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VE9GF-0001tU-ES
	for xen-changelog@lists.xensource.com; Tue, 27 Aug 2013 02:44:03 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VE9GF-0005jr-6F
	for xen-changelog@lists.xensource.com; Tue, 27 Aug 2013 02:44:03 +0000
Date: Tue, 27 Aug 2013 02:44:03 +0000
Message-Id: <E1VE9GF-0005jr-6F@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.3] x86: correct public header's
	documentation of PAT MSR settings
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 1a6662a795a7205c8b30eb18d4477305adb171bb
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Mon Aug 26 12:46:54 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Aug 26 12:46:54 2013 +0200

    x86: correct public header's documentation of PAT MSR settings
    
    The first (PAT6) column was wrong across the board, and the column for
    PAT7 was missing altogether.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Keir Fraser <keir@xen.org>
    master commit: 3829655bd3ad2b1150bd94955fc6988dec6b98f2
    master date: 2013-08-23 09:23:24 +0200
---
 xen/include/public/xen.h |   18 +++++++++---------
 1 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/xen/include/public/xen.h b/xen/include/public/xen.h
index 3cab74f..fe179b9 100644
--- a/xen/include/public/xen.h
+++ b/xen/include/public/xen.h
@@ -277,15 +277,15 @@ DEFINE_XEN_GUEST_HANDLE(xen_ulong_t);
  *  refer to Intel SDM 10.12. The PAT allows to set the caching attributes of
  *  pages instead of using MTRRs.
  *
- *  The PAT MSR is as follow (it is a 64-bit value, each entry is 8 bits):
- *             PAT4                 PAT0
- *   +---+----+----+----+-----+----+----+
- *    WC | WC | WB | UC | UC- | WC | WB |  <= Linux
- *   +---+----+----+----+-----+----+----+
- *    WC | WT | WB | UC | UC- | WT | WB |  <= BIOS (default when machine boots)
- *   +---+----+----+----+-----+----+----+
- *    WC | WP | WC | UC | UC- | WT | WB |  <= Xen
- *   +---+----+----+----+-----+----+----+
+ *  The PAT MSR is as follows (it is a 64-bit value, each entry is 8 bits):
+ *                    PAT4                 PAT0
+ *  +-----+-----+----+----+----+-----+----+----+
+ *  | UC  | UC- | WC | WB | UC | UC- | WC | WB |  <= Linux
+ *  +-----+-----+----+----+----+-----+----+----+
+ *  | UC  | UC- | WT | WB | UC | UC- | WT | WB |  <= BIOS (default when machine boots)
+ *  +-----+-----+----+----+----+-----+----+----+
+ *  | rsv | rsv | WP | WC | UC | UC- | WT | WB |  <= Xen
+ *  +-----+-----+----+----+----+-----+----+----+
  *
  *  The lookup of this index table translates to looking up
  *  Bit 7, Bit 4, and Bit 3 of val entry:
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Tue Aug 27 02:44:13 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 27 Aug 2013 02:44:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VE9GJ-0006fN-8h; Tue, 27 Aug 2013 02:44:07 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VE9GI-0006fG-Ev
	for xen-changelog@lists.xensource.com; Tue, 27 Aug 2013 02:44:06 +0000
Received: from [85.158.137.68:9482] by server-16.bemta-3.messagelabs.com id
	6C/7F-30005-5721C125; Tue, 27 Aug 2013 02:44:05 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-5.tower-31.messagelabs.com!1377571443!3961001!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20838 invoked from network); 27 Aug 2013 02:44:04 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-5.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	27 Aug 2013 02:44:04 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VE9GF-0001tU-ES
	for xen-changelog@lists.xensource.com; Tue, 27 Aug 2013 02:44:03 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VE9GF-0005jr-6F
	for xen-changelog@lists.xensource.com; Tue, 27 Aug 2013 02:44:03 +0000
Date: Tue, 27 Aug 2013 02:44:03 +0000
Message-Id: <E1VE9GF-0005jr-6F@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.3] x86: correct public header's
	documentation of PAT MSR settings
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 1a6662a795a7205c8b30eb18d4477305adb171bb
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Mon Aug 26 12:46:54 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Mon Aug 26 12:46:54 2013 +0200

    x86: correct public header's documentation of PAT MSR settings
    
    The first (PAT6) column was wrong across the board, and the column for
    PAT7 was missing altogether.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Keir Fraser <keir@xen.org>
    master commit: 3829655bd3ad2b1150bd94955fc6988dec6b98f2
    master date: 2013-08-23 09:23:24 +0200
---
 xen/include/public/xen.h |   18 +++++++++---------
 1 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/xen/include/public/xen.h b/xen/include/public/xen.h
index 3cab74f..fe179b9 100644
--- a/xen/include/public/xen.h
+++ b/xen/include/public/xen.h
@@ -277,15 +277,15 @@ DEFINE_XEN_GUEST_HANDLE(xen_ulong_t);
  *  refer to Intel SDM 10.12. The PAT allows to set the caching attributes of
  *  pages instead of using MTRRs.
  *
- *  The PAT MSR is as follow (it is a 64-bit value, each entry is 8 bits):
- *             PAT4                 PAT0
- *   +---+----+----+----+-----+----+----+
- *    WC | WC | WB | UC | UC- | WC | WB |  <= Linux
- *   +---+----+----+----+-----+----+----+
- *    WC | WT | WB | UC | UC- | WT | WB |  <= BIOS (default when machine boots)
- *   +---+----+----+----+-----+----+----+
- *    WC | WP | WC | UC | UC- | WT | WB |  <= Xen
- *   +---+----+----+----+-----+----+----+
+ *  The PAT MSR is as follows (it is a 64-bit value, each entry is 8 bits):
+ *                    PAT4                 PAT0
+ *  +-----+-----+----+----+----+-----+----+----+
+ *  | UC  | UC- | WC | WB | UC | UC- | WC | WB |  <= Linux
+ *  +-----+-----+----+----+----+-----+----+----+
+ *  | UC  | UC- | WT | WB | UC | UC- | WT | WB |  <= BIOS (default when machine boots)
+ *  +-----+-----+----+----+----+-----+----+----+
+ *  | rsv | rsv | WP | WC | UC | UC- | WT | WB |  <= Xen
+ *  +-----+-----+----+----+----+-----+----+----+
  *
  *  The lookup of this index table translates to looking up
  *  Bit 7, Bit 4, and Bit 3 of val entry:
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 28 01:11:13 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 28 Aug 2013 01:11:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VEUHt-00041W-4o; Wed, 28 Aug 2013 01:11:09 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VEUHr-00041F-6t
	for xen-changelog@lists.xensource.com; Wed, 28 Aug 2013 01:11:07 +0000
Received: from [85.158.137.68:16615] by server-11.bemta-3.messagelabs.com id
	7E/C3-16607-A2E4D125; Wed, 28 Aug 2013 01:11:06 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-31.messagelabs.com!1377652264!4180870!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14149 invoked from network); 28 Aug 2013 01:11:05 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-3.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	28 Aug 2013 01:11:05 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VEUHo-0007N5-2A
	for xen-changelog@lists.xensource.com; Wed, 28 Aug 2013 01:11:04 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VEUHn-0002gQ-HM
	for xen-changelog@lists.xensource.com; Wed, 28 Aug 2013 01:11:03 +0000
Date: Wed, 28 Aug 2013 01:11:03 +0000
Message-Id: <E1VEUHn-0002gQ-HM@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.3] ACPI: fix acpi_os_map_memory()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit f37de503d4d580b4fa3c04965e9dc416c040cab5
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Tue Aug 27 15:24:31 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 27 15:24:31 2013 +0200

    ACPI: fix acpi_os_map_memory()
    
    It using map_domain_page() was entirely wrong. Use __acpi_map_table()
    instead for the time being, with locking added as the mappings it
    produces get replaced with subsequent invocations. Using locking in
    this way is acceptable here since the only two runtime callers are
    acpi_os_{read,write}_memory(), which don't leave mappings pending upon
    returning to their callers.
    
    Also fix __acpi_map_table()'s first parameter's type - while benign for
    unstable, backports to pre-4.3 trees will need this.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    
    ACPI: use ioremap() in acpi_os_map_memory()
    
    This drops the post-boot use of __acpi_map_table() here again (together
    with the somewhat awkward locking), in favor of using ioremap().
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    master commit: 2ee9cbf9d8eaeff6e21222905d22dbd58dc5fe29
    master date: 2013-08-21 08:38:40 +0200
    master commit: c5ba8ed4c6f005d332a49d93a3ef8ff2b690b256
    master date: 2013-08-21 08:40:22 +0200
---
 xen/arch/x86/acpi/lib.c |    2 +-
 xen/drivers/acpi/osl.c  |   29 +++++++++++++++++++----------
 xen/include/xen/acpi.h  |    2 +-
 3 files changed, 21 insertions(+), 12 deletions(-)

diff --git a/xen/arch/x86/acpi/lib.c b/xen/arch/x86/acpi/lib.c
index e8e69d1..1f98c31 100644
--- a/xen/arch/x86/acpi/lib.c
+++ b/xen/arch/x86/acpi/lib.c
@@ -39,7 +39,7 @@ u32 __read_mostly x86_acpiid_to_apicid[MAX_MADT_ENTRIES] =
  * from the fixed base.  That's why we start at FIX_ACPI_END and
  * count idx down while incrementing the phys address.
  */
-char *__acpi_map_table(unsigned long phys, unsigned long size)
+char *__acpi_map_table(paddr_t phys, unsigned long size)
 {
 	unsigned long base, offset, mapped_size;
 	int idx;
diff --git a/xen/drivers/acpi/osl.c b/xen/drivers/acpi/osl.c
index 1b60be6..93c983c 100644
--- a/xen/drivers/acpi/osl.c
+++ b/xen/drivers/acpi/osl.c
@@ -38,6 +38,7 @@
 #include <xen/spinlock.h>
 #include <xen/domain_page.h>
 #include <xen/efi.h>
+#include <xen/vmap.h>
 
 #define _COMPONENT		ACPI_OS_SERVICES
 ACPI_MODULE_NAME("osl")
@@ -83,14 +84,25 @@ acpi_physical_address __init acpi_os_get_root_pointer(void)
 	}
 }
 
-void __iomem *__init
+void __iomem *
 acpi_os_map_memory(acpi_physical_address phys, acpi_size size)
 {
-	return __acpi_map_table((unsigned long)phys, size);
+	if (system_state >= SYS_STATE_active) {
+		unsigned long pfn = PFN_DOWN(phys);
+		unsigned int offs = phys & (PAGE_SIZE - 1);
+
+		/* The low first Mb is always mapped. */
+		if ( !((phys + size - 1) >> 20) )
+			return __va(phys);
+		return __vmap(&pfn, PFN_UP(offs + size), 1, 1, PAGE_HYPERVISOR_NOCACHE) + offs;
+	}
+	return __acpi_map_table(phys, size);
 }
 
-void __init acpi_os_unmap_memory(void __iomem * virt, acpi_size size)
+void acpi_os_unmap_memory(void __iomem * virt, acpi_size size)
 {
+	if (system_state >= SYS_STATE_active)
+		vunmap((void *)((unsigned long)virt & PAGE_MASK));
 }
 
 acpi_status acpi_os_read_port(acpi_io_address port, u32 * value, u32 width)
@@ -133,9 +145,8 @@ acpi_status
 acpi_os_read_memory(acpi_physical_address phys_addr, u32 * value, u32 width)
 {
 	u32 dummy;
-	void __iomem *virt_addr;
+	void __iomem *virt_addr = acpi_os_map_memory(phys_addr, width >> 3);
 
-	virt_addr = map_domain_page(phys_addr>>PAGE_SHIFT);
 	if (!value)
 		value = &dummy;
 
@@ -153,7 +164,7 @@ acpi_os_read_memory(acpi_physical_address phys_addr, u32 * value, u32 width)
 		BUG();
 	}
 
-	unmap_domain_page(virt_addr);
+	acpi_os_unmap_memory(virt_addr, width >> 3);
 
 	return AE_OK;
 }
@@ -161,9 +172,7 @@ acpi_os_read_memory(acpi_physical_address phys_addr, u32 * value, u32 width)
 acpi_status
 acpi_os_write_memory(acpi_physical_address phys_addr, u32 value, u32 width)
 {
-	void __iomem *virt_addr;
-
-	virt_addr = map_domain_page(phys_addr>>PAGE_SHIFT);
+	void __iomem *virt_addr = acpi_os_map_memory(phys_addr, width >> 3);
 
 	switch (width) {
 	case 8:
@@ -179,7 +188,7 @@ acpi_os_write_memory(acpi_physical_address phys_addr, u32 value, u32 width)
 		BUG();
 	}
 
-	unmap_domain_page(virt_addr);
+	acpi_os_unmap_memory(virt_addr, width >> 3);
 
 	return AE_OK;
 }
diff --git a/xen/include/xen/acpi.h b/xen/include/xen/acpi.h
index 8f3cdca..aedec65 100644
--- a/xen/include/xen/acpi.h
+++ b/xen/include/xen/acpi.h
@@ -56,7 +56,7 @@ typedef int (*acpi_table_handler) (struct acpi_table_header *table);
 typedef int (*acpi_table_entry_handler) (struct acpi_subtable_header *header, const unsigned long end);
 
 unsigned int acpi_get_processor_id (unsigned int cpu);
-char * __acpi_map_table (unsigned long phys_addr, unsigned long size);
+char * __acpi_map_table (paddr_t phys_addr, unsigned long size);
 int acpi_boot_init (void);
 int acpi_boot_table_init (void);
 int acpi_numa_init (void);
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 28 01:11:13 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 28 Aug 2013 01:11:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VEUHt-00041W-4o; Wed, 28 Aug 2013 01:11:09 +0000
Received: from mail6.bemta3.messagelabs.com ([195.245.230.39])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VEUHr-00041F-6t
	for xen-changelog@lists.xensource.com; Wed, 28 Aug 2013 01:11:07 +0000
Received: from [85.158.137.68:16615] by server-11.bemta-3.messagelabs.com id
	7E/C3-16607-A2E4D125; Wed, 28 Aug 2013 01:11:06 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-3.tower-31.messagelabs.com!1377652264!4180870!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 14149 invoked from network); 28 Aug 2013 01:11:05 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-3.tower-31.messagelabs.com with AES256-SHA encrypted SMTP;
	28 Aug 2013 01:11:05 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VEUHo-0007N5-2A
	for xen-changelog@lists.xensource.com; Wed, 28 Aug 2013 01:11:04 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VEUHn-0002gQ-HM
	for xen-changelog@lists.xensource.com; Wed, 28 Aug 2013 01:11:03 +0000
Date: Wed, 28 Aug 2013 01:11:03 +0000
Message-Id: <E1VEUHn-0002gQ-HM@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.3] ACPI: fix acpi_os_map_memory()
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit f37de503d4d580b4fa3c04965e9dc416c040cab5
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Tue Aug 27 15:24:31 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 27 15:24:31 2013 +0200

    ACPI: fix acpi_os_map_memory()
    
    It using map_domain_page() was entirely wrong. Use __acpi_map_table()
    instead for the time being, with locking added as the mappings it
    produces get replaced with subsequent invocations. Using locking in
    this way is acceptable here since the only two runtime callers are
    acpi_os_{read,write}_memory(), which don't leave mappings pending upon
    returning to their callers.
    
    Also fix __acpi_map_table()'s first parameter's type - while benign for
    unstable, backports to pre-4.3 trees will need this.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    
    ACPI: use ioremap() in acpi_os_map_memory()
    
    This drops the post-boot use of __acpi_map_table() here again (together
    with the somewhat awkward locking), in favor of using ioremap().
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    master commit: 2ee9cbf9d8eaeff6e21222905d22dbd58dc5fe29
    master date: 2013-08-21 08:38:40 +0200
    master commit: c5ba8ed4c6f005d332a49d93a3ef8ff2b690b256
    master date: 2013-08-21 08:40:22 +0200
---
 xen/arch/x86/acpi/lib.c |    2 +-
 xen/drivers/acpi/osl.c  |   29 +++++++++++++++++++----------
 xen/include/xen/acpi.h  |    2 +-
 3 files changed, 21 insertions(+), 12 deletions(-)

diff --git a/xen/arch/x86/acpi/lib.c b/xen/arch/x86/acpi/lib.c
index e8e69d1..1f98c31 100644
--- a/xen/arch/x86/acpi/lib.c
+++ b/xen/arch/x86/acpi/lib.c
@@ -39,7 +39,7 @@ u32 __read_mostly x86_acpiid_to_apicid[MAX_MADT_ENTRIES] =
  * from the fixed base.  That's why we start at FIX_ACPI_END and
  * count idx down while incrementing the phys address.
  */
-char *__acpi_map_table(unsigned long phys, unsigned long size)
+char *__acpi_map_table(paddr_t phys, unsigned long size)
 {
 	unsigned long base, offset, mapped_size;
 	int idx;
diff --git a/xen/drivers/acpi/osl.c b/xen/drivers/acpi/osl.c
index 1b60be6..93c983c 100644
--- a/xen/drivers/acpi/osl.c
+++ b/xen/drivers/acpi/osl.c
@@ -38,6 +38,7 @@
 #include <xen/spinlock.h>
 #include <xen/domain_page.h>
 #include <xen/efi.h>
+#include <xen/vmap.h>
 
 #define _COMPONENT		ACPI_OS_SERVICES
 ACPI_MODULE_NAME("osl")
@@ -83,14 +84,25 @@ acpi_physical_address __init acpi_os_get_root_pointer(void)
 	}
 }
 
-void __iomem *__init
+void __iomem *
 acpi_os_map_memory(acpi_physical_address phys, acpi_size size)
 {
-	return __acpi_map_table((unsigned long)phys, size);
+	if (system_state >= SYS_STATE_active) {
+		unsigned long pfn = PFN_DOWN(phys);
+		unsigned int offs = phys & (PAGE_SIZE - 1);
+
+		/* The low first Mb is always mapped. */
+		if ( !((phys + size - 1) >> 20) )
+			return __va(phys);
+		return __vmap(&pfn, PFN_UP(offs + size), 1, 1, PAGE_HYPERVISOR_NOCACHE) + offs;
+	}
+	return __acpi_map_table(phys, size);
 }
 
-void __init acpi_os_unmap_memory(void __iomem * virt, acpi_size size)
+void acpi_os_unmap_memory(void __iomem * virt, acpi_size size)
 {
+	if (system_state >= SYS_STATE_active)
+		vunmap((void *)((unsigned long)virt & PAGE_MASK));
 }
 
 acpi_status acpi_os_read_port(acpi_io_address port, u32 * value, u32 width)
@@ -133,9 +145,8 @@ acpi_status
 acpi_os_read_memory(acpi_physical_address phys_addr, u32 * value, u32 width)
 {
 	u32 dummy;
-	void __iomem *virt_addr;
+	void __iomem *virt_addr = acpi_os_map_memory(phys_addr, width >> 3);
 
-	virt_addr = map_domain_page(phys_addr>>PAGE_SHIFT);
 	if (!value)
 		value = &dummy;
 
@@ -153,7 +164,7 @@ acpi_os_read_memory(acpi_physical_address phys_addr, u32 * value, u32 width)
 		BUG();
 	}
 
-	unmap_domain_page(virt_addr);
+	acpi_os_unmap_memory(virt_addr, width >> 3);
 
 	return AE_OK;
 }
@@ -161,9 +172,7 @@ acpi_os_read_memory(acpi_physical_address phys_addr, u32 * value, u32 width)
 acpi_status
 acpi_os_write_memory(acpi_physical_address phys_addr, u32 value, u32 width)
 {
-	void __iomem *virt_addr;
-
-	virt_addr = map_domain_page(phys_addr>>PAGE_SHIFT);
+	void __iomem *virt_addr = acpi_os_map_memory(phys_addr, width >> 3);
 
 	switch (width) {
 	case 8:
@@ -179,7 +188,7 @@ acpi_os_write_memory(acpi_physical_address phys_addr, u32 value, u32 width)
 		BUG();
 	}
 
-	unmap_domain_page(virt_addr);
+	acpi_os_unmap_memory(virt_addr, width >> 3);
 
 	return AE_OK;
 }
diff --git a/xen/include/xen/acpi.h b/xen/include/xen/acpi.h
index 8f3cdca..aedec65 100644
--- a/xen/include/xen/acpi.h
+++ b/xen/include/xen/acpi.h
@@ -56,7 +56,7 @@ typedef int (*acpi_table_handler) (struct acpi_table_header *table);
 typedef int (*acpi_table_entry_handler) (struct acpi_subtable_header *header, const unsigned long end);
 
 unsigned int acpi_get_processor_id (unsigned int cpu);
-char * __acpi_map_table (unsigned long phys_addr, unsigned long size);
+char * __acpi_map_table (paddr_t phys_addr, unsigned long size);
 int acpi_boot_init (void);
 int acpi_boot_table_init (void);
 int acpi_numa_init (void);
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 28 01:11:21 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 28 Aug 2013 01:11:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VEUI2-00042R-7t; Wed, 28 Aug 2013 01:11:18 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VEUI1-00042J-1E
	for xen-changelog@lists.xensource.com; Wed, 28 Aug 2013 01:11:17 +0000
Received: from [85.158.143.35:17571] by server-2.bemta-4.messagelabs.com id
	3B/77-26052-43E4D125; Wed, 28 Aug 2013 01:11:16 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1377652274!6868828!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19086 invoked from network); 28 Aug 2013 01:11:15 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-16.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	28 Aug 2013 01:11:15 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VEUHy-0007N8-HE
	for xen-changelog@lists.xensource.com; Wed, 28 Aug 2013 01:11:14 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VEUHy-0002go-EJ
	for xen-changelog@lists.xensource.com; Wed, 28 Aug 2013 01:11:14 +0000
Date: Wed, 28 Aug 2013 01:11:14 +0000
Message-Id: <E1VEUHy-0002go-EJ@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.3] VT-d: warn about Compatibility
	Format Interrupts being enabled by firmware
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 24ddc6f52635a6d4bb7a5ff0bbdfa168d8a2cb50
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Tue Aug 27 15:26:10 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 27 15:26:10 2013 +0200

    VT-d: warn about Compatibility Format Interrupts being enabled by firmware
    
    ... as being insecure.
    
    Also drop the second (redundant) read DMAR_GSTS_REG from enable_intremap().
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by Xiantao Zhang <xiantao.zhang@intel.com>
    master commit: c9c6abab583d27fdca1d979a7f1d18ae30f54e9b
    master date: 2013-08-21 16:44:58 +0200
---
 xen/drivers/passthrough/vtd/intremap.c |   16 ++++++++++------
 1 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/xen/drivers/passthrough/vtd/intremap.c b/xen/drivers/passthrough/vtd/intremap.c
index feaaed0..e6ef9f1 100644
--- a/xen/drivers/passthrough/vtd/intremap.c
+++ b/xen/drivers/passthrough/vtd/intremap.c
@@ -706,8 +706,8 @@ int enable_intremap(struct iommu *iommu, int eim)
 
     if ( !platform_supports_intremap() )
     {
-        dprintk(XENLOG_ERR VTDPREFIX,
-                "Platform firmware does not support interrupt remapping\n");
+        printk(XENLOG_ERR VTDPREFIX
+               " Platform firmware does not support interrupt remapping\n");
         return -EINVAL;
     }
 
@@ -718,15 +718,19 @@ int enable_intremap(struct iommu *iommu, int eim)
     if ( (sts & DMA_GSTS_IRES) && ir_ctrl->iremap_maddr )
         return 0;
 
-    sts = dmar_readl(iommu->reg, DMAR_GSTS_REG);
     if ( !(sts & DMA_GSTS_QIES) )
     {
-        dprintk(XENLOG_ERR VTDPREFIX,
-                "Queued invalidation is not enabled, should not enable "
-                "interrupt remapping\n");
+        printk(XENLOG_ERR VTDPREFIX
+               " Queued invalidation is not enabled on IOMMU #%u:"
+               " Should not enable interrupt remapping\n", iommu->index);
         return -EINVAL;
     }
 
+    if ( !eim && (sts & DMA_GSTS_CFIS) )
+        printk(XENLOG_WARNING VTDPREFIX
+               " Compatibility Format Interrupts permitted on IOMMU #%u:"
+               " Device pass-through will be insecure\n", iommu->index);
+
     if ( ir_ctrl->iremap_maddr == 0 )
     {
         drhd = iommu_to_drhd(iommu);
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 28 01:11:21 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 28 Aug 2013 01:11:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VEUI2-00042R-7t; Wed, 28 Aug 2013 01:11:18 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VEUI1-00042J-1E
	for xen-changelog@lists.xensource.com; Wed, 28 Aug 2013 01:11:17 +0000
Received: from [85.158.143.35:17571] by server-2.bemta-4.messagelabs.com id
	3B/77-26052-43E4D125; Wed, 28 Aug 2013 01:11:16 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1377652274!6868828!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_RANDOM_LONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 19086 invoked from network); 28 Aug 2013 01:11:15 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-16.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	28 Aug 2013 01:11:15 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VEUHy-0007N8-HE
	for xen-changelog@lists.xensource.com; Wed, 28 Aug 2013 01:11:14 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VEUHy-0002go-EJ
	for xen-changelog@lists.xensource.com; Wed, 28 Aug 2013 01:11:14 +0000
Date: Wed, 28 Aug 2013 01:11:14 +0000
Message-Id: <E1VEUHy-0002go-EJ@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.3] VT-d: warn about Compatibility
	Format Interrupts being enabled by firmware
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 24ddc6f52635a6d4bb7a5ff0bbdfa168d8a2cb50
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Tue Aug 27 15:26:10 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 27 15:26:10 2013 +0200

    VT-d: warn about Compatibility Format Interrupts being enabled by firmware
    
    ... as being insecure.
    
    Also drop the second (redundant) read DMAR_GSTS_REG from enable_intremap().
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by Xiantao Zhang <xiantao.zhang@intel.com>
    master commit: c9c6abab583d27fdca1d979a7f1d18ae30f54e9b
    master date: 2013-08-21 16:44:58 +0200
---
 xen/drivers/passthrough/vtd/intremap.c |   16 ++++++++++------
 1 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/xen/drivers/passthrough/vtd/intremap.c b/xen/drivers/passthrough/vtd/intremap.c
index feaaed0..e6ef9f1 100644
--- a/xen/drivers/passthrough/vtd/intremap.c
+++ b/xen/drivers/passthrough/vtd/intremap.c
@@ -706,8 +706,8 @@ int enable_intremap(struct iommu *iommu, int eim)
 
     if ( !platform_supports_intremap() )
     {
-        dprintk(XENLOG_ERR VTDPREFIX,
-                "Platform firmware does not support interrupt remapping\n");
+        printk(XENLOG_ERR VTDPREFIX
+               " Platform firmware does not support interrupt remapping\n");
         return -EINVAL;
     }
 
@@ -718,15 +718,19 @@ int enable_intremap(struct iommu *iommu, int eim)
     if ( (sts & DMA_GSTS_IRES) && ir_ctrl->iremap_maddr )
         return 0;
 
-    sts = dmar_readl(iommu->reg, DMAR_GSTS_REG);
     if ( !(sts & DMA_GSTS_QIES) )
     {
-        dprintk(XENLOG_ERR VTDPREFIX,
-                "Queued invalidation is not enabled, should not enable "
-                "interrupt remapping\n");
+        printk(XENLOG_ERR VTDPREFIX
+               " Queued invalidation is not enabled on IOMMU #%u:"
+               " Should not enable interrupt remapping\n", iommu->index);
         return -EINVAL;
     }
 
+    if ( !eim && (sts & DMA_GSTS_CFIS) )
+        printk(XENLOG_WARNING VTDPREFIX
+               " Compatibility Format Interrupts permitted on IOMMU #%u:"
+               " Device pass-through will be insecure\n", iommu->index);
+
     if ( ir_ctrl->iremap_maddr == 0 )
     {
         drhd = iommu_to_drhd(iommu);
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 28 01:11:31 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 28 Aug 2013 01:11:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VEUIC-00043Q-An; Wed, 28 Aug 2013 01:11:28 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VEUIB-00043G-Ag
	for xen-changelog@lists.xensource.com; Wed, 28 Aug 2013 01:11:27 +0000
Received: from [193.109.254.147:40074] by server-4.bemta-14.messagelabs.com id
	3E/21-05823-E3E4D125; Wed, 28 Aug 2013 01:11:26 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1377652285!6186989!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_DONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7319 invoked from network); 28 Aug 2013 01:11:26 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-10.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	28 Aug 2013 01:11:26 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VEUI8-0007NH-V3
	for xen-changelog@lists.xensource.com; Wed, 28 Aug 2013 01:11:24 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VEUI8-0002ht-MT
	for xen-changelog@lists.xensource.com; Wed, 28 Aug 2013 01:11:24 +0000
Date: Wed, 28 Aug 2013 01:11:24 +0000
Message-Id: <E1VEUI8-0002ht-MT@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.3] Nested VMX: Check whether
	interrupt is blocked by TPR
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 3e22a868bafcdea79c61741a08703ab2b0e7315b
Author:     Yang Zhang <yang.z.zhang@Intel.com>
AuthorDate: Tue Aug 27 15:26:56 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 27 15:26:56 2013 +0200

    Nested VMX: Check whether interrupt is blocked by TPR
    
    If interrupt is blocked by L1's TPR, L2 should not see it and keep
    running. Adding the check before L2 to retrive interrupt.
    
    Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com>
    Acked-by: "Dong, Eddie" <eddie.dong@intel.com>
    master commit: 7fb5c6b9ef22915e3fcac95cd44857f4457ba783
    master date: 2013-08-22 10:49:24 +0200
---
 xen/arch/x86/hvm/vmx/intr.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/xen/arch/x86/hvm/vmx/intr.c b/xen/arch/x86/hvm/vmx/intr.c
index e376f3c..cab9109 100644
--- a/xen/arch/x86/hvm/vmx/intr.c
+++ b/xen/arch/x86/hvm/vmx/intr.c
@@ -165,6 +165,11 @@ static int nvmx_intr_intercept(struct vcpu *v, struct hvm_intack intack)
 {
     u32 ctrl;
 
+    /* If blocked by L1's tpr, then nothing to do. */
+    if ( nestedhvm_vcpu_in_guestmode(v) &&
+         hvm_interrupt_blocked(v, intack) == hvm_intblk_tpr )
+        return 1;
+
     if ( nvmx_intr_blocked(v) != hvm_intblk_none )
     {
         enable_intr_window(v, intack);
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 28 01:11:31 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 28 Aug 2013 01:11:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VEUIC-00043Q-An; Wed, 28 Aug 2013 01:11:28 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VEUIB-00043G-Ag
	for xen-changelog@lists.xensource.com; Wed, 28 Aug 2013 01:11:27 +0000
Received: from [193.109.254.147:40074] by server-4.bemta-14.messagelabs.com id
	3E/21-05823-E3E4D125; Wed, 28 Aug 2013 01:11:26 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-10.tower-27.messagelabs.com!1377652285!6186989!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_DONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 7319 invoked from network); 28 Aug 2013 01:11:26 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-10.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	28 Aug 2013 01:11:26 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VEUI8-0007NH-V3
	for xen-changelog@lists.xensource.com; Wed, 28 Aug 2013 01:11:24 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VEUI8-0002ht-MT
	for xen-changelog@lists.xensource.com; Wed, 28 Aug 2013 01:11:24 +0000
Date: Wed, 28 Aug 2013 01:11:24 +0000
Message-Id: <E1VEUI8-0002ht-MT@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.3] Nested VMX: Check whether
	interrupt is blocked by TPR
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 3e22a868bafcdea79c61741a08703ab2b0e7315b
Author:     Yang Zhang <yang.z.zhang@Intel.com>
AuthorDate: Tue Aug 27 15:26:56 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 27 15:26:56 2013 +0200

    Nested VMX: Check whether interrupt is blocked by TPR
    
    If interrupt is blocked by L1's TPR, L2 should not see it and keep
    running. Adding the check before L2 to retrive interrupt.
    
    Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com>
    Acked-by: "Dong, Eddie" <eddie.dong@intel.com>
    master commit: 7fb5c6b9ef22915e3fcac95cd44857f4457ba783
    master date: 2013-08-22 10:49:24 +0200
---
 xen/arch/x86/hvm/vmx/intr.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/xen/arch/x86/hvm/vmx/intr.c b/xen/arch/x86/hvm/vmx/intr.c
index e376f3c..cab9109 100644
--- a/xen/arch/x86/hvm/vmx/intr.c
+++ b/xen/arch/x86/hvm/vmx/intr.c
@@ -165,6 +165,11 @@ static int nvmx_intr_intercept(struct vcpu *v, struct hvm_intack intack)
 {
     u32 ctrl;
 
+    /* If blocked by L1's tpr, then nothing to do. */
+    if ( nestedhvm_vcpu_in_guestmode(v) &&
+         hvm_interrupt_blocked(v, intack) == hvm_intblk_tpr )
+        return 1;
+
     if ( nvmx_intr_blocked(v) != hvm_intblk_none )
     {
         enable_intr_window(v, intack);
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 28 01:11:42 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 28 Aug 2013 01:11:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VEUIN-00044q-Dj; Wed, 28 Aug 2013 01:11:39 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VEUIM-00044a-5W
	for xen-changelog@lists.xensource.com; Wed, 28 Aug 2013 01:11:38 +0000
Received: from [85.158.143.35:18052] by server-1.bemta-4.messagelabs.com id
	3E/52-16125-94E4D125; Wed, 28 Aug 2013 01:11:37 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1377652295!6866828!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_DONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4931 invoked from network); 28 Aug 2013 01:11:36 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-15.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	28 Aug 2013 01:11:36 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VEUIJ-0007NM-O2
	for xen-changelog@lists.xensource.com; Wed, 28 Aug 2013 01:11:35 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VEUIJ-0002iJ-GJ
	for xen-changelog@lists.xensource.com; Wed, 28 Aug 2013 01:11:35 +0000
Date: Wed, 28 Aug 2013 01:11:35 +0000
Message-Id: <E1VEUIJ-0002iJ-GJ@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.3] Nested VMX: Force check ISR when
	L2 is running
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 863b772fd95228938fbf80e311779045230ccfd4
Author:     Yang Zhang <yang.z.zhang@Intel.com>
AuthorDate: Tue Aug 27 15:28:16 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 27 15:28:16 2013 +0200

    Nested VMX: Force check ISR when L2 is running
    
    External interrupt is allowed to notify CPU only when it has higher
    priority than current in servicing interrupt. With APIC-v, the priority
    comparing is done by hardware and hardware will inject the interrupt to
    VCPU when it recognizes an interrupt. Currently, there is no virtual
    APIC-v feature available for L1 to use, so when L2 is running, we still need
    to compare interrupt priority with ISR in hypervisor instead via hardware.
    
    Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com>
    Acked-by: "Dong, Eddie" <eddie.dong@intel.com>
    master commit: b35d0a26983843c092bfa353fd6b9aa8c3bf4886
    master date: 2013-08-22 10:50:13 +0200
---
 xen/arch/x86/hvm/vlapic.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
index f3fdab9..7ea0475 100644
--- a/xen/arch/x86/hvm/vlapic.c
+++ b/xen/arch/x86/hvm/vlapic.c
@@ -37,6 +37,7 @@
 #include <asm/hvm/io.h>
 #include <asm/hvm/support.h>
 #include <asm/hvm/vmx/vmx.h>
+#include <asm/hvm/nestedhvm.h>
 #include <public/hvm/ioreq.h>
 #include <public/hvm/params.h>
 
@@ -1035,7 +1036,8 @@ int vlapic_has_pending_irq(struct vcpu *v)
     if ( irr == -1 )
         return -1;
 
-    if ( vlapic_virtual_intr_delivery_enabled() )
+    if ( vlapic_virtual_intr_delivery_enabled() &&
+         !nestedhvm_vcpu_in_guestmode(v) )
         return irr;
 
     isr = vlapic_find_highest_isr(vlapic);
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 28 01:11:42 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 28 Aug 2013 01:11:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VEUIN-00044q-Dj; Wed, 28 Aug 2013 01:11:39 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VEUIM-00044a-5W
	for xen-changelog@lists.xensource.com; Wed, 28 Aug 2013 01:11:38 +0000
Received: from [85.158.143.35:18052] by server-1.bemta-4.messagelabs.com id
	3E/52-16125-94E4D125; Wed, 28 Aug 2013 01:11:37 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-15.tower-21.messagelabs.com!1377652295!6866828!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_DONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 4931 invoked from network); 28 Aug 2013 01:11:36 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-15.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	28 Aug 2013 01:11:36 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VEUIJ-0007NM-O2
	for xen-changelog@lists.xensource.com; Wed, 28 Aug 2013 01:11:35 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VEUIJ-0002iJ-GJ
	for xen-changelog@lists.xensource.com; Wed, 28 Aug 2013 01:11:35 +0000
Date: Wed, 28 Aug 2013 01:11:35 +0000
Message-Id: <E1VEUIJ-0002iJ-GJ@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.3] Nested VMX: Force check ISR when
	L2 is running
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 863b772fd95228938fbf80e311779045230ccfd4
Author:     Yang Zhang <yang.z.zhang@Intel.com>
AuthorDate: Tue Aug 27 15:28:16 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 27 15:28:16 2013 +0200

    Nested VMX: Force check ISR when L2 is running
    
    External interrupt is allowed to notify CPU only when it has higher
    priority than current in servicing interrupt. With APIC-v, the priority
    comparing is done by hardware and hardware will inject the interrupt to
    VCPU when it recognizes an interrupt. Currently, there is no virtual
    APIC-v feature available for L1 to use, so when L2 is running, we still need
    to compare interrupt priority with ISR in hypervisor instead via hardware.
    
    Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com>
    Acked-by: "Dong, Eddie" <eddie.dong@intel.com>
    master commit: b35d0a26983843c092bfa353fd6b9aa8c3bf4886
    master date: 2013-08-22 10:50:13 +0200
---
 xen/arch/x86/hvm/vlapic.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
index f3fdab9..7ea0475 100644
--- a/xen/arch/x86/hvm/vlapic.c
+++ b/xen/arch/x86/hvm/vlapic.c
@@ -37,6 +37,7 @@
 #include <asm/hvm/io.h>
 #include <asm/hvm/support.h>
 #include <asm/hvm/vmx/vmx.h>
+#include <asm/hvm/nestedhvm.h>
 #include <public/hvm/ioreq.h>
 #include <public/hvm/params.h>
 
@@ -1035,7 +1036,8 @@ int vlapic_has_pending_irq(struct vcpu *v)
     if ( irr == -1 )
         return -1;
 
-    if ( vlapic_virtual_intr_delivery_enabled() )
+    if ( vlapic_virtual_intr_delivery_enabled() &&
+         !nestedhvm_vcpu_in_guestmode(v) )
         return irr;
 
     isr = vlapic_find_highest_isr(vlapic);
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 28 01:11:53 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 28 Aug 2013 01:11:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VEUIX-00046a-Gc; Wed, 28 Aug 2013 01:11:49 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VEUIW-00046F-CK
	for xen-changelog@lists.xensource.com; Wed, 28 Aug 2013 01:11:48 +0000
Received: from [193.109.254.147:35533] by server-6.bemta-14.messagelabs.com id
	FD/24-20235-35E4D125; Wed, 28 Aug 2013 01:11:47 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1377652306!6181602!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_DONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22497 invoked from network); 28 Aug 2013 01:11:47 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-7.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	28 Aug 2013 01:11:47 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VEUIT-0007NV-Uk
	for xen-changelog@lists.xensource.com; Wed, 28 Aug 2013 01:11:45 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VEUIT-0002if-SS
	for xen-changelog@lists.xensource.com; Wed, 28 Aug 2013 01:11:45 +0000
Date: Wed, 28 Aug 2013 01:11:45 +0000
Message-Id: <E1VEUIT-0002if-SS@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.3] Nested VMX: Clear APIC-v control
	bit in vmcs02
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 190f5348b77000960ea8e8c8728e65184d1eebf4
Author:     Yang Zhang <yang.z.zhang@Intel.com>
AuthorDate: Tue Aug 27 15:29:08 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 27 15:29:08 2013 +0200

    Nested VMX: Clear APIC-v control bit in vmcs02
    
    There is no vAPIC-v support, so mask APIC-v control bit when
    constructing vmcs02.
    
    Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com>
    Acked-by: "Dong, Eddie" <eddie.dong@intel.com>
    master commit: 375a1035002fb257087756a86e6caeda649fc0f1
    master date: 2013-08-22 10:52:05 +0200
---
 xen/arch/x86/hvm/vmx/vvmx.c |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/xen/arch/x86/hvm/vmx/vvmx.c b/xen/arch/x86/hvm/vmx/vvmx.c
index 5dfbc54..0dc567a 100644
--- a/xen/arch/x86/hvm/vmx/vvmx.c
+++ b/xen/arch/x86/hvm/vmx/vvmx.c
@@ -613,8 +613,15 @@ void nvmx_update_secondary_exec_control(struct vcpu *v,
     u32 shadow_cntrl;
     struct nestedvcpu *nvcpu = &vcpu_nestedhvm(v);
     struct nestedvmx *nvmx = &vcpu_2_nvmx(v);
+    u32 apicv_bit = SECONDARY_EXEC_APIC_REGISTER_VIRT |
+                    SECONDARY_EXEC_VIRTUAL_INTR_DELIVERY;
 
+    host_cntrl &= ~apicv_bit;
     shadow_cntrl = __get_vvmcs(nvcpu->nv_vvmcx, SECONDARY_VM_EXEC_CONTROL);
+
+    /* No vAPIC-v support, so it shouldn't be set in vmcs12. */
+    ASSERT(!(shadow_cntrl & apicv_bit));
+
     nvmx->ept.enabled = !!(shadow_cntrl & SECONDARY_EXEC_ENABLE_EPT);
     shadow_cntrl |= host_cntrl;
     __vmwrite(SECONDARY_VM_EXEC_CONTROL, shadow_cntrl);
@@ -625,7 +632,12 @@ static void nvmx_update_pin_control(struct vcpu *v, unsigned long host_cntrl)
     u32 shadow_cntrl;
     struct nestedvcpu *nvcpu = &vcpu_nestedhvm(v);
 
+    host_cntrl &= ~PIN_BASED_POSTED_INTERRUPT;
     shadow_cntrl = __get_vvmcs(nvcpu->nv_vvmcx, PIN_BASED_VM_EXEC_CONTROL);
+
+    /* No vAPIC-v support, so it shouldn't be set in vmcs12. */
+    ASSERT(!(shadow_cntrl & PIN_BASED_POSTED_INTERRUPT));
+
     shadow_cntrl |= host_cntrl;
     __vmwrite(PIN_BASED_VM_EXEC_CONTROL, shadow_cntrl);
 }
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 28 01:11:53 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 28 Aug 2013 01:11:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VEUIX-00046a-Gc; Wed, 28 Aug 2013 01:11:49 +0000
Received: from mail6.bemta14.messagelabs.com ([193.109.254.103])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VEUIW-00046F-CK
	for xen-changelog@lists.xensource.com; Wed, 28 Aug 2013 01:11:48 +0000
Received: from [193.109.254.147:35533] by server-6.bemta-14.messagelabs.com id
	FD/24-20235-35E4D125; Wed, 28 Aug 2013 01:11:47 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-7.tower-27.messagelabs.com!1377652306!6181602!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_DONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 22497 invoked from network); 28 Aug 2013 01:11:47 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-7.tower-27.messagelabs.com with AES256-SHA encrypted SMTP;
	28 Aug 2013 01:11:47 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VEUIT-0007NV-Uk
	for xen-changelog@lists.xensource.com; Wed, 28 Aug 2013 01:11:45 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VEUIT-0002if-SS
	for xen-changelog@lists.xensource.com; Wed, 28 Aug 2013 01:11:45 +0000
Date: Wed, 28 Aug 2013 01:11:45 +0000
Message-Id: <E1VEUIT-0002if-SS@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.3] Nested VMX: Clear APIC-v control
	bit in vmcs02
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 190f5348b77000960ea8e8c8728e65184d1eebf4
Author:     Yang Zhang <yang.z.zhang@Intel.com>
AuthorDate: Tue Aug 27 15:29:08 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 27 15:29:08 2013 +0200

    Nested VMX: Clear APIC-v control bit in vmcs02
    
    There is no vAPIC-v support, so mask APIC-v control bit when
    constructing vmcs02.
    
    Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com>
    Acked-by: "Dong, Eddie" <eddie.dong@intel.com>
    master commit: 375a1035002fb257087756a86e6caeda649fc0f1
    master date: 2013-08-22 10:52:05 +0200
---
 xen/arch/x86/hvm/vmx/vvmx.c |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/xen/arch/x86/hvm/vmx/vvmx.c b/xen/arch/x86/hvm/vmx/vvmx.c
index 5dfbc54..0dc567a 100644
--- a/xen/arch/x86/hvm/vmx/vvmx.c
+++ b/xen/arch/x86/hvm/vmx/vvmx.c
@@ -613,8 +613,15 @@ void nvmx_update_secondary_exec_control(struct vcpu *v,
     u32 shadow_cntrl;
     struct nestedvcpu *nvcpu = &vcpu_nestedhvm(v);
     struct nestedvmx *nvmx = &vcpu_2_nvmx(v);
+    u32 apicv_bit = SECONDARY_EXEC_APIC_REGISTER_VIRT |
+                    SECONDARY_EXEC_VIRTUAL_INTR_DELIVERY;
 
+    host_cntrl &= ~apicv_bit;
     shadow_cntrl = __get_vvmcs(nvcpu->nv_vvmcx, SECONDARY_VM_EXEC_CONTROL);
+
+    /* No vAPIC-v support, so it shouldn't be set in vmcs12. */
+    ASSERT(!(shadow_cntrl & apicv_bit));
+
     nvmx->ept.enabled = !!(shadow_cntrl & SECONDARY_EXEC_ENABLE_EPT);
     shadow_cntrl |= host_cntrl;
     __vmwrite(SECONDARY_VM_EXEC_CONTROL, shadow_cntrl);
@@ -625,7 +632,12 @@ static void nvmx_update_pin_control(struct vcpu *v, unsigned long host_cntrl)
     u32 shadow_cntrl;
     struct nestedvcpu *nvcpu = &vcpu_nestedhvm(v);
 
+    host_cntrl &= ~PIN_BASED_POSTED_INTERRUPT;
     shadow_cntrl = __get_vvmcs(nvcpu->nv_vvmcx, PIN_BASED_VM_EXEC_CONTROL);
+
+    /* No vAPIC-v support, so it shouldn't be set in vmcs12. */
+    ASSERT(!(shadow_cntrl & PIN_BASED_POSTED_INTERRUPT));
+
     shadow_cntrl |= host_cntrl;
     __vmwrite(PIN_BASED_VM_EXEC_CONTROL, shadow_cntrl);
 }
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 28 01:12:05 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 28 Aug 2013 01:12:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VEUIj-00048w-Jq; Wed, 28 Aug 2013 01:12:02 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VEUIh-00048P-P8
	for xen-changelog@lists.xensource.com; Wed, 28 Aug 2013 01:12:00 +0000
Received: from [85.158.143.35:20026] by server-1.bemta-4.messagelabs.com id
	D5/82-16125-E5E4D125; Wed, 28 Aug 2013 01:11:58 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1377652316!6868892!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_DONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20087 invoked from network); 28 Aug 2013 01:11:57 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-16.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	28 Aug 2013 01:11:57 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VEUIe-0007Nc-4r
	for xen-changelog@lists.xensource.com; Wed, 28 Aug 2013 01:11:56 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VEUIe-0002j1-3D
	for xen-changelog@lists.xensource.com; Wed, 28 Aug 2013 01:11:56 +0000
Date: Wed, 28 Aug 2013 01:11:56 +0000
Message-Id: <E1VEUIe-0002j1-3D@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.3] Nested VMX: Update APIC-v(RVI/SVI)
	when vmexit to L1
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 04043eedcc02482ba9e4e346fb777849c4312e9a
Author:     Yang Zhang <yang.z.zhang@Intel.com>
AuthorDate: Tue Aug 27 15:30:20 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 27 15:30:20 2013 +0200

    Nested VMX: Update APIC-v(RVI/SVI) when vmexit to L1
    
    If enabling APIC-v, all interrupts to L1 are delivered through APIC-v.
    But when L2 is running, external interrupt will casue L1 vmexit with
    reason external interrupt. Then L1 will pick up the interrupt through
    vmcs12. when L1 ack the interrupt, since the APIC-v is enabled when
    L1 is running, so APIC-v hardware still will do vEOI updating. The problem
    is that the interrupt is delivered not through APIC-v hardware, this means
    SVI/RVI/vPPR are not setting, but hardware required them when doing vEOI
    updating. The solution is that, when L1 tried to pick up the interrupt
    from vmcs12, then hypervisor will help to update the SVI/RVI/vPPR to make
    sure the following vEOI updating and vPPR updating corrently.
    
    Also, since interrupt is delivered through vmcs12, so APIC-v hardware will
    not cleare vIRR and hypervisor need to clear it before L1 running.
    
    Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com>
    Acked-by: "Dong, Eddie" <eddie.dong@intel.com>
    master commit: 84e6af58707520baf59c1c86c29237419e439afb
    master date: 2013-08-22 10:59:01 +0200
---
 xen/arch/x86/hvm/irq.c             |    2 +-
 xen/arch/x86/hvm/vlapic.c          |   20 ++++++++++++++------
 xen/arch/x86/hvm/vmx/intr.c        |    4 ++--
 xen/arch/x86/hvm/vmx/vmx.c         |   14 ++++++++------
 xen/arch/x86/hvm/vmx/vvmx.c        |   33 +++++++++++++++++++++++++++++++++
 xen/include/asm-x86/hvm/vlapic.h   |    3 ++-
 xen/include/asm-x86/hvm/vmx/vmx.h  |    2 +-
 xen/include/asm-x86/hvm/vmx/vvmx.h |    1 +
 8 files changed, 62 insertions(+), 17 deletions(-)

diff --git a/xen/arch/x86/hvm/irq.c b/xen/arch/x86/hvm/irq.c
index 9eae5de..6a6fb68 100644
--- a/xen/arch/x86/hvm/irq.c
+++ b/xen/arch/x86/hvm/irq.c
@@ -437,7 +437,7 @@ struct hvm_intack hvm_vcpu_ack_pending_irq(
             intack.vector = (uint8_t)vector;
         break;
     case hvm_intsrc_lapic:
-        if ( !vlapic_ack_pending_irq(v, intack.vector) )
+        if ( !vlapic_ack_pending_irq(v, intack.vector, 0) )
             intack = hvm_intack_none;
         break;
     case hvm_intsrc_vector:
diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
index 7ea0475..26f2c89 100644
--- a/xen/arch/x86/hvm/vlapic.c
+++ b/xen/arch/x86/hvm/vlapic.c
@@ -168,6 +168,14 @@ static uint32_t vlapic_get_ppr(struct vlapic *vlapic)
     return ppr;
 }
 
+uint32_t vlapic_set_ppr(struct vlapic *vlapic)
+{
+   uint32_t ppr = vlapic_get_ppr(vlapic);
+
+   vlapic_set_reg(vlapic, APIC_PROCPRI, ppr);
+   return ppr;
+}
+
 static int vlapic_match_logical_addr(struct vlapic *vlapic, uint8_t mda)
 {
     int result = 0;
@@ -1048,15 +1056,15 @@ int vlapic_has_pending_irq(struct vcpu *v)
     return irr;
 }
 
-int vlapic_ack_pending_irq(struct vcpu *v, int vector)
+int vlapic_ack_pending_irq(struct vcpu *v, int vector, bool_t force_ack)
 {
     struct vlapic *vlapic = vcpu_vlapic(v);
 
-    if ( vlapic_virtual_intr_delivery_enabled() )
-        return 1;
-
-    vlapic_set_vector(vector, &vlapic->regs->data[APIC_ISR]);
-    vlapic_clear_irr(vector, vlapic);
+    if ( force_ack || !vlapic_virtual_intr_delivery_enabled() )
+    {
+        vlapic_set_vector(vector, &vlapic->regs->data[APIC_ISR]);
+        vlapic_clear_irr(vector, vlapic);
+    }
 
     return 1;
 }
diff --git a/xen/arch/x86/hvm/vmx/intr.c b/xen/arch/x86/hvm/vmx/intr.c
index cab9109..45942ab 100644
--- a/xen/arch/x86/hvm/vmx/intr.c
+++ b/xen/arch/x86/hvm/vmx/intr.c
@@ -185,7 +185,7 @@ static int nvmx_intr_intercept(struct vcpu *v, struct hvm_intack intack)
             if ( !(ctrl & PIN_BASED_EXT_INTR_MASK) )
                 return 0;
 
-            vmx_inject_extint(intack.vector);
+            vmx_inject_extint(intack.vector, intack.source);
 
             ctrl = __get_vvmcs(vcpu_nestedhvm(v).nv_vvmcx, VM_EXIT_CONTROLS);
             if ( ctrl & VM_EXIT_ACK_INTR_ON_EXIT )
@@ -314,7 +314,7 @@ void vmx_intr_assist(void)
     else
     {
         HVMTRACE_2D(INJ_VIRQ, intack.vector, /*fake=*/ 0);
-        vmx_inject_extint(intack.vector);
+        vmx_inject_extint(intack.vector, intack.source);
         pt_intr_post(v, intack);
     }
 
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 059d258..fa9e79e 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -1205,7 +1205,7 @@ static void vmx_update_guest_efer(struct vcpu *v)
 }
 
 void nvmx_enqueue_n2_exceptions(struct vcpu *v, 
-            unsigned long intr_fields, int error_code)
+            unsigned long intr_fields, int error_code, uint8_t source)
 {
     struct nestedvmx *nvmx = &vcpu_2_nvmx(v);
 
@@ -1213,6 +1213,7 @@ void nvmx_enqueue_n2_exceptions(struct vcpu *v,
         /* enqueue the exception till the VMCS switch back to L1 */
         nvmx->intr.intr_info = intr_fields;
         nvmx->intr.error_code = error_code;
+        nvmx->intr.source = source;
         vcpu_nestedhvm(v).nv_vmexit_pending = 1;
         return;
     }
@@ -1224,7 +1225,8 @@ void nvmx_enqueue_n2_exceptions(struct vcpu *v,
 
 static int nvmx_vmexit_trap(struct vcpu *v, struct hvm_trap *trap)
 {
-    nvmx_enqueue_n2_exceptions(v, trap->vector, trap->error_code);
+    nvmx_enqueue_n2_exceptions(v, trap->vector, trap->error_code,
+                               hvm_intsrc_none);
     return NESTEDHVM_VMEXIT_DONE;
 }
 
@@ -1255,7 +1257,7 @@ static void __vmx_inject_exception(int trap, int type, int error_code)
         curr->arch.hvm_vmx.vmx_emulate = 1;
 }
 
-void vmx_inject_extint(int trap)
+void vmx_inject_extint(int trap, uint8_t source)
 {
     struct vcpu *v = current;
     u32    pin_based_cntrl;
@@ -1266,7 +1268,7 @@ void vmx_inject_extint(int trap)
         if ( pin_based_cntrl & PIN_BASED_EXT_INTR_MASK ) {
             nvmx_enqueue_n2_exceptions (v, 
                INTR_INFO_VALID_MASK | (X86_EVENTTYPE_EXT_INTR<<8) | trap,
-               HVM_DELIVER_NO_ERROR_CODE);
+               HVM_DELIVER_NO_ERROR_CODE, source);
             return;
         }
     }
@@ -1285,7 +1287,7 @@ void vmx_inject_nmi(void)
         if ( pin_based_cntrl & PIN_BASED_NMI_EXITING ) {
             nvmx_enqueue_n2_exceptions (v, 
                INTR_INFO_VALID_MASK | (X86_EVENTTYPE_NMI<<8) | TRAP_nmi,
-               HVM_DELIVER_NO_ERROR_CODE);
+               HVM_DELIVER_NO_ERROR_CODE, hvm_intsrc_nmi);
             return;
         }
     }
@@ -1353,7 +1355,7 @@ static void vmx_inject_trap(struct hvm_trap *trap)
     {
         nvmx_enqueue_n2_exceptions (curr, 
             INTR_INFO_VALID_MASK | (_trap.type<<8) | _trap.vector,
-            _trap.error_code); 
+            _trap.error_code, hvm_intsrc_none);
         return;
     }
     else
diff --git a/xen/arch/x86/hvm/vmx/vvmx.c b/xen/arch/x86/hvm/vmx/vvmx.c
index 0dc567a..cecc72f 100644
--- a/xen/arch/x86/hvm/vmx/vvmx.c
+++ b/xen/arch/x86/hvm/vmx/vvmx.c
@@ -1295,6 +1295,36 @@ static void sync_exception_state(struct vcpu *v)
     }
 }
 
+static void nvmx_update_apicv(struct vcpu *v)
+{
+    struct nestedvmx *nvmx = &vcpu_2_nvmx(v);
+    struct nestedvcpu *nvcpu = &vcpu_nestedhvm(v);
+    unsigned long reason = __get_vvmcs(nvcpu->nv_vvmcx, VM_EXIT_REASON);
+    uint32_t intr_info = __get_vvmcs(nvcpu->nv_vvmcx, VM_EXIT_INTR_INFO);
+
+    if ( reason == EXIT_REASON_EXTERNAL_INTERRUPT &&
+         nvmx->intr.source == hvm_intsrc_lapic &&
+         (intr_info & INTR_INFO_VALID_MASK) )
+    {
+        uint16_t status;
+        uint32_t rvi, ppr;
+        uint32_t vector = intr_info & 0xff;
+        struct vlapic *vlapic = vcpu_vlapic(v);
+
+        vlapic_ack_pending_irq(v, vector, 1);
+
+        ppr = vlapic_set_ppr(vlapic);
+        WARN_ON((ppr & 0xf0) != (vector & 0xf0));
+
+        status = vector << 8;
+        rvi = vlapic_has_pending_irq(v);
+        if ( rvi != -1 )
+            status |= rvi & 0xff;
+
+        __vmwrite(GUEST_INTR_STATUS, status);
+    }
+}
+
 static void virtual_vmexit(struct cpu_user_regs *regs)
 {
     struct vcpu *v = current;
@@ -1340,6 +1370,9 @@ static void virtual_vmexit(struct cpu_user_regs *regs)
     /* updating host cr0 to sync TS bit */
     __vmwrite(HOST_CR0, v->arch.hvm_vmx.host_cr0);
 
+    if ( cpu_has_vmx_virtual_intr_delivery )
+        nvmx_update_apicv(v);
+
     vmreturn(regs, VMSUCCEED);
 }
 
diff --git a/xen/include/asm-x86/hvm/vlapic.h b/xen/include/asm-x86/hvm/vlapic.h
index 3277125..4ef0570 100644
--- a/xen/include/asm-x86/hvm/vlapic.h
+++ b/xen/include/asm-x86/hvm/vlapic.h
@@ -98,7 +98,7 @@ bool_t is_vlapic_lvtpc_enabled(struct vlapic *vlapic);
 void vlapic_set_irq(struct vlapic *vlapic, uint8_t vec, uint8_t trig);
 
 int vlapic_has_pending_irq(struct vcpu *v);
-int vlapic_ack_pending_irq(struct vcpu *v, int vector);
+int vlapic_ack_pending_irq(struct vcpu *v, int vector, bool_t force_ack);
 
 int  vlapic_init(struct vcpu *v);
 void vlapic_destroy(struct vcpu *v);
@@ -110,6 +110,7 @@ void vlapic_tdt_msr_set(struct vlapic *vlapic, uint64_t value);
 uint64_t vlapic_tdt_msr_get(struct vlapic *vlapic);
 
 int vlapic_accept_pic_intr(struct vcpu *v);
+uint32_t vlapic_set_ppr(struct vlapic *vlapic);
 
 void vlapic_adjust_i8259_target(struct domain *d);
 
diff --git a/xen/include/asm-x86/hvm/vmx/vmx.h b/xen/include/asm-x86/hvm/vmx/vmx.h
index c33b9f9..f4d759b 100644
--- a/xen/include/asm-x86/hvm/vmx/vmx.h
+++ b/xen/include/asm-x86/hvm/vmx/vmx.h
@@ -448,7 +448,7 @@ static inline int __vmxon(u64 addr)
 
 void vmx_get_segment_register(struct vcpu *, enum x86_segment,
                               struct segment_register *);
-void vmx_inject_extint(int trap);
+void vmx_inject_extint(int trap, uint8_t source);
 void vmx_inject_nmi(void);
 
 int ept_p2m_init(struct p2m_domain *p2m);
diff --git a/xen/include/asm-x86/hvm/vmx/vvmx.h b/xen/include/asm-x86/hvm/vmx/vvmx.h
index 3874525..848be75 100644
--- a/xen/include/asm-x86/hvm/vmx/vvmx.h
+++ b/xen/include/asm-x86/hvm/vmx/vvmx.h
@@ -36,6 +36,7 @@ struct nestedvmx {
     struct {
         unsigned long intr_info;
         u32           error_code;
+        u8            source;
     } intr;
     struct {
         bool_t   enabled;
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 28 01:12:05 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 28 Aug 2013 01:12:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VEUIj-00048w-Jq; Wed, 28 Aug 2013 01:12:02 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VEUIh-00048P-P8
	for xen-changelog@lists.xensource.com; Wed, 28 Aug 2013 01:12:00 +0000
Received: from [85.158.143.35:20026] by server-1.bemta-4.messagelabs.com id
	D5/82-16125-E5E4D125; Wed, 28 Aug 2013 01:11:58 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-16.tower-21.messagelabs.com!1377652316!6868892!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.5 required=7.0 tests=BODY_DONG
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 20087 invoked from network); 28 Aug 2013 01:11:57 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-16.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	28 Aug 2013 01:11:57 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VEUIe-0007Nc-4r
	for xen-changelog@lists.xensource.com; Wed, 28 Aug 2013 01:11:56 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VEUIe-0002j1-3D
	for xen-changelog@lists.xensource.com; Wed, 28 Aug 2013 01:11:56 +0000
Date: Wed, 28 Aug 2013 01:11:56 +0000
Message-Id: <E1VEUIe-0002j1-3D@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.3] Nested VMX: Update APIC-v(RVI/SVI)
	when vmexit to L1
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 04043eedcc02482ba9e4e346fb777849c4312e9a
Author:     Yang Zhang <yang.z.zhang@Intel.com>
AuthorDate: Tue Aug 27 15:30:20 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 27 15:30:20 2013 +0200

    Nested VMX: Update APIC-v(RVI/SVI) when vmexit to L1
    
    If enabling APIC-v, all interrupts to L1 are delivered through APIC-v.
    But when L2 is running, external interrupt will casue L1 vmexit with
    reason external interrupt. Then L1 will pick up the interrupt through
    vmcs12. when L1 ack the interrupt, since the APIC-v is enabled when
    L1 is running, so APIC-v hardware still will do vEOI updating. The problem
    is that the interrupt is delivered not through APIC-v hardware, this means
    SVI/RVI/vPPR are not setting, but hardware required them when doing vEOI
    updating. The solution is that, when L1 tried to pick up the interrupt
    from vmcs12, then hypervisor will help to update the SVI/RVI/vPPR to make
    sure the following vEOI updating and vPPR updating corrently.
    
    Also, since interrupt is delivered through vmcs12, so APIC-v hardware will
    not cleare vIRR and hypervisor need to clear it before L1 running.
    
    Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com>
    Acked-by: "Dong, Eddie" <eddie.dong@intel.com>
    master commit: 84e6af58707520baf59c1c86c29237419e439afb
    master date: 2013-08-22 10:59:01 +0200
---
 xen/arch/x86/hvm/irq.c             |    2 +-
 xen/arch/x86/hvm/vlapic.c          |   20 ++++++++++++++------
 xen/arch/x86/hvm/vmx/intr.c        |    4 ++--
 xen/arch/x86/hvm/vmx/vmx.c         |   14 ++++++++------
 xen/arch/x86/hvm/vmx/vvmx.c        |   33 +++++++++++++++++++++++++++++++++
 xen/include/asm-x86/hvm/vlapic.h   |    3 ++-
 xen/include/asm-x86/hvm/vmx/vmx.h  |    2 +-
 xen/include/asm-x86/hvm/vmx/vvmx.h |    1 +
 8 files changed, 62 insertions(+), 17 deletions(-)

diff --git a/xen/arch/x86/hvm/irq.c b/xen/arch/x86/hvm/irq.c
index 9eae5de..6a6fb68 100644
--- a/xen/arch/x86/hvm/irq.c
+++ b/xen/arch/x86/hvm/irq.c
@@ -437,7 +437,7 @@ struct hvm_intack hvm_vcpu_ack_pending_irq(
             intack.vector = (uint8_t)vector;
         break;
     case hvm_intsrc_lapic:
-        if ( !vlapic_ack_pending_irq(v, intack.vector) )
+        if ( !vlapic_ack_pending_irq(v, intack.vector, 0) )
             intack = hvm_intack_none;
         break;
     case hvm_intsrc_vector:
diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
index 7ea0475..26f2c89 100644
--- a/xen/arch/x86/hvm/vlapic.c
+++ b/xen/arch/x86/hvm/vlapic.c
@@ -168,6 +168,14 @@ static uint32_t vlapic_get_ppr(struct vlapic *vlapic)
     return ppr;
 }
 
+uint32_t vlapic_set_ppr(struct vlapic *vlapic)
+{
+   uint32_t ppr = vlapic_get_ppr(vlapic);
+
+   vlapic_set_reg(vlapic, APIC_PROCPRI, ppr);
+   return ppr;
+}
+
 static int vlapic_match_logical_addr(struct vlapic *vlapic, uint8_t mda)
 {
     int result = 0;
@@ -1048,15 +1056,15 @@ int vlapic_has_pending_irq(struct vcpu *v)
     return irr;
 }
 
-int vlapic_ack_pending_irq(struct vcpu *v, int vector)
+int vlapic_ack_pending_irq(struct vcpu *v, int vector, bool_t force_ack)
 {
     struct vlapic *vlapic = vcpu_vlapic(v);
 
-    if ( vlapic_virtual_intr_delivery_enabled() )
-        return 1;
-
-    vlapic_set_vector(vector, &vlapic->regs->data[APIC_ISR]);
-    vlapic_clear_irr(vector, vlapic);
+    if ( force_ack || !vlapic_virtual_intr_delivery_enabled() )
+    {
+        vlapic_set_vector(vector, &vlapic->regs->data[APIC_ISR]);
+        vlapic_clear_irr(vector, vlapic);
+    }
 
     return 1;
 }
diff --git a/xen/arch/x86/hvm/vmx/intr.c b/xen/arch/x86/hvm/vmx/intr.c
index cab9109..45942ab 100644
--- a/xen/arch/x86/hvm/vmx/intr.c
+++ b/xen/arch/x86/hvm/vmx/intr.c
@@ -185,7 +185,7 @@ static int nvmx_intr_intercept(struct vcpu *v, struct hvm_intack intack)
             if ( !(ctrl & PIN_BASED_EXT_INTR_MASK) )
                 return 0;
 
-            vmx_inject_extint(intack.vector);
+            vmx_inject_extint(intack.vector, intack.source);
 
             ctrl = __get_vvmcs(vcpu_nestedhvm(v).nv_vvmcx, VM_EXIT_CONTROLS);
             if ( ctrl & VM_EXIT_ACK_INTR_ON_EXIT )
@@ -314,7 +314,7 @@ void vmx_intr_assist(void)
     else
     {
         HVMTRACE_2D(INJ_VIRQ, intack.vector, /*fake=*/ 0);
-        vmx_inject_extint(intack.vector);
+        vmx_inject_extint(intack.vector, intack.source);
         pt_intr_post(v, intack);
     }
 
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 059d258..fa9e79e 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -1205,7 +1205,7 @@ static void vmx_update_guest_efer(struct vcpu *v)
 }
 
 void nvmx_enqueue_n2_exceptions(struct vcpu *v, 
-            unsigned long intr_fields, int error_code)
+            unsigned long intr_fields, int error_code, uint8_t source)
 {
     struct nestedvmx *nvmx = &vcpu_2_nvmx(v);
 
@@ -1213,6 +1213,7 @@ void nvmx_enqueue_n2_exceptions(struct vcpu *v,
         /* enqueue the exception till the VMCS switch back to L1 */
         nvmx->intr.intr_info = intr_fields;
         nvmx->intr.error_code = error_code;
+        nvmx->intr.source = source;
         vcpu_nestedhvm(v).nv_vmexit_pending = 1;
         return;
     }
@@ -1224,7 +1225,8 @@ void nvmx_enqueue_n2_exceptions(struct vcpu *v,
 
 static int nvmx_vmexit_trap(struct vcpu *v, struct hvm_trap *trap)
 {
-    nvmx_enqueue_n2_exceptions(v, trap->vector, trap->error_code);
+    nvmx_enqueue_n2_exceptions(v, trap->vector, trap->error_code,
+                               hvm_intsrc_none);
     return NESTEDHVM_VMEXIT_DONE;
 }
 
@@ -1255,7 +1257,7 @@ static void __vmx_inject_exception(int trap, int type, int error_code)
         curr->arch.hvm_vmx.vmx_emulate = 1;
 }
 
-void vmx_inject_extint(int trap)
+void vmx_inject_extint(int trap, uint8_t source)
 {
     struct vcpu *v = current;
     u32    pin_based_cntrl;
@@ -1266,7 +1268,7 @@ void vmx_inject_extint(int trap)
         if ( pin_based_cntrl & PIN_BASED_EXT_INTR_MASK ) {
             nvmx_enqueue_n2_exceptions (v, 
                INTR_INFO_VALID_MASK | (X86_EVENTTYPE_EXT_INTR<<8) | trap,
-               HVM_DELIVER_NO_ERROR_CODE);
+               HVM_DELIVER_NO_ERROR_CODE, source);
             return;
         }
     }
@@ -1285,7 +1287,7 @@ void vmx_inject_nmi(void)
         if ( pin_based_cntrl & PIN_BASED_NMI_EXITING ) {
             nvmx_enqueue_n2_exceptions (v, 
                INTR_INFO_VALID_MASK | (X86_EVENTTYPE_NMI<<8) | TRAP_nmi,
-               HVM_DELIVER_NO_ERROR_CODE);
+               HVM_DELIVER_NO_ERROR_CODE, hvm_intsrc_nmi);
             return;
         }
     }
@@ -1353,7 +1355,7 @@ static void vmx_inject_trap(struct hvm_trap *trap)
     {
         nvmx_enqueue_n2_exceptions (curr, 
             INTR_INFO_VALID_MASK | (_trap.type<<8) | _trap.vector,
-            _trap.error_code); 
+            _trap.error_code, hvm_intsrc_none);
         return;
     }
     else
diff --git a/xen/arch/x86/hvm/vmx/vvmx.c b/xen/arch/x86/hvm/vmx/vvmx.c
index 0dc567a..cecc72f 100644
--- a/xen/arch/x86/hvm/vmx/vvmx.c
+++ b/xen/arch/x86/hvm/vmx/vvmx.c
@@ -1295,6 +1295,36 @@ static void sync_exception_state(struct vcpu *v)
     }
 }
 
+static void nvmx_update_apicv(struct vcpu *v)
+{
+    struct nestedvmx *nvmx = &vcpu_2_nvmx(v);
+    struct nestedvcpu *nvcpu = &vcpu_nestedhvm(v);
+    unsigned long reason = __get_vvmcs(nvcpu->nv_vvmcx, VM_EXIT_REASON);
+    uint32_t intr_info = __get_vvmcs(nvcpu->nv_vvmcx, VM_EXIT_INTR_INFO);
+
+    if ( reason == EXIT_REASON_EXTERNAL_INTERRUPT &&
+         nvmx->intr.source == hvm_intsrc_lapic &&
+         (intr_info & INTR_INFO_VALID_MASK) )
+    {
+        uint16_t status;
+        uint32_t rvi, ppr;
+        uint32_t vector = intr_info & 0xff;
+        struct vlapic *vlapic = vcpu_vlapic(v);
+
+        vlapic_ack_pending_irq(v, vector, 1);
+
+        ppr = vlapic_set_ppr(vlapic);
+        WARN_ON((ppr & 0xf0) != (vector & 0xf0));
+
+        status = vector << 8;
+        rvi = vlapic_has_pending_irq(v);
+        if ( rvi != -1 )
+            status |= rvi & 0xff;
+
+        __vmwrite(GUEST_INTR_STATUS, status);
+    }
+}
+
 static void virtual_vmexit(struct cpu_user_regs *regs)
 {
     struct vcpu *v = current;
@@ -1340,6 +1370,9 @@ static void virtual_vmexit(struct cpu_user_regs *regs)
     /* updating host cr0 to sync TS bit */
     __vmwrite(HOST_CR0, v->arch.hvm_vmx.host_cr0);
 
+    if ( cpu_has_vmx_virtual_intr_delivery )
+        nvmx_update_apicv(v);
+
     vmreturn(regs, VMSUCCEED);
 }
 
diff --git a/xen/include/asm-x86/hvm/vlapic.h b/xen/include/asm-x86/hvm/vlapic.h
index 3277125..4ef0570 100644
--- a/xen/include/asm-x86/hvm/vlapic.h
+++ b/xen/include/asm-x86/hvm/vlapic.h
@@ -98,7 +98,7 @@ bool_t is_vlapic_lvtpc_enabled(struct vlapic *vlapic);
 void vlapic_set_irq(struct vlapic *vlapic, uint8_t vec, uint8_t trig);
 
 int vlapic_has_pending_irq(struct vcpu *v);
-int vlapic_ack_pending_irq(struct vcpu *v, int vector);
+int vlapic_ack_pending_irq(struct vcpu *v, int vector, bool_t force_ack);
 
 int  vlapic_init(struct vcpu *v);
 void vlapic_destroy(struct vcpu *v);
@@ -110,6 +110,7 @@ void vlapic_tdt_msr_set(struct vlapic *vlapic, uint64_t value);
 uint64_t vlapic_tdt_msr_get(struct vlapic *vlapic);
 
 int vlapic_accept_pic_intr(struct vcpu *v);
+uint32_t vlapic_set_ppr(struct vlapic *vlapic);
 
 void vlapic_adjust_i8259_target(struct domain *d);
 
diff --git a/xen/include/asm-x86/hvm/vmx/vmx.h b/xen/include/asm-x86/hvm/vmx/vmx.h
index c33b9f9..f4d759b 100644
--- a/xen/include/asm-x86/hvm/vmx/vmx.h
+++ b/xen/include/asm-x86/hvm/vmx/vmx.h
@@ -448,7 +448,7 @@ static inline int __vmxon(u64 addr)
 
 void vmx_get_segment_register(struct vcpu *, enum x86_segment,
                               struct segment_register *);
-void vmx_inject_extint(int trap);
+void vmx_inject_extint(int trap, uint8_t source);
 void vmx_inject_nmi(void);
 
 int ept_p2m_init(struct p2m_domain *p2m);
diff --git a/xen/include/asm-x86/hvm/vmx/vvmx.h b/xen/include/asm-x86/hvm/vmx/vvmx.h
index 3874525..848be75 100644
--- a/xen/include/asm-x86/hvm/vmx/vvmx.h
+++ b/xen/include/asm-x86/hvm/vmx/vvmx.h
@@ -36,6 +36,7 @@ struct nestedvmx {
     struct {
         unsigned long intr_info;
         u32           error_code;
+        u8            source;
     } intr;
     struct {
         bool_t   enabled;
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.3

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 28 19:11:11 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 28 Aug 2013 19:11:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VEl90-00058K-Dj; Wed, 28 Aug 2013 19:11:06 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VEl8z-00058E-Bj
	for xen-changelog@lists.xensource.com; Wed, 28 Aug 2013 19:11:05 +0000
Received: from [85.158.139.211:42093] by server-11.bemta-5.messagelabs.com id
	B3/65-10409-84B4E125; Wed, 28 Aug 2013 19:11:04 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-206.messagelabs.com!1377717063!4946768!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8496 invoked from network); 28 Aug 2013 19:11:04 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-6.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	28 Aug 2013 19:11:04 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VEl8w-0003rP-QL
	for xen-changelog@lists.xensource.com; Wed, 28 Aug 2013 19:11:02 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VEl8w-0008ET-Cr
	for xen-changelog@lists.xensource.com; Wed, 28 Aug 2013 19:11:02 +0000
Date: Wed, 28 Aug 2013 19:11:02 +0000
Message-Id: <E1VEl8w-0008ET-Cr@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.2] update Xen version to 4.2.3-rc2
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 56b2771863b7835faf6fa07290bcacb3a68a8326
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Tue Aug 27 14:36:00 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 27 14:36:00 2013 +0200

    update Xen version to 4.2.3-rc2
---
 Config.mk    |    2 +-
 xen/Makefile |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/Config.mk b/Config.mk
index 986921a..11861f4 100644
--- a/Config.mk
+++ b/Config.mk
@@ -215,7 +215,7 @@ ETHERBOOT_NICS ?= rtl8139 8086100e
 # CONFIG_QEMU ?= `pwd`/$(XEN_ROOT)/../qemu-xen.git
 CONFIG_QEMU ?= $(QEMU_REMOTE)
 
-QEMU_TAG ?= 1c15498ae8cb29c4417b00f238f1737653711431
+QEMU_TAG ?= xen-4.2.3-rc2
 # Tue May 14 18:48:49 2013 +0100
 # piix4acpi, xen, hotplug: Fix race with ACPI AML code and hotplug.
 
diff --git a/xen/Makefile b/xen/Makefile
index 14c8b5a..ed26482 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -2,7 +2,7 @@
 # All other places this is stored (eg. compile.h) should be autogenerated.
 export XEN_VERSION       = 4
 export XEN_SUBVERSION    = 2
-export XEN_EXTRAVERSION ?= .3-rc1$(XEN_VENDORVERSION)
+export XEN_EXTRAVERSION ?= .3-rc2$(XEN_VENDORVERSION)
 export XEN_FULLVERSION   = $(XEN_VERSION).$(XEN_SUBVERSION)$(XEN_EXTRAVERSION)
 -include xen-version
 
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.2

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Wed Aug 28 19:11:11 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 28 Aug 2013 19:11:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VEl90-00058K-Dj; Wed, 28 Aug 2013 19:11:06 +0000
Received: from mail6.bemta5.messagelabs.com ([195.245.231.135])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VEl8z-00058E-Bj
	for xen-changelog@lists.xensource.com; Wed, 28 Aug 2013 19:11:05 +0000
Received: from [85.158.139.211:42093] by server-11.bemta-5.messagelabs.com id
	B3/65-10409-84B4E125; Wed, 28 Aug 2013 19:11:04 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-6.tower-206.messagelabs.com!1377717063!4946768!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 8496 invoked from network); 28 Aug 2013 19:11:04 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-6.tower-206.messagelabs.com with AES256-SHA encrypted SMTP;
	28 Aug 2013 19:11:04 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VEl8w-0003rP-QL
	for xen-changelog@lists.xensource.com; Wed, 28 Aug 2013 19:11:02 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VEl8w-0008ET-Cr
	for xen-changelog@lists.xensource.com; Wed, 28 Aug 2013 19:11:02 +0000
Date: Wed, 28 Aug 2013 19:11:02 +0000
Message-Id: <E1VEl8w-0008ET-Cr@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.2] update Xen version to 4.2.3-rc2
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 56b2771863b7835faf6fa07290bcacb3a68a8326
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Tue Aug 27 14:36:00 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 27 14:36:00 2013 +0200

    update Xen version to 4.2.3-rc2
---
 Config.mk    |    2 +-
 xen/Makefile |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/Config.mk b/Config.mk
index 986921a..11861f4 100644
--- a/Config.mk
+++ b/Config.mk
@@ -215,7 +215,7 @@ ETHERBOOT_NICS ?= rtl8139 8086100e
 # CONFIG_QEMU ?= `pwd`/$(XEN_ROOT)/../qemu-xen.git
 CONFIG_QEMU ?= $(QEMU_REMOTE)
 
-QEMU_TAG ?= 1c15498ae8cb29c4417b00f238f1737653711431
+QEMU_TAG ?= xen-4.2.3-rc2
 # Tue May 14 18:48:49 2013 +0100
 # piix4acpi, xen, hotplug: Fix race with ACPI AML code and hotplug.
 
diff --git a/xen/Makefile b/xen/Makefile
index 14c8b5a..ed26482 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -2,7 +2,7 @@
 # All other places this is stored (eg. compile.h) should be autogenerated.
 export XEN_VERSION       = 4
 export XEN_SUBVERSION    = 2
-export XEN_EXTRAVERSION ?= .3-rc1$(XEN_VENDORVERSION)
+export XEN_EXTRAVERSION ?= .3-rc2$(XEN_VENDORVERSION)
 export XEN_FULLVERSION   = $(XEN_VERSION).$(XEN_SUBVERSION)$(XEN_EXTRAVERSION)
 -include xen-version
 
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.2

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Aug 29 02:22:14 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 29 Aug 2013 02:22:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VErs7-0007mU-Ea; Thu, 29 Aug 2013 02:22:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VErs6-0007mN-KO
	for xen-changelog@lists.xensource.com; Thu, 29 Aug 2013 02:22:06 +0000
Received: from [85.158.143.35:45809] by server-1.bemta-4.messagelabs.com id
	CA/DA-16125-D40BE125; Thu, 29 Aug 2013 02:22:05 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1377742924!7065245!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28811 invoked from network); 29 Aug 2013 02:22:05 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-14.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	29 Aug 2013 02:22:05 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VErs4-0007K8-06
	for xen-changelog@lists.xensource.com; Thu, 29 Aug 2013 02:22:04 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VErs3-0003c9-8Z
	for xen-changelog@lists.xensource.com; Thu, 29 Aug 2013 02:22:03 +0000
Date: Thu, 29 Aug 2013 02:22:03 +0000
Message-Id: <E1VErs3-0003c9-8Z@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.1] update Xen version to 4.1.6-rc2
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 5b06843aa764012b9ace06ebac01c1fcf76e3fb7
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Tue Aug 27 14:39:59 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 27 14:39:59 2013 +0200

    update Xen version to 4.1.6-rc2
---
 Config.mk    |    2 +-
 xen/Makefile |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/Config.mk b/Config.mk
index 293b817..0d3ec61 100644
--- a/Config.mk
+++ b/Config.mk
@@ -180,7 +180,7 @@ endif
 # CONFIG_QEMU ?= `pwd`/$(XEN_ROOT)/../qemu-xen.git
 CONFIG_QEMU ?= $(QEMU_REMOTE)
 
-QEMU_TAG ?= 4904cdf6166687198fc29cb30ca0fa09f316486f
+QEMU_TAG ?= xen-4.1.6-rc2
 # Tue May 14 18:48:49 2013 +0100
 # piix4acpi, xen, hotplug: Fix race with ACPI AML code and hotplug.
 
diff --git a/xen/Makefile b/xen/Makefile
index a837d17..81c1e20 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -2,7 +2,7 @@
 # All other places this is stored (eg. compile.h) should be autogenerated.
 export XEN_VERSION       = 4
 export XEN_SUBVERSION    = 1
-export XEN_EXTRAVERSION ?= .6-rc1$(XEN_VENDORVERSION)
+export XEN_EXTRAVERSION ?= .6-rc2$(XEN_VENDORVERSION)
 export XEN_FULLVERSION   = $(XEN_VERSION).$(XEN_SUBVERSION)$(XEN_EXTRAVERSION)
 -include xen-version
 
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.1

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

From xen-changelog-bounces@lists.xen.org Thu Aug 29 02:22:14 2013
Return-path: <xen-changelog-bounces@lists.xen.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 29 Aug 2013 02:22:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xen.org)
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <xen-changelog-bounces@lists.xen.org>)
	id 1VErs7-0007mU-Ea; Thu, 29 Aug 2013 02:22:07 +0000
Received: from mail6.bemta4.messagelabs.com ([85.158.143.247])
	by lists.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VErs6-0007mN-KO
	for xen-changelog@lists.xensource.com; Thu, 29 Aug 2013 02:22:06 +0000
Received: from [85.158.143.35:45809] by server-1.bemta-4.messagelabs.com id
	CA/DA-16125-D40BE125; Thu, 29 Aug 2013 02:22:05 +0000
X-Env-Sender: ian.jackson@eu.citrix.com
X-Msg-Ref: server-14.tower-21.messagelabs.com!1377742924!7065245!1
X-Originating-IP: [50.57.168.107]
X-SpamReason: No, hits=0.0 required=7.0 tests=
X-StarScan-Received: 
X-StarScan-Version: 6.9.11; banners=-,-,-
X-VirusChecked: Checked
Received: (qmail 28811 invoked from network); 29 Aug 2013 02:22:05 -0000
Received: from mail.xen.org (HELO mail.xen.org) (50.57.168.107)
	by server-14.tower-21.messagelabs.com with AES256-SHA encrypted SMTP;
	29 Aug 2013 02:22:05 -0000
Received: from xenbits.xen.org ([50.57.170.242])
	by mail.xen.org with esmtp (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VErs4-0007K8-06
	for xen-changelog@lists.xensource.com; Thu, 29 Aug 2013 02:22:04 +0000
Received: from xen by xenbits.xen.org with local (Exim 4.72)
	(envelope-from <ian.jackson@eu.citrix.com>) id 1VErs3-0003c9-8Z
	for xen-changelog@lists.xensource.com; Thu, 29 Aug 2013 02:22:03 +0000
Date: Thu, 29 Aug 2013 02:22:03 +0000
Message-Id: <E1VErs3-0003c9-8Z@xenbits.xen.org>
From: patchbot@xen.org
To: xen-changelog@lists.xensource.com
Subject: [Xen-changelog] [xen stable-4.1] update Xen version to 4.1.6-rc2
X-BeenThere: xen-changelog@lists.xen.org
X-Mailman-Version: 2.1.13
Precedence: list
Reply-To: xen-devel@lists.xensource.com
List-Id: "Change log for Mercurial \(receive only\)"
	<xen-changelog.lists.xen.org>
List-Unsubscribe: <http://lists.xen.org/cgi-bin/mailman/options/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=unsubscribe>
List-Post: <mailto:xen-changelog@lists.xen.org>
List-Help: <mailto:xen-changelog-request@lists.xen.org?subject=help>
List-Subscribe: <http://lists.xen.org/cgi-bin/mailman/listinfo/xen-changelog>, 
	<mailto:xen-changelog-request@lists.xen.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: xen-changelog-bounces@lists.xen.org
Errors-To: xen-changelog-bounces@lists.xen.org

commit 5b06843aa764012b9ace06ebac01c1fcf76e3fb7
Author:     Jan Beulich <jbeulich@suse.com>
AuthorDate: Tue Aug 27 14:39:59 2013 +0200
Commit:     Jan Beulich <jbeulich@suse.com>
CommitDate: Tue Aug 27 14:39:59 2013 +0200

    update Xen version to 4.1.6-rc2
---
 Config.mk    |    2 +-
 xen/Makefile |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/Config.mk b/Config.mk
index 293b817..0d3ec61 100644
--- a/Config.mk
+++ b/Config.mk
@@ -180,7 +180,7 @@ endif
 # CONFIG_QEMU ?= `pwd`/$(XEN_ROOT)/../qemu-xen.git
 CONFIG_QEMU ?= $(QEMU_REMOTE)
 
-QEMU_TAG ?= 4904cdf6166687198fc29cb30ca0fa09f316486f
+QEMU_TAG ?= xen-4.1.6-rc2
 # Tue May 14 18:48:49 2013 +0100
 # piix4acpi, xen, hotplug: Fix race with ACPI AML code and hotplug.
 
diff --git a/xen/Makefile b/xen/Makefile
index a837d17..81c1e20 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -2,7 +2,7 @@
 # All other places this is stored (eg. compile.h) should be autogenerated.
 export XEN_VERSION       = 4
 export XEN_SUBVERSION    = 1
-export XEN_EXTRAVERSION ?= .6-rc1$(XEN_VENDORVERSION)
+export XEN_EXTRAVERSION ?= .6-rc2$(XEN_VENDORVERSION)
 export XEN_FULLVERSION   = $(XEN_VERSION).$(XEN_SUBVERSION)$(XEN_EXTRAVERSION)
 -include xen-version
 
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.1

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xen.org
http://lists.xensource.com/xen-changelog

