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 [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
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 [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/