Enabling AHCI on ICH7M

Michael Butler imb at protected-networks.net
Tue Apr 6 00:53:43 UTC 2010


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

My laptop manufacturer decided not to have AHCI included in the BIOS for
this device, so I've been looking at what needs to happen in order to
make this work.

On this device, the BIOS doesn't even initialize BAR(5), so I need to
start at that point .. from the Intel specs, it seemed fairly
straight-forward:

Give the AHCI sub-system a chunk of memory by initializing BAR(5), tell
the PCI bridge(s) about it, reset the various config bits to flip from
legacy to AHCI mode and leave the rest to what already exists in the
ata-intel driver.

My question, however, relates to the choice of memory:

Can I simply call contigmalloc() to get a chunk of memory space whose
physical address I can get with vtophys and leave the mapping for the
PCI bridge to the existing call to bus_alloc_resource_any()?

Is there a better method of finding some "free" physical space into
which to put the ICH7M AHCI registers?

	imb
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (FreeBSD)

iEYEARECAAYFAku6hhQACgkQQv9rrgRC1JJ9TgCghkR8j9xy2MbSNW1LSRMhzX6h
AdAAnR6Ctnvyng4W9qRbP0vtM352SYSo
=t6V3
-----END PGP SIGNATURE-----


More information about the freebsd-current mailing list