New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 634701 link

Starred by 2 users

Issue metadata

Status: Verified
Owner:
Last visit > 30 days ago
Closed: Jul 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug



Sign in to add a comment

EC: Make sure CONFIG_LTO isn't doing anything evil

Project Member Reported by sha...@chromium.org, Aug 5 2016

Issue description

We 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.
 
Nerd

Owner: vpalatin@chromium.org
Status: Assigned (was: Untriaged)
Project Member

Comment 3 by bugdroid1@chromium.org, 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

Project Member

Comment 4 by bugdroid1@chromium.org, Jul 10 2017

Labels: merge-merged-firmware-eve-9584.B
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

Comment 5 by sha...@chromium.org, Jul 20 2017

Cc: -sha...@chromium.org vpalatin@chromium.org
Owner: sha...@chromium.org
Status: Verified (was: Assigned)
Project Member

Comment 6 by bugdroid1@chromium.org, Sep 7 2017

Labels: merge-merged-firmware-cr50-9308.B
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