On Sun, Jul 18, 2010 at 07:26:57PM +0200, Alexander Graf wrote: > > On 17.07.2010, at 11:53, Richard W.M. Jones wrote: > > > On Sat, Jul 17, 2010 at 10:50:59AM +0100, Richard W.M. Jones wrote: > >> I understand from the git logs that fw_cfg was added because the old > >> way was to load kernel & initrd into RAM directly, but this didn't > >> work because SeaBIOS would clear the RAM, clobbering kernel & initrd. > >> Could we change to loading these directly into RAM, and instead > >> provide some indication to SeaBIOS so it doesn't clobber the RAM? I'm > >> quite prepared to do the work, just wondering if there's something > >> else I'm not getting about this. > > > > Or thinking around the subject: > > > > Change fw_cfg so that you send a command + a physical address, and > > fw_cfg memcpy's the kernel / initrd / etc to that physical address. > > Then linuxboot.bin doesn't have to do the manual copying. > > > > Or just change linuxboot.bin so it does 32 bit inl instructions, which > > might at least be a bit faster ... > > I don't see why it would be slow. ins should be emulated using coalesced > mmio, no? > Coalesced mmio is for mmio, not pio. But we do try to optimize pio string instructions otherwise loading of 100M would take hours.
-- Gleb.