It seems not all architectures store SHMMAX in shmparam.h. For i386, they are defined in linux/shm.h instead. I didn't have all the kernel sources handy earlier. Sorry for the wild goose chase.

But the documentation does seem to conflict. shm.h gives the impression that SHMMAX is a default which can be adjusted through sysctl; the kernel docs claim its the max. segment size.