본문 바로가기

분류 전체보기

(508)
[patch] Sample code to fix crash when unloading drivers diff --git a/sound/soc/codecs/wcd-kdt_sample-v2.c b/sound/soc/codecs/wcd-kdt_sample-v2.c index dba66e5..22b38ec 100644 --- a/sound/soc/codecs/wcd-kdt_sample-v2.c +++ b/sound/soc/codecs/wcd-kdt_sample-v2.c @@ -2484,9 +2484,6 @@ { struct snd_soc_codec *codec = kdt_sample->codec; -#ifdef CONFIG_KDT_RPI_SAMPLE - switch_dev_unregister(&kdt_sample->sdev); -#endif //CONFIG_KDT_RPI_SAMPLE kdt_sample->kd..
RISC-V ISA-interpreter Below link is pretty good. https://www.cs.cornell.edu/courses/cs3410/2019sp/riscv/interpreter/# RISC-V Interpreter Credit to Danny Qiu for the creation of the original MIPS interpreter. www.cs.cornell.edu
[Linux kernel] workqueue - flush_to_ldisc drivers/tty/tty_buffer.c static void flush_to_ldisc(struct work_struct *work) { struct tty_port *port = container_of(work, struct tty_port, buf.work); struct tty_bufhead *buf = &port->buf; mutex_lock(&buf->lock); // check point to get dump
[RISC-V] system call return (s mode -> u mode) Code walkthrough MP:FFFFFFFF800030B8|ret_from_exception: c.ldsp x8,0x100(x2) ; x8,256(x2) MP:FFFFFFFF800030BA| csrci sstatus,0x2 ; sstatus,2 MP:FFFFFFFF800030BE| andi x8,x8,0x100 ; x8,x8,256 MP:FFFFFFFF800030C2| c.bnez x8,0xFFFFFFFF800030D8 ; x8,restore_all MP:FFFFFFFF800030C4|resume_userspace: ld x8,0x0(x4) ; x8,0(x4) MP:FFFFFFFF800030C8| andi x9,x8,0x60E ; x9,x8,1550 MP:FFFFFFFF800030CC| c.bne..
[RISC-V]: Interrupt handling - code walkthrough https://elixir.bootlin.com/linux/v6.8-rc1/source/arch/riscv/kernel/entry.S SYM_CODE_START(handle_exception) /* * If coming from userspace, preserve the user thread pointer and load * the kernel thread pointer. If we came from the kernel, the scratch * register will contain 0, and we should continue on the current TP. */ csrrw tp, CSR_SCRATCH, tp bnez tp, .Lsave_context ... /* * MSB of cause diff..
[RISC-V]: Interrupt handling workflow in Linux kernel Interrupt handling routines are architecture-dependent. The way interrupts are managed and processed can vary significantly between different computer architectures. Interrupt handling routines can be different between RISC-V and Armv8. Understanding interrupt handling routines is crucial when dealing with real-time operating systems (RTOS) and the Linux kernel. Since RTOS and Linux kernel rely ..
[crash-utility] How to pull and build crash-utility with ARM64 option 1. Please install utility to run crash-utility   $ sudo apt-get install texinfo git build-essential bison zlib1g-dev libncurses5-dev libncursesw5-dev  pkg-config flex swig -y 2. Pull crash-utility source code with below command. $ git clone https://github.com/crash-utility/crash.git3. Build crash-utility Source code  $ cd crash $ make target=ARM64 -j3 (Warninig) You may see error messages compil..
[Arm프로세서] GIC: 인터럽트 소스와 타입 효율적으로 인터럽트를 설정 및 처리하기 위해 GIC를 사용하는데, GIC의 가장 중요한 기능은 다음과 같이 요약할 수 있습니다.  인터럽트의 우선순위를 각 I/O 장치에 적용해 설정  입력으로 받은 인터럽트를 CPU에 전달 GIC는 인터럽트 컨트롤러이므로 GIC의 주된 기능은 다른 인터럽트 컨트롤러와 다르지 않습니다. 다른 인터럽트 컨트롤러와 다른 점은 GIC는 인터럽트를 4가지 종류로 분류해 관리한다는 점입니다. 이어서 GIC에서 정의된 4가지 인터럽트 소스를 소개하고 인터럽트 상태 머신을 설명합니다.  GIC는 4가지 타입의 인터럽트 소스를 처리하며 다음 표에서 종류를 확인할 수 있습니다.표 10.2 GIC를 구성하는 인터럽트 소스의 종류  이처럼 GIC는 페리페럴에서 전달된 4가지 인터럽트 입력..