4

在 FreeBSD 的源代码中,sys/kern/subr_bus.c 中的一个方法 bus_teardown_intr 调用“BUS_TEARDOWN_INTR”。BUS_TEARDOWN_INTR 是做什么的?我找不到它的定义。

我附上部分代码以供参考

int
bus_teardown_intr(device_t dev, device_t child, struct resource *irq,
    void *cookie)
{

    if (dev->parent)
        return (EINVAL);
    return (BUS_TEARDOWN_INTR(dev->parent, child, irq, cookie));
}

这里是代码“fxr.watson.org/fxr/source/kern/subr_bus.c”的链接,第4177行对应上面的代码。

4

1 回答 1

3

它是由 生成的函数sys/tools/makeobjops.awk。看sys/kern/bus_if.m源头。

内核构建后,您可以在对象目录中的 GENERIC/bus_if.h 中看到生成的代码。(或者如果您更改了内核名称,则将其替换为 GENERIC。)

该函数还有一个手册页。类型:

man 9 BUS_TEARDOWN_INTR

阅读文档。

于 2013-06-06T07:08:16.023 回答