腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
视频
沙龙
2
回答
内存读/写操作中出现总线错误
、
、
、
、
我写了一个用于内存读写操作的内核程序。 #include<linux/kernel.h> #include<linux/module.h> #include<linux/init.h> #include<linux/io.h> static uint32_t *mem_alloc(void) { uint32_t *base, *mem; base=kmalloc(5*sizeof(uint32_t),GFP_KERNEL); mem=ioremap(base,5*sizeof(uint32_t)); return(me
浏览 2
提问于2011-05-20
得票数 0
回答已采纳
2
回答
什么是linux内核上下文中的DMA映射和DMA引擎?
、
、
、
、
什么是linux内核上下文中的DMA映射和DMA引擎?什么时候DMA映射API和DMA引擎API可以在Linux设备驱动程序中使用?任何真正的Linux设备驱动程序示例作为参考都是很好的。
浏览 10
提问于2015-12-25
得票数 10
1
回答
Linux内核内存布局
我在一台64位的x86 Linux计算机上工作。 在这种体系结构上,每个进程都有自己的64位地址存储空间。 内存块由MMU组件映射到物理内存(或交换)。 现在,我想知道内核内存是如何工作的。如果我用下面的代码编写linux内核模块: char * address; address = 0x.....; *address = 0x42; 此0x42将写入何处?直接在物理内存中? 还是说linux内核是64位内存空间,就像任何用户和进程一样? 谢谢
浏览 25
提问于2019-04-01
得票数 1
1
回答
在linux内核中,页面地址、虚拟地址和物理地址有什么不同
、
在linux内核中,页面地址、虚拟地址和物理地址有什么不同?另外,如果我有结构页面地址,我如何找到它的虚拟地址? 有没有人可以解释清楚关于Linux内核版本3.10的问题? 提前感谢你的回答。
浏览 0
提问于2015-10-29
得票数 2
2
回答
Linux中的虚拟内存管理器
Linux中的虚拟内存管理器的目的是什么,以及它与Linux机器上的传统“交换”有何不同。
浏览 0
提问于2020-06-30
得票数 0
4
回答
内核虚拟地址与内核逻辑地址的区别?
、
我无法准确区分内核逻辑地址和虚拟地址。在Linux设备驱动程序书中,所有逻辑地址都是内核虚拟地址,并且虚拟地址没有任何线性映射。但是从逻辑上讲,当我们说它是逻辑的,当我们说虚拟的时候,我们在什么情况下使用这两个?
浏览 2
提问于2012-01-03
得票数 30
回答已采纳
1
回答
在Linux中使用什么命令来了解有关内存交错的信息?
、
、
、
、
作为我课程作业的一部分,我正在研究Linux内核,这是我想要的信息: 在最新的系统中,内存被划分为不同的级别,在这些级别下,内存以不连续的方式在不同的级别之间交错。这是为了提高处理器访问内存的速度。我想知道Linux中是否有任何命令,当执行时,它会给我们任何关于内存如何被划分为队列的信息。我已经尝试使用以下命令 sudo dmidecode --type memory 但上面的命令显示了有关硬件的信息,但没有显示内存是否正在交错。有没有人能告诉我有没有什么命令可以显示这些信息?如果没有这样的命令,你能告诉我在Linux内核中实现内存交错可以参考代码的哪一部分吗? 谢谢。
浏览 1
提问于2013-10-27
得票数 2
2
回答
linux -映射文件的非线性部分
、
、
我有一个场景,我需要在进程空间中线性地映射文件的非线性部分。 例如,如果文件是10页,我可能需要映射前3页,跳过4页,最后3页。映射应该是线性的,s.t。进程空间中的增量访问允许在第3页之后转到文件的第8页,因为第4、5、6和7页未映射。 我想知道这在Linux中是否可能。 谢谢。
浏览 4
提问于2013-01-16
得票数 3
回答已采纳
1
回答
mmap是否返回对齐指针值?
、
、
mmap()是否保证返回值与系统上最大的对齐方式对齐?也就是说,mmap必须返回的指针值是alignof(std::max_align_t)的倍数,这是POSIX标准的保证吗? 我无法在Ubuntu linux mmap(2)手册页或mac osx mmap(2)手册页上找到此信息。
浏览 5
提问于2017-02-15
得票数 11
回答已采纳
3
回答
mmap是如何工作的?
、
、
、
我在Linux上工作,需要硬盘中的mmap文件,但我有一个问题,什么会导致它失败。例如,如果所有的内存都是碎片化的,每个内存只有200M,但我想将一个文件映射到1000M的内存,会成功吗?? 另一个问题是,linux中有没有像Windows中的一些工具一样的内存回收工具,例如xp的内置工具。 谢谢。
浏览 0
提问于2011-05-04
得票数 18
回答已采纳
2
回答
在linux中,每个进程都有一个4GB的虚拟地址空间,考虑到32位的体系结构。
、
、
、
、
嗨,我是Linux内核开发的新手。因此,希望对下面的语句有一些清晰的说明。 在内存中,每个进程都有一个4GB的虚拟地址空间。 考虑32位架构。进程的用户空间部分可以访问较低的3GB虚拟地址,内核空间部分可以访问上1GB的虚拟地址。 这是否意味着linux中的每个进程都分配了那么多内存空间( 1GB+3GB )? 如果是的话,那么linux中就有数百个进程,那么100*4GB的空间来自系统获得这么多内存空间的地方吗? 它与内核堆栈和用户堆栈有什么关系? linux中的每个进程都有内核和用户堆栈吗?
浏览 3
提问于2015-06-13
得票数 3
1
回答
什么是指内存Linux中的漏洞?
、
、
我在Linux的内存中遇到了一个术语漏洞。我相信这就是我所记忆的。我的理解正确吗?
浏览 3
提问于2014-05-13
得票数 3
回答已采纳
3
回答
从用户空间访问寄存器物理地址
、
、
我是Linux世界的新手,想在这个论坛上问一个问题: 如果我想从用户空间访问物理地址,并且没有任何针对此特定硬件设备的内核驱动程序实现,我能做到吗? 我知道这不是“正确”的做法,只是想知道有没有办法。 在进阶时谢谢!
浏览 2
提问于2014-05-03
得票数 1
1
回答
如何测试linux内核中的地址是虚拟的还是逻辑的?
、
、
、
、
我很熟悉Linux内核内存通常是1:1映射的(在一定范围内)。据我所知,为了使这个1:1映射更有效,结构页面数组实际上是映射的。 我想看看是否是这样的。是否有一种方法来测试给定的地址(例如结构页的地址),检查它是1:1映射还是实际映射?
浏览 0
提问于2021-08-26
得票数 4
1
回答
当两个进程写入mmaped文件的同一部分时,会发生什么情况?
、
、
、
我正在编写一个C程序,它使用mmap系统调用,运行在Linux3.12-64位上。 如果我有两个进程对磁盘文件的相同区域进行读/写访问,然后同时修改两个进程的区域内容. 一个进程能看到(读取)另一个进程在msync之前或之后所做的更改数据吗? 如果其他进程可以看到更新--在Linux实现做出保证之前是否发生了?
浏览 0
提问于2013-12-28
得票数 4
回答已采纳
1
回答
32位和64位内核上的zone_NORMAL和ZONE_HIGHMEM
、
我试图使linux内存管理在调优和性能方面更加清晰。 通过阅读这本非常有趣的红皮书“指南”,我发现了一些我不完全理解的东西。 在32位架构(如IA-32 )上,Linux内核只能直接寻址物理内存的第一个千兆字节(当考虑保留范围时为896 MB )。所谓的ZONE_NORMAL上面的内存必须映射到1GB以下的内存中.这种映射对应用程序是完全透明的,但是在ZONE_HIGHMEM中分配内存页会导致较小的性能下降。 为什么896 MB以上的内存必须映射到较低的1GB? 为什么在ZONE_HIGHMEM中分配内存页会对性能产生影响? 那么ZONE_HIGHMEM是用来做什么的呢?
浏览 2
提问于2011-05-26
得票数 3
1
回答
如何转储进程的内存页?
、
、
、
当进程完成执行时,我想转储它的内存页。为此,我尝试使用gdb,首先在exit和_exit设置断点,然后在gdb中运行进程,一旦进程中断,我就使用info proc mappings获取进程的内存映射。如下所示: Mapped address spaces: Start Addr End Addr Size Offset objfile 0x400000 0x415000 0x15000 0x0 /path/workspace/freqmine 0
浏览 6
提问于2015-02-17
得票数 3
回答已采纳
1
回答
虚拟内存管理案例研究
、
需要了解虚拟内存的概念。 当一个进程请求2GB映射到4GB的Linux环境中的virutal内存( 1GB内核: 3GB Userspace)时,当另一个进程已经保存了2GB的映射时。 如何实现堆栈、堆、数据段的映射?我找不到任何例子来说明我的理解。教科书只针对每一种映射单独提及,而不是一种实际的方法。
浏览 0
提问于2015-06-16
得票数 2
回答已采纳
1
回答
内存映射设备上的Pagemap不工作
、
、
、
我试图使用/proc/{pid}/pagemap文件找到堆变量、堆栈变量和内存映射的外围地址的物理地址,使用文件http://lxr.free-electrons.com/source/Documentation/vm/pagemap.txt中详细介绍的步骤。详细说明的过程对于堆栈和堆变量非常有效。但是,对于内存映射的外围设备,在/proc/{pid}/pagemap文件中找不到任何页面。“cat/proc/{pid}/maps”的输出是: 00008000-0000a000 r-xp 00000000 b3:02 289852 /home/linaro/ocm_test/write-
浏览 0
提问于2016-05-18
得票数 1
2
回答
关于内存分配,C malloc/calloc依赖于Linux /malloc还是相反?
、
、
据我所知,C具有以下函数,例如:malloc、calloc、realloc,用于分配内存。而linux内核还具有以下功能:malloc、mmap、kmalloc、vmalloc.分配内存 我想知道哪一个是最低的。如果你说"Linux内核是最低的函数,你的C程序必须用Linux内核分配内存“,那么Linux内核如何分配它自己的内存呢? 或者说,"Linux内核是最低的函数“,那么当我编写一个C程序并在Linux系统中运行时,为了分配内存,我应该通过系统调用。 希望能得到答案。
浏览 1
提问于2022-03-19
得票数 -1
回答已采纳
5
回答
在Linux中是否有从虚拟地址确定物理地址的API?
、
、
、
、
在Linux操作系统中,是否有从虚拟地址确定物理地址的API?
浏览 10
提问于2011-04-21
得票数 42
3
回答
页面结构的有效负载在哪里?
、
、
我正在研究Linux中的MM,当我找不到原始数据的存储位置时,我感到非常困惑。我以为它存储在的某个字段中,但我在那里找不到。 由页面表示的实际数据存储在哪里?以及如何得到指向它的指针?
浏览 7
提问于2013-10-04
得票数 2
回答已采纳
2
回答
共享内存分配到哪里?
在Linux中,当我们使用共享内存在2个或更多进程之间共享数据时,共享内存分配到哪里? 它会在运行时成为进程地址空间的一部分吗?因为进程不能访问其地址空间之外的存储器。 有人能澄清一下吗?
浏览 4
提问于2010-10-14
得票数 3
1
回答
Linux 3/1拆分与物理映射
、
、
我试图理解Linux 3/1拆分(或2/2,1/3,任意)以及如何映射到物理内存。让我们假设x86。 我特别不明白为什么内核在va[3 4GiB,4 4GiB]中的1 4GiB总是映射到pa0,1 1 1GiB。拆分位于(虚拟) PAGE_OFFSET。 如果我有更多的记忆呢?如果我的钱少了呢?用户空间的所有内存都去哪里了? 从TLDP中我了解到底层的物理1GiB总是用于内核(为什么?)。当虚拟地址空间小于物理地址空间时,使用高内存(通过这个职位),因为内存很多,否则会浪费(对吗?);在x86-64中,由于虚拟地址空间是不存在的,所以没有使用它。 让内核始终保持不变的一件事可能是,在上下文开关
浏览 0
提问于2019-02-12
得票数 3
回答已采纳
1
回答
激活被动Arp学习
、
、
、
我想让我的linux内核被动地监听(学习)在局域网段中广播的arp请求(网络中的arp请求不是我的目的地)。有可用的配置吗?
浏览 0
提问于2012-06-28
得票数 0
1
回答
设备的内存映射IO地址(Es)是否映射到进程的内核空间?
、
、
、
假设我有一个使用内存映射IO的设备。 我们知道,在Linux中,每个进程都有3GB的用户空间和1GB的内核空间。 现在,我假设此设备的地址(Es)将映射到进程的内核空间,因此进程(在用户模式下运行)无法访问该设备。我说的对吗?
浏览 2
提问于2017-06-15
得票数 0
回答已采纳
1
回答
Linux进程地址空间的解释?
在linux中,每个进程都有地址空间,当创建子进程时,这个地址空间将被exec()系统调用覆盖。我想知道的是这个地址空间由什么组成?地址空间中将包含什么类型的信息?
浏览 1
提问于2013-03-18
得票数 0
回答已采纳
1
回答
不使用linux API获取gpio的值。
、
、
、
我正在用ARM汇编代码编写一个例程,并且我必须访问gpio。我不能使用linux API中的函数gpio_get_value。谁能告诉我另一种获取值的方法,是用C语言还是汇编程序?
浏览 2
提问于2014-04-08
得票数 0
2
回答
我们需要为memmap保留内存块映射吗?
、
、
、
、
我使用memmap=8G$4G linux内核引导参数保留内存块。 是否需要ioremap这个内存? ioremap手册页说: ioremap执行特定于平台的操作序列,以便通过readb/readw/readl/writeb/ writew/writel函数和其他mmio帮助程序访问总线内存CPU。返回的地址不能保证可以直接作为虚拟地址使用。 因此,如果我不能使用ioremap返回的地址作为直接寻址内存的虚拟地址,那么更广泛的问题是什么时候应该对内存进行ioremap?
浏览 7
提问于2012-10-16
得票数 0
1
回答
内核如何设置注册cr3?
、
、
我理解处理器的mmu使用寄存器cr3将线性地址转换为物理地址,前提是cr3被正确地设置为页面目录的物理地址。但是在内核分配了页面表之后,它如何找到表的物理地址并将cr3设置为它呢? 编辑:我说的是linux内核。
浏览 4
提问于2017-07-21
得票数 4
回答已采纳
2
回答
在QNX中检索自己进程的内存映射
、
、
、
在Linux中,如果我们查看/proc/self/map: 00400000-004ef000 r-xp 00000000 08:01 12845058 /bin/bash 006ef000-006f0000 r--p 000ef000 08:01 12845058 /bin/bash 006f0000-006f9000 rw-p 000f0000 08:01 12845058 /bin/bash 006f9000-006ff000 rw-
浏览 3
提问于2016-01-04
得票数 0
回答已采纳
2
回答
如何增加使用mmap()分配的内存区域的大小
、
、
、
、
我正在使用mmap Linux syscall分配内存。 mov x5, 0 ; offset is zero mov x4, -1 ; no file descriptor mov x3, 0x22 ; MAP_PRIVATE + MAP_ANONYMOUS mov x2, 3 ; PROT_READ + PROT_WRITE mov x1
浏览 13
提问于2021-11-06
得票数 1
2
回答
Linux中所有分页结构的物理地址会映射到页表中吗?
、
、
、
在64位Linux中,IA-32E paging与4级分页结构IA-32E paging一起使用。前三个结构中的条目给出了相应的下一个结构的物理地址。我的问题是,所有这些分页结构的物理地址会映射到分页表中吗?如果映射它们,则采用哪种模式(User/Supervisor)?非常感谢! 我捕获了vcpu在KVM期间访问的一些特定内存地址。这些地址在gfn(来宾物理帧号)表单中。我想知道这些gfns是在内核还是在用户空间中映射的。因此,我遍历了来宾的(虚拟机)分页表,以找到对应到这些gfns的页面表条目。请看我前面的问题。 我发现一些分页结构的物理地址映射在分页表中,而有些则没有。也就是说,某些分页
浏览 1
提问于2015-05-30
得票数 0
回答已采纳
1
回答
IPv6仅在双堆栈Linux主机上从IPv4访问绑定服务:它是如何工作的?
在这种情况下,Apache只在具有IPv6和IPv4启用功能的Linux主机上监听::443。 我只能从IPV4启用的计算机上访问Apache提供的内容。 有人能帮助我理解发生了什么,以及如何在Linux主机上验证这个配置(在我的例子中是CentOS) 我在某个地方读到 ...服务器绑定到IPv6地址(如果需要的话,在所有接口或特定接口上),并将IPv4视为映射地址,因为IPv6和IPv4在同一台机器上共享相同的端口空间。这要感谢glibc的透明工作,并且是编写网络应用程序的推荐方法。详见man ipv6(7)。 我猜这意味着只有使用Ipv4映射地址才能做到这一点。然而,我无法让这个工作与pi
浏览 0
提问于2019-11-20
得票数 1
1
回答
linux中的主机域名指针
、
、
我安装了一个Linux服务器并在终端中运行了一个命令host wan ip,它显示了... domain name pointer mail.domain.com。 如何将当前的新mail.domain.com替换为mail.newdomain.com?
浏览 0
提问于2013-10-04
得票数 0
回答已采纳
1
回答
试着理解Ubuntu 16.04中的ASLR
、
这里有什么变化吗?不管我是否设置了randomize_va_space,堆栈的偏移量总是为0。Afaik应该是随机数,对吧? .... f7fd8000-f7fd9000 r-xp 00000000 00:00 0 [vdso] f7fd9000-f7ffb000 r-xp 00000000 08:05 922294 /lib/i386-linux-gnu/ld-2.23.so f7ffb000-f7ffc000 rw-p 0
浏览 0
提问于2016-10-25
得票数 1
1
回答
为什么vmalloc返回的地址不能转换为物理地址
、
、
、
、
我正在尝试理解Linux中的内存管理。如果是vmalloc我发现了这个 返回的地址不能转换为物理地址或总线地址,因为您不能断言内存在物理上是连续的。 当我调用virt_to_phys()时,我会得到一个地址。 您的意思是virt_to_phys的返回值不正确吗? #include <linux/kernel.h> #include <linux/module.h> #include <linux/vmalloc.h> #include <linux/moduleparam.h> MODULE_LICENSE("GPL")
浏览 1
提问于2019-09-06
得票数 0
回答已采纳
1
回答
Linux是否对页目录和页表使用自映射?
、
、
、
我之所以问这个问题,是因为我很好奇Linux内核是如何工作的。根据的说法,Windows在其页目录和页表中使用了名为self-map的特殊条目,以便能够操作来自内核虚拟地址空间的页目录/表内容。如果有人熟悉Linux内存管理,请告诉我Linux内核处理这个问题的方式是相似的还是不同的。谢谢。
浏览 1
提问于2011-03-11
得票数 3
回答已采纳
1
回答
Unix共享库和VDSO内存映射
、
、
、
我想知道像gnu libc这样的linux共享库是在进程之间还是在每个进程之间共享,链接器ld.so将libc的一个新区域映射到应用程序,如果是这样的话,这不会吃掉内存,因为对于不同区域的每个进程,相同的库将被重复加载,对于linux VDSO,快速v_syscall方法也是一样的。 或者linux内核已经映射了ram中的所有共享库,仅仅是需要库链接内核的每个进程都允许它访问库区域,这样就没有巨大的ram页面了。
浏览 1
提问于2018-07-29
得票数 0
1
回答
Linux进程的虚拟内存结构
、
、
、
我正在阅读一本教科书,其中显示虚拟内存如下: 📷 Linux还将一组连续的虚拟页面(与系统中的DRAM总量相等)映射到相应的连续物理页面集。这为内核提供了一种访问物理内存中任何特定位置的方便方法。 我在这里有点困惑。我认为这是指第二节“物理记忆”。但是它意味着什么呢?我是访问物理内存中任何特定位置的一种方便的方式?如果您想访问特定的位置,cpu仍然需要发出一条指令,该指令具有可以由TLB使用的虚拟地址,然后生成一个物理地址来访问物理内存,那么“物理内存”部分的真正用途是什么?
浏览 0
提问于2020-09-21
得票数 0
回答已采纳
1
回答
Linux内核为什么以及如何为核心程序创建稀疏文件?
、
、
、
目前,我正在研究Linux4.0.6。在coredump激活之后,我观察到生成的核心文件是作为稀疏文件创建的。例如,ls命令显示核心文件的大小为42 MB。但是,du命令显示它只分配了26.3MB。 我对这一意见提出的问题如下: 为什么Linux内核要为核心程序创建一个稀疏文件? 它怎麽工作?它是否依赖于放置核心节点的文件系统? 我是否可以将系统/内核配置为防止核心文件成为稀疏文件?
浏览 1
提问于2017-06-12
得票数 2
1
回答
启用PAE的进程的虚拟地址空间
、
、
我有一个启用了PAE的32位Intel处理器。 地址总线-> 36位(PAE使能) 数据总线-> 32位 在这个系统( windows或linux)中一个进程的虚拟地址空间的范围是多少?
浏览 3
提问于2012-11-26
得票数 0
回答已采纳
1
回答
工艺图的几个问题
、
、
、
、
在这里,我在两个不同的终端上运行两个相同程序的实例。它们的过程图是 在第一航站楼- vikram@vikram-Studio-XPS-1645:~$ pmap 6548 6548: ./a.out 0000000000400000 4K r-x-- /home/vikram/a.out 0000000000600000 4K r---- /home/vikram/a.out 0000000000601000 4K rw--- /home/vikram/a.out 00007f90f2406000 1576K r-x-- /lib/x86_64-li
浏览 4
提问于2012-02-29
得票数 0
回答已采纳
5
回答
linux内核如何管理小于1GB的物理内存?
、
、
、
、
我正在学习linux内核的内部结构,在阅读“理解Linux内核”时,一些与内存相关的问题给我留下了深刻的印象。其中之一是,如果在我的系统上安装了512 MB的物理内存,Linux内核将如何处理内存映射。 正如我所读的,内核将0(或16) MB-896 MB物理RAM映射到0xC0000000线性地址,并可以直接寻址它。因此,在上面描述的情况下,我只有512 MB: 内核如何从512 MB映射896 MB?在所描述的方案中,内核设置了每个进程的页表,以便每个进程的页表将虚拟地址从0xC00000映射到0xFFFFFFF (1GB),直接映射到从0x00000000到0x3FFFFFF (1G
浏览 11
提问于2010-12-24
得票数 52
回答已采纳
2
回答
Linux IOMMU页表
、
我一直在阅读关于Linux中的支持的文章,并对IOMMU中的页表提出了一些问题: IOMMU是否使用CPU页表来存储VA、→、更高级的PA映射? 如果没有,即虚拟地址是不同的,那么每个设备还是每个IOMMU单元都创建了映射? 我还没有看过任何驱动程序代码,所以如果有人能告诉我一些示例驱动代码,那就太好了。
浏览 2
提问于2016-05-30
得票数 5
1
回答
当所需内核内存超过1GB时会发生什么?
、
我正在尝试理解Linux中的“内存管理”,作为Daniel和Marco的“理解Linux内核”课程的一部分。下面是我对内核空间的理解 在32位机器上,每个进程都有4GB的虚拟地址空间.3GB -用户和1GB -内核空间。 1GB在进程之间共享,并直接映射到1GB的RAM。此空间用于存储内核代码、页表等。 1GB不能换掉。虽然,它可以被释放。 我的问题是,如果进程所需的总内核空间超过1GB,怎么办?
浏览 5
提问于2012-09-13
得票数 2
回答已采纳
3
回答
为什么Linux上的动态链接可执行文件在自己的内存空间中拥有libc的完整内存空间?
、
、
、
、
我在64位Ubuntu系统上用gcc -Wall -m32 test.c -o test编译了以下C代码: #include <stdio.h> #include <stdlib.h> int main() { char * buffer; buffer = (char*) malloc (1048576); printf("hi\n"); sleep(20); return 0; } 现在,当我运行代码并执行一个cat /proc/PID/maps来查看该进程正在使用的虚拟内存范围时,我会看到以下内容: 080
浏览 2
提问于2014-11-20
得票数 1
回答已采纳
2
回答
如何从运行时地址在.so中找到符号偏移量
、
、
在程序终止后,我需要能够将指令指针(从回溯)转换为文件和行号。在执行过程中,我可以存储以后对此脱机分析所需的任何其他信息,但分析必须脱机进行。 现在,我在发出指令指针的同时,发出一组结构,其中包含来自dl_iterate_phdr的一些信息。我包括模块的名称、基址的dlpi_addr字段以及标记为可执行文件的第一个phdr的p_memsz字段。 然后,在我的脱机工具中,我使用我保存的大小和地址表来标识给定地址的模块。我从指令地址中减去dlpi_addr并将其传递给addr2line。 这在大多数情况下似乎有效,但有时我认为它有点偏离(例如,它找到了一个相邻的符号--我知道行号信息并不总是正确的
浏览 4
提问于2017-04-27
得票数 1
回答已采纳
1
回答
Linux内核flush_cache_range()调用似乎什么也没做。
、
、
、
简介: 我们有一个应用程序,运行在ARM上的Linux接受来自外部处理器的数据,该处理器将数据DMA到ARM的存储空间中。然后,ARM需要访问用户模式代码中的数据。 地址范围在物理上必须是连续的,因为外部处理器中的DMA引擎不支持分散/聚集。这个内存范围最初是通过__get_free_pages(GFP_KERNEL | __GFP_DMA,order)调用从ARM内核分配的,因为这可以确保所分配的内存在物理上是连续的。然后,对返回的指针进行virt_to_phys()调用,得到物理地址,然后在进程开始时将该地址提供给外部处理器。 这个物理地址对于Linux用户模式代码来说也是已知的,它使用它
浏览 6
提问于2013-06-05
得票数 3
2
回答
gdb不停止在给定的硬件监视点使用x86 cpu。
、
我用gdb调试了QEMU。 为了跟踪意外的内存访问,我在一个特定的地址设置了一个硬件监视点。但是,当地址中的值被更改时,gdb不会停止。这是我第一次在gdb中使用硬件监视功能。 我不知道为什么会这样,我想解决这个问题。 下面是gdb控制台的输出。 $ gdb --args ./qemu-system-x86_64 -m 512 -hda linux-0.2.img ... (gdb) x 0x7fffbbe8e000 0x7fffbbe8e000: 0x00000000 (gdb) watch *(int *)0x7fffbbe8e000 Hardware watchpoint 1: *
浏览 4
提问于2016-03-27
得票数 2
回答已采纳
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
Linux内存映射mmap原理分析
微信开发地址映射工具下载及使用
地址映射:计算机系统中的关键概念
linux之ip地址基本配置
如何在 Rocky Linux 9 中配置 IP 地址?
热门
标签
更多标签
云服务器
ICP备案
对象存储
腾讯会议
实时音视频
活动推荐
运营活动
广告
关闭
领券