2014년 12월 27일 토요일

[Linux Kernel] 84주차(2014.12.27)

ARM10C 84주차 후기

일시 : 2014.12.27 (84주차)
모임명 : NAVER개발자커뮤니티지원_IAMROOT.ORG_10차ARM-C
장소 : 토즈 타워점
장소지원 : NAVER 개발자 커뮤니티 지원 프로그램
참여인원 : 3명

84주차 진도

  • start_kernel()->init_IRQ()->irqchip_init()->of_irq_init()->combiner_init()
  • IRQ 설정과 동작과정을 알아봅니다.
  • spsr_irq , r0, 일반 모드 비법
  • Note movs: 명령을 PC에 사용할 때.ARM의 모드를 변경
  • Exception retrun)
  • SPSR_irq에 저장된 값을 CPSR로 로드함.
__irq_svc:
    svc_entry
  • .fnstart 함수의 시작.
  • (.save {r0 - pc})
    • Generate Unwinder
    • stack에 R0~PC까지저장.
    sub sp, sp, #(S_FRAME_SIZE + \stack_hole - 4)
  • S_FRAME_SIZE: 72, stack_hole: 0

log

  • 1st log
   1342489..78084c4  master     -> origin/master
Updating 1342489..78084c4
Fast-forward
"Reference/Cortex\342\204\242-A_Series_Programmer_Guide.pdf" | Bin 0 -> 4235851 bytes
arch/arm/include/asm/unified.h                               |   4 +++-
arch/arm/include/uapi/asm/ptrace.h                           |   6 +++++-
arch/arm/kernel/entry-armv.S                                 |  79 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
arch/arm/kernel/setup.c                                      |   3 +++
5 files changed, 88 insertions(+), 4 deletions(-)
create mode 100644 "Reference/Cortex\342\204\242-A_Series_Programmer_Guide.pdf"
  • 2nd log
   78084c4..ca77f3b  master     -> origin/master
Updating 78084c4..ca77f3b
Fast-forward
arch/arm/include/asm/ptrace.h   |  1 +
arch/arm/include/asm/unified.h  |  3 +-
arch/arm/kernel/asm-offsets.c   |  4 ++
arch/arm/kernel/entry-armv.S    | 96 ++++++++++++++++++++++++++++++++++++++---
arch/arm/kernel/irq.c           |  8 ++++
drivers/irqchip/irq-gic.c       | 26 +++++++++++
include/asm-generic/current.h   |  1 +
include/asm-generic/irq_regs.h  | 11 +++++
include/asm-generic/preempt.h   |  6 +++
include/linux/compiler-gcc.h    |  1 +
include/linux/irqchip/arm-gic.h |  2 +
include/linux/irqflags.h        |  1 +
include/linux/preempt.h         |  1 +
include/linux/preempt_mask.h    |  8 ++++
include/linux/sched.h           |  4 ++
include/linux/smp.h             |  1 +
include/trace/events/rcu.h      |  1 +
kernel/irq/irqdomain.c          |  2 +
kernel/rcu/tree.c               | 25 ++++++++++-
kernel/rcu/tree.h               |  5 ++-
kernel/rcu/tree_plugin.h        |  1 +
kernel/sched/core.c             |  7 +++
kernel/softirq.c                | 28 +++++++++++-
23 files changed, 231 insertions(+), 12 deletions(-)

댓글 없음:

댓글 쓰기