ILD

ARMv8-A Programmer Guide学习笔记1
2018-4-11
Preface2013年,ARM发布了64位ARMv8架构,这是自2007年的ARMv7架构以来,ARM架构的第一次主要改变。Chapter 1 IntroductionARMv8包含32位执行状态和64位执行状态。AArch64用来描述64位执行状态。AArch32用来描述32位执行状态,其基本上

ARMv8-A Programmer Guide学习笔记2 ARMv8寄存器
2018-4-15
Chapter 4 ARMv8 RegistersAArch64执行状态提供31个64位通用寄存器,在所有的异常等级都可以访问。这31个寄存器被称为X0-X31。每个64位寄存器也有32位形式(W0-W30)。32位W寄存器是64位的低半部分。从W寄存器读抛弃了X寄存器的高32位,并且不改变它们。写

ARMv8-A Programmer Guide学习笔记3 A64指令集
2018-4-22
ARM把新的64位指令集叫做A64,运行在AArch64状态。原来的指令集叫做A32和T32,这两种指令集运行在AArch32状态,和ARMv7兼容。ARMv8架构也包含一些32位指令集增强,使用这些特性,将和旧的ARMv7实现不兼容。更多详细的A64汇编语言描述可参考ARM Compiler ar

PPPoE协议学习
2018-4-25
1 PPP协议简介1989年,IETF (Internet Engineering Task Force) 建议PPP标准,1994年成为工作标准。PPP协议被ISP广泛使用。PPP使数据包在点对点链路传输更容易。PPP最开始是为串口连接设计的。PPP被ISP采用,用来实现拨号因特网访问。PPP可以

git internals
2018-4-27
1 Plumbing and Porcelainplumbing commands是那些更底层的命令。porcelain commands是那些用户更友好的命令。在一个新目录执行git init时,Git创建.git目录,几乎所有的信息都包含在.git目录中。123456789101112$ git

packet mmap
2018-5-8
PACKET socket通常用来发送和接收链路层的包。如果没有开启PACKET_MMAP,收发包的处理是非常低效的,一次系统调用只能取得一个包,如果想要知道包的时间戳,需要两次系统调用。相反,PACKET_MMAP非常高效,它提供了一个大小可配置的环形缓存,该缓存映射到用户态,用来发送和接收数据包

packet socket 指定ARP协议的问题
2018-5-9
packet socket指定接收ARP协议,当接口放入桥中时,接收不到ARP数据包。1234567891011struct sockaddr_ll sll;int sock; sock = socket(PF_PACKET, SOCK_RAW, htons(ETH_P_ARP)); memset(

Linux socket filtering
2018-5-9
1 IntroductionLinux Socket Filtering (LSF) 衍生自 Berkeley Packet Filter (BPF).BPF允许用户程序添加一个filter到任何的socket,来允许或拒绝某些类型的数据包通过socket。LSF和BSD的BPF的过滤代码结构相同。

git branching
2018-5-12
有些人将Git的branching模型称为它的杀手锏。上一节Git internals,我们弄懂了Git的内部原理,但是覆盖的不全。不篇继续学习一些内部原理,同时也全面学习相关的命令。Indexindex也叫做暂存区。用来构建commit要提交的内容。当完成一次提交后,index和那次提交保持一致,

git clone
2018-5-13
git clone 将一个仓库克隆到新的目录。语法(只包含常用选项):git clone [-n] [-o ] [-b ] []描述:克隆一个仓库到新创建的文件夹,为本地克隆仓库创建每个branch的remote-trackin

Copyright © linuxdev.cc 2017-2024. Some Rights Reserved.