[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH for-4.8] 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> --- Cc: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> Cc: Juergen Schinker <ba1020@xxxxxxxxxxxxxxxxxxx> --- 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(-) delete mode 100644 tools/firmware/etherboot/patches/build-compare.patch delete mode 100644 tools/firmware/etherboot/patches/build_fix_1.patch delete mode 100644 tools/firmware/etherboot/patches/build_fix_2.patch delete mode 100644 tools/firmware/etherboot/patches/build_fix_3.patch delete mode 100644 tools/firmware/etherboot/patches/build_fix_4.patch 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 -- 2.1.4 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |