Changeset 31
- Timestamp:
- Sep 30, 2010, 11:50:09 AM (15 years ago)
- Location:
- trunk/src/os2ahci
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/os2ahci/os2ahci.def
r27 r31 1 1 library os2ahci 2 Description '$@#thi.guten (www.thiguten.de):1.00.201009 24#@OS/2 AHCI Adapter Device Driver'2 Description '$@#thi.guten (www.thiguten.de):1.00.20100930#@OS/2 AHCI Adapter Device Driver' 3 3 protmode 4 4 -
trunk/src/os2ahci/os2ahci.h
r27 r31 217 217 #define PCI_VENDOR_ID_CT 0x102c 218 218 #define PCI_VENDOR_ID_INTEL 0x8086 219 #define PCI_VENDOR_ID_INITIO 0x1101 219 220 #define PCI_VENDOR_ID_JMICRON 0x197B 220 221 #define PCI_VENDOR_ID_MARVELL 0x11ab -
trunk/src/os2ahci/pci.c
r14 r31 161 161 PCI_ID pci_ids[] = { 162 162 163 /* Intel */ 163 /* Intel 164 * NOTE: ICH5 controller does NOT support AHCI, so we do 165 * not add it here! */ 164 166 { PCI_VDEVICE(INTEL, 0x2652), board_ahci }, /* ICH6 */ 165 167 { PCI_VDEVICE(INTEL, 0x2653), board_ahci }, /* ICH6M */ … … 602 604 603 605 ret = RMAllocResource(rm_drvh, &ad_info->rm_irq, &resource); 604 if (ret != RMRC_SUCCESS) { 605 cprintf("error: couldn't register IRQ %d (rc = %d)\n", irq, ret); 606 return; 606 switch (ret) { 607 case RMRC_SUCCESS: 608 break; 609 case RMRC_DEV_ALREADY_CLAIMED: 610 case RMRC_RES_ALREADY_CLAIMED: 611 cprintf("warning: device already claimed by other driver\n"); 612 return; 613 default: 614 cprintf("error: couldn't register IRQ %d (rc = %d)\n", irq, ret); 615 return; 607 616 } 608 617 rc_list->hResource[rc_list->NumResource++] = ad_info->rm_irq; … … 663 672 664 673 ret = RMAllocResource(rm_drvh, &ad_info->rm_mmio, &resource); 674 675 if (ret == RMRC_SUCCESS) { 676 /* MT: got a new address from Resource Manager; now we 677 * need to tell the BIOS about the new address. 678 * Leave the last 4 bits of the original MMIO value alone. 679 */ 680 mmio_bios = (mmio_bios & 0x0000000fUL) | 681 (resource.MEMResource.MemBase & 0xfffffff0UL); 682 ddprintf("address we got from RM: 0x%08lx\n", 683 resource.MEMResource.MemBase); 684 ddprintf("setting new MMIO BIOS addr to 0x%08lx\n", mmio_bios); 685 686 if (pci_write_conf(bus, dev_func, AHCI_MMIO, 687 sizeof(u32), mmio_bios) != OH_SUCCESS) { 688 /* failed to update BIOS MMIO address - bail out */ 689 cprintf("error: couldn't update BIOS MMIO address\n"); 690 ret = ~RMRC_SUCCESS; 691 goto add_pci_fail; 692 } 693 694 } 665 695 } 666 696
Note:
See TracChangeset
for help on using the changeset viewer.