linux
alex_mianmian
这个作者很懒,什么都没留下…
展开
-
SCP copy data to target machine through proxy
scp -o ProxyCommand="ssh -q proxy_user_name@10.10.xxx.xxx -W %h:%p" your_data.tar target_user_name@10.10.xxx.xxx:/home/your_target_folder/And you will need to input 1) proxy password and 2)target machine password.原创 2022-02-11 17:56:35 · 334 阅读 · 0 评论 -
Change Linux Terminal Title
Add following code to .bashrcfunction title() { if [[ -z "$ORIG" ]]; then ORIG=$PS1 fi TITLE="\[\e]2;$*\a\]" PS1=${ORIG}${TITLE}}And source ~/.bashrcThen open a terminal and run command title:原创 2022-01-29 18:13:12 · 1591 阅读 · 0 评论 -
Dump Stack on Linux User Space
#include <stdio.h>#include <stdlib.h>#include <execinfo.h>int dump_stack(void){ int j, nptrs; void *buffer[16]; char ** strings; nptrs = backtrace(buffer,16); printf("backtrace() returned %d.原创 2022-01-11 20:11:13 · 736 阅读 · 0 评论 -
Linux Kernel Get User Pages
Question:if I malloc a buffer in user space, but I don't read/write it. I just pass the virtual address of this buffer to driver by ioctl. In driver, I am trying to use get_user_pages() to get all the pages of this virtual address. Is there page mapping原创 2022-01-10 21:26:05 · 593 阅读 · 0 评论 -
PCI/PCIe iATU
What is iATU?iATU is internal address translate unit. It translates PCI address to device internal address.For example, you have a PCI/PCIe card, and you have DDR and SoC on the card. And your card has internal address for the SoC devices and DDR.And原创 2021-09-11 17:45:20 · 5446 阅读 · 0 评论 -
How to add IOCTL for platform device
As platform device has no file operations, it can't implement ioctl() API by itself. So platform device need char device or misc device to add ioctl() API.原创 2021-06-16 19:43:58 · 198 阅读 · 0 评论 -
Hide symbol of dynamic library
os_api.c#include <stdio.h>void func_os_api(void){ printf("I am OS API\n");}os_api.h#ifndef __OS_API_H__#define __OS_API_H__extern void func_os_api(void);#endifcall_os_api.c#include <stdio.h>#include "os_api.h"v...原创 2020-08-27 22:24:16 · 147 阅读 · 0 评论 -
open source hypervisor
https://blog.csdn.net/lemin9538/article/details/105453362https://blog.csdn.net/lemin9538/article/details/105061023record good project here firstly, later will study it.原创 2020-07-27 20:23:39 · 159 阅读 · 0 评论 -
Linux I2C notes
I2C has Master and Slave.Master could beSoC I2C controller.Slave could be EEPROM, LCD, Audio Codec.So Linux should provide master driver and slave driver.Master driver: how to send cmd/data to slave deviceSlave driver: how to access slave re...原创 2020-07-13 22:32:46 · 158 阅读 · 0 评论 -
OPTEE notes
1. optee_smccc_hvc() and optee_smccc_smc()During optee_probe(), get_invoke_func() will return one of these two functions based on device tree configure.And this returned invoke_fn will register to optee->invoke_fn for other functions to use.原创 2020-07-10 22:25:05 · 192 阅读 · 0 评论 -
MMU and SMMU (Linux) notes
MMU:1. Each process has a MMU page table--including user space entries and kernel space entries.2. All processes share one global kernel MMU page table--init_mm, all kernel space entries are on it.3. When a new process trap into kernel, page fault ha原创 2020-07-09 21:19:32 · 387 阅读 · 0 评论 -
Linux kernel send signal to user space by fasync
1. application#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <stdio.h>#include <poll.h>#include <signal.h>#include <sys/types.h>#include <unistd.h>#include <fcntl.h>原创 2020-06-10 18:47:47 · 225 阅读 · 0 评论 -
Linux Kernel Send Signal to User Space
Signal is one way that Kenerl can notify User Space application that something happened.Linux Version: Ubuntu 18.04This demo includes:1. kernel module + Makefile2. applicationFirst, it is kernel module -- signal.c/* * sending signal from kern原创 2020-06-01 10:04:00 · 617 阅读 · 0 评论 -
autoconf and automake to create Makefile
autoconf , autoscan, automake, autoheader and aclocal are tools we will use. You can check if you already installed them by command:>which autoxxxxStep 1, mkdir "auto-makefile-test" and enter t...原创 2019-05-08 14:36:31 · 489 阅读 · 0 评论 -
Linux PCI pci_dev 的创建
简单分析linux pci驱动的框架以及pci_dev的创建过程。原创 2015-12-03 12:06:52 · 4105 阅读 · 1 评论 -
在vmware中用kdb调试linux内核和模块
在vmware中用kdb调试linux内核和模块原创 2015-12-18 20:44:27 · 1530 阅读 · 0 评论 -
Linux CPUFreq
abstract of cpufreq原创 2016-06-30 21:34:57 · 510 阅读 · 0 评论 -
Linux CPUidle
1. CPUidle framework provides the capability to sleep to the different low power modes.2. idle thread will call cpu_startup_entry()->cpu_idle_loop()->cpuidle_idle_call() to use cpuidle framework.3原创 2016-07-12 21:32:19 · 790 阅读 · 0 评论 -
How to stop USB autosuspend on ubuntu
For Ubuntu and Debian, usbcore is compiled in the kernel, so create entries on /etc/modprobe.d will NOT work: we need to change the kernel boot parameters.Edit the /etc/default/grub file and change ...原创 2018-11-01 10:21:01 · 1371 阅读 · 0 评论 -
Start python script when ubuntu get boot
If we want to start the python script when ubuntu get boot, we need configure ubuntu boot script.Case 1. use ubuntu profile configure1) create a shell script alex_auto.sh at /etc/profile.d/#!/b...原创 2019-01-04 18:49:40 · 148 阅读 · 0 评论 -
Linux command --- lspci and setpci
1. lspciit reads the information of the pci bus and device.>sudo lspci -vvvwith parameter -vvv , it will show the device configure space and capabilities. For example:Here is a bridge. Firs...原创 2019-01-30 16:14:24 · 5522 阅读 · 0 评论 -
Check pci information on Linux sysfs
As we know, we can get PCI bus , device and driver info from Linux sysfs.PCI bus architecture could be presented as below:CPU -> host bridge(RC)->root PCI bus->slot <-insert-> bridg...原创 2019-03-01 15:36:51 · 439 阅读 · 0 评论 -
ACPI DSDT
DSDT is ACPI device tree, looks like:Device (PC02){ Device (BR2A) { Method (EJ0L, 0, NotSerialized){…} …} Device (BR2B) { Method (EJ0L, 0, NotSerialized){…} …} Device (BR2C) { Method (EJ...原创 2019-03-01 15:55:01 · 1052 阅读 · 0 评论 -
where to download Linux kernel main branch?
>git clone https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git原创 2019-04-22 14:37:56 · 173 阅读 · 0 评论 -
Linux shell script which count the CPU usage
#!/bin/bash##echo user nice system idle iowait irq softirqCPULOG_1=$(cat /proc/stat | grep 'cpu ' | awk '{print $2" "$3" "$4" "$5" "$6" "$7" "$8}')SYS_IDLE_1=$(echo $CPULOG_1 | awk '{print $4}')...原创 2019-04-22 14:46:59 · 123 阅读 · 0 评论 -
Ubuntu text mode boot
Ubuntu text mode boot原创 2015-12-10 13:52:13 · 1103 阅读 · 0 评论