Please help: question about inline ASM in local_bh_enable

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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/


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux