Jump to content

CardBus/PCMCIA PC Cards for Tiger


~Eureka
 Share

161 posts in this topic

Recommended Posts

Hi Chun-Nan,I've try yr rev1-fix with result as follow-first attemp causing computer freeze with messages asf:
Jan 21 09:46:01 localhost kernel[0]: unable to initialize UIMJan 21 09:46:02 localhost kernel[0]: USBF:	41.828	AppleUSBUHCI[0x2baa000]::UIMInitialize - ioMap is NULLJan 21 09:46:02 localhost kernel[0]: USBF:	41.835	AppleUSBUHCI: unable to initialize UIMJan 21 09:46:02 localhost kernel[0]: AGP: Found Intel 82845 host to AGP bridgeJan 21 09:46:02 localhost kernel[0]: IOBluetoothHCIController::configurePM Start Idle TimerJan 21 09:46:02 localhost kernel[0]: Registering For 802.11 EventsJan 21 09:46:02 localhost kernel[0]: [HCIController][setupHardware] AFH Is SupportedJan 21 09:46:02 localhost kernel[0]: PCI configuration changed (BUS free=1 needed=1 added=0)Jan 21 09:46:02 localhost kernel[0]: PCI configuration changed (bridge=0 device=4 yenta=1)Jan 21 09:46:02 localhost kernel[0]: USBF:	46.199	AppleUSBEHCI[0x2d61800]::UIMInitialize - unable to get device memoryJan 21 09:46:02 localhost kernel[0]: USBF:	46.206	AppleUSBEHCI[0x2d61800]::UIMInitialize - Error occurred (0xe00002be)Jan 21 09:46:02 localhost kernel[0]: USBF:	46.216	AppleUSBEHCI: unable to initialize UIMJan 21 09:46:02 localhost kernel[0]: USBF:	46.230	AppleUSBUHCI[0x2b97000]::UIMInitialize - ioMap is NULLJan 21 09:46:02 localhost kernel[0]: USBF:	46.237	AppleUSBUHCI: unable to initialize UIMJan 21 09:46:02 localhost kernel[0]: USBF:	46.252	AppleUSBUHCI[0x2b93000]::UIMInitialize - ioMap is NULLJan 21 09:46:02 localhost kernel[0]: USBF:	46.259	AppleUSBUHCI: unable to initialize UIMJan 21 09:46:02 localhost kernel[0]: USBF:	46.273	AppleUSBUHCI[0x2b90000]::UIMInitialize - ioMap is NULLJan 21 09:46:02 localhost kernel[0]: USBF:	46.280	AppleUSBUHCI: unable to initialize UIMJan 21 09:46:02 localhost kernel[0]: AGP: Found Intel 82845 host to AGP bridge

-second attemp : seems that yr IOPCI causing a kernel panic with messages similar to above/about AppleUSBUHCI (sorry can't give you dispaly pic as i have no digital camera around)Anyhow, yr IOPCC success in detecting my PC Card as ENE 1410 when combined with gruntster IOPCI with message asf

Jan 21 11:54:22 localhost kernel[0]: checkCardBusNumbering: class-code = 060000, hdr = 0x1, parent [0 - 255], device(30, 0) pri 0 [2 - 2]Jan 21 11:54:22 localhost kernel[0]: checkCardBusNumbering: class-code = 060000, hdr = 0x1, parent [0 - 255], device(1, 0) pri 0 [1 - 1]Jan 21 11:54:23 localhost kernel[0]: pciYentaProbeRanges: allocating register space for class-code 060700, MEM ec000000:00001000Jan 21 11:54:23 localhost kernel[0]: pciYentaProbeRanges: class-code 060700, I/O 0000a000:00001000Jan 21 11:54:23 localhost kernel[0]: pciYentaProbeRanges: class-code 060700, MEM ec001000:00100000Jan 21 11:54:23 localhost kernel[0]: checkCardBusNumbering: class-code = 060400, hdr = 0x2, parent [2 - 255], device(12, 0) pri 0 [0 - 0]Jan 21 11:54:23 localhost kernel[0]: checkCardBusNumbering: fixing bad primary bus setting, class-code = 060700, device(12, 0) - was 0 now 2Jan 21 11:54:23 localhost kernel[0]: checkCardBusNumbering: bad subordinate bus setting (subBus <= parentSecBus) - was 0 now 3Jan 21 11:54:23 localhost kernel[0]: checkCardBusNumbering: bad secondary bus setting (secBus <= priBus) - was 0 now 3Jan 21 11:54:23 localhost kernel[0]: AGP: Found Intel 82845 host to AGP bridgeJan 21 11:54:23 localhost kernel[0]: IOPCCard info:   Intel PCIC probe:   ENE 1410 rev 01

regards,Barbie

Hi Barbie,

 

According the message above from gruntster, I guess he used part of "IOPCIFamily-34" source code. However, I don't have gruntster's source code IOPCIFamily so I cannot do any comparsions.

I noticed that you have AGP driver installed. Just curious if you have "AGPGart" installed at this moment?

 

Chun-Nan

 

Chun-nan resolve only the problem with PCMCI bus but his IOPCIFamily.kext give rise to many problem with another devices. May be we resolve its all together?If you have two version of IOPCIFamily that not crash your system.For example located in folders /Old and /New at root of your hdd. Make the follow:boot with -v -s/sbin/fsck -fy/sbim/mount -uw /ioreg -l -x -w 2048 >ioregYourName-1.txtrm -r -v /S*/L*/E*/IOPCIF*cp -r -v /New/IOPCIFamily.kext /S*/L*/E*/rebootboot with -v -s/sbin/fsck -fy/sbim/mount -uw /ioreg -l -x -w 2048 >ioregYourName-2.txtrm -r -v /S*/L*/E*/IOPCIF*cp -r -v /Old/IOPCIFamily.kext /S*/L*/E*/rebootNow compare these txt files and found differencies for your problem devicesPublish differences only!

 

Hi Slice,

 

Right now I am out of town so I cannot do anything till I am back on Saturday.I don't know too much about "AGPGart" because I don't have it installed on my machine.

You can try to use the original IOPCIFamily (2.4) for Leopard and IOPCIFamily (2.2) to see you still have the same problems when you use the rev6 for Leopard and the rev1 for Tiger.

If you still have the same problems with the original IOPCIFamily files (2.4 or 2.2), you probably need to check your AGPGart to find out the reason.

If you don't have the same problems with the orginal IOPCIFamily files (2.4 or 2.2), then there must be some problems with rev6 or rev1.

Please try the orginal IOPCIFamily files (2.4 for Leopard or 2.2 for Tiger) and let me know the result. Thanks.

 

Chun-Nan

Link to comment
Share on other sites

Hi Chun-Nan

I propose you to discuss my correction to your sources. It's a pity I work only in Tiger, so correction for Leo at your will.

My correction begin with

//Slice

and ended with

//

I switch off "cpu_number" cause I have no the header. You must switch it on again.

 

My sincerely request is to include AGP host controller support (it presents in my codes).

New version is 2.2.2!

Link to comment
Share on other sites

Hi Barbie,

...

I noticed that you have AGP driver installed. Just curious if you have "AGPGart" installed at this moment?

 

Chun-Nan

 

Hi Chun-Nan,

 

Yes I have "AGPGart" installed, it is Joblo10's AGPGart.kext version universal beta 2. Is there anything that i can do with this agpgart to help you resolve tigers's IOPCI issue ?

 

Regards,

 

Barbie

Link to comment
Share on other sites

Hi Chun-Nan,

 

Yes I have "AGPGart" installed, it is Joblo10's AGPGart.kext version universal beta 2. Is there anything that i can do with this agpgart to help you resolve tigers's IOPCI issue ?

I need to rewrite AGPGart to be more compatible with PCMCI and so with new IOPCIFamily. Wait for news at my thread

http://forum.insanelymac.com/index.php?showtopic=71308

Link to comment
Share on other sites

Hi Chun-Nan,

Last night I tried your rev1 kext for tiger with JaS 10.4.8. Replace both IOPCIFamily & IOPCCardFamily kext file with your rev1 kext file. I tested a couple of hours, so far my PCMCIA & other hardware working flawlessly as expected. Good job Chun-Nan. Thank you. :(

 

P/S: Back to leopard + EFI today because I got fix mouse pointer tearing issue on some application such as firefox & dreamweaver cs3.

Link to comment
Share on other sites

Hi Chun-Nan!

 

I work on AGPGart and IOPCIFamily compatibility.

My corrections have no influence.

1. With default IOPCIConfigurator i.e. wtihout your corrections I have no PCMCI but AGPGart loaded successfully.

2. With your corrections IOPCIFamily create own nub and it is configured so AGPGart can't load. But PCMCI works.

 

AGP bridge has IOPCIClass=0x060400 while PCMCI 0x060401. We might take it into account.

Or we can check IOPCIAGPCapability to not close this nub.

I can't do anything inside AGPGart because it loaded after IOPCIFamily.

 

This is my ioreg with AGPGart in first variant.

Link to comment
Share on other sites

Hi I am new at this, could someone tell me how I replace kext files? I tried the chmod -R 755 and chown -R root: wheel in the terminal and crashed my system. Can you delete the kext files in the extensions folder and drag the new ones in? I have the TI PCIxx12 cardbus here would love to get it working.

 

thx for any help

 

bestman50

if you do

 

sudo cp -R (place where your new kext is) /System/Library/Extentions

 

you will not need to do any chown/chmod actions

Link to comment
Share on other sites

Hi Chun-Nan!

 

I work on AGPGart and IOPCIFamily compatibility.

My corrections have no influence.

1. With default IOPCIConfigurator i.e. wtihout your corrections I have no PCMCI but AGPGart loaded successfully.

2. With your corrections IOPCIFamily create own nub and it is configured so AGPGart can't load. But PCMCI works.

 

AGP bridge has IOPCIClass=0x060400 while PCMCI 0x060401. We might take it into account.

Or we can check IOPCIAGPCapability to not close this nub.

I can't do anything inside AGPGart because it loaded after IOPCIFamily.

 

This is my ioreg with AGPGart in first variant.

 

Hi Slice,

 

Which version of original IOPCIFamily work with your AGPGart? 1.6, 2.2 or 2.4?

 

Chun-Nan

Link to comment
Share on other sites

Hi Slice,

 

Which version of original IOPCIFamily work with your AGPGart? 1.6, 2.2 or 2.4?

 

Chun-Nan

2.0 & 2.2 that is those who don't support PCMCI.

2.4 is for Leo that I have no. Other user in Leo have default 2.4 and AGPGart loaded.

 

I think it is better to write subclass CardBridge as separate kext and don't correct IOPCIFamily.

BTW with my corrections I have finest sound.

Link to comment
Share on other sites

2.0 & 2.2 that is those who don't support PCMCI.

2.4 is for Leo that I have no. Other user in Leo have default 2.4 and AGPGart loaded.

 

I think it is better to write subclass CardBridge as separate kext and don't correct IOPCIFamily.

BTW with my corrections I have finest sound.

 

The alternative would be to fix lots more stuff in iopcifamily - it may well be apple intentionally cripple it.

Link to comment
Share on other sites

The alternative would be to fix lots more stuff in iopcifamily - it may well be apple intentionally cripple it.

Why Apple destroy CardBus support in v2.0 being in 1.7? I think because of problems such as we encounter...

 

With Chun-Nan correction I have good PCMCI IODeviceMemory, while without =0.

It is very interesting for my Radeon problem (very similar bridge) so I shall dig.

Link to comment
Share on other sites

Why Apple destroy CardBus support in v2.0 being in 1.7? I think because of problems such as we encounter...

 

With Chun-Nan correction I have good PCMCI IODeviceMemory, while without =0.

It is very interesting for my Radeon problem (very similar bridge) so I shall dig.

 

Hi Slice,

 

I agree with you that somehow the IODeviceMemory is not arranged correctly. I am still working on it and trying to find the possible reason.

I checked your source code and I found the following codes:

 

    offset = 0;
   if (entry->extendedFindPCICapability(kIOPCIAGPCapability, &offset))
   {
       UInt16 classNub = entry->configRead16(0x0a);
       if (classNub == 0x0600)
       {
       UInt32 flags = 1;
       entry->setProperty(kIOAGPBusFlagsKey, flags, 32);
       entry->setProperty("AGP_Target", (void *) "", 0);
       }
   }

 

Should I need to add it to make the AGPGart work? (I don't have AGP device right now) Thanks.

 

Chun-Nan

Link to comment
Share on other sites

Hi Slice,

 

I agree with you that somehow the IODeviceMemory is not arranged correctly. I am still working on it and trying to find the possible reason.

I checked your source code and I found the following codes:

 

Should I need to add it to make the AGPGart work? (I don't have AGP device right now) Thanks.

 

Chun-Nan

Hi Chun-Nan!

Thank you for continue working. I hope we will find a solution.

The mentioned code do nothing to the main problem that I didn't completely understand.

Look again.

You made corrections ONLY to IOPCIConfigurator.cpp. So I have 2 revisions with and without your corrections.

1. WITH your corrections AGPGart don't loaded

2. WITHOUT your correction AGPGart loaded

And nothing more.

 

May be you need to know something about PCI bus? I can trace all that you want.

Radeon PCI

(00)=58351002   (04)=02b00207   (08)=03000000   (0c)=00004210   
(10)=d0000008   (14)=00009001   (18)=c0100000   (1c)=00000000   
(20)=00000000   (24)=00000000   (28)=00000000   (2c)=6102144d   
(30)=00000000   (34)=00000058   (38)=00000000   (3c)=0008010a   
(40)=00000000   (44)=00000000   (48)=00000000   (4c)=6102144d   
(50)=06020001   (54)=00000000   (58)=00305002   (5c)=ff001e3b   
(60)=00000200   (64)=00000000   (68)=00000000   (6c)=00000000

Intel PCI (host controller)

(00)=25708086   (04)=20900006   (08)=06000002   (0c)=00000000   
(10)=e0000008   (14)=00000000   (18)=00000000   (1c)=00000000   
(20)=00000000   (24)=00000000   (28)=00000000   (2c)=80f21043   
(30)=00000000   (34)=000000e4   (38)=00000000   (3c)=00000000   
(40)=00000000   (44)=00000000   (48)=00000000   (4c)=00000000   
(50)=00080200   (54)=001c8040   (58)=00000000   (5c)=00000000   
(60)=00000500   (64)=00000000   (68)=00000000   (6c)=00000000   
(70)=00000000   (74)=00000000   (78)=00000000   (7c)=00000000   
(80)=00000000   (84)=00000000   (88)=00000000   (8c)=00000000   
(90)=00111110   (94)=00333300   (98)=00000000   (9c)=00380a00   
(a0)=00300002   (a4)=1f004a1b   (a8)=00000a00   (ac)=00000000   
(b0)=00000080   (b4)=00000000   (b8)=037c6000   (bc)=00001020   
(c0)=00000000   (c4)=240e6000   (c8)=00000000   (cc)=00000000   
(d0)=0e042802   (d4)=00000d0b   (d8)=00000000   (dc)=01300000   
(e0)=00000000   (e4)=2106a009   (e8)=00000200   (ec)=00000000   
(f0)=00000000   (f4)=00000000   (f8)=00030f68   (fc)=00000000

Useful information:

AGP host controller has header type 0, class=060000

AGP bridge has header type 1, class=060400

Check your codes!

Link to comment
Share on other sites

More traces

 trace PCI space AGP Bridge dev=1
(00)=58381002   (04)=02200007   (08)=06040000   (0c)=00016300   
(10)=00000000   (14)=00000000   (18)=24010100   (1c)=22209191   
(20)=c010c010   (24)=dff0d000   (28)=00000000   (2c)=58381002   
(30)=00000000   (34)=00000000   (38)=00000000   (3c)=000c00ff   
(40)=00000000   (44)=00000000   (48)=00000000   (4c)=58381002   
trace PCI space SMBus dev=14 func=0
(00)=43531002   (04)=02200003   (08)=0c05001a   (0c)=00800000   
(10)=00008061   (14)=c0004000   (18)=00000000   (1c)=00000000   
(20)=00000000   (24)=00000000   (28)=00000000   (2c)=b028144d   
(30)=00000000   (34)=00000000   (38)=00000000   (3c)=00000000   
(40)=000033d4   (44)=00000000   (48)=0046ff0f   (4c)=00000000   
trace PCI space North bridge dev=14 func=4
(00)=43421002   (04)=02a00007   (08)=06040100   (0c)=00812000   
(10)=00000000   (14)=00000000   (18)=45020200   (1c)=228001f1   
(20)=c020c020   (24)=0000fff0   (28)=00000000   (2c)=00000000   
(30)=00000000   (34)=00000000   (38)=00000000   (3c)=00000000   
(40)=ff3c0024   (44)=26e30000   (48)=a00f0300   (4c)=00000000   
trace PCI space South bridge dev=14 func=3
(00)=434c1002   (04)=0220000f   (08)=06010000   (0c)=00800000   
(10)=00000000   (14)=00000000   (18)=00000000   (1c)=00000000   
(20)=00000000   (24)=00000000   (28)=00000000   (2c)=b028144d   
(30)=00000000   (34)=00000000   (38)=00000000   (3c)=00000000   
(40)=00000004   (44)=6c00004f   (48)=0000ff83   (4c)=00000000

And PCI structure

	| | +-o AppleACPIPCI  <class AppleACPIPCI,,  count 21>
| |   +-o LPC0@14,3  <class IOPCIDevice, , count 26>
| |   +-o P2P@14,4  <class IOPCIDevice, ,  count 16>
| |   | +-o IOPCI2PCIBridge  <class IOPCI2PCIBridge, ,  count 18>
| |   |   +-o CDB0@4  <class IOPCIDevice, ,  count 7>
| |   |   +-o CDB1@4,1  <class IOPCIDevice, ,  count 9>
| |   |   +-o NIC0@5  <class IOPCIDevice, , count 10>
| |   +-o AUDO@14,5  <class IOPCIDevice, ,  count 10>
| |   +-o IDE@14,1  <class IOPCIDevice, , count 13>
| |   +-o AGP@1  <class IOPCIDevice, ,  count 10>
| |   +-o pci1002,4353@14  <class IOPCIDevice, , .. 7>  <-SMBus
| |   +-o pci1002,5831@0  <class IOPCIDevice, , . 7>  <- Host

Link to comment
Share on other sites

Hi Slice,Is it possible for you to post your FULL source code package of AGPGart or let me know where I can download it? Thanks.Chun-Nan

No problem!My sources based on joblo AGPGart22 is on www.x86dev.org.The incompatibility comes from IOPCIFamily that close PCI2PCIBridge so AGPGart can't attach to the AGPBridge.

 

My latest sources with more tunings and output is here.Free for any purpose.

 

BTW I still don't understand your idea about bus numbering. Can you explain?

Link to comment
Share on other sites

Hi guys,

 

I have updated rev2 of IOPCIFamily and IOPCCardFamily.

http://forum.insanelymac.com/index.php?showtopic=81048

In this revision, I have fixed some "device/bridge command" bugs and it also included the latest IOPCCardFamily-47. Hopefully, it will work better. Please let me know the result if possible, especially Firewire device. Thanks

 

Chun-Nan

Link to comment
Share on other sites

Hi guys,

 

I have updated rev2 of IOPCIFamily and IOPCCardFamily.

http://forum.insanelymac.com/index.php?showtopic=81048

In this revision, I have fixed some "device/bridge command" bugs and it also included the latest IOPCCardFamily-47. Hopefully, it will work better. Please let me know the result if possible, especially Firewire device. Thanks

 

Chun-Nan

Hi Chun-Nan,

 

here is dmesg from tiger + rev2:

PCI configuration changed (BUS free=0 needed=1 added=1)
PCI configuration changed (bridge=0 device=3 yenta=1)
USB caused wake event (EHCI)
IOPCCard info:   Intel PCIC probe:   TI XX12 rev 00
FireWire (OHCI) TI ID 803a PCI now active, GUID 00080da0d13f83df; max speed s400.
Extension "com.apple.driver.iTunesPhoneDriver" has no kernel dependency.

IOPCCard info:   cs: cb_alloc(bus 8): vendor 0x1106, device 0x3038
IOPCCard info:   cs: cb_alloc(bus 8): found 3 functions
IOCardBusDevice: binding socket 0 function 0 to card services.
IOPCCard info:   cs: cb_config(bus 8)
IOPCCard info:     fn 0 bar 2: mem 0xa0004000-0xa00040ff
IOPCCard info:     fn 0 bar 5: io 0x120-0x13f
IOPCCard info:     fn 1 bar 2: mem 0xa0003000-0xa00030ff
IOPCCard info:     fn 1 bar 5: io 0x100-0x11f
IOPCCard info:     fn 2 bar 1: mem 0xa0002000-0xa00020ff
IOPCCard info:     fn 2 bar 2: mem 0xa0001000-0xa00010ff
IOPCCard info:     irq 18
IOCardBusDevice: binding socket 0 function 1 to card services.
IOCardBusDevice: binding socket 0 function 2 to card services.

 

SystemProfiler says unknow device when connected my DVD->FW adapter (same like in leo).

 

Regards,

Mariusz.

Link to comment
Share on other sites

Hi Chun-Nan!

Thank you for new codes and for cpu_number. It's a pity in my system it is not compilable so I stay with no-rendevouz variant.

I apply your changes to my project and have some questions:

kIOPCIResetKey

I have no the definition as well as ConfigurationReset

	if (0 & gIOPCISkip)	//Chun-Nan

The result always = 0 despite on all previous calculations. May be you want to write

(0 | gIOPCISkip)?

//Chun-Nan
		if (childRange->type == kIOPCIResourceTypeBusNumber)
		{
			if (allocators[childRange->type]->getFreeCount() <= waitCounts[childRange->type])
			{

 

The compiler give me warning about different types. I don't want to ignore any warning because of run-time error.

 

/*! @function getFreeCount
@abstract Totals the sizes of the free fragments.
@discussion This method returns the total of the sizes of the fragments on the free list.
@result Returns the total of the free fragments sizes. 
*/

virtual IORangeScalar getFreeCount( void );

Link to comment
Share on other sites

	if (0 & gIOPCISkip)	//Chun-Nan

The result always = 0 despite on all previous calculations. May be you want to write

(0 | gIOPCISkip)?

 

no, unless he mean "temporary disabled clause" there must be some variable or complex mask instead of simple "0",

because "0 | variable" means nothing but just "variable" itself, which makes "0" useless also.

Link to comment
Share on other sites

2 Chun-Nan

May be you mean

/*! @function getFragmentCount	@abstract Accessor to return the number of free fragments in the range.
@discussion This method returns a count of free fragments. Each fragment describes a non-contiguous free range - deallocations will merge contiguous fragments together.	@result Returns the count of free fragments. */

virtual UInt32 getFragmentCount( void );

With this changes I have good results

ACPI: System State [s0 S3 S4 S5] (S3)

PCI configuration changed (BUS free=0 needed=1 added=1)

PCI configuration changed (bridge=0 device=5 yenta=1)

Security auditing service present

BSM auditing present disabled

From path: "uuid",

Waiting for boot volume with UUID 9CC40CE1-BF73-35EC-B1D3-5CA85DBA141AWaiting on IOProviderClassIOResourcesIOResourceMatchboot-uuid-media

IOPCCard info: Intel PCIC probe: Ricoh RL5C475 rev b8

AppleATIIXPATA: ATI ATA (CMD 0x170, CTR 0x374, IRQ 15, BM 0x8078)

AppleATIIXPATA: ATI ATA (CMD 0x1f0, CTR 0x3f4, IRQ 14, BM 0x8070)

USBF: 24.468 AppleUSBOHCI[0x285c000]::start OHCI controller will be unloaded across sleep

USBF: 24.470 AppleUSBOHCI[0x2b6d800]::UIMInitialize Non-NULL hcDoneHead: 0x9dda0

USBF: 24.480 AppleUSBOHCI[0x2b6d800]::start OHCI controller will be unloaded across sleep

FireWire (OHCI) VendorID 1180 ID 551 PCI now active, GUID 0000f041200a3c37; max speed s400.

But without AGPGart.

With this version it loaded and trying to attach to any devices. It is probably my mistake but with default IOPCIFamily all is OK!

Link to comment
Share on other sites

No problem!My sources based on joblo AGPGart22 is on www.x86dev.org.The incompatibility comes from IOPCIFamily that close PCI2PCIBridge so AGPGart can't attach to the AGPBridge.

 

My latest sources with more tunings and output is here.Free for any purpose.

 

BTW I still don't understand your idea about bus numbering. Can you explain?

 

Hi Slice,

 

Thank you for the source code file. I will check the source code when I have more time. (School starts so maybe on the weekend)

 

About bus numbering, here is the sample link. I am sure you can search more on the internet.

 

http://www.science.unitn.it/~fiorella/guid...100000000000000

 

About "kIOPCIResetKey", it should be defined in IOPCIPrivate.h.

 

About "getFreeCount()", it relates to the problem of "IOPCCardBridge::checkBridgeBusIDs invalid sub/cardbus/pci settings of 0x0". Because it doesn't have free bus/range resources, it cause "0x0".

You can check this message on your dmesg "PCI configuration changed (BUS free=0 needed=1 added=1)".

 

About "gIOPCISkip", that is correct because I don't want it to run the following command but I also don't want to mess up the original source code in case other place needs it.

Thus, I put "int gIOPCISkip = 0;" in the beginning.

Then I put the following codes:

===============================

fPCIBridgeIndex = 0;

fPCIBridgeTailIndex = 0;

do

{

bridge = fPCIBridgeList[fPCIBridgeIndex++];

 

FOREACH_CHILD(bridge, child)

{

if (child->headerType == kPCIHeaderType2)

{

++fPCIBridgeTailIndex;

// pciBridgeCheckConfiguration(bridge);

gIOPCISkip++;

pciBridgeAllocateResource(bridge);

pciBridgeDistributeResource(bridge);

gIOPCISkip--;

}

}

}

while (fPCIBridgeIndex <= fPCIBridgeTailIndex);

================================

Then I put "if (0 & gIOPCISkip)". Therefore, if gIOPCISkip != 0, it will skip the following command while if gIOPCISkip = 0, it won't.

 

Chun-Nan

Link to comment
Share on other sites

Hey guys,

 

I've just tried rev1fix and rev2 on an old Dell C640.

I'm using AGPGart 2.2 - the gfx card is an ATI Radeon Mobility 7500. (I have QE on it! Yay!).

 

 

Anyway, neither version crashes for me, WITH agpgart 2.2 starting normally.

 

 

I'm attaching a set of 4 ioreg dumps I took while testing the various permutations. They're attached in the order I made them. I used ioreg -lx -w0

 

 

BTW Slice,

Ever compiled a linux kernel? Compiler warnings are generally ignored - only if there are actual problems do people even consider them - most, especially about different types, can be ignored regardless. It's basically lazy code, relying on the compiler to make it work correctly. GCC is very good at this.

 

 

 

EqUaTe

 

 

agpgart_ioreg.txt

noagp_ioreg.txt

noagp_pcmcia.rev2_ioreg.txt

agp_pcmcia.rev2_ioreg.txt

Link to comment
Share on other sites

Hi guys,

 

I have updated rev2 of IOPCIFamily and IOPCCardFamily.

 

Hi Chun-Nan,

 

Your rev 2 of IOPCI still causing error in my comp. It is about USBF AppleUSBUHCI: UIMInitialize - ioMap is NULL unable to initialize UIM something... just like error generated by the rev 1 IOPCI...

 

regards

 

Barbie

Link to comment
Share on other sites

 Share

×
×
  • Create New...