qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] Re: [PATCH 1/4] prep: Remove bogus BIOS size check


From: Alexander Graf
Subject: [Qemu-devel] Re: [PATCH 1/4] prep: Remove bogus BIOS size check
Date: Sun, 19 Dec 2010 16:27:12 +0100

On 19.12.2010, at 13:26, Andreas Färber wrote:

> Am 19.12.2010 um 10:52 schrieb Alexander Graf:
> 
>> On 14.12.2010, at 01:49, Andreas Färber wrote:
>> 
>>> r3480 added this check to account for the entry vector 0xfff00100 to be
>>> available for CPUs that need it. Today however, the NIP is not yet
>>> initialized at this point (zero), so the check always triggers.
>>> 
>>> Cc: Hervé Poussineau <address@hidden>
>>> Cc: Alexander Graf <address@hidden>
>>> Signed-off-by: Andreas Färber <address@hidden>
>>> ---
>>> hw/ppc_prep.c |    3 ---
>>> 1 files changed, 0 insertions(+), 3 deletions(-)
>>> 
>>> diff --git a/hw/ppc_prep.c b/hw/ppc_prep.c
>>> index 1492266..6b22122 100644
>>> --- a/hw/ppc_prep.c
>>> +++ b/hw/ppc_prep.c
>>> @@ -600,9 +600,6 @@ static void ppc_prep_init (ram_addr_t ram_size,
>>>   if (filename) {
>>>       qemu_free(filename);
>>>   }
>>> -    if (env->nip < 0xFFF80000 && bios_size < 0x00100000) {
>>> -        hw_error("PowerPC 601 / 620 / 970 need a 1MB BIOS\n");
>>> -    }
>>> 
>> 
>> The bios gets mapped to 0xfff00000, so it can at most be 0x100000 bytes long 
>> which is 1MB. The bogus part of the check is the first, the nip part.
> 
> If you look at 2/4, it is checked using BIOS_SIZE define (1024 * 1024) 
> further down in the more correct place. :)
> 
> At this time - 1/4 - the BIOS gets mapped to 0xffffffff minus BIOS size. If 
> the entry is at 0xfffffffc, the BIOS is allowed to be smaller than 1 MB. So 
> marking BIOS sizes smaller as 1 MB as error would break both the OHW 
> ppc_rom.bin and the IBM 40p BIOS. Therefore it must simply go away.
> 
> Unless you happen to know a better place for this NIP-dependent check, that 
> is. I believe the reset handling was changed at some point?

Hrm, maybe. The reset vector is board dependent and different CPU typed 
recommend different default values. So I agree - just get rid of this check.


Alex




reply via email to

[Prev in Thread] Current Thread [Next in Thread]