[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <479A06D3.4020804@zytor.com>
Date: Fri, 25 Jan 2008 07:57:07 -0800
From: "H. Peter Anvin" <hpa@...or.com>
To: Ingo Molnar <mingo@...e.hu>
CC: Andi Kleen <andi@...stfloor.org>, Yinghai Lu <Yinghai.Lu@....COM>,
Jeremy Fitzhardinge <jeremy@...p.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] x86: trim ram need to check if mtrr is there v3
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
View attachment "e820.h" of type "text/x-chdr" (1000 bytes)
View attachment "e820func.c" of type "text/x-csrc" (2504 bytes)
Powered by blists - more mailing lists