linux/arch/sparc/prom
David S. Miller bd4352cadf sparc64: Fix bootup with mcount in some configs.
Functions invoked early when booting up a cpu can't use
tracing because mcount requires a valid 'current_thread_info()'
and TLB mappings to be setup.

The code path of sun4v_register_mondo_queues --> register_one_mondo
is one such case.  sun4v_register_mondo_queues already has the
necessary 'notrace' annotation, but register_one_mondo does not.

Normally register_one_mondo is inlined so the bug doesn't trigger,
but with some config/compiler combinations, it won't be so we
must properly mark it notrace.

While we're here, add 'notrace' annoations to prom_printf and
prom_halt so that early error handling won't have the same problem.

Reported-by: Alexander Beregalov <a.beregalov@gmail.com>
Reported-by: Leif Sawyer <lsawyer@gci.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-09-04 03:39:45 -07:00
..
Makefile sparc: Use sparc64 version of prom/printf.c 2008-12-08 01:00:14 -08:00
bootstr_32.c sparc: prepare prom/ for unification 2008-12-04 09:17:16 -08:00
bootstr_64.c sparc,sparc64: unify prom/ 2008-12-04 09:17:17 -08:00
cif.S sparc,sparc64: unify prom/ 2008-12-04 09:17:17 -08:00
console_32.c sparc: prepare prom/ for unification 2008-12-04 09:17:16 -08:00
console_64.c sparc,sparc64: unify prom/ 2008-12-04 09:17:17 -08:00
devmap.c sparc: remove CVS keywords 2008-05-20 00:33:44 -07:00
devops_32.c sparc: prepare prom/ for unification 2008-12-04 09:17:16 -08:00
devops_64.c sparc,sparc64: unify prom/ 2008-12-04 09:17:17 -08:00
init_32.c sparc: move EXPORT_SYMBOL to the symbols definition 2009-01-08 16:58:05 -08:00
init_64.c sparc,sparc64: unify prom/ 2008-12-04 09:17:17 -08:00
memory.c sparc: remove CONFIG_SUN4 2008-08-31 20:59:37 -07:00
misc_32.c sparc: move EXPORT_SYMBOL to the symbols definition 2009-01-08 16:58:05 -08:00
misc_64.c sparc64: Fix bootup with mcount in some configs. 2009-09-04 03:39:45 -07:00
mp.c sparc: remove CVS keywords 2008-05-20 00:33:44 -07:00
p1275.c sparc,sparc64: unify prom/ 2008-12-04 09:17:17 -08:00
palloc.c sparc: remove CVS keywords 2008-05-20 00:33:44 -07:00
printf.c sparc64: Fix bootup with mcount in some configs. 2009-09-04 03:39:45 -07:00
ranges.c sparc: move EXPORT_SYMBOL to the symbols definition 2009-01-08 16:58:05 -08:00
segment.c sparc: remove CVS keywords 2008-05-20 00:33:44 -07:00
tree_32.c sparc: Eliminate PROMLIB_INTERNAL as it does nothing 2009-01-08 16:59:01 -08:00
tree_64.c sparc: Kill exports of prom internal functions 2009-01-08 16:58:42 -08:00