qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] Make rtl8139 network interface card compatible


From: Mark Cave-Ayland
Subject: Re: [Qemu-devel] [PATCH] Make rtl8139 network interface card compatible with Mac OS 10.4
Date: Wed, 30 Dec 2015 16:58:19 +0000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Icedove/38.4.0

On 30/12/15 16:47, Programmingkid wrote:

> I did disable the change I made to the pci_dma_read() function and applied 
> this
> patch to OpenBIOS. It makes Mac OS X stop booting. This is the message it is
> stuck at when Zoltan's patch is applied:
> mig_table_max_displ = 70
> 
> I even removed the rtl8139 from QEMU's options and Mac OS X still stopped 
> booting
> at the same exact spot. 

Okay. I've just posted a revised patchset to the OpenBIOS list which may
(or may not) help, so please test with that aswell to see if it makes a
difference.

>> It looks like we have to face up to the reality that Apple's OF
>> implementation likes to enable bus mastering for some cards and emulate
>> this behaviour in OpenBIOS, since because of this some drivers don't
>> explicitly enable bus mastering and so fail under emulation.
>>
>> I'll go back and revisit Zoltan's patches to see if we can come up with
>> something that works better for OpenBIOS upstream. In the meantime I
>> still can't quite work out why you still need to swap the BARs around as
>> AFAICT both the mmio and io BARs are mapped onto the chip registers -
>> any chance you could add some debugging to QEMU in order to figure out
>> what is going wrong without your patch?
> 
> I have done a lot of debugging. With only the pci_dma_read() change applied 
> to QEMU, nothing the Mac OS X driver does ever accesses any of the functions 
> from the rtl8139.c file (as far as I can tell). I will add that when this 
> code "if ( csrRead8( RTL_CM ) & R_CM_RST )" is executed by the driver, the 
> value is 16. It appeared to be pretty consistent. The value returned by just 
> "csrRead8( RTL_CM )" is 24. 

Right, so then the question to ask is what is the difference in
behaviours both before and after the BAR swap? It seems that you're
getting a value back but presumably it must be a different value with
your patch applied.


ATB,

Mark.




reply via email to

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