On 32 bit Windows XP/Vista/7, there are two limitations.
- As you said, there's a 4 GB physical address space that is shared by physical RAM and devices. Since you only have 2 GB of physical RAM, it's unlikely this is the cause -- unless you have tons of other devices.. ?
- The kernel has a 2 GB virtual address space into which is must map the kernel's code and data structures, plus the devices. This would be a more likely cause-
Additionally, I'm not sure if Windows or WinDriver even allow spaces larger than 256 MB.
I say that because, as far as I can see , even graphic cards with 1GB of RAM only expose a 256 MB space.
In any case, it looks like an OS/Windriver limitation, not a firmware problem.