Intel 945 Chipset that is in the T60s is not capable of addressing more than 3GB. While the same 945 in Dell's and HP's can detect it. This isn't a chipset vs memory issue it's due to BIOS or an embedded controller in IBM's.
This has been discussed a lot and there are various misconceptions here. I don't mind repeating myself and others from time to time, so here goes:
First, I'd like to point out that it _is_ a chipset issue. The 32bit memory controller in the Mobile 945 chipset is only capable of addressing 4GB. Since some of this space has to be reserved for peripheral devices, the usable physical memory will always be <4GB, no matter which vendor's machine you are using.
You said it yourself "the same 945 in DELLs and HPs can detect
it". Detect does not necessarily mean "use". The T60 BIOS will also detect 4GB, IIRC, but the operating system will only be able to use 3GB.
Why exactly 3GB? That's a choice made by Lenovo. According to Intel's spec, it is the responsibility of the BIOS to configure the maximum RAM address below 4GB that is mapped to physical RAM. The rest (above it) is mapped to PCI devices. Since there are various system configurations, with different PCI devices, which may require different sizes of mapped address spaces, Lenovo chose to set this limit at 3GB to make sure that under no reasonable configuration the reserved address space will be insufficient.
I'd like to say here that I have no idea where the limit lies for other laptops using the Mobile 945 chipset.
There have been somewhat successful attempts to provide modified BIOSes for the relevant Lenovo systems, which raise the limit to 3.25 or 3.5GB. A full 4GB is not possible, and the more you raise it, the more you are likely to run into problems of being unable to allocate address spaces for PCI devices. In the end, most people concluded that the extra 256/512MB of RAM is not really adding this much performance gain to be worth the trouble.