void kmain(void) { init_bss(); init_ro(); setup_kernel_memory(); setup_pages(); setup_ints(); setup_tss(); setup_paging(); setup_faults(); setup_fs(); setup_syscalls(); init_devs(); char vendor[12]; if (has_cpuid()) { cpuid_string(0, vendor); dprintf("CPU Vendor ID: %s\n"); } fexec("/prgm/start", 0, NULL, NULL); start_scheduler(); asm volatile ("sti"); asm volatile ("hlt"); /* We should never reach this */ assert(0); }
void primary_cpu_entry(void) { extern void entry(void); /* disable global interrupt */ init_bss(); rt_hw_interrupt_disable(); entry(); }
int main() { printk("Entered main\n"); dump_cpsr(__func__); init_bss(); disable_cpsr_fiq(); disable_cpsr_irq(); enable_cpsr_fiq(); enable_cpsr_irq(); /* request_irq(irq enable_fiq(4); enable_irq(2); */ gen_soft_irq(2); gen_soft_irq(4); dump_cpsr(__func__); }