

I used the newest version of the option ROM (1.07.24) posted at JMicron’s FTP site. This bypasses the option ROM and keeps the SATA ports enabled. Also patch two uses of 0xdf to read 1’b1 and writes 0xa1 to configuration register 0x41.This seems to put the controller in AHCI mode. Patch three uses of PCI configuration register 0xdf to read 2’b10.The patched ROM might also be useful for other OSes that don’t have Linux-style PCI quirks. The two SATA ports work in OS X, including hot-plugging, but I could not get the parallel ATA enabled, and I had to bypass loading the option ROM (thus, can’t boot from the SATA ports anymore). I attempt to solve this problem by hacking the JMB363 option ROM to put the card into AHCI mode, with partial success. Other OSes (Mac OS X) do nothing and can’t use the card. Some OSes (Linux, drivers/pci/quirks.c) set a PCI configuration register to put the controller into AHCI+IDE mode after booting and use standard drivers. A JMicron-specific driver is available only for Windows. The problem with RAID mode is that standard AHCI drivers cannot be used. Motherboard BIOSes allow choosing the operating mode, but add-on cards are stuck in RAID mode. The chip supports operating in IDE, AHCI, and RAID controller modes. The JMicron JMB363 is a 2-port SATA + 1-port PATA controller chip often found embedded in motherboards and in low-cost add-on cards.
