[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20070924220817.GA3447@Ahmed>
Date: Tue, 25 Sep 2007 01:08:17 +0300
From: "Ahmed S. Darwish" <darwish.07@...il.com>
To: linux-kernel@...r.kernel.org
Cc: hpa@...or.com
Subject: i386: Fix null interrupt handler (ignore_int) message ?
Hi all,
I'm getting little confused by some ignore_int (null interrupt handler) code in
head.S. Code notifies the user about the unknown raised interrupt by below
string:
int_msg:
.asciz "Unknown interrupt or fault at EIP %p %p %p\n"
and prints it using below code path:
ignore_int:
pushl %eax; pushl %ecx; pushl %edx; pushl %es; pushl %ds
[...]
pushl 16(%esp); pushl 24(%esp);
pushl 32(%esp); pushl 40(%esp);
pushl $int_msg
[...]
call printk
** But here's the state of stack before calling printk:
??? <-- 40(%esp)
??? <-- 36(%esp)
--> (Automatically pushed by the processor)
%eflags <-- 32(%esp)
%cs <-- 28(%esp)
%eip <-- 24(%esp)
error-code <-- 20(%esp)
--> (Pushed by first lines of ignore_int)
%eax <-- 16(%esp)
%ecx <-- 12(%esp)
%edx <-- 8(%esp)
%es <-- 4(%esp)
%ds <-- %esp
Does 40(%esp) hold a meaningfule value here ?. Also why passing 4 arguments after
the string to prinkt while the string only has 3 conversion specifications (i.e.,
3 * %p) ?.
Best regards,
--
Ahmed S. Darwish
HomePage: http://darwish.07.googlepages.com
Blog: http://darwish-07.blogspot.com
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists