Ingo Molnar wrote: > > no, to be fully generic it would have to be able to 'split' e820 entries > up and punch holes into them - but we dont want to go that far i think. > The most common problem is mismatch at the end of a range. > For what it's worth, I have a set of code to do this, written in order to canonicalize and modify e820 data structures for memdisk. The key to it is the observation that the e820-delivered (address, len, type) tuples isn't actually the data structure you want -- what you want is an ordered list of (address, type) tuples, where type may includes undefined (the e820 default type - i.e. unused, available address space). In addition to the attached code, to do this right, we probably want a function to do filtering (only clobber entries of a specfic type, in this case type 1) as opposed to blind clobber; with an ordered array this is quite trivial. -hpa