qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 1/2] m48t59: drop obsolete address base arithmet


From: Blue Swirl
Subject: Re: [Qemu-devel] [PATCH 1/2] m48t59: drop obsolete address base arithmetic
Date: Sat, 7 Jan 2012 17:29:50 +0000

On Thu, Jan 5, 2012 at 17:45, Andreas Färber <address@hidden> wrote:
> Am 15.10.2011 15:50, schrieb Blue Swirl:
>> Remove now incorrect address base arithmetic, missed by
>> 9936d6e42392f1440505dfa9df065eabd251cadf. Fixes Sparc64 boot.
>
> ...but breaks PReP boot:
>
> ERROR: BUG caught...
> BIOS execution exception
> nip=0x05800000 msr=0x00002000 dar=0x00000000 dsisr=0x00000000
> Stopping execution
>
> I verified by checking out the preceding commit, applying a variation of
> http://patchwork.ozlabs.org/patch/134519/ on top; that restored PReP
> boot to what it used to look like.
>
> Any insights?

Sparc64 problem was that the io_base did not match what was passed to
the functions and then the calculation made the offset totally
incorrect. Could you add printfs to see what is the offset?

> If I revert this commit on HEAD instead, then the above error
> disappears, too, but there's another regression with the kernel not
> being able to read the hda or something.
>
> The write access fix seems unrelated.
>
> Andreas
>
>> Signed-off-by: Blue Swirl <address@hidden>
>> ---
>>  hw/m48t59.c |    2 --
>>  1 files changed, 0 insertions(+), 2 deletions(-)
>>
>> diff --git a/hw/m48t59.c b/hw/m48t59.c
>> index f318e67..dba5796 100644
>> --- a/hw/m48t59.c
>> +++ b/hw/m48t59.c
>> @@ -480,7 +480,6 @@ static void NVRAM_writeb (void *opaque, uint32_t
>> addr, uint32_t val)
>>  {
>>      M48t59State *NVRAM = opaque;
>>
>> -    addr -= NVRAM->io_base;
>>      NVRAM_PRINTF("%s: 0x%08x => 0x%08x\n", __func__, addr, val);
>>      switch (addr) {
>>      case 0:
>> @@ -505,7 +504,6 @@ static uint32_t NVRAM_readb (void *opaque, uint32_t addr)
>>      M48t59State *NVRAM = opaque;
>>      uint32_t retval;
>>
>> -    addr -= NVRAM->io_base;
>>      switch (addr) {
>>      case 3:
>>          retval = m48t59_read(NVRAM, NVRAM->addr);
>
> --
> SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
> GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg



reply via email to

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