Hi Dave, On Thu, Sep 09, 2010 at 06:16:07PM -0700, Dave Hylands wrote: > > I've understood so far your explanations. But one thing I am > > missing: I claim that I do not do an 64-bit division, but an 32-bit > > division. > > > > Why? I have run make tags to create an architecture dependent tags > > file. When I go to s64 and jump to the definition I land in > > include/asm-generic/int-l64.h . There is the typedef: > > > > typedef signed long s64; > > I think you're looking in the wrong file. > > include/linux/types.h includes asm/types.h > arch/x86/include/asm/types.h includes asm-generic/types.h > include/asm-generic/types.h includes asm-generic/int-ll64.h > include/asm-generic/int-ll64.h has the following typedef for s64: > > typedef signed long long s64; > > which is in fact a 64-bit type. > You're right. I've misused ctags within vim - it was configured to jump to the first entry if there are several files found (for vim users: now I use g] instead of CTRL-] so that I get a list of all hits). So for example I get for g] on "s64" the following list (showing only the first two hits): # pri verw. tag Datei 1 F t s64 include/asm-generic/int-l64.h typedef signed long s64; 2 F t s64 include/asm-generic/int-ll64.h typedef signed long long s64; ... Is there any way to know which one is the correct one, i.e. the one which is really used in my context? Am I correct that arch/x86/include/asm/types.h is for all 32-bit machines and arch/ia64/include/asm/types.h is for all 64-bit machines with an intel compatible architecture? Thanks again! Andreas -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ