Index: sys/dev/bhnd/bhndb/bhndb.h =================================================================== --- sys/dev/bhnd/bhndb/bhndb.h +++ sys/dev/bhnd/bhndb/bhndb.h @@ -116,6 +116,7 @@ * via which those mappings may be accessed. */ struct bhndb_hwcfg { + bool is_hostb_required; const struct resource_spec *resource_specs; const struct bhndb_regwin *register_windows; }; Index: sys/dev/bhnd/bhndb/bhndb.c =================================================================== --- sys/dev/bhnd/bhndb/bhndb.c +++ sys/dev/bhnd/bhndb/bhndb.c @@ -614,9 +614,12 @@ } if (hostb == NULL) { - device_printf(sc->dev, "no host bridge core found\n"); - error = ENODEV; - goto cleanup; + if(sc->bus_res->cfg->is_hostb_required){ + device_printf(sc->dev, "no host bridge core found\n"); + error = ENODEV; + goto cleanup; + } + device_printf(sc->dev, "WARNING: no host bridge core found\n"); } /* Find our full register window configuration */