POK(kernelpart)
/home/jaouen/pok_official/pok/trunk/kernel/arch/x86/x86-qemu/bsp.c
Go to the documentation of this file.
00001 /*
00002  *                               POK header
00003  * 
00004  * The following file is a part of the POK project. Any modification should
00005  * made according to the POK licence. You CANNOT use this file or a part of
00006  * this file is this part of a file for your own project
00007  *
00008  * For more information on the POK licence, please see our LICENCE FILE
00009  *
00010  * Please follow the coding guidelines described in doc/CODING_GUIDELINES
00011  *
00012  *                                      Copyright (c) 2007-2009 POK team 
00013  *
00014  * Created by julien on Thu Jan 15 23:34:13 2009 
00015  */
00016 
00017 
00018 #include <errno.h>
00019 #include <arch.h>
00020 
00021 #include "cons.h"
00022 #include "pm.h"
00023 #include "pit.h"
00024 #include "pic.h"
00025 
00026 pok_ret_t pok_bsp_init (void)
00027 {
00028    pok_cons_init ();
00029    pok_pm_init ();
00030    pok_pic_init ();
00031 
00032    return (POK_ERRNO_OK);
00033 }
00034 
00035 pok_ret_t pok_bsp_irq_acknowledge (uint8_t irq)
00036 {
00037    pok_pic_eoi (irq);
00038 
00039    return (POK_ERRNO_OK);
00040 }
00041 
00042 pok_ret_t pok_bsp_irq_register (uint8_t   irq,
00043                                 void      (*handler)(void))
00044 {
00045    pok_pic_unmask (irq);
00046 
00047    pok_arch_event_register (32 + irq, handler);
00048 
00049    return (POK_ERRNO_OK);
00050 }
00051 
00058 void *pok_bsp_mem_alloc (size_t size)
00059 {
00060    return ((void *)pok_pm_sbrk(size));
00061 }
00062 
00067 pok_ret_t pok_bsp_time_init ()
00068 {
00069    return (pok_x86_qemu_timer_init ());
00070 }
00071