[coreboot-gerrit] Patch merged into coreboot/master: 6aec6e4 arm64: ensure secondary CPU's stack tops are not in the cache

gerrit at coreboot.org gerrit at coreboot.org
Fri Apr 10 20:45:18 CEST 2015


the following patch was just integrated into master:
commit 6aec6e4bbe12d397c2b3429aada2ee75fbf8b2a9
Author: Aaron Durbin <adurbin at chromium.org>
Date:   Thu Nov 20 22:17:54 2014 -0600

    arm64: ensure secondary CPU's stack tops are not in the cache
    
    Secondary CPUs were intermittently not coming online as expected.
    Upon investigation it was found that a cache line needed to be
    invalidated that corresponded to the top of the stack for the
    failing CPU.
    
    Currently the secondary CPUs come online with caching disabled.
    However, the code paths are using C and thus the stack it is assigned.
    The MMU is enabled in C after it's pushed its return path onto the
    stack that went directly to ram.  When the cache line corresponding
    to its stack is valid in the cache it will hit once the MMU is enabled.
    That hit will have invalid data w.r.t. the return addresses pushed
    directly into ram.
    
    This is not the best solution as the only way to guarantee we don't
    hit such a situation is to tightly manage resource usage up until
    the point of MMU enablement. That can be done in a followup patch.
    
    BUG=chrome-os-partner:33962
    BRANCH=None
    TEST=On ryu where secondary CPUs weren't coming online consistently,
         they now come up.
    
    Change-Id: I03237656da180d1f74df3a8e00029ba8d778bca8
    Signed-off-by: Patrick Georgi <pgeorgi at chromium.org>
    Original-Commit-Id: 06ab6afc996cf92c45d4cd6850e31167c2946a95
    Original-Signed-off-by: Aaron Durbin <adurbin at chromium.org>
    Original-Change-Id: I32de749ea48c19e23442e6dc5678c5369ac3b2b6
    Original-Reviewed-on: https://chromium-review.googlesource.com/231219
    Original-Reviewed-by: Furquan Shaikh <furquan at chromium.org>
    Original-Tested-by: Furquan Shaikh <furquan at chromium.org>
    Reviewed-on: http://review.coreboot.org/9527
    Tested-by: build bot (Jenkins)
    Reviewed-by: Stefan Reinauer <stefan.reinauer at coreboot.org>


See http://review.coreboot.org/9527 for details.

-gerrit



More information about the coreboot-gerrit mailing list