> asmlinage void IRQ3; > asm(...); yes, we get it exactly. But, asm(...) is just a statement and in my opinion, it should belong to some function body. While the first line merely declare a function without definition owing to the semicolon behind IRQ3. 2010/8/8 Daniel (Youngwhan) Song <breadncup@xxxxxxxxx>: > On 8/7/10 6:05 AM, Parmenides wrote: >> >> Oh, my question is really no clear. Actually, there is a simicolon at >> the end of the declaration of IRQ0x01_interrupt, while the statement >> of __asm__ is not enclosed by a pair of brace, namely that no the body >> of function. So, I don't think this is a traditional definition of >> function. >> >> ps: the original excerpt of the code is a macro like this: >> >> #define BUILD_IRQ(nr) \ >> asmlinkage void IRQ_NAME(nr); \ >> __asm__( \ >> "\n"__ALIGN_STR"\n" \ >> SYMBOL_NAME_STR(IRQ) #nr "_interrupt:\n\t" \ >> "pushl $"#nr"-256\n\t" \ >> "jmp common_interrupt"); >> >> >> 2010/8/7 Mulyadi Santosa<mulyadi.santosa@xxxxxxxxx>: >> >>> >>> On Fri, Aug 6, 2010 at 02:52, Parmenides<mobile.parmenides@xxxxxxxxx> >>> wrote: >>> >>>> >>>> Hi, >>>> In i8259.c, there is an odd funciton definition as follows: >>>> >>>> asmlinkage void IRQ0x01_interrupt(); >>>> __asm__( ...); >>>> >>> >>> you mean asmlinkage thing? here's the explanation: >>> http://kernelnewbies.org/FAQ/asmlinkage >>> >>> And if you ask about __asm__, that's, AFAIK, a way to directly embed >>> assembly instruction into your C code. >>> >>> -- >>> regards, >>> >>> Mulyadi Santosa >>> Freelance Linux trainer and consultant >>> >>> blog: the-hydra.blogspot.com >>> training: mulyaditraining.blogspot.com >>> >>> >> >> -- >> To unsubscribe from this list: send an email with >> "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx >> Please read the FAQ at http://kernelnewbies.org/FAQ >> >> > > Hi Parmendies, > > IRQ_NAME defined as IRQ##nr, so it declares void IRQ##nr, and the next > assembly code is performed by BUILD_IRQ definition. So, if you use > BUILD_IRQ(3), it extracts like > > asmlinage void IRQ3; > asm(...); > > Daniel > -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ