[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Please help: question about inline ASM in local_bh_enable
Hi,
I have a question about the inline assembly in local_bh_enable, which is
in asm-i386/softirq.h.
.....
"2: pushl %%eax; pushl %%ecx; pushl %%edx;" \
"call %c1;" \
^^^
..... \
: /* no output */ \
: "r" (ptr), "i" (do_softirq) \
/* no registers clobbered */ ); \
I don't understand why it uses "call %c1" instead of "call %1". I
searched some online tutorials about inline assembly, but none of them
mentioned this. I wrote a small test code to try it and it works. Is it
a special syntax for "call"? Can someone give an explanation?
Thanks so much!
--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive: http://mail.nl.linux.org/kernelnewbies/
FAQ: http://kernelnewbies.org/faq/