2015-04-20 5:11 GMT+06:00 Anuz Pratap Singh Tomar <chambilkethakur@gmail.com>:
On Mon, Apr 20, 2015 at 12:08 AM, Nicholas Krause <xerofoify@gmail.com> wrote:
On April 19, 2015 5:13:20 PM EDT, Anuz Pratap Singh Tomar <chambilkethakur@gmail.com> wrote:
On Sun, Apr 19, 2015 at 9:51 PM, nick <xerofoify@gmail.com> wrote:
Greetings All, I am wondering what the below code in the asm modifier does: static inline void set_bit(int nr, void *addr) { asm("btsl %1,%0" : "+m" (*(u32 *)addr) : "Ir" (nr)); } This would be very helpful as I am new to x86 assembly and don't even known what register(s)/instruction(s) this touches and therefore this is impossible for me to look up in the Intel Manuals. If someone either tells me the registers/instructions this uses or explains the code that would be very helpful. Nick
What's the problem to read it in the intel manual or just to use google [https://www.google.com/search?channel=fs&q=btsl+instruction&ie=utf-8&oe=utf-...] which will give you answer with first link instead of spend time of community for such questions?
95 percent of the kernel is written in C
This is true. But kernel is big, and are you really sure that somebody will want to expain you rest of 5% of the kernel? I am not sure about it. Yes kernel is big and complex. It contains many tricks which even hard to find explanation in the interntet. But, if you want to read/develop kernel, you need learning to learn, but not just ask. It's important. Heed the advice of Anuz, he gave the perfect advice.