On Sat, Apr 07, 2007 at 07:44:00PM +0200, Stefan Reinauer wrote:
- 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; };
Oh, no, what I meant is that parts of FILO are using a 32 bit variable for sector values.
I think the problem is on x86 you need all registers at once to describe a single 128bit value ;)
Hehe. Yeah. But you can cheat and use MMX or SSE. :)
//Peter