|
From: | Andreas Färber |
Subject: | [Qemu-devel] Re: [PATCH 1/4] prep: Remove bogus BIOS size check |
Date: | Sun, 19 Dec 2010 13:26:10 +0100 |
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 beavailable 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?
Andreas
[Prev in Thread] | Current Thread | [Next in Thread] |