Hi!
I'm beating my head against a stone here :P
If I set the irq exception handler to any address in a
INIT_LEVEL_DRIVER_SELECTION hook and I check that address later on in a
INIT_LEVEL_OTHER_STUFF hook, the address differs, e.g. with
static void frodo_set_irq()
{
u32 *irq_vector =3D (u32 *) 0x00000018;
*irq_vector =3D 0xdeadbeaf; =20
}
__initlist(frodo_set_irq,INIT_LEVEL_DRIVER_SELECTION);
static void frodo_debug_irq()
{
u32 *irq_vector =3D (u32 *) 0x00000018;
printf ("*irq_vector =3D=3D 0x%.8x\n",*irq_vector); =20
}
__initlist(frodo_debug_irq,INIT_LEVEL_OTHER_STUFF);
I get *irq_vector =3D=3D 0xea0000c1 when booting blob.
I can't see anything in the second stage boot loader that modifies this
address, so what is happening here?
--=20
Regards
Abraham
"Kill the Wabbit, Kill the Wabbit, Kill the Wabbit!"
-- Looney Tunes, "What's Opera Doc?" (1957, Chuck Jones)
__________________________________________________________
Abraham vd Merwe - 2d3D, Inc.
Device Driver Development, Outsourcing, Embedded Systems
Cell: +27 82 565 4451 Snailmail:
Tel: +27 21 761 7549 Block C, Aintree Park
Fax: +27 21 761 7648 Doncaster Road
Email: ab...@2d... Kenilworth, 7700
Http: http://www.2d3d.com South Africa
|