• Andrew Morton's avatar
    [PATCH] timer initialisation fix · ba6edfcd
    Andrew Morton authored
    We need the boot CPU's tvec_bases[] entry to be initialised super-early in
    boot, for early_serial_setup().  That runs within setup_arch(), before even
    per-cpu areas are initialised.
    
    The patch changes tvec_bases to use compile-time initialisation, and adds a
    separate array `tvec_base_done' to keep track of which CPU has had its
    tvec_bases[] entry initialised (because we can no longer use the zeroness of
    that tvec_bases[] entry to determine whether it has been initialised).
    
    Thanks to Eugene Surovegin <ebs@ebshome.net> for diagnosing this.
    
    Cc: Eugene Surovegin <ebs@ebshome.net>
    Cc: Jan Beulich <jbeulich@novell.com>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    ba6edfcd
timer.c 40.7 KB