I am attempting to compile a 64bit version of the bcraid driver for my amd64 system without much luck. I am using Gentoo as my distro for this. When I compile the 32bit version I do not get this error and it compiles fine, but a 32bit version does me no good as I need the raid/sata controller drivers for my amd64 system. (I have a Tyan Tiger S3870 mobo) Without this driver I am unable to use my SATA drives, so makes it hard to install anything on my system, had to restort to a temp install on an old IDE hard drive to do compiling.
Code:
make -C /lib/modules/2.6.16-hardened-r10/build SUBDIRS=/root/LIN-DRV-SDK/bcraid modules
make[1]: Entering directory `/usr/src/linux-2.6.16-hardened-r10'
CC [M] /root/LIN-DRV-SDK/bcraid/bc_init.o
CC [M] /root/LIN-DRV-SDK/bcraid/bc_msg.o
CC [M] /root/LIN-DRV-SDK/bcraid/bc_mem_ops.o
/root/LIN-DRV-SDK/bcraid/bc_mem_ops.c: In function `bc_mem_clear_list':
/root/LIN-DRV-SDK/bcraid/bc_mem_ops.c:466: error: `mem_map' undeclared (first use in this function)
/root/LIN-DRV-SDK/bcraid/bc_mem_ops.c:466: error: (Each undeclared identifier is reported only once
/root/LIN-DRV-SDK/bcraid/bc_mem_ops.c:466: error: for each function it appears in.)
/root/LIN-DRV-SDK/bcraid/bc_mem_ops.c: In function `bc_mem_copy_list':
/root/LIN-DRV-SDK/bcraid/bc_mem_ops.c:594: error: `mem_map' undeclared (first use in this function)
make[2]: *** [/root/LIN-DRV-SDK/bcraid/bc_mem_ops.o] Error 1
make[1]: *** [_module_/root/LIN-DRV-SDK/bcraid] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.16-hardened-r10'
make: *** [default] Error 2
The main issue seems to be the fact that it doesn't have a declaration of mem_map. I did a grep on the kernel tree and found a reference in include/linux/mm.h so added that include in the bc_mem_ops.c file but that didn't do anything. So now I am kinda stumped at what would be causing this.
Oh, I got the drivers from broadcom.com/products/raid_2.1.0_linuxdriver_download.php and I am using the SDK since the Fedora and SUSE version of the drivers do me no good on Gentoo.