void __init do_device_inventory()

in kernel/inventory.c [614:674]


void __init do_device_inventory(void)
{
	printk(KERN_INFO "Searching for devices...\n");

	init_parisc_bus();

	switch (pdc_type) {

	case PDC_TYPE_PAT:
		pat_inventory();
		break;

	case PDC_TYPE_SYSTEM_MAP:
		system_map_inventory();
		break;

	case PDC_TYPE_SNAKE:
		snake_inventory();
		break;

	default:
		panic("Unknown PDC type!\n");
	}
	printk(KERN_INFO "Found devices:\n");
	print_parisc_devices();

#if defined(CONFIG_64BIT) && defined(CONFIG_SMP)
	pa_serialize_tlb_flushes = machine_has_merced_bus();
	if (pa_serialize_tlb_flushes)
		pr_info("Merced bus found: Enable PxTLB serialization.\n");
#endif

#if defined(CONFIG_FW_CFG_SYSFS)
	if (running_on_qemu) {
		struct resource res[3] = {0,};
		unsigned int base;

		base = ((unsigned long long) PAGE0->pad0[2] << 32)
			| PAGE0->pad0[3]; /* SeaBIOS stored it here */

		res[0].name = "fw_cfg";
		res[0].start = base;
		res[0].end = base + 8 - 1;
		res[0].flags = IORESOURCE_MEM;

		res[1].name = "ctrl";
		res[1].start = 0;
		res[1].flags = IORESOURCE_REG;

		res[2].name = "data";
		res[2].start = 4;
		res[2].flags = IORESOURCE_REG;

		if (base) {
			pr_info("Found qemu fw_cfg interface at %#08x\n", base);
			platform_device_register_simple("fw_cfg",
				PLATFORM_DEVID_NONE, res, 3);
		}
	}
#endif
}