|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen master] ipxe: update to newer commit
commit 38ab99b26bf4298a33105ec66f3f6a3f7e05a326
Author: Wei Liu <wei.liu2@xxxxxxxxxx>
AuthorDate: Mon Oct 10 13:50:58 2016 +0100
Commit: Wei Liu <wei.liu2@xxxxxxxxxx>
CommitDate: Wed Oct 12 15:26:18 2016 +0100
ipxe: update to newer commit
The current commit in tree is rather old. It has come to a point that
cherry-picking commits from upstream isn't trivial anymore.
There is long term plan to track ipxe upstream, but for 4.8 release, we
should just update ipxe to a newer commit (they are using rolling
release model now).
Forward-port the one boot prompt patch that is still relevant and retire
the rest which are already in upstream.
Reported-by: Juergen Schinker <ba1020@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx>
Acked-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
---
tools/firmware/etherboot/Makefile | 2 +-
.../etherboot/patches/boot_prompt_option.patch | 28 ++-
.../firmware/etherboot/patches/build-compare.patch | 19 --
tools/firmware/etherboot/patches/build_fix_1.patch | 28 ---
tools/firmware/etherboot/patches/build_fix_2.patch | 48 -----
tools/firmware/etherboot/patches/build_fix_3.patch | 13 --
tools/firmware/etherboot/patches/build_fix_4.patch | 225 ---------------------
tools/firmware/etherboot/patches/series | 5 -
8 files changed, 14 insertions(+), 354 deletions(-)
diff --git a/tools/firmware/etherboot/Makefile
b/tools/firmware/etherboot/Makefile
index a0578d2..459a1e2 100644
--- a/tools/firmware/etherboot/Makefile
+++ b/tools/firmware/etherboot/Makefile
@@ -10,7 +10,7 @@ else
IPXE_GIT_URL ?= git://git.ipxe.org/ipxe.git
endif
-IPXE_GIT_TAG := 9a93db3f0947484e30e753bbd61a10b17336e20e
+IPXE_GIT_TAG := 827dd1bfee67daa683935ce65316f7e0f057fe1c
IPXE_TARBALL_URL ?= $(XEN_EXTFILES_URL)/ipxe-git-$(IPXE_GIT_TAG).tar.gz
diff --git a/tools/firmware/etherboot/patches/boot_prompt_option.patch
b/tools/firmware/etherboot/patches/boot_prompt_option.patch
index 25d72c5..aed0bf0 100644
--- a/tools/firmware/etherboot/patches/boot_prompt_option.patch
+++ b/tools/firmware/etherboot/patches/boot_prompt_option.patch
@@ -1,24 +1,22 @@
-diff --git a/src/arch/i386/prefix/romprefix.S
b/src/arch/i386/prefix/romprefix.S
-index 0f92415..cce7505 100644
---- a/src/arch/i386/prefix/romprefix.S
-+++ b/src/arch/i386/prefix/romprefix.S
-@@ -391,6 +391,7 @@ no_pmm:
- xorw %di, %di
- cs rep movsb
-
+--- a/src/arch/x86/prefix/romprefix.S 2016-10-10 13:09:18.126031400 +0100
++++ b/src/arch/x86/prefix/romprefix.S 2016-10-10 13:11:22.930680278 +0100
+@@ -468,6 +468,7 @@
+ testb $PCI_FUNC_MASK, init_pci_busdevfn
+ jnz no_shell
+ .endif
+#ifndef NO_POST_PROMPT
/* Prompt for POST-time shell */
movw $init_message_prompt, %si
xorw %di, %di
-@@ -418,6 +419,7 @@ no_pmm:
+@@ -495,6 +496,7 @@
pushw %cs
call exec
- 2:
+#endif
- /* Restore registers */
- popw %gs
- popw %fs
-@@ -546,6 +548,7 @@ init_message_pmm:
+ no_shell:
+ movb $( '\n' ), %al
+ xorw %di, %di
+ call print_character
+@@ -636,6 +638,7 @@
init_message_int19:
.asciz " INT19"
.size init_message_int19, . - init_message_int19
@@ -26,7 +24,7 @@ index 0f92415..cce7505 100644
init_message_prompt:
.asciz "\nPress Ctrl-B to configure "
.size init_message_prompt, . - init_message_prompt
-@@ -555,6 +558,7 @@ init_message_dots:
+@@ -645,6 +648,7 @@
init_message_done:
.asciz "\n\n"
.size init_message_done, . - init_message_done
diff --git a/tools/firmware/etherboot/patches/build-compare.patch
b/tools/firmware/etherboot/patches/build-compare.patch
deleted file mode 100644
index d41f68b..0000000
--- a/tools/firmware/etherboot/patches/build-compare.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-The result of $(wildcard *) is random.
-Sort input files to reduce build-compare noise.
----
- ipxe/src/Makefile.housekeeping | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-Index: ipxe/src/Makefile.housekeeping
-===================================================================
---- ipxe/src/Makefile.housekeeping
-+++ ipxe/src/Makefile.housekeeping
-@@ -773,7 +773,7 @@ BLIB = $(BIN)/blib.a
- $(BLIB) : $(BLIB_OBJS) $(BLIB_LIST) $(MAKEDEPS)
- $(Q)$(RM) $(BLIB)
- $(QM)$(ECHO) " [AR] $@"
-- $(Q)$(AR) r $@ $(BLIB_OBJS)
-+ $(Q)$(AR) r $@ $(sort $(BLIB_OBJS))
- $(Q)$(RANLIB) $@
- blib : $(BLIB)
-
diff --git a/tools/firmware/etherboot/patches/build_fix_1.patch
b/tools/firmware/etherboot/patches/build_fix_1.patch
deleted file mode 100644
index 9eacb9b..0000000
--- a/tools/firmware/etherboot/patches/build_fix_1.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Fix compile error in isabus_probe with gcc 4.7
-
-The copy of ipxe used during Xen tools build does not define
-ISA_PROBE_ADDRS. As a result isa_extra_probe_addrs[] has a size of 0.
-ISA_IOADDR() tries to access that empty array, which is detected by the
-newer gcc (or perhaps the warning was just turned into an error)
-
-drivers/bus/isa.c: In function 'isabus_probe':
-drivers/bus/isa.c:112:18: error: array subscript is above array bounds
[-Werror=array-bounds]
-
----
- src/drivers/bus/isa.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-Index: ipxe/src/drivers/bus/isa.c
-===================================================================
---- ipxe.orig/src/drivers/bus/isa.c
-+++ ipxe/src/drivers/bus/isa.c
-@@ -97,6 +97,9 @@ static int isabus_probe ( struct root_de
- int ioidx;
- int rc;
-
-+ if ( ISA_EXTRA_PROBE_ADDR_COUNT == 0 )
-+ return 0;
-+
- for_each_table_entry ( driver, ISA_DRIVERS ) {
- for ( ioidx = ISA_IOIDX_MIN ( driver ) ;
- ioidx <= ISA_IOIDX_MAX ( driver ) ; ioidx++ ) {
diff --git a/tools/firmware/etherboot/patches/build_fix_2.patch
b/tools/firmware/etherboot/patches/build_fix_2.patch
deleted file mode 100644
index da24ddd..0000000
--- a/tools/firmware/etherboot/patches/build_fix_2.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-fix compile error in isabus_probe with gcc4.7
-
-The copy of ipxe used during Xen tools build fails to compile with gcc
-4.7:
-drivers/net/myri10ge.c: In function 'myri10ge_command':
-drivers/net/myri10ge.c:308:3: error: dereferencing type-punned pointer will
break strict-aliasing rules [-Werror=strict-aliasing]
-drivers/net/myri10ge.c:310:2: error: dereferencing type-punned pointer will
break strict-aliasing rules [-Werror=strict-aliasing]
-
-This patch simply turns the pad array into quantities of u32.
-If thats not the right fix due to hardware limitations, I can provide a
-different patch.
-
----
- src/drivers/net/myri10ge.c | 6 +++---
- src/drivers/net/myri10ge_mcp.h | 2 +-
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-Index: ipxe/src/drivers/net/myri10ge.c
-===================================================================
---- ipxe.orig/src/drivers/net/myri10ge.c
-+++ ipxe/src/drivers/net/myri10ge.c
-@@ -304,10 +304,10 @@ static int myri10ge_command ( struct myr
- command->response_addr.high = 0;
- command->response_addr.low
- = htonl ( virt_to_bus ( &priv->dma->command_response ) );
-- for ( i=0; i<36; i+=4 )
-- * ( uint32 * ) &command->pad[i] = 0;
-+ for ( i=0; i<9; i++ )
-+ command->pad[i] = 0;
- wmb();
-- * ( uint32 * ) &command->pad[36] = 0;
-+ command->pad[9] = 0;
-
- /* Wait up to 2 seconds for a response. */
-
-Index: ipxe/src/drivers/net/myri10ge_mcp.h
-===================================================================
---- ipxe.orig/src/drivers/net/myri10ge_mcp.h
-+++ ipxe/src/drivers/net/myri10ge_mcp.h
-@@ -80,7 +80,7 @@ struct mcp_cmd {
- /* 16 */
- struct mcp_dma_addr response_addr;
- /* 24 */
-- uint8_t pad[40];
-+ uint32_t pad[10];
- };
- typedef struct mcp_cmd mcp_cmd_t;
-
diff --git a/tools/firmware/etherboot/patches/build_fix_3.patch
b/tools/firmware/etherboot/patches/build_fix_3.patch
deleted file mode 100644
index 13eeb47..0000000
--- a/tools/firmware/etherboot/patches/build_fix_3.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/drivers/infiniband/qib7322.c
b/src/drivers/infiniband/qib7322.c
-index b66f8ef..d8a54c9 100644
---- a/src/drivers/infiniband/qib7322.c
-+++ b/src/drivers/infiniband/qib7322.c
-@@ -2120,7 +2120,7 @@ static int qib7322_ahb_write ( struct qib7322 *qib7322,
unsigned int location,
- */
- static int qib7322_ahb_mod_reg ( struct qib7322 *qib7322, unsigned int
location,
- uint32_t value, uint32_t mask ) {
-- uint32_t old_value;
-+ uint32_t old_value = 0;
- uint32_t new_value;
- int rc;
-
diff --git a/tools/firmware/etherboot/patches/build_fix_4.patch
b/tools/firmware/etherboot/patches/build_fix_4.patch
deleted file mode 100644
index 9271c8c..0000000
--- a/tools/firmware/etherboot/patches/build_fix_4.patch
+++ /dev/null
@@ -1,225 +0,0 @@
-From 1b56452121672e6408c38ac8926bdd6998a39004 Mon Sep 17 00:00:00 2001
-From: Christian Hesse <mail@xxxxxxxx>
-Date: Thu, 23 Apr 2015 13:33:26 +0200
-Subject: [PATCH] [ath9k] Remove confusing logic inversion in an ANI variable
-
-This changed in Linux kernel the same way in commit 7067e701
-("ath9k_hw: remove confusing logic inversion in an ANI variable") by
-Felix Fietkau.
-
-Additionally this fixes "error: logical not is only applied to the
-left hand side of comparison" with GCC 5.1.0.
-
-Signed-off-by: Christian Hesse <mail@xxxxxxxx>
-Signed-off-by: Michael Brown <mcb30@xxxxxxxx>
----
- src/drivers/net/ath/ath9k/ani.h | 2 +-
- src/drivers/net/ath/ath9k/ath9k_ani.c | 16 ++++++++--------
- src/drivers/net/ath/ath9k/ath9k_ar5008_phy.c | 18 +++++++++---------
- src/drivers/net/ath/ath9k/ath9k_ar9003_phy.c | 12 ++++++------
- 4 files changed, 24 insertions(+), 24 deletions(-)
-
-diff --git a/src/drivers/net/ath/ath9k/ani.h b/src/drivers/net/ath/ath9k/ani.h
-index dbd4d4d..ba87ba0 100644
---- a/src/drivers/net/ath/ath9k/ani.h
-+++ b/src/drivers/net/ath/ath9k/ani.h
-@@ -125,7 +125,7 @@ struct ar5416AniState {
- u8 mrcCCKOff;
- u8 spurImmunityLevel;
- u8 firstepLevel;
-- u8 ofdmWeakSigDetectOff;
-+ u8 ofdmWeakSigDetect;
- u8 cckWeakSigThreshold;
- u32 listenTime;
- int32_t rssiThrLow;
-diff --git a/src/drivers/net/ath/ath9k/ath9k_ani.c
b/src/drivers/net/ath/ath9k/ath9k_ani.c
-index ff7df49..76ca79c 100644
---- a/src/drivers/net/ath/ath9k/ath9k_ani.c
-+++ b/src/drivers/net/ath/ath9k/ath9k_ani.c
-@@ -177,7 +177,7 @@ static void ath9k_hw_ani_ofdm_err_trigger_old(struct
ath_hw *ah)
-
- rssi = BEACON_RSSI(ah);
- if (rssi > aniState->rssiThrHigh) {
-- if (!aniState->ofdmWeakSigDetectOff) {
-+ if (aniState->ofdmWeakSigDetect) {
- if (ath9k_hw_ani_control(ah,
- ATH9K_ANI_OFDM_WEAK_SIGNAL_DETECTION,
- 0)) {
-@@ -192,7 +192,7 @@ static void ath9k_hw_ani_ofdm_err_trigger_old(struct
ath_hw *ah)
- return;
- }
- } else if (rssi > aniState->rssiThrLow) {
-- if (aniState->ofdmWeakSigDetectOff)
-+ if (!aniState->ofdmWeakSigDetect)
- ath9k_hw_ani_control(ah,
- ATH9K_ANI_OFDM_WEAK_SIGNAL_DETECTION,
- 1);
-@@ -202,7 +202,7 @@ static void ath9k_hw_ani_ofdm_err_trigger_old(struct
ath_hw *ah)
- return;
- } else {
- if ((ah->dev->channels + ah->dev->channel)->band ==
NET80211_BAND_2GHZ) {
-- if (!aniState->ofdmWeakSigDetectOff)
-+ if (aniState->ofdmWeakSigDetect)
- ath9k_hw_ani_control(ah,
- ATH9K_ANI_OFDM_WEAK_SIGNAL_DETECTION,
- 0);
-@@ -360,7 +360,7 @@ static void ath9k_hw_ani_lower_immunity_old(struct ath_hw
*ah)
- if (rssi > aniState->rssiThrHigh) {
- /* XXX: Handle me */
- } else if (rssi > aniState->rssiThrLow) {
-- if (aniState->ofdmWeakSigDetectOff) {
-+ if (!aniState->ofdmWeakSigDetect) {
- if (ath9k_hw_ani_control(ah,
- ATH9K_ANI_OFDM_WEAK_SIGNAL_DETECTION,
- 1) == 1)
-@@ -436,9 +436,9 @@ static void ath9k_ani_reset_old(struct ath_hw *ah)
- if (aniState->spurImmunityLevel != 0)
- ath9k_hw_ani_control(ah, ATH9K_ANI_SPUR_IMMUNITY_LEVEL,
- aniState->spurImmunityLevel);
-- if (aniState->ofdmWeakSigDetectOff)
-+ if (!aniState->ofdmWeakSigDetect)
- ath9k_hw_ani_control(ah, ATH9K_ANI_OFDM_WEAK_SIGNAL_DETECTION,
-- !aniState->ofdmWeakSigDetectOff);
-+ aniState->ofdmWeakSigDetect);
- if (aniState->cckWeakSigThreshold)
- ath9k_hw_ani_control(ah, ATH9K_ANI_CCK_WEAK_SIGNAL_THR,
- aniState->cckWeakSigThreshold);
-@@ -709,8 +709,8 @@ void ath9k_hw_ani_init(struct ath_hw *ah)
-
- ani->rssiThrHigh = ATH9K_ANI_RSSI_THR_HIGH;
- ani->rssiThrLow = ATH9K_ANI_RSSI_THR_LOW;
-- ani->ofdmWeakSigDetectOff =
-- !ATH9K_ANI_USE_OFDM_WEAK_SIG;
-+ ani->ofdmWeakSigDetect =
-+ ATH9K_ANI_USE_OFDM_WEAK_SIG;
- ani->cckNoiseImmunityLevel = ATH9K_ANI_CCK_DEF_LEVEL;
- }
-
-diff --git a/src/drivers/net/ath/ath9k/ath9k_ar5008_phy.c
b/src/drivers/net/ath/ath9k/ath9k_ar5008_phy.c
-index 60e87e9..2b6c133 100644
---- a/src/drivers/net/ath/ath9k/ath9k_ar5008_phy.c
-+++ b/src/drivers/net/ath/ath9k/ath9k_ar5008_phy.c
-@@ -1141,12 +1141,12 @@ static int ar5008_hw_ani_control_old(struct ath_hw *ah,
- REG_CLR_BIT(ah, AR_PHY_SFCORR_LOW,
- AR_PHY_SFCORR_LOW_USE_SELF_CORR_LOW);
-
-- if (!on != aniState->ofdmWeakSigDetectOff) {
-+ if (on != aniState->ofdmWeakSigDetect) {
- if (on)
- ah->stats.ast_ani_ofdmon++;
- else
- ah->stats.ast_ani_ofdmoff++;
-- aniState->ofdmWeakSigDetectOff = !on;
-+ aniState->ofdmWeakSigDetect = on;
- }
- break;
- }
-@@ -1215,10 +1215,10 @@ static int ar5008_hw_ani_control_old(struct ath_hw *ah,
-
- DBG2("ath9k: ANI parameters:\n");
- DBG2(
-- "noiseImmunityLevel=%d, spurImmunityLevel=%d,
ofdmWeakSigDetectOff=%d\n",
-+ "noiseImmunityLevel=%d, spurImmunityLevel=%d,
ofdmWeakSigDetect=%d\n",
- aniState->noiseImmunityLevel,
- aniState->spurImmunityLevel,
-- !aniState->ofdmWeakSigDetectOff);
-+ aniState->ofdmWeakSigDetect);
- DBG2(
- "cckWeakSigThreshold=%d, firstepLevel=%d, listenTime=%d\n",
- aniState->cckWeakSigThreshold,
-@@ -1307,18 +1307,18 @@ static int ar5008_hw_ani_control_new(struct ath_hw *ah,
- REG_CLR_BIT(ah, AR_PHY_SFCORR_LOW,
- AR_PHY_SFCORR_LOW_USE_SELF_CORR_LOW);
-
-- if (!on != aniState->ofdmWeakSigDetectOff) {
-+ if (on != aniState->ofdmWeakSigDetect) {
- DBG2("ath9k: "
- "** ch %d: ofdm weak signal: %s=>%s\n",
- chan->channel,
-- !aniState->ofdmWeakSigDetectOff ?
-+ aniState->ofdmWeakSigDetect ?
- "on" : "off",
- on ? "on" : "off");
- if (on)
- ah->stats.ast_ani_ofdmon++;
- else
- ah->stats.ast_ani_ofdmoff++;
-- aniState->ofdmWeakSigDetectOff = !on;
-+ aniState->ofdmWeakSigDetect = on;
- }
- break;
- }
-@@ -1467,7 +1467,7 @@ static int ar5008_hw_ani_control_new(struct ath_hw *ah,
- DBG2("ath9k: "
- "ANI parameters: SI=%d, ofdmWS=%s FS=%d MRCcck=%s listenTime=%d
ofdmErrs=%d cckErrs=%d\n",
- aniState->spurImmunityLevel,
-- !aniState->ofdmWeakSigDetectOff ? "on" : "off",
-+ aniState->ofdmWeakSigDetect ? "on" : "off",
- aniState->firstepLevel,
- !aniState->mrcCCKOff ? "on" : "off",
- aniState->listenTime,
-@@ -1554,7 +1554,7 @@ static void ar5008_hw_ani_cache_ini_regs(struct ath_hw
*ah)
- /* these levels just got reset to defaults by the INI */
- aniState->spurImmunityLevel = ATH9K_ANI_SPUR_IMMUNE_LVL_NEW;
- aniState->firstepLevel = ATH9K_ANI_FIRSTEP_LVL_NEW;
-- aniState->ofdmWeakSigDetectOff = !ATH9K_ANI_USE_OFDM_WEAK_SIG;
-+ aniState->ofdmWeakSigDetect = ATH9K_ANI_USE_OFDM_WEAK_SIG;
- aniState->mrcCCKOff = 1; /* not available on pre AR9003 */
- }
-
-diff --git a/src/drivers/net/ath/ath9k/ath9k_ar9003_phy.c
b/src/drivers/net/ath/ath9k/ath9k_ar9003_phy.c
-index 6103040..2244b77 100644
---- a/src/drivers/net/ath/ath9k/ath9k_ar9003_phy.c
-+++ b/src/drivers/net/ath/ath9k/ath9k_ar9003_phy.c
-@@ -859,18 +859,18 @@ static int ar9003_hw_ani_control(struct ath_hw *ah,
- REG_CLR_BIT(ah, AR_PHY_SFCORR_LOW,
- AR_PHY_SFCORR_LOW_USE_SELF_CORR_LOW);
-
-- if (!on != aniState->ofdmWeakSigDetectOff) {
-+ if (on != aniState->ofdmWeakSigDetect) {
- DBG2("ath9k: "
- "** ch %d: ofdm weak signal: %s=>%s\n",
- chan->channel,
-- !aniState->ofdmWeakSigDetectOff ?
-+ aniState->ofdmWeakSigDetect ?
- "on" : "off",
- on ? "on" : "off");
- if (on)
- ah->stats.ast_ani_ofdmon++;
- else
- ah->stats.ast_ani_ofdmoff++;
-- aniState->ofdmWeakSigDetectOff = !on;
-+ aniState->ofdmWeakSigDetect = on;
- }
- break;
- }
-@@ -1013,7 +1013,7 @@ static int ar9003_hw_ani_control(struct ath_hw *ah,
- AR_PHY_MRC_CCK_ENABLE, is_on);
- REG_RMW_FIELD(ah, AR_PHY_MRC_CCK_CTRL,
- AR_PHY_MRC_CCK_MUX_REG, is_on);
-- if (!is_on != aniState->mrcCCKOff) {
-+ if (!(is_on != aniState->mrcCCKOff)) {
- DBG2("ath9k: "
- "** ch %d: MRC CCK: %s=>%s\n",
- chan->channel,
-@@ -1037,7 +1037,7 @@ static int ar9003_hw_ani_control(struct ath_hw *ah,
- DBG2("ath9k: "
- "ANI parameters: SI=%d, ofdmWS=%s FS=%d MRCcck=%s listenTime=%d
ofdmErrs=%d cckErrs=%d\n",
- aniState->spurImmunityLevel,
-- !aniState->ofdmWeakSigDetectOff ? "on" : "off",
-+ aniState->ofdmWeakSigDetect ? "on" : "off",
- aniState->firstepLevel,
- !aniState->mrcCCKOff ? "on" : "off",
- aniState->listenTime,
-@@ -1137,7 +1137,7 @@ static void ar9003_hw_ani_cache_ini_regs(struct ath_hw
*ah)
- /* these levels just got reset to defaults by the INI */
- aniState->spurImmunityLevel = ATH9K_ANI_SPUR_IMMUNE_LVL_NEW;
- aniState->firstepLevel = ATH9K_ANI_FIRSTEP_LVL_NEW;
-- aniState->ofdmWeakSigDetectOff = !ATH9K_ANI_USE_OFDM_WEAK_SIG;
-+ aniState->ofdmWeakSigDetect = ATH9K_ANI_USE_OFDM_WEAK_SIG;
- aniState->mrcCCKOff = !ATH9K_ANI_ENABLE_MRC_CCK;
- }
-
---
-2.4.3
-
diff --git a/tools/firmware/etherboot/patches/series
b/tools/firmware/etherboot/patches/series
index 2c39853..86cb300 100644
--- a/tools/firmware/etherboot/patches/series
+++ b/tools/firmware/etherboot/patches/series
@@ -1,6 +1 @@
boot_prompt_option.patch
-build_fix_1.patch
-build_fix_2.patch
-build_fix_3.patch
-build-compare.patch
-build_fix_4.patch
--
generated by git-patchbot for /home/xen/git/xen.git#master
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxx
https://lists.xenproject.org/xen-changelog
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |