From mboxrd@z Thu Jan 1 00:00:00 1970 From: me@tobin.cc (Tobin C. Harding) Date: Tue, 17 Oct 2017 07:36:42 +1100 Subject: architecture conditional In-Reply-To: <20171016161053.GA28327@kroah.com> References: <20171016103717.GH16106@eros> <20171016161053.GA28327@kroah.com> Message-ID: <20171016203642.GI16106@eros> To: kernelnewbies@lists.kernelnewbies.org List-Id: kernelnewbies.lists.kernelnewbies.org On Mon, Oct 16, 2017 at 06:10:53PM +0200, Greg KH wrote: > On Mon, Oct 16, 2017 at 09:37:17PM +1100, Tobin C. Harding wrote: > > What is the correct way to write code that is conditionally compiled depending on 32/64 bit? > > Not to write code that is dependent on such a thing in the first place > :) > > > I found > > > > CONFIG_X86_64 > > CONFIG_64BIT > > > > Do we still support other word sizes? > > No, but those are not what you should be looking for, it all depends on > the architecture and where in the kernel you need to do this (arch > specific code, driver, kernel, networking, etc.) > > Any specific hints on why you think you need this? Hashing the kernel pointers. Wanting to call the SipHash functions. We need to call a different function depending on the size of the pointer. u64 siphash_1u64(const u64 a, const siphash_key_t *key); u64 siphash_1u32(const u32 a, const siphash_key_t *key); Jason A. Donenfeld suggested (offered to) add a helper function in siphash, along the lines of siphash_1u() but we still need to know the exact size of the return value (so we can drop half of it if it is 64 bits). We just want a 32 bit identifier returned after hashing the address. thanks, Tobin.