int setup_88e1518(const char *bus, unsigned char addr) { int res; res = process_setup(bus, addr, verify_88e1518, ARRAY_SIZE(verify_88e1518)); if (res) return res; res = process_setup(bus, addr, fixup_88e1518, ARRAY_SIZE(fixup_88e1518)); if (res) return res; res = process_setup(bus, addr, default_88e1518, ARRAY_SIZE(default_88e1518)); if (res) return res; if (addr) { res = process_setup(bus, addr, ch1fix_88e1518, ARRAY_SIZE(ch1fix_88e1518)); if (res) return res; } res = process_setup(bus, addr, swreset_88e1518, ARRAY_SIZE(swreset_88e1518)); if (res) return res; return 0; }
//uint64_t exception_stack; void start(uint32_t* modulep, void* physbase, void* physfree) { uint64_t address = (uint64_t)(&idt); uint16_t size_idt = (uint16_t)(sizeof(idt)); int my_variable = 0; // int i = 922222895; //int i =0; struct smap_t { uint64_t base, length; uint32_t type; }__attribute__((packed)) *smap; struct process *newproc1,*newproc2,*newproc3; cls(); // while(--i>0); while(modulep[0] != 0x9001) modulep += modulep[1]+2; for(smap = (struct smap_t*)(modulep+2); smap < (struct smap_t*)((char*)modulep+modulep[1]+2*4); ++smap) { if (smap->type == 1 /* memory */ && smap->length != 0) { kprintf("Available Physical Memory [%x-%x]\n", smap->base, smap->base + smap->length); } } kprintf("tarfs in [%p:%p]\n", &_binary_tarfs_start, &_binary_tarfs_end); set_all_handlers(); setup_idtr(address,size_idt); npages_determine(134205440); set_consts((uint64_t)physbase,(uint64_t)physfree); mm_init(); loadcr3(katopa((uint64_t)pml4e),(uint64_t)physbase,(uint64_t)physfree); my_variable++; newproc1 = (struct process*)process_setup((uint64_t)physbase,(uint64_t)physfree,"bin/newhello"); curproc_count++; newproc2 = process_setup((uint64_t)physbase,(uint64_t)physfree,"bin/sacrifice"); curproc_count++; newproc3 = process_setup((uint64_t)physbase,(uint64_t)physfree,"bin/pragathi"); proc_status(newproc1); proc_status(newproc2); proc_status(newproc3); cur_proc = newproc1; /*while(i<10000) { kmalloc(30); i++; }*/ exception_stack = page_alloc(); first_sched(); while(1){} }
static int process_q931(struct sk_buff *skb, struct nf_conn *ct, enum ip_conntrack_info ctinfo, unsigned char **data, int dataoff, Q931 *q931) { H323_UU_PDU *pdu = &q931->UUIE.h323_uu_pdu; int i; int ret = 0; switch (pdu->h323_message_body.choice) { case eH323_UU_PDU_h323_message_body_setup: ret = process_setup(skb, ct, ctinfo, data, dataoff, &pdu->h323_message_body.setup); break; case eH323_UU_PDU_h323_message_body_callProceeding: ret = process_callproceeding(skb, ct, ctinfo, data, dataoff, &pdu->h323_message_body. callProceeding); break; case eH323_UU_PDU_h323_message_body_connect: ret = process_connect(skb, ct, ctinfo, data, dataoff, &pdu->h323_message_body.connect); break; case eH323_UU_PDU_h323_message_body_alerting: ret = process_alerting(skb, ct, ctinfo, data, dataoff, &pdu->h323_message_body.alerting); break; case eH323_UU_PDU_h323_message_body_facility: ret = process_facility(skb, ct, ctinfo, data, dataoff, &pdu->h323_message_body.facility); break; case eH323_UU_PDU_h323_message_body_progress: ret = process_progress(skb, ct, ctinfo, data, dataoff, &pdu->h323_message_body.progress); break; default: pr_debug("nf_ct_q931: Q.931 signal %d\n", pdu->h323_message_body.choice); break; } if (ret < 0) return -1; if (pdu->options & eH323_UU_PDU_h245Control) { for (i = 0; i < pdu->h245Control.count; i++) { ret = process_h245(skb, ct, ctinfo, data, dataoff, &pdu->h245Control.item[i]); if (ret < 0) return -1; } } return 0; }
int setup_88e1514(const char *bus, unsigned char addr) { int res; res = process_setup(bus, addr, verify_88e1518, ARRAY_SIZE(verify_88e1518)); if (res) return res; res = process_setup(bus, addr, fixup_88e1518, ARRAY_SIZE(fixup_88e1518)); if (res) return res; res = process_setup(bus, addr, mii_to_copper_88e1514, ARRAY_SIZE(mii_to_copper_88e1514)); if (res) return res; res = process_setup(bus, addr, sgmii_autoneg_off_88e1518, ARRAY_SIZE(sgmii_autoneg_off_88e1518)); if (res) return res; res = process_setup(bus, addr, invert_led2_88e1514, ARRAY_SIZE(invert_led2_88e1514)); if (res) return res; res = process_setup(bus, addr, default_88e1518, ARRAY_SIZE(default_88e1518)); if (res) return res; if (addr) { res = process_setup(bus, addr, ch1fix_88e1518, ARRAY_SIZE(ch1fix_88e1518)); if (res) return res; } res = process_setup(bus, addr, swreset_88e1518, ARRAY_SIZE(swreset_88e1518)); if (res) return res; return 0; }
static void setup(void) { char *fname = NULL; uint64_t intvl; if (atexit(teardown) != 0) { log_stderr("cannot register teardown procedure with atexit()"); exit(EX_OSERR); /* only failure comes from NOMEM */ } /* Setup logging first */ log_setup(&stats.log); if (debug_setup(&setting.debug) != CC_OK) { log_stderr("debug log setup failed"); exit(EX_CONFIG); } /* setup top-level application options */ if (option_bool(&setting.ds.daemonize)) { daemonize(); } fname = option_str(&setting.ds.pid_filename); if (fname != NULL) { /* to get the correct pid, call create_pidfile after daemonize */ create_pidfile(fname); } /* setup library modules */ buf_setup(&setting.buf, &stats.buf); dbuf_setup(&setting.dbuf, &stats.dbuf); event_setup(&stats.event); sockio_setup(&setting.sockio, &stats.sockio); tcp_setup(&setting.tcp, &stats.tcp); timing_wheel_setup(&stats.timing_wheel); /* setup pelikan modules */ time_setup(&setting.time); procinfo_setup(&stats.procinfo); request_setup(&setting.request, &stats.request); response_setup(&setting.response, &stats.response); parse_setup(&stats.parse_req, NULL); compose_setup(NULL, &stats.compose_rsp); slab_setup(&setting.slab, &stats.slab); process_setup(&setting.process, &stats.process); admin_process_setup(); core_admin_setup(&setting.admin); core_server_setup(&setting.server, &stats.server); core_worker_setup(&setting.worker, &stats.worker); /* adding recurring events to maintenance/admin thread */ intvl = option_uint(&setting.ds.dlog_intvl); if (core_admin_register(intvl, debug_log_flush, NULL) == NULL) { log_stderr("Could not register timed event to flush debug log"); goto error; } return; error: if (fname != NULL) { remove_pidfile(fname); } /* since we registered teardown with atexit, it'll be called upon exit */ exit(EX_CONFIG); }