hi there,
the following addition makes ahci work on my MCP77.
if this piece is present together with the ide
compatibility patch, and the disk is not in ahci
mode, ahci must be disabled in ukc to force the
chipset into compatibility mode.
i experimented with both modes because the other
systems on the disk can't do ahci yet.
just out of curiosity, is there a reason why not all
PCI_PRODUCT_NVIDIA_MCP*_AHCI_* id's are listed?
Index: ahci.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/ahci.c,v
retrieving revision 1.150
diff -u -r1.150 ahci.c
--- ahci.c 13 Oct 2009 00:19:38 -0000 1.150
+++ ahci.c 16 Oct 2009 04:21:55 -0000
@@ -438,6 +438,8 @@
NULL, ahci_nvidia_mcp_attach },
{ PCI_VENDOR_NVIDIA, PCI_PRODUCT_NVIDIA_MCP73_AHCI_9,
NULL, ahci_nvidia_mcp_attach },
+ { PCI_VENDOR_NVIDIA, PCI_PRODUCT_NVIDIA_MCP77_AHCI_1,
+ NULL, ahci_nvidia_mcp_attach },
{ PCI_VENDOR_NVIDIA, PCI_PRODUCT_NVIDIA_MCP77_AHCI_5,
NULL, ahci_nvidia_mcp_attach },
the difference between ide mode and ahci mode:
--- dmesg.bsd.16 Fri Oct 16 05:59:30 2009
+++ dmesg.bsd.16.ahci Fri Oct 16 06:19:52 2009
@@ -2,14 +2,11 @@
f...@amaaq:/adata/home/f/usr/src/sys/arch/i386/compile/GENERIC
cpu0: AMD Turion(tm) X2 Ultra Dual-Core Mobile ZM-80 ("AuthenticAMD"
686-class, 1024KB L2 cache) 2.11 GHz
cpu0:
FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,CX16
-real mem = 3217108992 (3068MB)
-avail mem = 3125407744 (2980MB)
+real mem = 3217104896 (3068MB)
+avail mem = 3125403648 (2980MB)
User Kernel Config
UKC> disable acpicpu
474 acpicpu* disabled
UKC> quit
Continuing...
mainbus0 at root
@@ -73,15 +70,11 @@
audio0 at azalia0
ppb0 at pci0 dev 8 function 0 "NVIDIA MCP77 PCI" rev 0xa1
pci1 at ppb0 bus 1
-pciide1 at pci0 dev 9 function 0 "NVIDIA MCP77 AHCI" rev 0xa2: DMA
-pciide1: using apic 0 int 10 (irq 10) for native-PCI interrupt
-wd0 at pciide1 channel 0 drive 0: <FUJITSU MHZ2320BH G2>
-wd0: 16-sector PIO, LBA48, 305245MB, 625142448 sectors
-atapiscsi0 at pciide1 channel 0 drive 1
-scsibus0 at atapiscsi0: 2 targets
-cd0 at scsibus0 targ 0 lun 0: <Optiarc, DVD RW AD-7560S, SX01> ATAPI 5/cdrom
removable
-wd0(pciide1:0:0): using PIO mode 4, Ultra-DMA mode 5
-cd0(pciide1:0:1): using PIO mode 4, Ultra-DMA mode 5
+ahci0 at pci0 dev 9 function 0 "NVIDIA MCP77 AHCI" rev 0xa2: apic 0 int 10
(irq 10), AHCI 1.2
+scsibus0 at ahci0: 32 targets
+sd0 at scsibus0 targ 0 lun 0: <ATA, FUJITSU MHZ2320B, 0000> SCSI3 0/direct
fixed
+sd0: 305245MB, 512 bytes/sec, 625142448 sec total
+cd0 at scsibus0 targ 2 lun 0: <Optiarc, DVD RW AD-7560S, SX01> ATAPI 5/cdrom
removable
nfe0 at pci0 dev 10 function 0 "NVIDIA MCP77 LAN" rev 0xa2: apic 0 int 5 (irq
5), address 00:21:85:55:af:d3
eephy0 at nfe0 phy 1: 88E1116 Gigabit PHY, rev. 1
ppb1 at pci0 dev 16 function 0 "NVIDIA MCP77 PCIE" rev 0xa1: apic 0 int 7 (irq
7)
@@ -149,4 +142,4 @@
vscsi0 at root
scsibus2 at vscsi0: 256 targets
softraid0 at root
-root on wd0a swap on wd0b dump on wd0b
+root on sd0a swap on sd0b dump on sd0b
-f
--
go and catch a falling star...