On Sun, Aug 23, 2009 at 12:09:41AM +0200, Stefan Reinauer wrote:
Can / should usbrom use PMM for its heap and stack?
The standard PMM interface is for temporary memory only - memory to be used only during the option rom initialization stage. The memory is not valid once the boot stage starts; it wouldn't be valid while a bootloader is running.
There is a PCIv3 extension to the PMM interface that allows one to request permanent memory (memory reserved in the e820 map). SeaBIOS does not implement this, but it would not be too hard to add. However, the amount of memory available via this call is limited - according to the spec 64K of high memory and 40K of low memory for all option roms in the system (google for "PCI Firmware Specification v3.0 (2005-06-20).pdf").
-Kevin