public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* i386: Fix null interrupt handler (ignore_int) message ?
@ 2007-09-24 22:08 Ahmed S. Darwish
  0 siblings, 0 replies; only message in thread
From: Ahmed S. Darwish @ 2007-09-24 22:08 UTC (permalink / raw)
  To: linux-kernel; +Cc: hpa

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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2007-09-24 22:08 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-09-24 22:08 i386: Fix null interrupt handler (ignore_int) message ? Ahmed S. Darwish

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox