- 博客(22)
- 资源 (10)
- 收藏
- 关注
原创 QEMU-KVM中关键的入口代码以及意义(不断更新中)
kvm_arch_vcpu_ioctl_run:运行虚拟机kvm_queue_exception: 向VM中注入EXCEPTION
2015-10-08 17:27:03 1551
原创 VIM操作列表
Vim cheatsheet from He. Vim常用操作总结 KeyActionuundoctrl + rredoD删除到行尾dt + char(delete till)删除当前光标到指
2015-10-30 21:56:55 1030
转载 最佳vim技巧
最佳vim技巧----------------------------------------# 信息来源----------------------------------------www.vim.org : 官方站点comp.editors : 新闻组http://www.newriders.com/books/opl/ebooks/07
2015-10-30 21:47:33 5873
原创 How to debug kernel with QEMU-KVM
Step 1: Configure Guestkernel Make sure your "CONFIG_DEBUG_INFO" and"CONFIG_FRAME_POINTER" is select as "Y"Example:Kernel hacking --->Compile-time checks and compiler options --->[*] Co
2015-10-30 17:09:17 2256
原创 How to debug QEMU
STEP 1: add a gloabcontrol variable before main in vl.c. we will stop on main() if the controlvariable is zero int g_stop_here = 1;int main(int argc, char **argv, char **envp){ ......
2015-10-30 17:08:07 3003 3
转载 简明 Vim 练级攻略
vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的。下面的文章翻译自《Learn Vim Progressively》,我觉得这是给新手最好的VIM的升级教程了,没有列举所有的命令,只是列举了那些最有用的命令。非常不错。——————————正文开始——————————你想以最快的速度学习人类
2015-10-26 14:16:37 494
原创 VIM 开发环境
VIM 配置git clone https://github.com/fancyseeker/my_vim.gitmv my_vim /home/liufeng/.vimln -s ~/.vim/.vimrc ~/.vimrc下载插件配置git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vun...
2015-10-24 22:26:04 655
原创 KERNEL中MCE处理流程(一) - 关于PR_MCE_KILL_EARLY的处理 (基于Kernel 4.3-rc3)
首先感谢Intel的陈功给予的指导,在其帮助下才梳理里了PR_MCE_KILL_EARLY 的相关流程。这里写的比较粗,是主要流程,主要针对于如何选出要发送SIGBUS的任务的流程,其他的细节以后博客慢慢挖1. 背景描述先讲一下背景,在MCE的处理中,分为SRAO和SRAR两种。对应SRAR来说处理是紧急的,必须要current的上下文完成MCE的纠正处理;但对于SRAO来说,可以
2015-10-20 13:57:52 2968 3
原创 Linux内核进程和线程组织模型 (基于Kernel 4.3-rc3)
在linux内核代码里面,看到有for_each_process()和for_each_process_thread()两个函数,不太明白怎么回事,就做了个代码实验1. 验证代码/****************************************************************** Copyright (C) 2015 Intel Technol
2015-10-20 13:48:49 1744
转载 prctl系统函数
Linux下进程重命名的方法:使用系统函数prctl(),声明如下:#include int prctl(int option, unsigned long arg2, unsigned long arg3, unsigned long arg4, unsigned long arg5);进程重命名代码:prctl(PR_SET_NAME, “process
2015-10-19 14:48:58 5615 1
原创 多线程编程信号处理顺序
线程可以使用sigwait来对信号进行处理。但是如果主线程中已经用sig_handler注册了处理函数,子线程里同时也用sigwait来处理信号,那么谁会先处理呢?APUE上只是写了一下依赖于操作系统,这里我们来做实验,看看linux中哪个会处理。#include #include #include #include #include #include #include
2015-10-19 13:55:46 1317
转载 信号--sigpending函数
信号--sigpending函数sigpending函数返回被阻塞而为调用进程待定的信号。信号集通过set参数返回。#include signal.h>int sigpending(sigset_t *set);成功返回0,错误返回-1下面的代码展示了我们描述过的所有信号的特性。
2015-10-16 13:43:07 1493
原创 如何设置Outlook按照开源社区的方式进行回复
#1Open Outlook Options#2 Select "Mail"#3 Go "Replies and forwards"#4 Set"When replying to a message: Prefix each line of the originalmessage"#5 Set"Preface each line in a plain-test
2015-10-16 10:42:18 789
原创 如何调试QEMU
我总结了一个非常简单的办法,希望对大家有帮助。由于是给老外回的,所以写成了英文STEP 1: add a gloab control variable before main in vl.c. we will stop on main() if the control variable is zeroint g_stop_here = 1;int main(int argc
2015-10-16 10:08:31 3257
原创 QEMU 中关于CPU初始化的重要函数调用栈
QEMU的版本是v2.4.0.1之后的Breakpoint 1, x86_cpu_realizefn (dev=0x55c743a33e70, errp=0x7ffef5886bb0) at /home/mce/workspace/git/qemu/qemu/target-i386/cpu.c:28212821 {(gdb) bt#0 x86_cpu_realizefn
2015-10-15 17:14:04 2002
转载 关于BIOS的入口地址0xFFFF0
一直都说开机加电之后,将CS设置为0xFFFF,IP设置为0x0000,这样组成的地址就是0xFFFF0,而这个就是BIOS的入口地址,之后CPU读取这个地址的代码,然后就巴拉巴拉的开始执行下去了。现在想知道这个地址0xFFFF0是在主板上呢,还是在内存上。想着如果是统一编址的话,就可能是去读取主板上的ROM,但是看书上的图,有像是在RAM中,如果是在 内存 中,那是什么时候,由哪段程序将
2015-10-15 15:53:37 1083
原创 QEMU中通过GPA得到对应HVA的方法
直接上代码int kvm_get_host_virtual_addr(uint64_t paddr, uint64_t *vaddr){ int slot_num = ARRAY_SIZE(kvm_state->slots); int i; for (i = 0; i < slot_num; i++) { KVMSlot *mem =
2015-10-10 15:07:22 2560
原创 如何使用git工作(更新中)
git clone https://github.com/torvalds/linux.git 下载内核代码git remote -v: 查看代码源地址git tag: 查看包括的版本git branch: 查看在哪个branch上git checkout -b linux-v4.3-rc1 v4.3-rc1 :切换代码为v4.3-rc1, 并建立linux-v4.3-rc1分
2015-10-10 13:52:59 544
原创 查看服务器CPU信息工具脚本
从一本书上学到的,查看服务器CPU信息的工具#!/bin/bash#file: cpu-info.sh#this script only works in a Linux system which has one or more identical physical CPU(s)echo -n "logical CPU number in total:"#逻辑CPU个数ca
2015-10-08 14:00:57 687
转载 grep -q用于if逻辑判断
grep -q用于if逻辑判断 突然发现grep -q 用于if 逻辑判断很好用。 -q 参数,本意是 Quiet; do not write anything to standard output. Exit immediately with zero status if any match is found, even if an error was detected.
2015-10-08 13:49:16 5525
转载 缓存着色技术(Cache Coloring)
这篇将Cache着色的挺清楚的,将cache原理也将明白了,转载一下现代的cache设计大都采用set-association方式,即提高利用率又节省硬件。color只能提高这种cache的使用率。如果采用full-association则color没有用处。 而direct-mapped cache是set-association cache的一种特殊情况而已。简单说
2015-10-01 16:15:40 2946
转载 Cache工作原理
今天上网学习cache,看到一篇讲述CACHE的文章,非常棒,将组相连,WB,WT的概念将的很清楚。这里分享出来,一起参考成长注意这里是2^m, 2^n和2^p,每个主存的页面数:2^n/2^p = 2(n-p),也就是需要n-p位同样注意这里的2m-p是2^(m-p)通过这里的描述就明白了什么是4/8
2015-10-01 15:25:34 1524
深入Linux内核架构(中文版)-超高清-由Word转pdf而成
2017-05-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人