EC: Make sure CONFIG_LTO isn't doing anything evil |
|||||
Issue descriptionWe have run into some hard-to-diagnose bugs related to CONFIG_LTO dropping things that it shouldn't. Let's do a thorough audit to make sure there are no other unexpected surprises.
,
Mar 31 2017
,
Jun 26 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/ec/+/ceb3e318c8c6fe15129ade47b169c3c03c729fe1 commit ceb3e318c8c6fe15129ade47b169c3c03c729fe1 Author: Shawn Nematbakhsh <shawnn@chromium.org> Date: Mon Jun 26 18:12:07 2017 watchdog: Don't discard irqprio data due to CONFIG_LTO Don't discard irqprio data when the IRQ_PRIORITY macro is used directly (for watchdog / watchdog timer). This change is probably a NOP for all platforms, since the power-on default for the IRQ prio register seems to be zero, which is the same priority we're setting in our direct use of IRQ_PRIORITY. BUG= chromium:634701 BRANCH=None TEST=Verify 'prio_44' entry exists in irqprio section by checking ec.RO.map on kevin. Signed-off-by: Shawn Nematbakhsh <shawnn@chromium.org> Change-Id: Idaffc484a2ce4749c18212f179b3951ff570aed0 Reviewed-on: https://chromium-review.googlesource.com/545201 Commit-Ready: Shawn N <shawnn@chromium.org> Tested-by: Shawn N <shawnn@chromium.org> Reviewed-by: Vincent Palatin <vpalatin@chromium.org> [modify] https://crrev.com/ceb3e318c8c6fe15129ade47b169c3c03c729fe1/chip/g/watchdog.c [modify] https://crrev.com/ceb3e318c8c6fe15129ade47b169c3c03c729fe1/chip/stm32/hwtimer.c [modify] https://crrev.com/ceb3e318c8c6fe15129ade47b169c3c03c729fe1/chip/npcx/watchdog.c [modify] https://crrev.com/ceb3e318c8c6fe15129ade47b169c3c03c729fe1/chip/lm4/watchdog.c [modify] https://crrev.com/ceb3e318c8c6fe15129ade47b169c3c03c729fe1/chip/stm32/hwtimer32.c [modify] https://crrev.com/ceb3e318c8c6fe15129ade47b169c3c03c729fe1/chip/mec1322/watchdog.c
,
Jul 10 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/ec/+/973e25cc27a26ee37290a8cf51c44895a2ead135 commit 973e25cc27a26ee37290a8cf51c44895a2ead135 Author: Shawn Nematbakhsh <shawnn@chromium.org> Date: Mon Jul 10 22:47:57 2017 watchdog: Don't discard irqprio data due to CONFIG_LTO Don't discard irqprio data when the IRQ_PRIORITY macro is used directly (for watchdog / watchdog timer). This change is probably a NOP for all platforms, since the power-on default for the IRQ prio register seems to be zero, which is the same priority we're setting in our direct use of IRQ_PRIORITY. BUG= chromium:634701 BRANCH=None TEST=Verify 'prio_44' entry exists in irqprio section by checking ec.RO.map on kevin. Change-Id: I6c2f89806b170acb294523d6de1d468fe73925cf Signed-off-by: Duncan Laurie <dlaurie@google.com> Original-Commit-Id: ceb3e318c8c6fe15129ade47b169c3c03c729fe1 Original-Signed-off-by: Shawn Nematbakhsh <shawnn@chromium.org> Original-Change-Id: Idaffc484a2ce4749c18212f179b3951ff570aed0 Original-Reviewed-on: https://chromium-review.googlesource.com/545201 Original-Commit-Ready: Shawn N <shawnn@chromium.org> Original-Tested-by: Shawn N <shawnn@chromium.org> Original-Reviewed-by: Vincent Palatin <vpalatin@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/565814 [modify] https://crrev.com/973e25cc27a26ee37290a8cf51c44895a2ead135/chip/g/watchdog.c [modify] https://crrev.com/973e25cc27a26ee37290a8cf51c44895a2ead135/chip/stm32/hwtimer.c [modify] https://crrev.com/973e25cc27a26ee37290a8cf51c44895a2ead135/chip/npcx/watchdog.c [modify] https://crrev.com/973e25cc27a26ee37290a8cf51c44895a2ead135/chip/lm4/watchdog.c [modify] https://crrev.com/973e25cc27a26ee37290a8cf51c44895a2ead135/chip/stm32/hwtimer32.c [modify] https://crrev.com/973e25cc27a26ee37290a8cf51c44895a2ead135/chip/mec1322/watchdog.c
,
Jul 20 2017
,
Sep 7 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/ec/+/cfa4a2c7c5e749a2c371b75ab263e9f2af83556c commit cfa4a2c7c5e749a2c371b75ab263e9f2af83556c Author: Shawn Nematbakhsh <shawnn@chromium.org> Date: Thu Sep 07 22:33:57 2017 watchdog: Don't discard irqprio data due to CONFIG_LTO Don't discard irqprio data when the IRQ_PRIORITY macro is used directly (for watchdog / watchdog timer). This change is probably a NOP for all platforms, since the power-on default for the IRQ prio register seems to be zero, which is the same priority we're setting in our direct use of IRQ_PRIORITY. BUG= chromium:634701 BRANCH=None TEST=Verify 'prio_44' entry exists in irqprio section by checking ec.RO.map on kevin. Signed-off-by: Shawn Nematbakhsh <shawnn@chromium.org> Change-Id: Idaffc484a2ce4749c18212f179b3951ff570aed0 Reviewed-on: https://chromium-review.googlesource.com/545201 Commit-Ready: Shawn N <shawnn@chromium.org> Tested-by: Shawn N <shawnn@chromium.org> Reviewed-by: Vincent Palatin <vpalatin@chromium.org> (cherry picked from commit ceb3e318c8c6fe15129ade47b169c3c03c729fe1) Reviewed-on: https://chromium-review.googlesource.com/656382 Commit-Queue: Vadim Bendebury <vbendeb@chromium.org> Tested-by: Vadim Bendebury <vbendeb@chromium.org> Reviewed-by: Vadim Bendebury <vbendeb@chromium.org> [modify] https://crrev.com/cfa4a2c7c5e749a2c371b75ab263e9f2af83556c/chip/g/watchdog.c [modify] https://crrev.com/cfa4a2c7c5e749a2c371b75ab263e9f2af83556c/chip/stm32/hwtimer.c [modify] https://crrev.com/cfa4a2c7c5e749a2c371b75ab263e9f2af83556c/chip/npcx/watchdog.c [modify] https://crrev.com/cfa4a2c7c5e749a2c371b75ab263e9f2af83556c/chip/lm4/watchdog.c [modify] https://crrev.com/cfa4a2c7c5e749a2c371b75ab263e9f2af83556c/chip/stm32/hwtimer32.c [modify] https://crrev.com/cfa4a2c7c5e749a2c371b75ab263e9f2af83556c/chip/mec1322/watchdog.c |
|||||
►
Sign in to add a comment |
|||||
Comment 1 by radamesp...@hotmail.com
, Aug 5 2016