Made it possible to disable PCI module debug output.
This speeds up boottime with serial debug enabled. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12080 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -72,7 +72,7 @@ PCI::GetNthPciInfo(PCIBus *bus, long *curindex, long wantindex, pci_info *outInf
|
|||||||
void
|
void
|
||||||
PCI::DiscoverBus(PCIBus *bus)
|
PCI::DiscoverBus(PCIBus *bus)
|
||||||
{
|
{
|
||||||
dprintf("PCI: DiscoverBus, bus %u\n", bus->bus);
|
TRACE(("PCI: DiscoverBus, bus %u\n", bus->bus));
|
||||||
|
|
||||||
for (int dev = 0; dev < gMaxBusDevices; dev++) {
|
for (int dev = 0; dev < gMaxBusDevices; dev++) {
|
||||||
uint16 vendor_id = pci_read_config(bus->bus, dev, 0, PCI_vendor_id, 2);
|
uint16 vendor_id = pci_read_config(bus->bus, dev, 0, PCI_vendor_id, 2);
|
||||||
@@ -90,7 +90,7 @@ PCI::DiscoverBus(PCIBus *bus)
|
|||||||
void
|
void
|
||||||
PCI::DiscoverDevice(PCIBus *bus, uint8 dev, uint8 func)
|
PCI::DiscoverDevice(PCIBus *bus, uint8 dev, uint8 func)
|
||||||
{
|
{
|
||||||
dprintf("PCI: DiscoverDevice, bus %u, dev %u, func %u\n", bus->bus, dev, func);
|
TRACE(("PCI: DiscoverDevice, bus %u, dev %u, func %u\n", bus->bus, dev, func));
|
||||||
|
|
||||||
uint16 device_id = pci_read_config(bus->bus, dev, func, PCI_device_id, 2);
|
uint16 device_id = pci_read_config(bus->bus, dev, func, PCI_device_id, 2);
|
||||||
if (device_id == 0xffff)
|
if (device_id == 0xffff)
|
||||||
@@ -126,7 +126,7 @@ PCI::CreateBus(PCIDev *parent, uint8 bus)
|
|||||||
PCIDev *
|
PCIDev *
|
||||||
PCI::CreateDevice(PCIBus *parent, uint8 dev, uint8 func)
|
PCI::CreateDevice(PCIBus *parent, uint8 dev, uint8 func)
|
||||||
{
|
{
|
||||||
dprintf("PCI: CreateDevice, bus %u, dev %u, func %u:\n", parent->bus, dev, func);
|
TRACE(("PCI: CreateDevice, bus %u, dev %u, func %u:\n", parent->bus, dev, func));
|
||||||
|
|
||||||
PCIDev *newdev = new PCIDev;
|
PCIDev *newdev = new PCIDev;
|
||||||
newdev->next = 0;
|
newdev->next = 0;
|
||||||
@@ -138,8 +138,8 @@ PCI::CreateDevice(PCIBus *parent, uint8 dev, uint8 func)
|
|||||||
|
|
||||||
ReadPciBasicInfo(newdev);
|
ReadPciBasicInfo(newdev);
|
||||||
|
|
||||||
dprintf("PCI: vendor 0x%04x, device 0x%04x, class_base 0x%02x, class_sub 0x%02x\n",
|
TRACE(("PCI: vendor 0x%04x, device 0x%04x, class_base 0x%02x, class_sub 0x%02x\n",
|
||||||
newdev->info.vendor_id, newdev->info.device_id, newdev->info.class_base, newdev->info.class_sub);
|
newdev->info.vendor_id, newdev->info.device_id, newdev->info.class_base, newdev->info.class_sub));
|
||||||
|
|
||||||
// append
|
// append
|
||||||
if (parent->child == 0) {
|
if (parent->child == 0) {
|
||||||
@@ -302,7 +302,7 @@ PCI::ReadPciHeaderInfo(PCIDev *dev)
|
|||||||
}
|
}
|
||||||
|
|
||||||
default:
|
default:
|
||||||
dprintf("PCI: Header type unknown (%d)\n", dev->info.header_type);
|
TRACE(("PCI: Header type unknown (%d)\n", dev->info.header_type));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,13 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#define TRACE_PCI
|
||||||
|
#ifndef TRACE_PCI
|
||||||
|
#define TRACE(x)
|
||||||
|
#else
|
||||||
|
#define TRACE(x) dprintf x
|
||||||
|
#endif
|
||||||
|
|
||||||
void pci_init(void);
|
void pci_init(void);
|
||||||
void pci_uninit(void);
|
void pci_uninit(void);
|
||||||
long pci_get_nth_pci_info(long index, pci_info *outInfo);
|
long pci_get_nth_pci_info(long index, pci_info *outInfo);
|
||||||
|
|||||||
@@ -29,51 +29,51 @@ const char *get_class_info(uint8 class_base, uint8 class_sub, uint8 class_api);
|
|||||||
void
|
void
|
||||||
print_bridge_info(pci_info *info, bool verbose)
|
print_bridge_info(pci_info *info, bool verbose)
|
||||||
{
|
{
|
||||||
dprintf("PCI: primary_bus %02x, secondary_bus %02x, subordinate_bus %02x, secondary_latency %02x\n",
|
TRACE(("PCI: primary_bus %02x, secondary_bus %02x, subordinate_bus %02x, secondary_latency %02x\n",
|
||||||
info->u.h1.primary_bus, info->u.h1.secondary_bus, info->u.h1.subordinate_bus, info->u.h1.secondary_latency);
|
info->u.h1.primary_bus, info->u.h1.secondary_bus, info->u.h1.subordinate_bus, info->u.h1.secondary_latency));
|
||||||
dprintf("PCI: io_base %04x%02x, io_limit %04x%02x\n",
|
TRACE(("PCI: io_base %04x%02x, io_limit %04x%02x\n",
|
||||||
info->u.h1.io_base_upper16, info->u.h1.io_base, info->u.h1.io_limit_upper16, info->u.h1.io_limit);
|
info->u.h1.io_base_upper16, info->u.h1.io_base, info->u.h1.io_limit_upper16, info->u.h1.io_limit));
|
||||||
dprintf("PCI: memory_base %04x, memory_limit %04x\n",
|
TRACE(("PCI: memory_base %04x, memory_limit %04x\n",
|
||||||
info->u.h1.memory_base, info->u.h1.memory_limit);
|
info->u.h1.memory_base, info->u.h1.memory_limit));
|
||||||
dprintf("PCI: prefetchable memory base %08lx%04x, limit %08lx%04x\n",
|
TRACE(("PCI: prefetchable memory base %08lx%04x, limit %08lx%04x\n",
|
||||||
info->u.h1.prefetchable_memory_base_upper32, info->u.h1.prefetchable_memory_base,
|
info->u.h1.prefetchable_memory_base_upper32, info->u.h1.prefetchable_memory_base,
|
||||||
info->u.h1.prefetchable_memory_limit_upper32, info->u.h1.prefetchable_memory_limit);
|
info->u.h1.prefetchable_memory_limit_upper32, info->u.h1.prefetchable_memory_limit));
|
||||||
dprintf("PCI: bridge_control %04x, secondary_status %04x\n",
|
TRACE(("PCI: bridge_control %04x, secondary_status %04x\n",
|
||||||
info->u.h1.bridge_control, info->u.h1.secondary_status);
|
info->u.h1.bridge_control, info->u.h1.secondary_status));
|
||||||
dprintf("PCI: interrupt_line %02x, interrupt_pin %02x\n",
|
TRACE(("PCI: interrupt_line %02x, interrupt_pin %02x\n",
|
||||||
info->u.h1.interrupt_line, info->u.h1.interrupt_pin);
|
info->u.h1.interrupt_line, info->u.h1.interrupt_pin));
|
||||||
dprintf("PCI: ROM base host %08lx, pci %08lx, size ??\n",
|
TRACE(("PCI: ROM base host %08lx, pci %08lx, size ??\n",
|
||||||
info->u.h1.rom_base, info->u.h1.rom_base_pci);
|
info->u.h1.rom_base, info->u.h1.rom_base_pci));
|
||||||
for (int i = 0; i < 2; i++)
|
for (int i = 0; i < 2; i++)
|
||||||
dprintf("PCI: base reg %d: host %08lx, pci %08lx, size %08lx, flags %02x\n",
|
TRACE(("PCI: base reg %d: host %08lx, pci %08lx, size %08lx, flags %02x\n",
|
||||||
i, info->u.h1.base_registers[i], info->u.h1.base_registers_pci[i],
|
i, info->u.h1.base_registers[i], info->u.h1.base_registers_pci[i],
|
||||||
info->u.h1.base_register_sizes[i], info->u.h1.base_register_flags[i]);
|
info->u.h1.base_register_sizes[i], info->u.h1.base_register_flags[i]));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
print_generic_info(pci_info *info, bool verbose)
|
print_generic_info(pci_info *info, bool verbose)
|
||||||
{
|
{
|
||||||
dprintf("PCI: ROM base host %08lx, pci %08lx, size %08lx\n",
|
TRACE(("PCI: ROM base host %08lx, pci %08lx, size %08lx\n",
|
||||||
info->u.h0.rom_base, info->u.h0.rom_base_pci, info->u.h0.rom_size);
|
info->u.h0.rom_base, info->u.h0.rom_base_pci, info->u.h0.rom_size));
|
||||||
dprintf("PCI: cardbus_CIS %08lx, subsystem_id %04x, subsystem_vendor_id %04x\n",
|
TRACE(("PCI: cardbus_CIS %08lx, subsystem_id %04x, subsystem_vendor_id %04x\n",
|
||||||
info->u.h0.cardbus_cis, info->u.h0.subsystem_id, info->u.h0.subsystem_vendor_id);
|
info->u.h0.cardbus_cis, info->u.h0.subsystem_id, info->u.h0.subsystem_vendor_id));
|
||||||
dprintf("PCI: interrupt_line %02x, interrupt_pin %02x, min_grant %02x, max_latency %02x\n",
|
TRACE(("PCI: interrupt_line %02x, interrupt_pin %02x, min_grant %02x, max_latency %02x\n",
|
||||||
info->u.h0.interrupt_line, info->u.h0.interrupt_pin, info->u.h0.min_grant, info->u.h0.max_latency);
|
info->u.h0.interrupt_line, info->u.h0.interrupt_pin, info->u.h0.min_grant, info->u.h0.max_latency));
|
||||||
for (int i = 0; i < 6; i++)
|
for (int i = 0; i < 6; i++)
|
||||||
dprintf("PCI: base reg %d: host %08lx, pci %08lx, size %08lx, flags %02x\n",
|
TRACE(("PCI: base reg %d: host %08lx, pci %08lx, size %08lx, flags %02x\n",
|
||||||
i, info->u.h0.base_registers[i], info->u.h0.base_registers_pci[i],
|
i, info->u.h0.base_registers[i], info->u.h0.base_registers_pci[i],
|
||||||
info->u.h0.base_register_sizes[i], info->u.h0.base_register_flags[i]);
|
info->u.h0.base_register_sizes[i], info->u.h0.base_register_flags[i]));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
print_info_basic(pci_info *info, bool verbose)
|
print_info_basic(pci_info *info, bool verbose)
|
||||||
{
|
{
|
||||||
dprintf("PCI: bus %2d, device %2d, function %2d: vendor %04x, device %04x, revision %02x\n",
|
TRACE(("PCI: bus %2d, device %2d, function %2d: vendor %04x, device %04x, revision %02x\n",
|
||||||
info->bus, info->device, info->function, info->vendor_id, info->device_id, info->revision);
|
info->bus, info->device, info->function, info->vendor_id, info->device_id, info->revision));
|
||||||
dprintf("PCI: class_base %02x, class_function %02x, class_api %02x\n",
|
TRACE(("PCI: class_base %02x, class_function %02x, class_api %02x\n",
|
||||||
info->class_base, info->class_sub, info->class_api);
|
info->class_base, info->class_sub, info->class_api));
|
||||||
|
|
||||||
if (verbose) {
|
if (verbose) {
|
||||||
#if USE_PCI_HEADER
|
#if USE_PCI_HEADER
|
||||||
@@ -81,27 +81,27 @@ print_info_basic(pci_info *info, bool verbose)
|
|||||||
const char *venFull;
|
const char *venFull;
|
||||||
get_vendor_info(info->vendor_id, &venShort, &venFull);
|
get_vendor_info(info->vendor_id, &venShort, &venFull);
|
||||||
if (!venShort && !venFull) {
|
if (!venShort && !venFull) {
|
||||||
dprintf("PCI: vendor %04x: Unknown\n", info->vendor_id);
|
TRACE(("PCI: vendor %04x: Unknown\n", info->vendor_id));
|
||||||
} else if (venShort && venFull) {
|
} else if (venShort && venFull) {
|
||||||
dprintf("PCI: vendor %04x: %s - %s\n", info->vendor_id, venShort, venFull);
|
TRACE(("PCI: vendor %04x: %s - %s\n", info->vendor_id, venShort, venFull));
|
||||||
} else {
|
} else {
|
||||||
dprintf("PCI: vendor %04x: %s\n", info->vendor_id, venShort ? venShort : venFull);
|
TRACE(("PCI: vendor %04x: %s\n", info->vendor_id, venShort ? venShort : venFull));
|
||||||
}
|
}
|
||||||
const char *devShort;
|
const char *devShort;
|
||||||
const char *devFull;
|
const char *devFull;
|
||||||
get_device_info(info->vendor_id, info->device_id, &devShort, &devFull);
|
get_device_info(info->vendor_id, info->device_id, &devShort, &devFull);
|
||||||
if (!devShort && !devFull) {
|
if (!devShort && !devFull) {
|
||||||
dprintf("PCI: device %04x: Unknown\n", info->device_id);
|
TRACE(("PCI: device %04x: Unknown\n", info->device_id));
|
||||||
} else if (devShort && devFull) {
|
} else if (devShort && devFull) {
|
||||||
dprintf("PCI: device %04x: %s - %s\n", info->device_id, devShort, devFull);
|
TRACE(("PCI: device %04x: %s - %s\n", info->device_id, devShort, devFull));
|
||||||
} else {
|
} else {
|
||||||
dprintf("PCI: device %04x: %s\n", info->device_id, devShort ? devShort : devFull);
|
TRACE(("PCI: device %04x: %s\n", info->device_id, devShort ? devShort : devFull));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
dprintf("PCI: info: %s\n", get_class_info(info->class_base, info->class_sub, info->class_api));
|
TRACE(("PCI: info: %s\n", get_class_info(info->class_base, info->class_sub, info->class_api)));
|
||||||
}
|
}
|
||||||
dprintf("PCI: line_size %02x, latency %02x, header_type %02x, BIST %02x\n",
|
TRACE(("PCI: line_size %02x, latency %02x, header_type %02x, BIST %02x\n",
|
||||||
info->line_size, info->latency, info->header_type, info->bist);
|
info->line_size, info->latency, info->header_type, info->bist));
|
||||||
|
|
||||||
switch (info->header_type) {
|
switch (info->header_type) {
|
||||||
case 0:
|
case 0:
|
||||||
@@ -111,7 +111,7 @@ print_info_basic(pci_info *info, bool verbose)
|
|||||||
print_bridge_info(info, verbose);
|
print_bridge_info(info, verbose);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
dprintf("PCI: unknown header type\n");
|
TRACE(("PCI: unknown header type\n"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -16,20 +16,20 @@ status_t pci_module_rescan(void);
|
|||||||
status_t
|
status_t
|
||||||
pci_module_init(void)
|
pci_module_init(void)
|
||||||
{
|
{
|
||||||
dprintf("PCI: pci_module_init\n");
|
TRACE(("PCI: pci_module_init\n"));
|
||||||
|
|
||||||
if (B_OK != pci_io_init()) {
|
if (B_OK != pci_io_init()) {
|
||||||
dprintf("PCI: pci_io_init failed\n");
|
TRACE(("PCI: pci_io_init failed\n"));
|
||||||
return B_ERROR;
|
return B_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (B_OK != pci_config_init()) {
|
if (B_OK != pci_config_init()) {
|
||||||
dprintf("PCI: pci_config_init failed\n");
|
TRACE(("PCI: pci_config_init failed\n"));
|
||||||
return B_ERROR;
|
return B_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (B_OK != pci_irq_init()) {
|
if (B_OK != pci_irq_init()) {
|
||||||
dprintf("PCI: IRQ router not available\n");
|
TRACE(("PCI: IRQ router not available\n"));
|
||||||
} else {
|
} else {
|
||||||
gIrqRouterAvailable = true;
|
gIrqRouterAvailable = true;
|
||||||
}
|
}
|
||||||
@@ -44,7 +44,7 @@ pci_module_init(void)
|
|||||||
status_t
|
status_t
|
||||||
pci_module_uninit(void)
|
pci_module_uninit(void)
|
||||||
{
|
{
|
||||||
dprintf("PCI: pci_module_uninit\n");
|
TRACE(("PCI: pci_module_uninit\n"));
|
||||||
pci_uninit();
|
pci_uninit();
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user