I need some help. I'm trying to fix a GCC warning by modifying the struct dev_ops in device/conf.h. I need the definition of io_req_t to do that. But when I include device/io_req.h from device/conf.h the build breaks with this error message:
In file included from ../vm/pmap.h:45:0, from ../vm/vm_object.h:49, from ../vm/vm_page.h:40, from ../device/io_req.h:41, from ../device/conf.h:35, from ../device/dev_hdr.h:64, from ./machine/io_perm.h:26, from ../i386/i386/tss.h:32, from ../i386/i386/thread.h:43, from ./machine/db_machdep.h:37, from ../ddb/db_access.c:34: ../kern/thread.h:81:2: error: unknown type name "pcb_t" gnumach has been configured with --enable-kdb. kern/thread.h already includes i386/i386/thread.h which defines the pcb_t, so I don't understand why GCC fails with this error message when everything is OK. Does anybody have any idea what is happening? --- device/conf.h | 1 + 1 file changed, 1 insertion(+) diff --git a/device/conf.h b/device/conf.h index e91e099..0be5f30 100644 --- a/device/conf.h +++ b/device/conf.h @@ -32,6 +32,7 @@ #define _DEVICE_CONF_H_ #include <mach/machine/vm_types.h> +#include <device/io_req.h> /* * Operations list for major device types. -- 1.8.1.4