nckernel  0.1
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Functions
isr.c File Reference
#include <sys/types.h>
#include <stdio.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <stddef.h>
#include <pthread.h>
#include <assert.h>
#include <unistd.h>
#include <object.h>
#include <list.h>
#include <thread.h>
#include <interrupt.h>
#include <isr.h>
#include <arch.h>
#include <x86_util.h>
#include <segment.h>
#include <paging.h>
#include <x86.h>
#include <debug.h>
Include dependency graph for isr.c:

Go to the source code of this file.

Data Structures

struct  irq_handler
 
struct  list
 

Functions

asmlinkage struct pt_regsdo_irq (struct pt_regs *reg)
 
int register_irq (int idx, int priority, int(*handler)(int, void *, void *), void *data)
 인터럽트 핸들러를 등록한다. More...
 
int unregister_irq (int idx, int(*handler)(int, void *, void *), void *data)
 등록된 인터럽트 핸들러를 제거한다. More...
 

Function Documentation

asmlinkage struct pt_regs* do_irq ( struct pt_regs reg)
Note
인터럽트 정보를 지역 변수로 복사한다. 소프트웨어 인터럽트 인 경우에만, 인터럽트 정보가 유효하며 그 외 (키보드, 타이머 등) 인 경우에는 irq = -1, argc = 0, argv = NULL 이 된다.

Definition at line 264 of file isr.c.

References irq_handler::data, dbg_printf(), thread::esp, halt(), irq_handler::handler, irq_handler::head, list::idx, intr_info::irq, pt_regs::irq, list::list, list_entry, list_for_each, NULL, pthread_self(), and intr_info::ret.

Here is the call graph for this function: