[Barrelfish-users] AHCI

Timothy Roscoe troscoe at inf.ethz.ch
Tue Jan 31 11:32:11 CET 2012


This is caused by the VFS library Hakefile not listing ahci_port as a 
Mackerel device.

Of course, why should it?  The problem is that to access an AHCI device, 
you need ahci_util.h, which is a public header file (it's in /include) 
but nevertheless includes a device header (which really should be private).

The reason we didn't catch this is that, will parallel builds, sometimes 
dependencies for /usr/ahcid would be built first, which would cause the 
missing file to be generated.

More generally, moving forward, we should really have ahci encapsulated 
as a block/bulk transport driver in /usr/drivers, and not have any 
dependencies on it in the VFS library.

The quick fix is to add ahci_port (and probably ahci_hba) to the 
Mackerel dependencies for VFS.

A better approach is to prevent ahci_util.h from including 
dev/ahci_port_dev.h.

  -- Mothy

On 01/31/2012 11:19 AM, Georgios Varisteas wrote:
> I get the exact same error with a fresh clone of the repository.
>
> --Georgios
>
> ________________________________________
> From: Kornilios Kourtis [kkourt at inf.ethz.ch]
> Sent: Tuesday, January 31, 2012 11:05
> To: Georgios Varisteas
> Cc: barrelfish-users at lists.inf.ethz.ch
> Subject: Re: [Barrelfish-users] AHCI
>
> Hi Georgios,
>
> On Tue, Jan 31, 2012 at 09:46:42AM +0000, Georgios Varisteas wrote:
>> Hi,
>>
>> First of all congrats on the update. AHCI support is an important
>> milestone. However, is it possible that something went wrong with the
>> update? I get the following error:
>>
>> Generating
>> x86_64/lib/vfs/_for_lib_vfs_nonfs/ata_rw28_flounder_extra_bindings.o.depend
>> ../src/include/ahci/ahci_util.h:15:31: fatal error:
>> dev/ahci_port_dev.h: No such file or directory compilation terminated.
>> make: ***
>> [x86_64/lib/vfs/_for_lib_vfs_nonfs/ata_rw28_flounder_extra_bindings.o.depend]
>> Error 1
>>
>> I can see ahci_port.dev in devices/ and the Hakefile is correct, so the
>> missing header should have been generated but it doesn't. I have
>> cleaned my build directory and started from scratch with no result. Any
>> clues?
>
> It could be that the make dependencies are not set correctly.
>
> If you do:
>   make x86_64/include/dev/ahci_port_dev.h
> Is the file generated? Can you complete the build after that?
>
> cheers,
> Kornilios.
>
> --
> Kornilios Kourtis
>
> _______________________________________________
> Barrelfish-users mailing list
> Barrelfish-users at lists.inf.ethz.ch
> https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users



More information about the Barrelfish-users mailing list