* Peter Stuge stuge-linuxbios@cdy.org [070407 06:04]:
In blockdev.c unsigned long is used for the sector, this will overflow when a kernel is beyond 2TB on a drive. The IDE driver users sector_t which is typedef:ed to uint64_t or unsigned long long. Maybe GRUB2 will be here before this becomes a problem.
There is no portable 128 bit type on 32bit platforms. Except you use a struct { u64 low; u64 high; };
I think the problem is on x86 you need all registers at once to describe a single 128bit value ;)
This has been nasty in linuxbios.