Re: [Etherboot-developers] [COMMIT] 5.1.2+ boot from disk.
Brought to you by:
marty_connor,
stefanhajnoczi
|
From: <ebi...@ln...> - 2002-08-27 09:11:47
|
ke...@us... (Ken Yap) writes: > >Was it a compressed rom image? > > Yes. > > >At the moment I would only expect non-compressed images which still > >run at RELOCADDR to work reliably. The compressed case relies on > >being relocatable, and decompreses from RELOCADDR to a little further > >down. > > Ok, a .rom image works, but unfortunately it can't load the NFL menu > which uses 0x20000 also. Which would also be a problem for zImage > kernels. I thought you were going to relocate Etherboot to the top of > the 32-bit address space? Right the code is there to do that but it takes a while to weed out the dependencies on code that uses absolute addresses. 0x20000 is just the initial load address. If you specify -DRELOCATE etherboot will relocate itself up to the top of memory. I have just left the default set so people can build drivers and then see if there are relocation fixes that must be handled. Relocation fixes. Mostly it is a matter of adding: virt_to_bus, bus_to_virt, and ioremap in the drivers. In some of the other code calling phys_to_virt, and virt_to_phys are appropriate. For the most part the pointers just need to be fixed up and the code will work. Straight forward but work that needs to be done a small piece at a time. We should probably compile a list of drivers that have not yet been converted to work when relocated. Then walk through fixing and testing them. I'd like to add the ability to test multicast at the same time so my next generic step will be to get the multicast sever going. Then I can convert as many drivers as possible, but I don't have a lot of the hardware so there are a lot of cases I can't test. If you can think of a better way to handle it. I am all ears. Eric |