[SeaBIOS] [PATCH] support piix PAM registers in KVM

Jason Krieg jason.krieg at collax.com
Wed Jun 15 15:54:17 CEST 2011


On 06/15/2011 03:17 PM, Avi Kivity wrote:
> On 06/15/2011 02:58 PM, Jason Krieg wrote:
>> On 09/21/2010 02:31 PM, Gleb Natapov wrote:
>>> Without this BIOS fails to remap 0xf0000 memory from ROM to RAM so 
>>> writes
>>> to F-segment modify ROM content instead of memory copy. Since QEMU does
>>> not reloads ROMs during reset on next boot modified copy of BIOS is 
>>> used.
>>>
>>> Signed-off-by: Gleb Natapov<gleb at redhat.com>
>>> diff --git a/hw/piix_pci.c b/hw/piix_pci.c
>>> index 933ad86..0bf435d 100644
>>> --- a/hw/piix_pci.c
>>> +++ b/hw/piix_pci.c
>>> @@ -99,10 +99,6 @@ static void 
>>> i440fx_update_memory_mappings(PCII440FXState *d)
>>>       int i, r;
>>>       uint32_t smram, addr;
>>>
>>> -    if (kvm_enabled()) {
>>> -        /* FIXME: Support remappings and protection changes. */
>>> -        return;
>>> -    }
>>>       update_pam(d, 0xf0000, 0x100000, (d->dev.config[I440FX_PAM]>>  
>>> 4)&  3);
>>>       for(i = 0; i<  12; i++) {
>>>           r = (d->dev.config[(i>>  1) + (I440FX_PAM + 1)]>>  ((i&  
>>> 1) * 4))&  3;
>>> -- 
>>>             Gleb.
>>> -- 
>>> To unsubscribe from this list: send the line "unsubscribe kvm" in
>>> the body of a message to majordomo at vger.kernel.org
>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>
>> Hi,
>>
>> While testing migration from old to new kvm ( 0.12.5 to 0.14.x ) and 
>> after fixing
>> some other problems mainly version_id probs in some of the 
>> VMStateDescriptions
>> everything was working fine until I tried to migrate Windows guests 
>> they would crash
>> after running some time. Linux guests are running stable.
>>
>> So I decided to do a git bisect to identify the according commit.
>> Reverting this commit fixes this problem with Windows guests.
>>
>> What consequences might it have not updating these memory mappings ?
>>
>
> Resets may fail.
>
>> Does this commit need a specific seabios version, we have seabios 
>> 0.6.0 with qemu-kvm 0.12.5
>> and seabios 0.6.1.2 with qemu-kvm 0.14.1 ?
>
> IIUC newer seabios depends on this commit, but this commit does not 
> depend on seabios.
>
>>
>> Maybe instead of reverting this commit one could check the seabios 
>> version in this method
>> and only do an update of these piix PAM registers if running with a 
>> newer seabios version ?
>
> It would be better to first understand what's going wrong.
>


I presume (just guessing) Windows wrote to F-segment modifying the ROM 
and now gets
confused if these PAM registers are updated.

Any ideas for what I could look for ?





More information about the SeaBIOS mailing list