[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