--- linux-2.4.22-pre6-ac1+p4+4gb/drivers/char/agp/agpgart_be.c.orig 2003-07-30 12:26:18.000000000 +0200 +++ linux-2.4.22-pre6-ac1+p4+4gb/drivers/char/agp/agpgart_be.c 2003-07-30 12:29:03.000000000 +0200 @@ -5655,7 +5655,11 @@ { long memory, index, result; - memory = (num_physpages << PAGE_SHIFT) >> 20; +#if PAGE_SHIFT < 20 + memory = num_physpages >> (20 - PAGE_SHIFT); +#else + memory = num_physpages << (PAGE_SHIFT - 20); +#endif index = 1; while ((memory > maxes_table[index].mem) &&