Re: [Etherboot-developers] UNDI driver
Brought to you by:
marty_connor,
stefanhajnoczi
|
From: H. P. A. <hp...@zy...> - 2003-05-20 05:06:25
|
Michael Brown wrote: >>>Question 1: Is there currently any method for allocating base memory? I >>>need space for three structures: >> >>Memory should be taken off of the TOP of the 640K chunk of memory. >>That is the only way ancient DOS memory reporting APIs can cope. >>And in etherboot that should not be hard to report. We might want to >>think of bounce buffers to hold data that will eventually go there. > > > OK, but am I right in thinking that there is currently no mechanism for > doing this in Etherboot? I remember HPA mentioning code in MEMDISK that > could be ripped out for this purpose. > There are two things: reserving low (DOS) memory, which is just a matter of poking a variable in low memory, and reserving high memory, which is a matter of hooking INT 15h and and intercepting the AX=88h, AX=E801h, AX=E881h and AX=E820h calls. The latter is quite complex, especially since the E820h memory map is frequently insane in various ways. MEMDISK contains code to read out the memory map, canonicalize it, and provide the INT 15h hooks. -hpa |