static int dde_linux26_init_pci(void) { /* initialize DDE kit to get virtual bus hierarchy with all PCI devices */ dde_kit_pci_init(0, 0); /* * TODO check if all devices on all buses are scanned/added here. */ struct pci_bus *pci_bus = pci_create_bus(0, 0, &dde_linux26_pcibus_ops, 0); pci_do_scan_bus(pci_bus); INITIALIZE_INITVAR(dde_linux26_pci); return 0; }
/** Initialize softirq subsystem. * * Start NUM_SOFTIRQ_THREADS threads executing the \ref l4dde26_softirq_thread * function. */ void l4dde26_softirq_init(void) { char name[20]; dde_softirq_sem = ddekit_sem_init(0); set_softirq_pending(0); ddekit_lock_init_unlocked(&tasklet_vec.lock); ddekit_lock_init_unlocked(&tasklet_hi_vec.lock); snprintf(name, 20, ".softirqd"); dde_softirq_thread = ddekit_thread_create( l4dde26_softirq_thread, NULL, name, 0); open_softirq(TASKLET_SOFTIRQ, tasklet_action); open_softirq(HI_SOFTIRQ, tasklet_hi_action); INITIALIZE_INITVAR(dde26_softirq); }