本文整理汇总了C++中cons_init函数的典型用法代码示例。如果您正苦于以下问题:C++ cons_init函数的具体用法?C++ cons_init怎么用?C++ cons_init使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了cons_init函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: i386_init
void
i386_init(void)
{
extern char edata[], end[];
// Before doing anything else, complete the ELF loading process.
// Clear the uninitialized global data (BSS) section of our program.
// This ensures that all static/global variables start out zero.
memset(edata, 0, end - edata);
// Initialize the console.
// Can't call cprintf until after we do this!
cons_init();
cprintf("6828 decimal is %o octal!\n", 6828);
// Lab 2 memory management initialization functions
i386_detect_memory();
i386_vm_init();
page_init();
page_check();
// Lab 3 user environment initialization functions
env_init();
idt_init();
// Lab 4 multitasking initialization functions
pic_init();
kclock_init();
// Should always have an idle process as first one.
ENV_CREATE(user_idle);
// Start fs.
ENV_CREATE(fs_fs);
ENV_CREATE(user_icode);
#if defined(TEST)
// Don't touch -- used by grading script!
ENV_CREATE2(TEST, TESTSIZE)
#else
// Touch all you want.
// ENV_CREATE(user_icode);
// ENV_CREATE(user_pipereadeof);
// ENV_CREATE(user_pipewriteeof);
// ENV_CREATE(user_testpipe);
// ENV_CREATE(user_primespipe);
// ENV_CREATE(user_testpiperace);
// ENV_CREATE(user_testpiperace2);
// ENV_CREATE(user_testfdsharing);
#endif // TEST*
// Should not be necessary - drain keyboard because interrupt has given up.
kbd_intr();
// Schedule and run the first user environment!
sched_yield();
}
开发者ID:sunrenjie,项目名称:jos,代码行数:60,代码来源:init.c
示例2: uart_init
void uart_init(uint8_t uart, __unused uint8_t interrupts)
{
/* no interrupts, only polling so far */
uart_reg_write(uart, IER, 0x00);
if (uart == CONS_UART_NR) {
cons_init();
} else {
sercomm_init();
uart_irq_enable(uart, UART_IRQ_RX_CHAR, 1);
}
uart_reg_write(uart, AUTOBAUD_EN, 0x00); /* disable AUTOBAUD */
uart_reg_write(uart, EFR, 0x10); /* Enhanced Features Register */
/* no XON/XOFF flow control, ENHANCED_EN, no auto-RTS/CTS */
uart_reg_write(uart, EFR, (1 << 4));
/* enable Tx/Rx FIFO, Tx trigger at 56 spaces, Rx trigger at 60 chars */
//FIXME check those FIFO settings
uart_reg_write(uart, IIR, FIFO_EN | RX_FIFO_CLEAR | TX_FIFO_CLEAR |
(3 << TX_FIFO_TRIG_SHIFT) | (1 << RX_FIFO_TRIG_SHIFT));
/* RBR interrupt only when TX FIFO and TX shift register are empty */
uart_reg_write(uart, SCR, (1 << 0));// | (1 << 3));
/* 8 bit, 1 stop bit, no parity, no break */
uart_reg_write(uart, LCR, 0x03);
uart_set_lcr7bit(uart, 0);
}
开发者ID:0x7678,项目名称:Typhon-imsiCatcher-Catcher,代码行数:30,代码来源:uart.c
示例3: i386_init
void
i386_init(void)
{
extern char edata[], end[];
extern const uint32_t sctors[], ectors[];
const uint32_t *ctorva;
// Initialize the console.
// Can't call cprintf until after we do this!
cons_init();
// Then call any global constructors.
// This relies on linker script magic to define the 'sctors' and
// 'ectors' symbols; see kern/kernel.ld.
// Call after cons_init() so we can cprintf() if necessary.
for (ctorva = ectors; ctorva > sctors; )
((void(*)()) *--ctorva)();
cprintf("6828 decimal is %o octal!\n", 6828);
// Lab 2 memory management initialization functions
mem_init();
// Lab 2 interrupt and gate descriptor initialization functions
idt_init();
// Test IDT (lab 2 only)
__asm__ __volatile__("int3");
cprintf("Breakpoint succeeded!\n");
// Drop into the kernel monitor.
while (1)
monitor(NULL);
}
开发者ID:ArmUSER,项目名称:Lab2,代码行数:34,代码来源:init.c
示例4: i386_init
void
i386_init(void)
{
extern char edata[], end[];
// Before doing anything else, complete the ELF loading process.
// Clear the uninitialized global data (BSS) section of our program.
// This ensures that all static/global variables start out zero.
memset(edata, 0, end - edata);
// Initialize the console.
// Can't call cprintf until after we do this!
cons_init();
cprintf("6828 decimal is %o octal!\n", 6828);
// Lab 2 memory management initialization functions
mem_init();
// Lab 3 user environment initialization functions
env_init();
trap_init();
#if defined(TEST)
// Don't touch -- used by grading script!
ENV_CREATE(TEST, ENV_TYPE_USER);
#else
// Touch all you want.
ENV_CREATE(user_hello, ENV_TYPE_USER);
#endif // TEST*
// We only have one user environment for now, so just run it.
env_run(&envs[0]);
}
开发者ID:nvsskchaitanya,项目名称:jos,代码行数:34,代码来源:init.c
示例5: i386_init
void
i386_init(void)
{
extern char edata[], end[];
// Before doing anything else, complete the ELF loading process.
// Clear the uninitialized global data (BSS) section of our program.
// This ensures that all static/global variables start out zero.
memset(edata, 0, end - edata);
// Initialize the console.
// Can't call cprintf until after we do this!
cons_init();
cprintf("6828 decimal is %o octal!\n", 6828);
// Lab 2 memory management initialization functions
i386_detect_memory();
i386_vm_init();
page_init();
page_check();
// Drop into the kernel monitor.
while (1)
monitor(NULL);
}
开发者ID:Argons,项目名称:MIT-JOS,代码行数:32,代码来源:init.c
示例6: kern_init
int
kern_init(void) {
extern char edata[], end[];
memset(edata, 0, end - edata);
cons_init(); // init the console
const char *message = "(THU.CST) os is loading ...";
kprintf ("%s\n\n", message);
/* Only to initialize lcpu_count. */
mp_init ();
pmm_init(); // init physical memory management
pmm_init_ap ();
pic_init(); // init interrupt controller
vmm_init(); // init virtual memory management
sched_init(); // init scheduler
proc_init(); // init process table
sync_init(); // init sync struct
ide_init(); // init ide devices
swap_init(); // init swap
fs_init(); // init fs
clock_init(); // init clock interrupt
intr_enable(); // enable irq interrupt
cpu_idle(); // run idle process
}
开发者ID:PungiZhang,项目名称:ucore_plus-next,代码行数:32,代码来源:init.c
示例7: i386_init
void
i386_init(void)
{
extern char edata[], end[];
// Lab1 only
char chnum1 = 0, chnum2 = 0, ntest[256] = {};
// Before doing anything else, complete the ELF loading process.
// Clear the uninitialized global data (BSS) section of our program.
// This ensures that all static/global variables start out zero.
memset(edata, 0, end - edata);
// Initialize the console.
// Can't call cprintf until after we do this!
cons_init();
cprintf("6828 decimal is %o octal!%n\n%n", 6828, &chnum1, &chnum2);
cprintf("pading space in the right to number 22: %-8d.\n", 22);
cprintf("chnum1: %d chnum2: %d\n", chnum1, chnum2);
cprintf("%n", NULL);
memset(ntest, 0xd, sizeof(ntest) - 1);
cprintf("%s%n", ntest, &chnum1);
cprintf("chnum1: %d\n", chnum1);
cprintf("show me the sign: %+d, %+d\n", 1024, -1024);
// Lab 2 memory management initialization functions
mem_init();
// Drop into the kernel monitor.
while (1)
monitor(NULL);
}
开发者ID:binghe2001021,项目名称:joslabs,代码行数:33,代码来源:init.c
示例8: handle_keypress
static void handle_keypress(char c)
{
amr_t handler = c == 'G' ? __run_mon : __cons_add_char;
send_kernel_message(core_id(), handler, (long)&cons_buf, (long)c, 0,
KMSG_ROUTINE);
cons_init();
}
开发者ID:alfongj,项目名称:akaros,代码行数:7,代码来源:trap.c
示例9: i386_init
void
i386_init(void)
{
extern char edata[], end[];
// Before doing anything else, complete the ELF loading process.
// Clear the uninitialized global data (BSS) section of our program.
// This ensures that all static/global variables start out zero.
memset(edata, 0, end - edata);
// Initialize the console.
// Can't call cprintf until after we do this!
cons_init();
// int x = 1, y = 3, z = 4;
// cprintf("x %d, y %x, z %d\n", x, y, z);
// unsigned int i = 0x00646c72;
// cprintf("H%x Wo%s\n", 57616, &i);
// cprintf("x=%d y=%d", 3, 4);
// cprintf("x=%d y=%d", 3);
cprintf("6828 decimal is %o octal!\n", 6828);
// Lab 2 memory management initialization functions
mem_init();
// Drop into the kernel monitor.
while (1)
monitor(NULL);
}
开发者ID:Lcch,项目名称:OperatingSystem-JOS,代码行数:32,代码来源:init.c
示例10: main
int main(void){
cli();
cons_init();
mm_init();
trap_init();
god_init();
}
开发者ID:SkyPrayerStudio,项目名称:none,代码行数:7,代码来源:main.c
示例11: main
int main( int argc, char* argv[] )
{
FILE* f = stdout;
if ( argc == 2 )
{ f = fopen(argv[1], "r");
if( f==NULL || ferror(f) )
{ printf("File didnt open or something.\n"); return -1;}
}
if ( argc > 2 )
{ printf("Note: anything more then first argument is ignored."); }
cons_init(1024);
printf( "Initiated.\n" );
printf("File %s opened.\n", argv[1]);
printf("Reading file.\n");
Obj obj=// read_obj(f);
Obj_Cons(read_cons(f));
printf("Printing next.\n");
Obj_print(obj, printing_print,NULL);
printf("\nClean up.\n");
Obj_exit(obj);
printf("\nClosing file, de-initiating.\n");
if( argc==2 ){ fclose(f); }
cons_exit();
}
开发者ID:o-jasper,项目名称:Various,代码行数:29,代码来源:cons_test.c
示例12: main
/**
* The entry.
*/
int main(int argc, char *argv[], char *envp[])
{
if (ginfo->status == STATUS_DEBUG)
raise(SIGTRAP);
cons_init();
const char *message = "(THU.CST) os is loading ...";
kprintf("%s\n\n", message);
intr_init();
ide_init();
host_signal_init();
/* Only to initialize lcpu_count. */
mp_init();
pmm_init();
pmm_init_ap();
vmm_init();
sched_init();
proc_init();
swap_init();
fs_init();
sync_init();
umclock_init();
cpu_idle();
host_exit(SIGINT);
return 0;
}
开发者ID:argsno,项目名称:ucore_os_plus,代码行数:38,代码来源:main.c
示例13: kern_init
int __noreturn
kern_init(void) {
extern char edata[], end[];
memset(edata, 0, end - edata);
cons_init(); // init the console
const char *message = "(THU.CST) os is loading ...";
cprintf("%s\n\n", message);
print_kerninfo();
pmm_init(); // init physical memory management
pic_init(); // init interrupt controller
idt_init(); // init interrupt descriptor table
vmm_init(); // init virtual memory management
sched_init(); // init scheduler
proc_init(); // init process table
sync_init(); // init sync struct
ide_init(); // init ide devices
swap_init(); // init swap
fs_init(); // init fs
clock_init(); // init clock interrupt
intr_enable(); // enable irq interrupt
cpu_idle(); // run idle process
}
开发者ID:spinlock,项目名称:ucore,代码行数:31,代码来源:init.c
示例14: i386_init
void i386_init(void)
{
extern char edata[], end[];
/* before doing anything else, complete the ELF loading process;
clear the uninitialized global data (BSS) section of our program;
this ensures that all static/global variables start out zero */
memset(edata, 0, end - edata);
/* initialize the console; can't call cprintf until after we do this */
cons_init();
cprintf("\n*** Welcome to Jake, The Java Kernel! ***");
cprintf("\nCopyright (C) 2011. Enterprise Java Systems.\n\n");
/* test the stack backtrace function */
test_backtrace(5);
/* memory setup */
i386_detect_memory();
i386_vm_init();
/* drop into the kernel monitor */
while (1)
monitor(NULL);
}
开发者ID:cjeong,项目名称:jake,代码行数:26,代码来源:init.c
示例15: i386_init
void i386_init(void)
{
extern char edata[], end[];
// Before doing anything else, complete the ELF loading process.
// Clear the uninitialized global data (BSS) section of our program.
// This ensures that all static/global variables start out zero.
memset(edata, 0, end - edata);
// Initialize the console.
// Can't call cprintf until after we do this!
cons_init();
cprintf("6828 decimal is %o octal!\n", 6828);
//check page_alloc() this is a test,not my code
check_page_alloc();
// Test the stack backtrace function (lab 1 only)
test_backtrace(5);
// Drop into the kernel monitor.
while (1)
monitor(NULL);
}
开发者ID:zhuyunchuan,项目名称:mit6.828,代码行数:29,代码来源:init.c
示例16: kern_init
int
kern_init(void) {
extern char edata[], end[];
memset(edata, 0, end - edata);
cons_init(); // init the console
const char *message = "(THU.CST) os is loading ...";
cprintf("%s\n\n", message);
print_kerninfo();
grade_backtrace();
pic_init(); // init interrupt controller
idt_init(); // init interrupt descriptor table
pmm_init(); // init physical memory management
vmm_init(); // init virtual memory management
sched_init(); // init scheduler
proc_init(); // init process table
swap_init(); // init swap
fs_init(); // init fs
clock_init(); // init clock interrupt
intr_enable(); // enable irq interrupt
//LAB1: CAHLLENGE 1 If you try to do it, uncomment lab1_switch_test()
// user/kernel mode switch test
//lab1_switch_test();
cpu_idle(); // run idle process
}
开发者ID:wwffcc,项目名称:ThuMips32,代码行数:35,代码来源:init.c
示例17: i386_init
void
i386_init(void)
{
extern char edata[], end[];
// Before doing anything else, complete the ELF loading process.
// Clear the uninitialized global data (BSS) section of our program.
// This ensures that all static/global variables start out zero.
memset(edata, 0, end - edata);
// Initialize the console.
// Can't call cprintf until after we do this!
cons_init();
cprintf("6828 decimal is %o octal!\n", 6828);
// Lab 2 memory management initialization functions
i386_detect_memory();
i386_vm_init();
// Lab 3 user environment initialization functions
env_init();
idt_init();
// Lab 4 multitasking initialization functions
pic_init();
kclock_init();
time_init();
pci_init();
// Should always have an idle process as first one.
ENV_CREATE(user_idle);
// Start fs.
ENV_CREATE(fs_fs);
#if !defined(TEST_NO_NS)
// Start ns.
ENV_CREATE(net_ns);
#endif
#if defined(TEST)
// Don't touch -- used by grading script!
ENV_CREATE2(TEST, TESTSIZE);
#else
// Touch all you want.
// ENV_CREATE(net_testoutput);
// ENV_CREATE(user_echosrv);
// ENV_CREATE(user_httpd);
// ENV_CREATE(user_writemotd);
// ENV_CREATE(user_testfile);
ENV_CREATE(user_icode);
// ENV_CREATE(user_primes);
#endif // TEST*
// Schedule and run the first user environment!
sched_yield();
}
开发者ID:mcorley,项目名称:jos,代码行数:59,代码来源:init.c
示例18: i386_init
void
i386_init(void)
{
extern char edata[], end[];
// Before doing anything else, complete the ELF loading process.
// Clear the uninitialized global data (BSS) section of our program.
// This ensures that all static/global variables start out zero.
memset(edata, 0, end - edata);
// Initialize the console.
// Can't call cprintf until after we do this!
cons_init();
cprintf("6828 decimal is %o octal!\n", 6828);
// Lab 2 memory management initialization functions
mem_init();
// Lab 3 user environment initialization functions
env_init();
trap_init();
// Lab 4 multiprocessor initialization functions
mp_init();
lapic_init();
// Lab 4 multitasking initialization functions
pic_init();
// Acquire the big kernel lock before waking up APs
// Your code here:
lock_kernel();
// Starting non-boot CPUs
boot_aps();
// Start fs.
ENV_CREATE(fs_fs, ENV_TYPE_FS);
#if defined(TEST)
// Don't touch -- used by grading script!
ENV_CREATE(TEST, ENV_TYPE_USER);
#else
// Touch all you want.
//<<<<<<< HEAD
ENV_CREATE(user_icode, ENV_TYPE_USER);
//=======
// ENV_CREATE(user_dumbfork, ENV_TYPE_USER);
//>>>>>>> lab4
#endif // TEST*
// Should not be necessary - drains keyboard because interrupt has given up.
kbd_intr();
// Schedule and run the first user environment!
sched_yield();
}
开发者ID:liuxu1005,项目名称:Operating-System-Engineering,代码行数:59,代码来源:init.c
示例19: main
int main(void){
cli();
cons_init();
printk("Welcome to NONE.\nVersion : "KERNEL_VERSION"\n");
mem_init();
trap_init();
god_init();
}
开发者ID:Fluray,项目名称:none,代码行数:8,代码来源:main.c
示例20: nullcninit
/*
* null console initialization. This includes allocation of a new device and
* a new tty.
*/
void
nullcninit(struct consdev *cn)
{
static struct consdev nullcn = cons_init(null);
nullcnprobe(&nullcn);
cn_tab = &nullcn;
}
开发者ID:ryo,项目名称:netbsd-src,代码行数:12,代码来源:nullcons_subr.c
注:本文中的cons_init函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论