Hmm. I think this also is true with some Intel chipsets. Even without
graphics enabled there has to be some kind of reserved memory space
just below tolm (the smallest I was sucessfull with was 1MB) or filo
chokes. Doesn't LB allocate a bounce buffer just before the payload
starts? Is this bounce buffer just below tolm??


Thanks - Joe

yes, this bounce buffer is just below tolm with the size twice of  (&_eram_seg - &_ram_seg).

I'm now having trouble with mtrr, after setting variable mtrr, data gets corrupted.
If only set and enable fixed range mtrr, everything works fine except that I have to reserve
extra space near the tolm or filo couldn't start. With variable mtrr not set(but enabled by earlymtrr),
the linux kernel could be booted though the speed is aweful...