On 3/9/07, Joe Pub joepubber@googlemail.com wrote:
Hi All,
I am getting closer to having VMWare working with a LinuxBIOS BIOS. I had an issue which I was unsure of, where certain compile options would just not work with VMWare. I have finnaly figured out why that is.
By enabling CONFIG_PCI_ROM_RUN for instance, includes extra object files within the resulting binary, hence making the used part of the ROM image greater. Here lies my problem. VMWare seems to load the LinuxBIOS rom, but then overwrite the address at 0xFA000 with 8K of NVRAM data, basically overwriting portions of the LinuxBIOS code.
So what I was wondering, what would be the best approach to reserve that area of memory to that it does not corrupt any of the LinuxBIOS code.
Have you figured out what VMWare is overwriting part of linuxBIOS with? Is linuxBIOS loaded into VMWare with the bios440.filename parameter?
I think that VMWare is overwriting that part of memory with updated NVRAM information, loading video BIOS, or loading ethernet card ROM to that address. I'm not sure what you've tried already, but I've found some configuration file parameters that might help figure out what's going on.
nvram.mode = "nonpersistent" This prevents changes to NVRAM; maybe this is what you are looking for?
nvram = "/path/file" This defines a custom NVRAM to be loaded.
vlance.noOprom = "true" vmxnet.noOprom = "true" These disable the ROM on ethernet cards, freeing up some memory; notice there is no parameter for e1000 cards.
e1000bios.filename = "/path/file" nbios.filename = "/path/file" The former is the path to a ROM file for the Intel ethernet card; the latter is the path to a ROM file for the AMD PCnet and VMXnet ethernet adapters.
These have unknown values: svga.noOprom ethernet%u.opromsize
I'm going to start looking into linuxBIOS in VMWare, both as a replacement BIOS for guest OSs, and to develop with linuxBIOS easier. I haven't tested any of the parameters above, but plan to soon; now you can tinker with them too!
jgav