Files
mckernel/kernel/mikc.c
2011-10-13 11:49:15 +09:00

35 lines
848 B
C

#include <kmsg.h>
#include <aal/cpu.h>
#include <aal/debug.h>
#include <aal/ikc.h>
#include <ikc/msg.h>
static struct aal_ikc_channel_desc mchannel;
static int arch_master_channel_packet_handler(struct aal_ikc_channel_desc *,
void *__packet, void *arg);
void ikc_master_init(void)
{
aal_mc_ikc_init_first(&mchannel, arch_master_channel_packet_handler);
kprintf("done.\n");
}
static int arch_master_channel_packet_handler(struct aal_ikc_channel_desc *c,
void *__packet, void *arg)
{
struct aal_ikc_master_packet *packet = __packet;
/* Do something */
kprintf("Packet = %p\n", packet);
kprintf("Master packet! : %x\n", packet->msg);
switch (packet->msg) {
case MASTER_PACKET_INIT_ACK:
aal_ikc_send(&mchannel, packet, 0);
break;
}
return 0;
}