小编shu*_*nty的帖子

Android是否支持虚拟内存

Android是否支持虚拟内存概念?我读它确实使用分页而不是交换空间.也就是说,它在很大程度上依赖于能够mmap()文件,并根据需要在文件中包含内核页面(并在不需要时删除这些页面).但是,它不使用交换空间来分页脏页.

有人可以详细说明一下吗?

linux android memory-management linux-kernel

5
推荐指数
1
解决办法
8588
查看次数

调试linux内核恐慌

我是内核调试的新手.Below是最后一个内核消息.根据我的理解,它试图访问空指针.但我不明白为什么它会关闭杯子0.

Unable to handle kernel paging request at virtual address 40025694
[37655.473976] pgd = d7138000
[37655.474007] [40025694] *pgd=9ec1a831, *pte=bf2e659d, *ppte=00000000
[37655.474038] Internal error: Oops: 17 [#1] PREEMPT SMP
[37655.474038] Modules linked in:
[37655.474068] CPU: 1    Not tainted  (3.0.21-g572d9be-00004-g4ec4db2 #1)
[37655.474099] PC is at vector_swi+0x28/0x88
[37655.474129] LR is at 0x40025698
[37655.474160] pc : c01065a8    lr : 40025698    psr : 60000093
[37655.474160] sp : d6eaffb0  ip : 4062c18c  fp : 5ed97c24
[37655.474190] r10: 58702b64  r9 : 5ea56f98  r8 : 20000010
[37655.474221] r7 …
Run Code Online (Sandbox Code Playgroud)

linux arm linux-kernel

5
推荐指数
1
解决办法
2万
查看次数

ARM 的内核 Oops 页面错误错误代码

Oops 之后的错误代码给出了有关 ARM EX 中的恐慌的信息。 Oops: 17 [#1] PREEMPT SMP 在这种情况下,17 给出了信息。在 x86 中它代表 -

  • bit 0 == 0: no page found 1: protection fault

  • bit 1 == 0: read access 1: write access

  • bit 2 == 0: kernel-mode access 1: user-mode access

  • bit 3 == 1: use of reserved bit detected

  • bit 4 == 1: fault was an instruction fetch

但我无法在arm中找到任何信息。

谢谢顺蒂

linux arm linux-kernel fault

5
推荐指数
1
解决办法
3万
查看次数

在Android中同步适配器

我正在编写自定义同步适配器.添加帐户后,它将显示要同步的数据库,基于适用于前同步联系人的Adapter.xml中的声明,同步日历.

我可以自定义这些名称.

谢谢vikas bisla

android sync adapter

3
推荐指数
1
解决办法
1697
查看次数

字符串如何在c的内存中表示

char imei_temp[14] = {0, };

strcpy(imei_temp, "00000000000000");
Run Code Online (Sandbox Code Playgroud)

根据我的理解,这是有效的代码.

但是Klocwork说缓冲区溢出,' imei_temp'的数组索引可能超出范围.imei_temp大小为14的数组' '可以使用索引值0..14

c string pointers klocwork

2
推荐指数
1
解决办法
1353
查看次数

arm archtecture上的dma_map_single内部

我试图了解ARM体系结构的DMA内部,参考内核文档:http://lxr.free-electrons.com/source/Documentation/DMA-API-HOWTO.txt.

我的理解是我们在内核空间中分配内存(使用DMA约束)并将其传递给dma_map_single()函数,该函数将根据DMA需要更改内存的映射属性(写入组合或非高速缓存).然后,如果平台支持IOMMU,它将返回设备总线的虚拟地址,否则它将返回可以直接从设备访问的物理地址.

这是正确的理解吗?

目前,我无法映射它的源代码,任何带有代码片段的指针都会非常有用.

arm memory-management linux-device-driver linux-kernel dma

2
推荐指数
1
解决办法
2160
查看次数